:root{--ink:#18212f;--muted:#758093;--line:#e7eaf0;--canvas:#f5f7fa;--navy:#121b2d;--accent:#4d63e8}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--canvas);color:var(--ink);font-family:Inter,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;padding:26px 16px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 29px;font:800 22px Manrope}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:linear-gradient(145deg,#6c7df1,#4158de);border-radius:10px}.brand-dot{color:#7588ff}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:transparent;color:#9da7b8;height:46px;border-radius:9px;display:flex;align-items:center;gap:13px;padding:0 14px;font-weight:600;text-align:left}.nav-item>span{font-size:19px;width:20px;text-align:center}.nav-item:hover{background:#1c2840;color:#fff}.nav-item.active{background:#29385a;color:#fff;box-shadow:inset 3px 0 #7486ff}.nav-item b{margin-left:auto;background:#e65368;font-size:10px;border-radius:20px;padding:3px 7px}.sidebar-foot{border-top:1px solid #28334a;margin-top:auto;padding:18px 7px 0;display:grid;grid-template-columns:36px 1fr 24px;align-items:center;gap:9px}.avatar,.person-avatar{display:grid;place-items:center;border-radius:50%;font-weight:800}.avatar{width:36px;height:36px;background:#d8ddff;color:#3144b1;font-size:11px}.sidebar-foot strong{font-size:12px;display:block}.sidebar-foot small{font-size:10px;color:#8f9aad}.sidebar-foot button{background:none;border:0;color:#8994a8}.workspace{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 30px}.crumb{display:flex;gap:10px;font-size:13px}.crumb span,.crumb b{color:#a0a8b5}.top-actions,.date-nav,.toolbar-right{display:flex;align-items:center;gap:8px}.global-search{height:37px;width:240px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;padding:0 10px;color:#8993a3}.global-search input{border:0;outline:0;width:100%;padding:0 8px}.global-search kbd{font-size:9px;border:1px solid #dde1e8;border-radius:4px;padding:2px 5px}.icon-btn,.help{width:37px;height:37px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#697386;position:relative}.icon-btn i{position:absolute;width:6px;height:6px;border-radius:50%;background:#f05c6d;right:7px;top:6px}.help{width:30px;height:30px;border-radius:50%}.content{padding:30px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.eyebrow{color:#6d7de0!important;font-weight:800;font-size:10px;letter-spacing:1.4px;margin:0 0 8px}.page-head h1,.placeholder h1{font:800 30px Manrope;margin:0}.page-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.head-actions{display:flex;gap:9px}.primary,.secondary{border-radius:9px;height:40px;padding:0 15px;font-weight:700;font-size:12px}.primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.secondary{background:#fff;color:#4d5869;border:1px solid #dfe3ea}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.stats article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;display:flex;align-items:center;gap:13px}.stat-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:800}.blue-soft{background:#eef1ff;color:#5165df}.green-soft{background:#eaf8f2;color:#28a777}.amber-soft{background:#fff4df;color:#e09a25}.violet-soft{background:#f4eefe;color:#935bd5}.stats small{display:block;color:#7c8695;font-size:10px}.stats strong{font:800 20px Manrope;display:block;margin-top:3px}.stats em{display:block;color:#46a47c;font-size:9px;font-style:normal}.stats em.warn{color:#dd8c1f}.schedule-card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.schedule-toolbar{min-height:64px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:15px}.date-nav button{height:32px;border:1px solid #e1e4ea;background:#fff}.date-nav strong{font-size:12px;margin-left:10px}.employee-search{height:34px;width:180px;border:1px solid #e2e5eb;border-radius:8px;display:flex;align-items:center;padding:0 9px}.employee-search input{border:0;outline:0;width:100%;padding-left:7px;font-size:11px}.toolbar-right select{height:34px;border:1px solid #e2e5eb;border-radius:8px;background:#fff;font-size:11px;padding:0 10px}.density{display:flex;border:1px solid #e1e4ea;border-radius:8px;overflow:hidden}.density button{width:34px;height:32px;border:0;background:#fff}.density .selected{background:#eef0f8;color:#4d63e8}.schedule-scroll{overflow:auto}.schedule-grid{display:grid;grid-template-columns:230px repeat(7,minmax(130px,1fr));min-width:1140px}.employee-head,.day-head{height:62px;background:#fafbfc;border-bottom:1px solid var(--line);border-right:1px solid #edf0f4}.employee-head{padding:21px 17px;color:#7b8493;font-size:10px;font-weight:800;text-transform:uppercase}.employee-head span{float:right}.day-head{text-align:center;padding-top:10px;position:relative}.day-head small{display:block;text-transform:uppercase;color:#8b94a3;font-size:8px;font-weight:800}.day-head strong{font:700 19px Manrope}.day-head.weekend{background:#f6f7f9}.day-head i{position:absolute;font-style:normal;font-size:7px;background:#e9edff;color:#5366db;padding:2px 5px;border-radius:6px;right:7px;top:7px}.employee-cell,.day-cell{min-height:99px;border-bottom:1px solid #edf0f4;border-right:1px solid #edf0f4}.employee-cell{padding:16px;display:flex;gap:10px}.person-avatar{width:31px;height:31px;background:#edf0ff;color:#5365cb;font-size:9px}.employee-cell>div{flex:1}.employee-cell strong{font-size:11px;display:block}.employee-cell small{display:block;color:#8b94a2;font-size:9px;margin:2px 0 7px}.employee-cell em{font-size:8px;color:#8b94a2;font-style:normal;float:right}.hours{height:3px;background:#edf0f4;border-radius:4px;width:76%}.hours i{display:block;height:100%;background:#6477e6}.day-cell{padding:8px;position:relative}.day-cell.off{background:#fafafa}.shift{width:100%;min-height:65px;border:0;border-left:3px solid;border-radius:7px;text-align:left;padding:8px;display:flex;flex-direction:column}.shift strong{font-size:9px}.shift span{font-size:8px;margin-top:4px}.shift.blue{background:#edf1ff;border-color:#5369e9;color:#3449bd}.shift.violet{background:#f4efff;border-color:#9162d3;color:#7246af}.shift.teal{background:#e9f8f5;border-color:#39a993;color:#277e6d}.shift.amber{background:#fff4e1;border-color:#e6a137;color:#9b681b}.shift.navy{background:#ebf0f6;border-color:#506784;color:#394d66}.add-cell{position:absolute;inset:8px;border:1px dashed transparent;background:transparent;color:transparent;border-radius:7px}.day-cell:hover .add-cell{border-color:#ccd3df;color:#9099a8}.legend{height:42px;padding:0 17px;display:flex;align-items:center;gap:18px;font-size:8px;color:#7f8998}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.dot.blue{background:#596de7}.dot.violet{background:#9162d3}.dot.teal{background:#39a993}.dot.amber{background:#e6a137}.legend-note{margin-left:auto}.compact .employee-cell,.compact .day-cell{min-height:76px}.compact .shift{min-height:49px}.modal-backdrop{position:fixed;inset:0;background:#1118277d;z-index:20;display:grid;place-items:center;padding:20px}.modal{width:min(540px,100%);background:#fff;border-radius:15px;overflow:hidden}.modal header{padding:22px 24px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modal h2{font:800 22px Manrope;margin:0}.modal header button{width:31px;height:31px;border:1px solid var(--line);background:#fff;border-radius:8px}.modal-body{padding:21px 24px;display:grid;gap:15px}.modal label{font-size:11px;font-weight:700;display:grid;gap:6px}.modal input,.modal select,.modal textarea{border:1px solid #dfe3ea;border-radius:8px;padding:10px;background:#fff}.modal textarea{min-height:65px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.conflict-ok{background:#edf9f4;border:1px solid #d7f0e5;color:#308364;border-radius:8px;padding:10px;font-size:10px}.modal footer{padding:15px 24px;background:#fafbfc;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;right:24px;bottom:24px;background:#162236;color:#fff;padding:13px 18px;border-radius:10px;z-index:30;font-size:12px;font-weight:700}.placeholder{background:#fff;border:1px solid var(--line);border-radius:16px;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.placeholder>span{font-size:30px;color:#6c7ce5}.placeholder>p:not(.eyebrow){color:var(--muted)}
@media(max-width:900px){.app{grid-template-columns:76px minmax(0,1fr)}.brand>span:last-child,.nav-item{font-size:0}.nav-item{justify-content:center}.nav-item>span{font-size:19px}.sidebar-foot>div:not(.avatar),.sidebar-foot button{display:none}.stats{grid-template-columns:1fr 1fr}.schedule-toolbar{align-items:flex-start;flex-direction:column}.toolbar-right{flex-wrap:wrap}}
@media(max-width:650px){.app{display:block}.sidebar{position:fixed;z-index:10;inset:auto 0 0;height:64px;padding:7px}.brand,.sidebar-foot{display:none}.sidebar nav{flex-direction:row;justify-content:space-around}.nav-item{width:52px;height:50px}.nav-item:nth-child(n+5){display:none}.topbar{height:55px;padding:0 15px}.global-search{display:none}.content{padding:18px 12px 82px}.page-head h1{font-size:25px}.head-actions .secondary{display:none}.stats article:nth-child(n+3){display:none}.schedule-grid{grid-template-columns:180px repeat(7,125px)}.form-row{grid-template-columns:1fr}}
.salary{display:block;clear:both;color:#9aa3b0;font-size:7px;padding-top:4px}.day-cell.drag-over{background:#edf0ff;box-shadow:inset 0 0 0 2px #7181e8}.shift-dragging{opacity:.38}.shift{position:relative}.shift em{font-size:7px;font-style:normal;margin-top:4px}.shift i{position:absolute;right:5px;top:4px;font-size:6px}.shift.day-off{background:#f0f2f5;border-color:#9aa3b0;color:#6d7684}.modal{max-height:96vh;overflow-y:auto}.modal .check-label{display:flex;align-items:center;gap:8px}.modal .check-label input{width:16px;height:16px}.live-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#f6f7fa;border-radius:8px;padding:10px;gap:8px;font-size:9px;color:#7a8494}.live-summary span{display:grid;gap:3px}.live-summary b{font-size:12px;color:#273344}.live-summary .plus{color:#208a62}.live-summary .minus{color:#d14f61}.footer-spacer{flex:1}.danger-action{border:1px solid #efcbd1;background:#fff;color:#cf4258;border-radius:9px;padding:0 13px;font-size:11px;font-weight:700}.toast.error{background:#bd4053}
.view-switch{display:flex;border:1px solid #e1e4ea;border-radius:8px;overflow:hidden}.view-switch button{height:32px;border:0;background:#fff;color:#7d8796;padding:0 10px;font-size:10px;font-weight:700}.view-switch button.selected{background:#eef0ff;color:#4d63e8}.schedule-grid{width:max-content;min-width:100%}
.context-menu{position:fixed;z-index:100;background:#fff;border:1px solid #dfe3ea;border-radius:12px;box-shadow:0 18px 50px #17203335;width:260px;padding:7px;overflow:hidden}.context-menu header{padding:9px 10px 10px;border-bottom:1px solid #edf0f4;margin-bottom:5px}.context-menu header strong,.context-menu header small{display:block}.context-menu header strong{font-size:12px}.context-menu header small{color:#8b94a2;font-size:9px;margin-top:3px}.context-menu .menu-label{font-size:8px;font-weight:800;color:#9aa3b1;letter-spacing:.8px;padding:9px 10px 4px}.context-menu>button{border:0;background:#fff;width:100%;border-radius:7px;text-align:left;padding:8px 10px;color:#354052}.context-menu>button:hover{background:#f2f4fb;color:#4055cf}.context-menu button span,.context-menu button small{display:block}.context-menu button span{font-size:10px;font-weight:700}.context-menu button small{font-size:8px;color:#929baa;margin-top:2px}.context-menu .danger-menu{color:#ce4057}.overtime-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:3px 7px}.overtime-actions button{border:1px solid #dfe3ea;background:#fafbfc;border-radius:7px;padding:7px;font-size:10px;font-weight:700;color:#4e596b}.employees-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:520px}.employees-head{padding:24px;display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line)}.employees-head h1{font:800 28px Manrope;margin:0}.employees-head p:not(.eyebrow){color:var(--muted);font-size:12px;margin:5px 0 0}.employees-table{padding:8px 18px 18px;overflow:auto}.employee-table-row{display:grid;grid-template-columns:1.5fr 1fr .75fr .75fr .9fr 70px;gap:14px;align-items:center;min-width:900px;padding:12px;border-bottom:1px solid #edf0f4;font-size:10px}.employee-table-row.table-header{color:#8a94a3;font-size:8px;font-weight:800;text-transform:uppercase}.employee-name{display:flex;align-items:center;gap:9px}.employee-name i{font-style:normal;flex:0 0 auto}.employee-table-row input{width:100%;border:1px solid #dfe3ea;border-radius:7px;padding:8px;color:#394456;background:#fff}.employee-table-row span:nth-child(n+3) input{width:72px}.save-employee{border:1px solid #ccd3f5;background:#f1f3ff;color:#4a5fd4;border-radius:7px;padding:7px 9px;font-size:9px;font-weight:800}.rates-note{margin:0 24px 24px;background:#f6f8fc;border-radius:9px;padding:13px;color:#596577;font-size:10px}.rates-note p{margin:4px 0 0;color:#7c8797}@media(max-width:700px){.employees-head{align-items:flex-start;gap:15px}.employees-head .primary{white-space:nowrap}.context-menu{width:240px}}
.employee-modal{width:min(500px,100%)}.employee-modal label small{color:#929baa;font-size:8px;font-weight:500;margin-top:-2px}.employee-preview{display:flex;align-items:center;gap:11px;background:linear-gradient(135deg,#f4f6ff,#fafbff);border:1px solid #e4e8fa;border-radius:10px;padding:12px}.employee-preview .person-avatar{width:38px;height:38px;font-size:10px}.employee-preview strong,.employee-preview small{display:block}.employee-preview strong{font-size:11px}.employee-preview small{font-size:9px;color:#7c8797;margin-top:3px}.form-error{background:#fff0f2;border:1px solid #f3d2d8;color:#bd4054;border-radius:8px;padding:9px 11px;font-size:10px}
.overtime-actions button.selected{border-color:#7181e8;background:#eef0ff;color:#4358ce}.adjust-picker{margin:6px 7px 8px;padding:10px;background:#f5f7fb;border:1px solid #e1e5ee;border-radius:9px}.adjust-picker>strong{display:block;font-size:9px;color:#586476;margin-bottom:8px}.adjust-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.adjust-picker>div button{border:1px solid #dce1ea;background:#fff;color:#40506a;border-radius:6px;padding:7px 3px;font-size:9px;font-weight:700}.adjust-picker>div button:hover{border-color:#7181e8;background:#eef0ff;color:#4055cf}.adjust-picker .custom-hours{width:100%;border:0;background:transparent;color:#5b6ed8;font-size:9px;font-weight:700;padding:8px 0 0}
.context-menu{max-height:calc(100vh - 16px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.templates-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:540px}.templates-head{padding:24px;border-bottom:1px solid var(--line)}.templates-head h1{font:800 28px Manrope;margin:0}.templates-head p:not(.eyebrow){color:var(--muted);font-size:12px;margin:5px 0 0}.template-creator{margin:20px;padding:17px;background:#f7f8fc;border:1px solid #e6e9f1;border-radius:11px}.template-creator-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.template-creator-title>span{width:32px;height:32px;border-radius:8px;background:#e9edff;color:#5166dc;display:grid;place-items:center;font-weight:800}.template-creator-title strong,.template-creator-title small{display:block}.template-creator-title strong{font-size:11px}.template-creator-title small{font-size:8px;color:#8b95a4;margin-top:2px}.template-form{display:grid;grid-template-columns:1.25fr .55fr .55fr 1.25fr auto;gap:10px;align-items:end}.template-form label,.template-row label{display:grid;gap:5px;font-size:8px;color:#7e8998;font-weight:700}.template-form input,.template-row input{border:1px solid #dfe3ea;border-radius:7px;padding:8px;background:#fff;color:#344052;font-size:10px;min-width:0}.template-form .primary{height:34px}.templates-list{margin:0 20px 20px;border:1px solid #e5e8ee;border-radius:11px;overflow:hidden}.templates-list-head{height:45px;background:#fafbfc;border-bottom:1px solid #e7eaf0;padding:0 14px;display:flex;align-items:center;justify-content:space-between}.templates-list-head strong{font-size:10px}.templates-list-head span{font-size:8px;color:#8b95a4}.template-row{display:grid;grid-template-columns:8px 1.2fr .55fr 14px .55fr 1.3fr 58px 28px;gap:9px;align-items:center;padding:11px 13px;border-bottom:1px solid #edf0f4}.template-row:last-child{border-bottom:0}.template-color{width:7px;height:38px;border-radius:6px}.template-color.blue{background:#596de7}.template-color.violet{background:#9162d3}.template-color.teal{background:#39a993}.template-color.amber{background:#e6a137}.template-color.navy{background:#506784}.time-arrow{color:#9aa3b1;text-align:center}.save-template,.delete-template{border-radius:7px;height:32px;font-size:9px;font-weight:700}.save-template{border:1px solid #ccd3f5;background:#f1f3ff;color:#4a5fd4}.delete-template{border:1px solid #f0d5d9;background:#fff;color:#cf4c5f;font-size:16px}.empty-templates{text-align:center;padding:36px;color:#8b95a4}.empty-templates span{font-size:24px}.empty-templates strong{display:block;color:#556173;font-size:11px;margin-top:7px}.empty-templates p{font-size:9px}.template-tip{margin:0 20px 22px;padding:11px 13px;background:#eef7ff;border-radius:8px;color:#536478;font-size:9px}.template-tip strong{color:#3e64a2;margin-right:7px}@media(max-width:950px){.template-form{grid-template-columns:1fr 1fr}.template-row{min-width:780px}.templates-list{overflow:auto}}@media(max-width:650px){.template-form{grid-template-columns:1fr}.template-creator,.templates-list,.template-tip{margin-left:12px;margin-right:12px}}
.calendar-scroll-control{height:38px;border-top:1px solid #edf0f4;background:#fafbfc;display:grid;grid-template-columns:22px 1fr 22px;align-items:center;gap:8px;padding:0 15px;color:#8c96a5;font-size:8px;font-weight:700}.calendar-scroll-control input{width:100%;height:4px;accent-color:#5368df;cursor:ew-resize}.calendar-scroll-control.inactive{opacity:.35}.calendar-scroll-control input:disabled{cursor:default}.calendar-scroll-control span:last-child{text-align:right}
.schedule-grid .employee-head,.schedule-grid .employee-cell{position:sticky;left:0;z-index:6;background:#fff;box-shadow:7px 0 12px -12px #1b273d}.schedule-grid .employee-head{z-index:8;background:#fafbfc}.schedule-grid .employee-cell::after,.schedule-grid .employee-head::after{content:"";position:absolute;right:-1px;top:0;bottom:0;width:1px;background:#dfe3ea}
.ledger-panel{display:grid;gap:14px}.ledger-head{display:flex;align-items:flex-end;justify-content:space-between}.ledger-head h1{font:800 29px Manrope;margin:0}.ledger-head p:not(.eyebrow){font-size:12px;color:var(--muted);margin:5px 0 0}.ledger-controls{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 15px;display:grid;grid-template-columns:250px 1fr 200px;align-items:center;gap:16px}.ledger-controls label{display:grid;gap:5px;color:#8791a0;font-size:8px;font-weight:700}.ledger-controls select{border:1px solid #dfe3ea;border-radius:8px;padding:9px;background:#fff;color:#364254;font-size:11px}.ledger-month{justify-self:center;display:flex;align-items:center;gap:16px}.ledger-month button{width:32px;height:32px;border:1px solid #dfe3ea;background:#fff;border-radius:7px;color:#637083}.ledger-month strong{font:700 13px Manrope;min-width:145px;text-align:center}.ledger-rate{text-align:right}.ledger-rate span,.ledger-rate small{display:block;color:#8993a2;font-size:8px}.ledger-rate strong{font:800 13px Manrope;display:block;margin:2px 0}.ledger-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.ledger-summary article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px}.ledger-summary small,.ledger-summary span{display:block}.ledger-summary small{font-size:8px;color:#858f9e;font-weight:700}.ledger-summary strong{display:block;font:800 19px Manrope;margin:5px 0 4px}.ledger-summary span{font-size:8px;color:#8b95a4}.ledger-summary .positive{color:#248a65}.ledger-summary .negative{color:#ca4c5f}.ledger-summary .money-card{background:#f6f8ff;border-color:#e1e5fa}.ledger-summary .money-card strong{color:#4056cf}.ledger-summary .balance-card{background:#edf9f4;border-color:#d6eee4}.ledger-summary .balance-card strong{color:#248a65}.ledger-summary .balance-card.overpaid{background:#fff4e6;border-color:#f1dfc2}.ledger-summary .balance-card.overpaid strong{color:#c47821}.ledger-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.ledger-section{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.ledger-section>header{height:58px;padding:0 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.ledger-section>header strong,.ledger-section>header small{display:block}.ledger-section>header strong{font-size:11px}.ledger-section>header small{font-size:8px;color:#8d97a5;margin-top:3px}.ledger-section>header>b{font:800 14px Manrope;color:#4056cf}.weekly-table{padding:4px 12px 12px}.weekly-row{display:grid;grid-template-columns:1.25fr repeat(4,.7fr);gap:8px;align-items:center;padding:11px 7px;border-bottom:1px solid #edf0f4;font-size:9px;color:#657183}.weekly-row:last-child{border-bottom:0}.weekly-row span:first-child b,.weekly-row span:first-child small{display:block}.weekly-row span:first-child small{color:#98a1ae;font-size:7px;margin-top:2px}.weekly-header{color:#919aa8;font-size:7px;text-transform:uppercase;font-weight:800;padding-top:9px;padding-bottom:7px}.overtime-text{color:#d48628;font-weight:700}.payments-list{padding:7px 13px}.payments-list article{display:grid;grid-template-columns:32px 1fr 25px;align-items:center;gap:9px;padding:10px 3px;border-bottom:1px solid #edf0f4}.payment-icon{width:30px;height:30px;border-radius:8px;background:#eaf8f2;color:#27936e;display:grid;place-items:center;font-weight:800}.payments-list strong,.payments-list small{display:block}.payments-list strong{font-size:10px}.payments-list small{color:#909aa8;font-size:7px;margin-top:2px}.remove-payment{border:0;background:transparent;color:#c95768;font-size:17px}.empty-payments{text-align:center;padding:33px 20px;color:#8e98a6}.empty-payments>span{font-size:24px}.empty-payments strong{display:block;color:#5e6979;font-size:10px;margin-top:7px}.empty-payments p{font-size:8px}.audit-note{margin:10px 13px 14px;padding:9px;background:#f7f8fa;border-radius:7px;color:#8a94a2;font-size:7px;line-height:1.5}.payment-person{display:flex;align-items:center;gap:10px;background:#f6f8fc;border-radius:9px;padding:11px}.payment-person strong,.payment-person small{display:block}.payment-person strong{font-size:11px}.payment-person small{font-size:8px;color:#8993a2;margin-top:2px}.payment-warning{background:#fff0f2;border:1px solid #f2d4d9;color:#bc4154;border-radius:8px;padding:9px;font-size:9px}@media(max-width:1100px){.ledger-summary{grid-template-columns:repeat(3,1fr)}.ledger-columns{grid-template-columns:1fr}.ledger-controls{grid-template-columns:1fr 1fr}.ledger-rate{display:none}}@media(max-width:650px){.ledger-head{align-items:flex-start;gap:10px}.ledger-controls{grid-template-columns:1fr}.ledger-month{justify-self:stretch;justify-content:space-between}.ledger-summary{grid-template-columns:1fr 1fr}.ledger-summary article:last-child{grid-column:1/-1}}
.export-modal{width:min(720px,100%)}.export-body{gap:0;padding:0}.export-step{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:17px 22px;border-bottom:1px solid #edf0f4}.step-number{width:27px;height:27px;border-radius:8px;background:#eef1ff;color:#4c61da;display:grid;place-items:center;font-size:10px;font-weight:800}.step-content>strong,.step-content>small{display:block}.step-content>strong{font-size:11px}.step-content>small{font-size:8px;color:#8c96a4;margin-top:3px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.choice-card{display:flex!important;grid-template:none!important;align-items:center;gap:9px!important;border:1px solid #dfe3ea;border-radius:9px;padding:10px!important;cursor:pointer;background:#fff}.choice-card:has(input:checked){border-color:#7182e7;background:#f3f5ff;box-shadow:inset 0 0 0 1px #7182e7}.choice-card input{width:14px;height:14px;accent-color:#5368df;padding:0!important}.choice-card span b,.choice-card span small{display:block}.choice-card span b{font-size:9px;color:#3c485a}.choice-card span small{font-size:7px;color:#909aa8;margin-top:2px}.format-card{grid-template-columns:auto 32px 1fr!important}.format-icon{width:30px;height:30px;border-radius:7px;display:grid!important;place-items:center;font-weight:900;font-size:11px}.excel-icon{background:#e8f6ef;color:#21805e}.pdf-icon{background:#fff0f1;color:#c54254}.export-employees{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;padding:9px;background:#f7f8fa;border-radius:8px;max-height:150px;overflow:auto}.export-employees label{display:grid;grid-template-columns:14px 27px 1fr;align-items:center;gap:7px;background:#fff;border:1px solid #e6e9ef;border-radius:7px;padding:7px}.export-employees input{width:13px;height:13px;accent-color:#5368df}.export-employees .person-avatar{width:27px;height:27px;font-size:7px}.export-employees b,.export-employees small{display:block}.export-employees b{font-size:8px}.export-employees small{font-size:7px;color:#8b95a4}.week-select{margin-top:9px}.week-select select{border:1px solid #dfe3ea;border-radius:7px;padding:8px;background:#fff;font-size:9px}.export-modal .form-error{margin:13px 22px}@media(max-width:650px){.export-step{padding:14px;grid-template-columns:27px 1fr}.choice-row,.export-employees{grid-template-columns:1fr}}
.ledger-head{gap:8px}.ledger-head>div:first-child{margin-right:auto}.loan-button{margin-left:auto}.loans-section{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.loans-section>header{height:61px;padding:0 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.loans-section>header strong,.loans-section>header small,.loans-section>header span,.loans-section>header b{display:block}.loans-section>header strong{font-size:11px}.loans-section>header small,.loans-section>header span{font-size:8px;color:#8b95a4;margin-top:3px}.loans-section>header>div:last-child{text-align:right}.loans-section>header b{font:800 15px Manrope;color:#bd6d27;margin-top:2px}.loan-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px}.loan-card{border:1px solid #eadcc9;background:#fffbf4;border-radius:10px;padding:13px}.loan-card.loan-paid{border-color:#d9e9e2;background:#f4faf7}.loan-card-head{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px}.loan-icon{width:31px;height:31px;border-radius:8px;background:#fff1da;color:#c27a28;display:grid;place-items:center;font-weight:800}.loan-paid .loan-icon{background:#e5f5ed;color:#258663}.loan-card-head strong,.loan-card-head small{display:block}.loan-card-head strong{font-size:10px}.loan-card-head small{font-size:7px;color:#8d96a4;margin-top:2px}.loan-status{font-size:7px;font-weight:800;text-transform:uppercase;color:#bf7427;background:#fff0d7;border-radius:10px;padding:4px 7px}.loan-paid .loan-status{color:#258663;background:#e4f5ed}.loan-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.loan-numbers small,.loan-numbers b{display:block}.loan-numbers small{font-size:7px;color:#909aa8}.loan-numbers b{font-size:10px;margin-top:3px}.loan-progress{height:4px;background:#eee6da;border-radius:4px;overflow:hidden;margin-top:11px}.loan-progress i{display:block;height:100%;background:#db9444;border-radius:4px}.loan-paid .loan-progress i{background:#35a37c}.empty-loans{text-align:center;padding:27px;color:#8d97a5}.empty-loans>span{font-size:22px}.empty-loans strong{display:block;color:#596475;font-size:10px;margin-top:5px}.empty-loans p{font-size:8px}.loan-info{background:#fff7e9;border:1px solid #f1e1c4;border-radius:8px;padding:10px;color:#8d672e;font-size:8px;line-height:1.5}.loan-payment-box{display:grid;grid-template-columns:1fr 150px;gap:12px;align-items:end;background:#fff7e9;border:1px solid #f0dfc2;border-radius:9px;padding:11px}.loan-payment-box strong,.loan-payment-box small{display:block}.loan-payment-box strong{font-size:10px}.loan-payment-box small{font-size:8px;color:#947044;margin-top:3px}.payment-calculation{background:#f6f8fc;border-radius:9px;padding:11px;display:grid;gap:7px}.payment-calculation span,.payment-calculation>strong{display:flex;justify-content:space-between;font-size:9px;color:#697587}.payment-calculation>strong{border-top:1px solid #dfe4eb;padding-top:8px;color:#354153}.payment-calculation>strong b{color:#248a65;font-size:12px}.loan-deduction{display:block!important;color:#bd752d!important;margin-top:3px!important}.payment-modal{width:min(520px,100%)}@media(max-width:800px){.loan-list{grid-template-columns:1fr}.ledger-head{flex-wrap:wrap}.loan-button{margin-left:0}}@media(max-width:520px){.loan-payment-box{grid-template-columns:1fr}}
.requests-panel{display:grid;gap:13px}.requests-head{display:flex;justify-content:space-between;align-items:flex-end}.requests-head h1{font:800 29px Manrope;margin:0}.requests-head p:not(.eyebrow){font-size:12px;color:var(--muted);margin:5px 0 0}.request-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.request-overview>button{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;text-align:left;display:flex;align-items:center;gap:10px;color:#445064}.request-overview>button.active{border-color:#7888e8;box-shadow:inset 0 0 0 1px #7888e8;background:#f7f8ff}.overview-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:800}.overview-icon.pending{background:#fff3df;color:#ce8321}.overview-icon.approved{background:#eaf8f2;color:#288b69}.overview-icon.rejected{background:#fff0f2;color:#c64a5c}.overview-icon.all{background:#eef1ff;color:#5367dc}.request-overview small,.request-overview strong{display:block}.request-overview small{font-size:8px;color:#87919f}.request-overview strong{font:800 17px Manrope;margin-top:2px}.request-toolbar{background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 10px;display:flex;justify-content:space-between;align-items:center}.request-categories{display:flex;gap:4px}.request-categories button{border:0;background:transparent;color:#7d8796;border-radius:7px;padding:7px 10px;font-size:8px;font-weight:700}.request-categories button.active{background:#eef1ff;color:#4c61d7}.request-toolbar>span{font-size:8px;color:#929ba9}.requests-list{display:grid;gap:8px}.request-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px;display:grid;grid-template-columns:38px 1.25fr 1fr 150px;gap:12px;align-items:center}.request-card.pending{border-left:3px solid #e1a143}.request-card.approved{border-left:3px solid #3a9a77}.request-card.rejected{border-left:3px solid #cb5263;opacity:.82}.request-type-icon{width:36px;height:36px;border-radius:9px;background:#f0f2ff;color:#5266d8;display:grid;place-items:center;font-size:15px}.request-title{display:flex;align-items:center;gap:7px}.request-title>strong{font-size:10px}.request-category{font-size:7px;color:#7d8796;background:#f1f3f6;border-radius:9px;padding:3px 6px}.request-person{display:flex;align-items:center;gap:7px;margin-top:7px}.request-person .person-avatar{width:25px;height:25px;font-size:7px}.request-person b,.request-person small{display:block}.request-person b{font-size:8px}.request-person small{font-size:7px;color:#8c96a4}.request-main>p{font-size:8px;color:#737e8d;margin:7px 0 0}.request-details{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.request-details small,.request-details b{display:block}.request-details small{font-size:7px;color:#939ca9}.request-details b{font-size:8px;margin-top:2px}.request-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px;flex-wrap:wrap}.request-actions button{border-radius:7px;padding:7px 9px;font-size:8px;font-weight:700}.approve-request{border:1px solid #bee4d4;background:#edfaf4;color:#268361}.reject-request{border:1px solid #edcfd4;background:#fff;color:#c24b5d}.request-more{border:0;background:#f3f4f7;color:#7d8796}.request-status{font-size:8px;font-weight:700;border-radius:10px;padding:5px 7px}.request-status.approved{background:#e9f8f1;color:#268361}.request-status.rejected{background:#fff0f2;color:#be485a}.request-actions>small{width:100%;text-align:right;color:#98a1ad;font-size:7px}.empty-requests{text-align:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:45px;color:#8d97a4}.empty-requests>span{font-size:25px;color:#369472}.empty-requests strong{display:block;color:#596475;font-size:11px;margin-top:7px}.empty-requests p{font-size:8px}.request-modal{width:min(540px,100%)}.request-modal #requestExtra:empty{display:none}@media(max-width:950px){.request-card{grid-template-columns:38px 1fr 1fr}.request-actions{grid-column:2/-1}.request-overview{grid-template-columns:1fr 1fr}}@media(max-width:650px){.requests-head{align-items:flex-start}.request-toolbar{align-items:flex-start;gap:8px}.request-categories{overflow:auto}.request-card{grid-template-columns:34px 1fr}.request-details,.request-actions{grid-column:2}.request-overview{grid-template-columns:1fr 1fr}}
.employee-request-history{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.employee-request-history>header{height:60px;padding:0 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.employee-request-history>header strong,.employee-request-history>header small{display:block}.employee-request-history>header strong{font-size:11px}.employee-request-history>header small{font-size:8px;color:#8c96a4;margin-top:3px}.employee-request-history>header>span{font-size:8px;color:#8c96a4;background:#f2f4f7;border-radius:10px;padding:5px 8px}.request-history-table{padding:5px 13px}.request-history-row{display:grid;grid-template-columns:1.25fr .9fr 1.4fr .8fr .65fr;gap:12px;align-items:center;padding:11px 5px;border-bottom:1px solid #edf0f4;font-size:8px;color:#697586}.request-history-row:last-child{border-bottom:0}.history-header{color:#929ca9;font-size:7px;font-weight:800;text-transform:uppercase;padding-top:8px;padding-bottom:7px}.history-type{display:flex;align-items:center;gap:8px}.history-type>i{width:27px;height:27px;border-radius:7px;background:#f0f2ff;color:#5266d8;display:grid;place-items:center;font-style:normal;font-size:11px}.history-type b,.history-type small{display:block}.history-type b{font-size:8px;color:#465264}.history-type small{font-size:7px;color:#929ca9;margin-top:2px}.history-reason{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-status{font-style:normal;font-size:7px;font-weight:700;border-radius:9px;padding:4px 6px;white-space:nowrap}.history-status.approved{background:#e9f8f1;color:#288765}.history-status.rejected{background:#fff0f2;color:#bf495b}.history-pagination{height:50px;padding:0 17px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.history-pagination>span{font-size:8px;color:#8b95a3}.history-pagination>div{display:flex;gap:4px}.history-pagination button{border:1px solid #dfe3ea;background:#fff;color:#687485;border-radius:6px;padding:6px 8px;font-size:8px}.history-pagination button.active{background:#5368df;border-color:#5368df;color:#fff}.history-pagination button:disabled{opacity:.4;cursor:default}.empty-history{text-align:center;padding:32px;color:#8d97a5}.empty-history>span{font-size:21px}.empty-history strong{display:block;color:#596475;font-size:10px;margin-top:5px}.empty-history p{font-size:8px}@media(max-width:800px){.request-history-table{overflow:auto}.request-history-row{min-width:760px}.history-pagination .page-number{display:none}}
.dashboard{display:grid;gap:14px}.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between}.dashboard-head h1{font:800 29px Manrope;margin:0}.dashboard-head p:not(.eyebrow){font-size:12px;color:var(--muted);margin:5px 0 0}.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.dashboard-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.dashboard-card>header{height:59px;padding:0 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.dashboard-card>header strong,.dashboard-card>header small{display:block}.dashboard-card>header strong{font-size:11px}.dashboard-card>header small{font-size:8px;color:#8b95a4;margin-top:3px}.dashboard-card>header button{border:0;background:transparent;color:#5265d6;font-size:8px;font-weight:700}.today-timeline{padding:5px 14px}.today-timeline article{display:grid;grid-template-columns:32px 1fr 74px 75px;gap:9px;align-items:center;padding:10px 2px;border-bottom:1px solid #edf0f4}.today-timeline article:last-child{border:0}.today-timeline .person-avatar{width:31px;height:31px;font-size:8px}.today-timeline strong,.today-timeline small{display:block}.today-timeline strong{font-size:9px}.today-timeline small{font-size:7px;color:#8c96a4;margin-top:2px}.today-timeline time{font-size:8px;font-weight:700;color:#4b586a}.today-status{font-style:normal;font-size:7px;color:#5266d7;background:#eef1ff;border-radius:9px;padding:4px 6px;text-align:center}.today-off .today-status{color:#6e7887;background:#f0f2f5}.today-card>footer{border-top:1px solid #edf0f4;padding:9px 16px;display:flex;align-items:center;gap:5px;color:#8b95a4;font-size:7px}.today-card>footer b,.today-card>footer em{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#eef1ff;color:#5265d6;font-style:normal;font-size:6px}.today-card>footer span{margin-right:4px}.alerts-card>header>span{width:23px;height:23px;border-radius:8px;background:#fff1dc;color:#c67b20;display:grid;place-items:center;font-size:9px;font-weight:800}.alerts-list{padding:8px}.alerts-list>button{width:100%;display:grid;grid-template-columns:32px 1fr 12px;align-items:center;gap:9px;border:0;background:#fff;border-radius:8px;padding:9px;text-align:left}.alerts-list>button:hover{background:#f7f8fb}.alerts-list>button>i{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-weight:800}.alerts-list .warning>i{background:#fff2df;color:#ce8120}.alerts-list .info>i{background:#eef1ff;color:#5265d7}.alerts-list .loan>i{background:#fff1e3;color:#bc7028}.alerts-list strong,.alerts-list small{display:block}.alerts-list strong{font-size:9px;color:#3f4b5d}.alerts-list small{font-size:7px;color:#8c96a4;margin-top:3px;line-height:1.4}.alerts-list>button>b{color:#9aa3b0}.all-good,.dashboard-empty{text-align:center;padding:28px;color:#8b95a4;font-size:8px}.all-good>span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#eaf8f2;color:#288c69;margin:auto}.all-good strong,.all-good small{display:block}.all-good strong{color:#566173;font-size:9px;margin-top:7px}.all-good small{margin-top:3px}.finance-hero{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 12px}.finance-hero small,.finance-hero strong,.finance-hero span{display:block}.finance-hero small{font-size:8px;color:#8a94a3}.finance-hero strong{font:800 23px Manrope;margin:4px 0;color:#3448ba}.finance-hero span{font-size:7px;color:#8b95a4}.finance-ring{--paid:0%;width:74px;height:74px;border-radius:50%;background:conic-gradient(#5368df var(--paid),#e9ecf3 0);display:grid;place-content:center;text-align:center;position:relative}.finance-ring::before{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%}.finance-ring span,.finance-ring small{position:relative;z-index:1}.finance-ring span{font:800 14px Manrope}.finance-ring small{font-size:6px;color:#8b95a4}.finance-details{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #edf0f4;padding:12px 16px}.finance-details>span{display:grid;grid-template-columns:6px 1fr;gap:2px 5px}.finance-details i{width:6px;height:6px;border-radius:50%;margin-top:2px;grid-row:1/3}.green-dot{background:#36a17c}.amber-dot{background:#dd963d}.violet-dot{background:#8d62d0}.finance-details small{font-size:7px;color:#8c96a4}.finance-details b{font-size:9px}.dashboard-requests{padding:7px 13px}.dashboard-requests article{display:grid;grid-template-columns:29px 1fr 27px;align-items:center;gap:8px;padding:9px 2px;border-bottom:1px solid #edf0f4}.dashboard-requests article:last-child{border:0}.dashboard-requests article>span{width:28px;height:28px;border-radius:8px;background:#f0f2ff;color:#5266d8;display:grid;place-items:center}.dashboard-requests strong,.dashboard-requests small{display:block}.dashboard-requests strong{font-size:9px}.dashboard-requests small{font-size:7px;color:#8d97a5;margin-top:2px}.dashboard-requests button{width:26px;height:26px;border:1px solid #cce5da;background:#edf9f4;color:#288765;border-radius:7px}.quick-actions{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.quick-actions>header strong,.quick-actions>header small{display:block}.quick-actions>header strong{font-size:11px}.quick-actions>header small{font-size:8px;color:#8c96a4;margin-top:3px}.quick-actions>div{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.quick-actions button{border:1px solid #e1e5eb;background:#fff;border-radius:9px;padding:11px;text-align:left;display:grid;grid-template-columns:31px 1fr;column-gap:9px}.quick-actions button:hover{border-color:#7888e8;background:#f7f8ff}.quick-actions button>span{width:30px;height:30px;border-radius:8px;background:#eef1ff;color:#5266d8;display:grid;place-items:center;grid-row:1/3}.quick-actions button b,.quick-actions button small{display:block}.quick-actions button b{font-size:9px;color:#465264}.quick-actions button small{font-size:7px;color:#8d97a5;margin-top:2px}@media(max-width:950px){.dashboard-grid{grid-template-columns:1fr}.quick-actions>div{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.dashboard-head{align-items:flex-start}.quick-actions>div{grid-template-columns:1fr 1fr}.finance-details{grid-template-columns:1fr}.today-timeline article{grid-template-columns:31px 1fr 70px}.today-status{display:none}}
input[type="time"]{cursor:pointer}.clock-backdrop{position:fixed;inset:0;background:#1118277d;z-index:250;display:grid;place-items:center;padding:16px;backdrop-filter:blur(3px)}.clock-picker{width:320px;background:#fff;border-radius:16px;box-shadow:0 25px 80px #0b14266b;overflow:hidden}.clock-picker>header{background:linear-gradient(135deg,#4d63e8,#6577e7);color:#fff;padding:17px 20px;text-align:center}.clock-picker>header small{font-size:8px;letter-spacing:1.1px;opacity:.75}.clock-display{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:5px}.clock-display button{border:0;background:transparent;color:#dce2ff;font:800 34px Manrope;padding:2px 5px;border-radius:7px}.clock-display button.active{background:#ffffff24;color:#fff}.clock-display span{font:800 30px Manrope;opacity:.65}.clock-period{display:flex;justify-content:center;gap:5px;padding:10px 0 0}.clock-period button{border:1px solid #dce1ea;background:#fff;color:#778293;border-radius:12px;padding:5px 12px;font-size:8px;font-weight:700}.clock-period button.active{background:#eef1ff;border-color:#7888e8;color:#4c61d7}.clock-face{--hand-angle:0deg;width:230px;height:230px;border-radius:50%;background:#f3f5f9;margin:12px auto 7px;position:relative}.clock-face>button{--angle:0deg;position:absolute;width:34px;height:34px;left:98px;top:98px;border:0;border-radius:50%;background:transparent;color:#4c586a;font-size:10px;font-weight:700;transform:rotate(var(--angle)) translateY(-86px) rotate(calc(var(--angle) * -1));z-index:3}.clock-face>button:hover,.clock-face>button.selected{background:#5368df;color:#fff}.clock-center{position:absolute;width:7px;height:7px;border-radius:50%;background:#5368df;left:111.5px;top:111.5px;z-index:2}.clock-hand{position:absolute;width:2px;height:83px;background:#7888e8;left:114px;top:32px;transform-origin:bottom center;transform:rotate(var(--hand-angle));z-index:1}.clock-hand::before{content:"";position:absolute;width:34px;height:34px;border-radius:50%;background:#dfe4ff;left:-16px;top:-16px;z-index:-1}.clock-hint{text-align:center;color:#8a94a3;font-size:8px}.clock-picker>footer{height:53px;padding:0 13px;display:flex;align-items:center;gap:5px;border-top:1px solid #edf0f4;margin-top:10px}.clock-picker>footer span{flex:1}.clock-picker>footer button{border:0;background:transparent;color:#5966c9;border-radius:7px;padding:7px 9px;font-size:9px;font-weight:700}.clock-picker>footer .clock-ok{background:#5368df;color:#fff;padding-inline:12px}
:root{--ui-scale:1}body{zoom:1}.workspace,body>.modal-backdrop,body>.toast,body>.context-menu,body>.clock-picker{zoom:var(--ui-scale)}
.settings-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:560px}.settings-head{padding:24px;border-bottom:1px solid var(--line)}.settings-head h1{font:800 28px Manrope;margin:0}.settings-head p:not(.eyebrow){font-size:12px;color:var(--muted);margin:5px 0 0}.settings-layout{display:grid;grid-template-columns:210px 1fr;min-height:470px}.settings-layout>aside{border-right:1px solid var(--line);background:#fafbfc;padding:13px 9px}.settings-layout>aside button{width:100%;border:0;background:transparent;border-radius:8px;padding:10px;display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center;text-align:left;color:#7b8695}.settings-layout>aside button.active{background:#eef1ff;color:#465bd0}.settings-layout>aside button:disabled{opacity:.55}.settings-layout>aside button>span{width:29px;height:29px;border-radius:7px;background:#fff;display:grid;place-items:center;font-weight:800}.settings-layout>aside b,.settings-layout>aside small{display:block}.settings-layout>aside b{font-size:9px}.settings-layout>aside small{font-size:7px;margin-top:2px}.settings-content{padding:20px}.setting-section{border:1px solid #e3e7ed;border-radius:11px;overflow:hidden}.setting-section>header{height:65px;padding:0 16px;border-bottom:1px solid #e7eaf0;display:flex;align-items:center;justify-content:space-between}.setting-section>header strong,.setting-section>header small{display:block}.setting-section>header strong{font-size:11px}.setting-section>header small{font-size:8px;color:#8b95a4;margin-top:3px}.font-value{font:800 16px Manrope;color:#4d62d9;background:#eef1ff;border-radius:8px;padding:7px 10px}.font-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px}.font-presets button{border:1px solid #e0e4ea;background:#fff;border-radius:9px;padding:11px;text-align:left;position:relative}.font-presets button.active{border-color:#7182e6;background:#f4f6ff;box-shadow:inset 0 0 0 1px #7182e6}.font-presets button>span{width:34px;height:34px;border-radius:8px;background:#f0f2f7;color:#536173;display:grid;place-items:center;font-weight:800;margin-bottom:8px}.font-presets button.active>span{background:#e6eaff;color:#4b60d6}.font-presets b,.font-presets small{display:block}.font-presets b{font-size:9px;color:#465264}.font-presets small{font-size:7px;color:#8d97a5;margin-top:2px}.font-presets em{position:absolute;right:8px;top:8px;font-size:7px;font-style:normal;color:#8d97a5}.font-slider-wrap{display:grid;grid-template-columns:22px 1fr 28px;align-items:center;gap:9px;padding:6px 18px 16px}.font-slider-wrap>span:first-child{font-size:10px}.font-slider-wrap>span:last-child{font-size:19px;font-weight:700;text-align:right}.font-slider-wrap input{width:100%;accent-color:#5368df}.font-preview{margin:0 16px 16px;border:1px dashed #ccd3df;background:#fafbfc;border-radius:9px;padding:13px}.font-preview>div{display:flex;align-items:center;gap:9px}.font-preview>div>div{flex:1}.font-preview strong,.font-preview small{display:block}.font-preview strong{font-size:10px}.font-preview small{font-size:8px;color:#8c96a4;margin-top:2px}.font-preview button{border:1px solid #d7dce4;background:#fff;border-radius:7px;padding:7px 10px;font-size:8px;color:#536072}.font-preview p{font-size:8px;color:#8c96a4;margin:10px 0 0}.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px}.settings-actions>span{margin-right:auto;font-size:8px;color:#8a94a3}@media(max-width:850px){.settings-layout{grid-template-columns:70px 1fr}.settings-layout>aside button{grid-template-columns:1fr}.settings-layout>aside button>div{display:none}.font-presets{grid-template-columns:1fr 1fr}}@media(max-width:550px){.settings-layout{display:block}.settings-layout>aside{display:flex;border-right:0;border-bottom:1px solid var(--line)}.settings-layout>aside button{width:45px}.settings-content{padding:12px}.font-presets{grid-template-columns:1fr}.setting-section>header small{display:none}.settings-actions{flex-wrap:wrap}.settings-actions>span{width:100%}}

/* Czytelniejsze najmniejsze opisy przy standardowej skali. */
.day-head small,.day-head i,.employee-cell em,.salary,.shift em,.shift i,.legend,.context-menu .menu-label,.context-menu button small,.employee-table-row.table-header,.template-creator-title small,.template-form label,.template-row label,.templates-list-head span,.ledger-controls label,.clock-hint,.settings-layout>aside small,.font-presets small,.font-presets em,.setting-section>header small,.font-preview small,.font-preview button,.font-preview p,.settings-actions>span{font-size:10px}

/* Szersze dni i pełne informacje o zmianie bez łamania pojedynczych wierszy. */
.shift strong,.shift span,.shift em{white-space:nowrap}

/* Logowanie i role użytkowników. */
.role-admin .employee-mode-badge{display:none}.role-employee .employee-hidden{display:none!important}.role-employee .shift{cursor:default}.role-employee .add-cell{display:none}.employee-mode-badge{height:36px;display:flex;align-items:center;padding:0 12px;border:1px solid #dce3fa;border-radius:9px;background:#f2f5ff;color:#5064ce;font-size:10px;font-weight:800}.sidebar-foot form{margin:0}.sidebar-foot form button{width:24px;height:30px;padding:0}
.login-page{min-height:100vh;background:#edf1f7;display:grid;place-items:center;padding:24px}.login-shell{width:min(990px,100%);min-height:620px;display:grid;grid-template-columns:1.02fr .98fr;background:#fff;border:1px solid #e0e5ee;border-radius:22px;overflow:hidden;box-shadow:0 28px 80px #1e2a4424}.login-brand-panel{padding:48px;background:linear-gradient(150deg,#111a2c 0%,#1b2945 65%,#283b64 100%);color:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-brand-panel::after{content:"";position:absolute;width:360px;height:360px;border:1px solid #ffffff12;border-radius:50%;right:-170px;bottom:-120px;box-shadow:0 0 0 65px #ffffff08,0 0 0 130px #ffffff05}.login-logo{display:flex;align-items:center;gap:11px;font:800 23px Manrope;position:relative;z-index:1}.login-logo>span,.login-mobile-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#7385f7,#435be2);display:grid;place-items:center;color:#fff;font:800 18px Manrope}.login-logo b{color:#788aff}.login-brand-panel>div:nth-child(2){margin:auto 0;max-width:390px;position:relative;z-index:1}.login-brand-panel p,.login-form header p{color:#8fa0ff;font-size:9px;font-weight:800;letter-spacing:1.7px;margin:0 0 12px}.login-brand-panel h1{font:800 39px/1.15 Manrope;margin:0 0 18px}.login-brand-panel>div>span{color:#b3bdd0;font-size:13px;line-height:1.7}.login-brand-panel footer{position:relative;z-index:1;color:#aeb9cc;font-size:10px;display:flex;align-items:center;gap:8px}.login-brand-panel footer i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#2dbe8b22;color:#58d3a5;font-style:normal}.login-form-panel{display:grid;place-items:center;padding:50px}.login-form{width:min(350px,100%);display:grid;gap:17px}.login-form header{margin-bottom:8px}.login-form header h2{font:800 30px Manrope;margin:0 0 7px}.login-form header small{color:#8490a1;font-size:11px}.login-mobile-mark{display:none}.login-form>label{display:grid;gap:7px;font-size:10px;font-weight:800;color:#4f5b6d}.login-form input{width:100%;height:44px;border:1px solid #dce1e9;border-radius:9px;padding:0 12px;outline:0;color:#263244;background:#fff}.login-form input:focus{border-color:#6d7ee6;box-shadow:0 0 0 3px #5c6ee81a}.password-field{position:relative}.password-field button{position:absolute;right:6px;top:5px;width:34px;height:34px;border:0;border-radius:7px;background:transparent;color:#8a94a3}.password-field input{padding-right:43px}.login-submit{height:45px;border:0;border-radius:9px;background:#5065df;color:#fff;padding:0 15px;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 9px 20px #5065df30}.login-submit span{font-size:17px}.login-error{background:#fff0f2;border:1px solid #f2cbd2;color:#b83e52;border-radius:9px;padding:11px 12px;font-size:10px;font-weight:700}.sms-login-status{margin-top:5px;padding:11px;border:1px solid #e3e7ed;background:#f8f9fb;border-radius:10px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px}.sms-login-status>span{width:33px;height:33px;border-radius:8px;background:#eceff5;color:#7c8797;display:grid;place-items:center;font-size:8px;font-weight:800}.sms-login-status strong,.sms-login-status small{display:block}.sms-login-status strong{font-size:9px;color:#556173}.sms-login-status small{font-size:7px;color:#929baa;margin-top:3px}.sms-login-status em{font-style:normal;font-size:7px;font-weight:800;color:#8b95a4;background:#e8ebf0;border-radius:5px;padding:4px 6px}
@media(max-width:760px){.login-shell{grid-template-columns:1fr;min-height:0}.login-brand-panel{display:none}.login-form-panel{padding:38px 24px}.login-mobile-mark{display:grid;margin-bottom:23px}.login-page{padding:12px}}

/* Konta pracowników, telefony i hasła. */
.sidebar-account-trigger{cursor:pointer;border-radius:9px;padding-left:7px;padding-right:5px;transition:.18s background}.sidebar-account-trigger:hover,.sidebar-account-trigger[aria-expanded="true"]{background:#1c2840}.sidebar-account-trigger .account-toggle{width:24px;height:30px;padding:0;border:0;background:transparent;color:#8994a8}.account-popover{position:absolute;z-index:120;left:16px;bottom:78px;width:350px;max-height:calc(100vh - 105px);overflow:auto;background:#fff;color:#263244;border:1px solid #dfe4ed;border-radius:15px;box-shadow:0 22px 65px #07101f55}.account-popover>header{position:sticky;top:0;z-index:2;background:#fff;padding:16px 17px 13px;border-bottom:1px solid #edf0f4;display:flex;justify-content:space-between;align-items:center}.account-popover>header small,.account-popover>header strong{display:block}.account-popover>header small{font-size:7px;color:#6a7ce0;font-weight:800;letter-spacing:1.2px;margin-bottom:3px}.account-popover>header strong{font:800 17px Manrope}.account-popover>header button{width:29px;height:29px;border:1px solid #e1e5eb;border-radius:7px;background:#fff;color:#788394}.account-user{padding:14px 17px;display:flex;align-items:center;gap:10px;background:#f7f8fc;border-bottom:1px solid #edf0f4}.account-user .avatar{flex:0 0 auto}.account-user strong,.account-user small{display:block}.account-user strong{font-size:10px;color:#364254}.account-user small{font-size:8px;color:#8792a2;margin-top:3px}.account-section{margin:0;padding:15px 17px;border-bottom:1px solid #edf0f4;display:grid;gap:10px}.account-section-title{display:flex;align-items:center;gap:9px;margin-bottom:2px}.account-section-title>span{width:30px;height:30px;border-radius:8px;background:#edf0ff;color:#5267dd;display:grid;place-items:center;font-size:12px}.account-section-title strong,.account-section-title small{display:block}.account-section-title strong{font-size:10px;color:#394557}.account-section-title small{font-size:7px;color:#8c96a5;margin-top:2px}.account-section label{display:grid;gap:5px;color:#677386;font-size:8px;font-weight:700}.account-section input{height:36px;width:100%;border:1px solid #dfe3ea;border-radius:8px;padding:0 10px;color:#2d394b;outline:0}.account-section input:focus{border-color:#6577df;box-shadow:0 0 0 3px #6577df18}.account-primary,.account-secondary{height:35px;border-radius:8px;font-size:9px;font-weight:800}.account-primary{border:0;background:#5064dc;color:#fff}.account-secondary{border:1px solid #dce2ef;background:#f7f8fc;color:#5061c1}.locked-phone{display:flex;align-items:center;justify-content:space-between;border:1px solid #dce8e3;background:#f1f9f6;border-radius:8px;padding:10px}.locked-phone span{font-size:11px;font-weight:800;color:#344153}.locked-phone b{font-size:7px;color:#258461}.account-section>p{font-size:7px;line-height:1.5;color:#8a94a3;margin:0}.account-message{margin:12px 17px 0;padding:9px;border-radius:8px;background:#edf8f3;color:#277c60;font-size:8px;font-weight:700}.account-message.error{background:#fff0f2;color:#b83e52}.account-logout{padding:12px 17px}.account-logout button{width:100%;height:34px;border:1px solid #eadde0;background:#fff7f8;color:#b8495b;border-radius:8px;font-size:9px;font-weight:800}.employee-table-row{grid-template-columns:1.55fr 1fr .66fr .75fr .72fr 1.05fr 1fr 65px;min-width:1280px}.employee-name>span{min-width:0}.employee-name>span b,.employee-name>span small{display:block}.employee-name>span small{color:#8b95a4;font-size:7px;margin-top:3px}.employee-phone-input{width:100%!important;min-width:120px}.employee-account-btn{height:32px;width:100%;border:1px solid #dce2f2;border-radius:7px;background:#f5f7ff;color:#4b5eca;font-size:8px;font-weight:800;white-space:nowrap}.employee-account-btn:disabled{opacity:.45;cursor:not-allowed}.account-login-summary{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;background:#f6f8fc;border-radius:9px;padding:11px}.account-login-summary small,.account-login-summary strong{display:block}.account-login-summary small{font-size:7px;color:#8a95a5}.account-login-summary strong{font-size:11px;margin-top:2px}.account-login-summary em{font-style:normal;font-size:7px;font-weight:800;color:#288865;background:#e8f6f1;padding:5px 7px;border-radius:6px}.password-separator{padding-top:5px;border-top:1px solid #edf0f4}.password-separator strong,.password-separator small{display:block}.password-separator strong{font-size:10px}.password-separator small{font-size:7px;color:#8a95a4;margin-top:3px}
@media(max-width:900px){.account-popover{left:70px;bottom:14px}.sidebar-account-trigger>div:not(.avatar){display:none}}
@media(max-width:650px){.account-popover{position:fixed;left:12px;right:12px;bottom:75px;width:auto;max-height:calc(100vh - 95px)}}
.employee-table-row{grid-template-columns:1.45fr .95fr .55fr .65fr .65fr .9fr 1.35fr;gap:10px;min-width:930px}.employee-phone-input{width:100%!important;min-width:105px}.employee-row-actions{display:flex;align-items:center;gap:5px}.employee-row-actions .employee-account-btn{width:auto;flex:1}.employee-row-actions .save-employee{height:32px;flex:0 0 auto}
.employee-table-row{grid-template-columns:1.45fr .95fr .55fr .65fr .65fr .9fr 1.6fr;min-width:1010px}.delete-employee{height:32px;flex:0 0 auto;border:1px solid #efccd2;border-radius:7px;background:#fff7f8;color:#bd4558;padding:0 9px;font-size:9px;font-weight:800}.delete-employee:hover{border-color:#e4aeb8;background:#fff0f2}.employee-delete-modal{width:min(560px,100%)}.delete-employee-summary{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #e3e7ee;border-radius:10px;background:#f8f9fc}.delete-employee-summary .person-avatar{width:40px;height:40px;flex:0 0 auto}.delete-employee-summary strong,.delete-employee-summary small{display:block}.delete-employee-summary strong{font-size:12px}.delete-employee-summary small{margin-top:3px;color:#7e8999;font-size:10px}.delete-employee-copy{margin:0;color:#5f6b7d;font-size:11px;line-height:1.55}.delete-impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.delete-impact-grid>span{padding:11px 8px;border:1px solid #e5e8ee;border-radius:9px;background:#fff;text-align:center}.delete-impact-grid b,.delete-impact-grid small{display:block}.delete-impact-grid b{font:800 18px Manrope;color:#334054}.delete-impact-grid small{margin-top:3px;color:#8a95a4;font-size:9px}.delete-employee-warning{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid #efcbd2;border-left:4px solid #d95569;border-radius:9px;background:#fff4f5}.delete-employee-warning>span{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;border-radius:7px;background:#ffe0e5;color:#c44055;font-weight:900}.delete-employee-warning p{margin:1px 0 0}.delete-employee-warning strong,.delete-employee-warning small{display:block}.delete-employee-warning strong{color:#a9374a;font-size:10px}.delete-employee-warning small{margin-top:3px;color:#8b5c65;font-size:9px;line-height:1.45}.danger-confirm{height:40px;padding:0 15px;border:1px solid #c94459;border-radius:9px;background:#cf4b60;color:#fff;font-size:11px;font-weight:800}.danger-confirm:hover{background:#bd3e53}.danger-confirm:disabled{opacity:.65;cursor:wait}@media(max-width:560px){.delete-impact-grid{grid-template-columns:1fr 1fr}.employee-delete-modal footer{display:grid;grid-template-columns:1fr}.employee-delete-modal footer button{width:100%}}
.filter-reset{height:34px;border:1px solid #e1e5eb;border-radius:8px;background:#f8f9fb;color:#8b95a4;padding:0 10px;font-size:9px;font-weight:800;white-space:nowrap}.filter-reset.active{border-color:#d6ddfa;background:#f1f3ff;color:#4d61cf}.filter-reset:disabled{opacity:.55;cursor:default}
.brand-company{font:800 10px Manrope;color:#9aa7bf;letter-spacing:.7px;margin-left:2px}.login-logo strong{font:800 23px Manrope}.login-logo em{font:800 11px Manrope;font-style:normal;color:#a8b4ce;letter-spacing:.8px;margin-left:2px}
.context-menu .time-confirmed{margin:4px 7px 7px;padding:10px;border:1px solid #d5eadf;border-radius:8px;background:#eef8f4;color:#277b5e}.context-menu .time-confirmed span,.context-menu .time-confirmed small{display:block}.context-menu .time-confirmed span{font-size:10px;font-weight:800}.context-menu .time-confirmed small{margin-top:4px;font-size:8px;line-height:1.45;color:#66877b}
.loan-card-actions{margin-top:11px;padding-top:10px;border-top:1px solid #eadfce}.loan-card-actions button{width:100%;height:34px;border:1px solid #e4cda9;border-radius:8px;background:#fff5e4;color:#a9661f;font-size:9px;font-weight:800}.loan-card-actions button:hover{background:#ffedcf}.loan-card-actions>span{display:block;text-align:center;color:#328263;font-size:8px;font-weight:800}.manual-repayments{margin-top:11px;padding:9px;background:#fff;border:1px solid #eee4d6;border-radius:8px}.manual-repayments>strong{display:block;margin-bottom:5px;color:#697586;font-size:8px}.manual-repayment-row{display:grid;grid-template-columns:1fr 24px;align-items:center;gap:8px;padding:6px 0;border-top:1px solid #f0ebe4}.manual-repayment-row:first-of-type{border-top:0}.manual-repayment-row b,.manual-repayment-row small{display:block}.manual-repayment-row b{font-size:9px;color:#2f765d}.manual-repayment-row small{margin-top:2px;color:#8b95a3;font-size:7px}.manual-repayment-row button{width:23px;height:23px;border:0;border-radius:6px;background:#fff0f2;color:#bc4b5d}.repayment-amount-input{display:grid;grid-template-columns:1fr 78px;gap:7px}.repayment-amount-input button{border:1px solid #d9dff2;border-radius:8px;background:#f3f5ff;color:#4c60ca;font-size:9px;font-weight:800}.loan-repayment-modal{width:min(510px,100%)}@media(max-width:520px){.repayment-amount-input{grid-template-columns:1fr}}

/* Konto administratora w ustawieniach. */
.admin-account-badge{font-size:8px;font-weight:800;letter-spacing:.8px;color:#4660ce;background:#eef1ff;border-radius:7px;padding:7px 9px}.admin-profile-section>form{padding:17px}.admin-profile-summary{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:12px 13px;margin-bottom:15px;border:1px solid #e4e8f0;border-radius:10px;background:#f8f9fc}.admin-profile-summary .avatar{width:38px;height:38px}.admin-profile-summary small,.admin-profile-summary strong{display:block}.admin-profile-summary small{color:#8a95a4;font-size:8px}.admin-profile-summary strong{font-size:12px;margin-top:2px}.admin-profile-summary em{font-style:normal;font-size:8px;font-weight:800;color:#278061;background:#e9f7f1;border-radius:7px;padding:6px 8px}.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-form-grid label,.admin-password-grid label{display:grid;gap:6px;color:#5f6b7d;font-size:9px;font-weight:800}.settings-form-grid input,.admin-password-grid input{width:100%;height:40px;border:1px solid #dfe4eb;border-radius:8px;background:#fff;color:#293548;padding:0 11px;outline:0}.settings-form-grid input:focus,.admin-password-grid input:focus{border-color:#6578e2;box-shadow:0 0 0 3px #6578e218}.settings-form-grid label>small{color:#929baa;font-size:8px;font-weight:500}.settings-field-wide{grid-column:1/-1}.admin-password-settings{margin-top:17px;padding:14px;border:1px solid #e6e9ef;border-radius:10px;background:#fafbfc}.password-settings-head{display:flex;align-items:center;gap:10px;margin-bottom:13px}.password-settings-head>span{width:32px;height:32px;border-radius:8px;background:#edf0ff;color:#5367d7;display:grid;place-items:center;font-weight:800}.password-settings-head strong,.password-settings-head small{display:block}.password-settings-head strong{font-size:10px}.password-settings-head small{color:#8b95a4;font-size:8px;margin-top:2px}.admin-password-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin-profile-actions{margin-top:15px}.admin-profile-actions>span.saved{color:#278061;font-weight:700}.admin-profile-actions button:disabled{opacity:.65;cursor:wait}.admin-profile-section .form-error{margin-top:12px}
@media(max-width:760px){.settings-form-grid,.admin-password-grid{grid-template-columns:1fr}.settings-field-wide{grid-column:auto}.admin-profile-summary{grid-template-columns:38px 1fr}.admin-profile-summary em{grid-column:1/-1;text-align:center}}

/* Notatki administratora przy wnioskach. */
.request-reason{margin-top:8px}.request-reason>small{display:block;color:#929ba8;font-size:8px;font-weight:700}.request-reason>p{font-size:9px;line-height:1.45;color:#667284;margin:3px 0 0}.admin-request-note{margin-top:8px;padding:8px 9px;border:1px solid #cfd8ff;border-left:3px solid #6578df;border-radius:8px;background:#f1f4ff}.admin-request-note>span{display:block;color:#4b5fc7;font-size:8px;font-weight:800}.admin-request-note>p{font-size:9px;line-height:1.45;color:#3f4d77;margin:4px 0 0}.admin-request-note>small{display:block;color:#8490ba;font-size:7px;margin-top:5px}.request-admin-note{border:1px solid #d3daf8;background:#f2f4ff;color:#4c60ca}.request-note-modal{width:min(560px,100%)}.request-note-summary{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:10px;border:1px solid #e5e8ee;border-radius:9px;background:#f8f9fb}.request-note-summary strong,.request-note-summary small{display:block}.request-note-summary strong{font-size:10px}.request-note-summary small{font-size:8px;color:#8b95a3;margin-top:3px}.request-note-reason{padding:11px;border:1px solid #e8eaf0;border-radius:9px;background:#fbfbfc}.request-note-reason small{font-size:8px;font-weight:800;color:#8a94a3}.request-note-reason p{font-size:9px;line-height:1.5;color:#566274;margin:5px 0 0}.request-note-modal textarea{min-height:105px;resize:vertical}.request-note-modal label>small{color:#8792a3;font-size:8px}.history-reason>span{display:block}.history-admin-note{display:block!important;margin-top:5px;padding:5px 6px;border-radius:6px;background:#eef1ff;color:#4d61c8!important;font-size:8px!important;line-height:1.35}.request-card:has(.admin-request-note){align-items:start}

/* Konfiguracja SMS i drugi etap logowania. */
.sms-config-status{font-size:8px;font-weight:800;letter-spacing:.7px;color:#8a94a3;background:#eef0f4;border-radius:7px;padding:7px 9px}.sms-config-status.enabled{color:#247a5c;background:#e8f7f0}.sms-settings-section>form{padding:17px}.sms-enable-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:13px;border:1px solid #e2e7ef;border-radius:10px;background:#f8f9fc}.sms-shield{width:40px;height:40px;border-radius:10px;background:#e9edff;color:#5064d3;display:grid;place-items:center;font-size:9px;font-weight:900}.sms-enable-row strong,.sms-enable-row small{display:block}.sms-enable-row strong{font-size:10px}.sms-enable-row small{color:#8792a2;font-size:8px;margin-top:3px}.settings-switch{position:relative;width:43px;height:24px}.settings-switch input{position:absolute;opacity:0;pointer-events:none}.settings-switch i{position:absolute;inset:0;border-radius:20px;background:#cbd2dc;transition:.18s}.settings-switch i::after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #1e293b30;transition:.18s}.settings-switch input:checked+i{background:#5368df}.settings-switch input:checked+i::after{transform:translateX(19px)}.sms-security-note{display:flex;gap:9px;align-items:flex-start;margin:10px 0 15px;padding:9px 10px;border:1px solid #d9e3fa;border-radius:9px;background:#f3f6ff}.sms-security-note>span{flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#dfe6ff;color:#5367cf;display:grid;place-items:center;font-size:8px;font-weight:800}.sms-security-note p{margin:1px 0 0;color:#66748b;font-size:8px;line-height:1.5}.sms-provider-card{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;margin-bottom:14px;border:1px solid #e4e8ef;border-radius:9px}.sms-provider-card>div{display:flex;align-items:center;gap:9px}.sms-provider-card>div>span{width:32px;height:32px;border-radius:8px;background:#f4d64d;color:#222;display:grid;place-items:center;font-weight:900}.sms-provider-card small,.sms-provider-card strong{display:block}.sms-provider-card small{color:#939ca9;font-size:7px;letter-spacing:.6px}.sms-provider-card strong{font-size:10px;margin-top:2px}.sms-provider-card em{font-style:normal;color:#397c65;background:#ecf8f3;border-radius:7px;padding:5px 7px;font-size:7px;font-weight:700}.sms-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sms-config-grid label{display:grid;gap:6px;color:#5f6b7d;font-size:9px;font-weight:800}.sms-config-grid input,.sms-config-grid select,.sms-config-grid textarea{width:100%;border:1px solid #dfe4eb;border-radius:8px;background:#fff;color:#293548;padding:0 11px;outline:0}.sms-config-grid input,.sms-config-grid select{height:40px}.sms-config-grid textarea{padding:10px 11px;resize:vertical;line-height:1.45}.sms-config-grid input:focus,.sms-config-grid select:focus,.sms-config-grid textarea:focus{border-color:#6578e2;box-shadow:0 0 0 3px #6578e218}.sms-config-grid label>small{color:#929baa;font-size:8px;font-weight:500}.sms-token-field{position:relative}.sms-token-field input{padding-right:43px}.sms-token-field button{position:absolute;right:5px;top:4px;width:32px;height:32px;border:0;border-radius:7px;background:#f2f4f8;color:#7c8798}.clear-token-option{display:flex;align-items:center;gap:7px;margin-top:12px;color:#b14a5a;font-size:8px;font-weight:700}.clear-token-option input{accent-color:#c65364}.sms-settings-actions>span.saved{color:#278061;font-weight:700}.sms-settings-actions button:disabled{opacity:.5;cursor:not-allowed}.sms-login-status.enabled{border-color:#cde5da;background:#f2faf6}.sms-login-status.enabled>span{background:#e1f5ec;color:#2b8666}.sms-login-status.enabled em{background:#dff3ea;color:#277b5e}.sms-verify-shell{width:min(350px,100%)}.sms-code-input{text-align:center;font:800 25px Manrope!important;letter-spacing:9px;padding-left:20px!important}.login-notice{background:#edf8f3;border:1px solid #cde9dc;color:#287b60;border-radius:9px;padding:11px 12px;font-size:10px;font-weight:700}.sms-code-help{display:grid;gap:3px;text-align:center;color:#778395;font-size:9px}.sms-code-help small{color:#99a2af;font-size:8px}.sms-verify-secondary{display:flex;justify-content:center;gap:8px;margin-top:13px}.sms-verify-secondary form{margin:0}.sms-verify-secondary button{border:0;background:transparent;color:#5868c7;padding:6px;font-size:8px;font-weight:700}
.sms-usage-card{display:grid;grid-template-columns:1fr 1.15fr 1.35fr;gap:10px;margin:0 0 14px}.sms-usage-card>div,.sms-usage-card>label{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:13px 14px;border:1px solid #e1e6ef;border-radius:10px;background:#f8f9fc}.sms-usage-card small{color:#8a95a5;font-size:9px;font-weight:800;letter-spacing:.45px}.sms-usage-card strong{display:block;margin-top:5px;color:#172238;font-size:21px;line-height:1.1}.sms-usage-card>div>span,.sms-unit-cost>em{margin-top:5px;color:#8a95a5;font-size:9px;font-style:normal}.sms-usage-stat.total{border-color:#d7defe;background:#f3f5ff}.sms-usage-stat.total strong{color:#4c61d6}.sms-unit-cost>span{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;margin-top:5px}.sms-unit-cost input{width:100%;height:36px;border:1px solid #d9e0e9;border-radius:8px;background:#fff;padding:0 9px;color:#1d293b;font-size:15px;font-weight:800;outline:0}.sms-unit-cost input:focus{border-color:#6578e2;box-shadow:0 0 0 3px #6578e218}.sms-unit-cost b{color:#596678;font-size:11px}@media(max-width:760px){.sms-usage-card{grid-template-columns:1fr}.sms-usage-card>div,.sms-usage-card>label{padding:12px}.sms-usage-card strong{font-size:19px}}
.pwa-session-guard{position:fixed;z-index:100000;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;background:#f4f6fa;color:#172238}.pwa-session-guard-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#5669df;color:#fff;font-size:24px;font-weight:900;box-shadow:0 10px 25px #4053bc35}.pwa-session-guard strong{margin-top:5px;font-size:15px}.pwa-session-guard small{max-width:330px;color:#758197;font-size:10px;line-height:1.5}.pwa-session-guard button{margin-top:8px;border:0;border-radius:9px;background:#5669df;color:#fff;padding:10px 16px;font-size:10px;font-weight:800;cursor:pointer}
.today-card>footer{color:#687588;font-size:10px;font-weight:600}.today-card>footer b,.today-card>footer em{font-size:8px;font-weight:800}
.ledger-summary .money-split{display:block;margin-top:3px;color:#69768a;font-size:9px}.balance-card.financial-conflict{border-color:#efc589;background:#fff8ec}.balance-card.financial-conflict strong,.balance-card.financial-conflict span{color:#b76a13}.financial-conflict-banner{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;padding:13px 15px;border:1px solid #efc589;border-left:4px solid #df8a24;border-radius:11px;background:#fff8ec;color:#704817}.financial-conflict-banner>span{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#ffe8c6;color:#c46f12;font-weight:900}.financial-conflict-banner strong{font-size:11px}.financial-conflict-banner p{margin:4px 0 0;font-size:9px;line-height:1.55;color:#86633a}.ledger-head button:disabled{opacity:.5;cursor:not-allowed}.payment-totals{display:flex;gap:13px;text-align:right}.payment-totals span,.payment-totals small,.payment-entry-breakdown strong>small{display:block}.payment-totals small,.payment-entry-breakdown strong>small{font-size:8px;color:#8b95a4;font-weight:600}.payment-totals b{font-size:10px;color:#344052}.payment-entry-breakdown strong{font-size:11px}.payment-entry-breakdown>.loan-deduction{display:block;margin-top:4px;color:#b66b17;font-size:8px}.financial-limit{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid #cfe5da;border-radius:9px;background:#f1faf6;color:#39745f}.financial-limit>span{font-weight:900}.financial-limit p{margin:0;font-size:9px;line-height:1.5}.payment-modal label>small{color:#8a95a4;font-size:8px;font-weight:500}.payment-warning{padding:9px 10px;border:1px solid #efccd2;border-radius:8px;background:#fff1f3;color:#b74054;font-size:9px;font-weight:700}.employee-financial-conflict{color:#b86a12!important;font-weight:800!important}.alerts-list .conflict>i{background:#fff0d9;color:#c97817}.finance-details{grid-template-columns:repeat(4,1fr)}.red-dot{background:#df8a24}@media(max-width:900px){.payment-totals{flex-direction:column;gap:3px}.finance-details{grid-template-columns:1fr 1fr}}

/* Czytelna typografia standardowa: najmniejsze teksty 7 px -> 9 px, powiązane 8 px -> 10 px. */
.day-head i,.salary,.shift em,.weekly-row span:first-child small,.weekly-header,.payments-list small,.audit-note,.choice-card span small,.export-employees .person-avatar,.export-employees small,.loan-card-head small,.loan-status,.loan-numbers small,.request-category,.request-person .person-avatar,.request-person small,.request-details small,.request-actions>small,.history-header,.history-type small,.history-status,.today-timeline small,.today-status,.today-card>footer,.alerts-list small,.finance-hero span,.finance-details small,.dashboard-requests small,.quick-actions button small,.settings-layout>aside small,.font-presets small,.font-presets em,.sms-login-status small,.sms-login-status em,.account-popover>header small,.account-section-title small,.locked-phone b,.account-section>p,.employee-name>span small,.account-login-summary small,.account-login-summary em,.password-separator small,.manual-repayment-row small,.admin-request-note>small,.sms-provider-card small,.sms-provider-card em{font-size:9px}
.day-head small,.employee-cell em,.shift span,.legend,.context-menu .menu-label,.context-menu button small,.employee-table-row.table-header,.employee-modal label small,.template-creator-title small,.template-form label,.template-row label,.templates-list-head span,.calendar-scroll-control,.ledger-controls label,.ledger-rate span,.ledger-rate small,.ledger-summary small,.ledger-summary span,.ledger-section>header small,.empty-payments p,.payment-person small,.step-content>small,.export-employees b,.loans-section>header small,.loans-section>header span,.empty-loans p,.loan-info,.loan-payment-box small,.request-overview small,.request-categories button,.request-toolbar>span,.request-person b,.request-main>p,.request-details b,.request-actions button,.request-status,.empty-requests p,.employee-request-history>header small,.employee-request-history>header>span,.request-history-row,.history-type b,.history-pagination>span,.history-pagination button,.empty-history p,.dashboard-card>header small,.dashboard-card>header button,.today-timeline .person-avatar,.today-timeline time,.all-good,.dashboard-empty,.finance-hero small,.quick-actions>header small,.clock-picker>header small,.clock-period button,.clock-hint,.setting-section>header small,.font-preview small,.font-preview button,.font-preview p,.settings-actions>span,.sms-login-status>span,.account-user small,.account-section label,.account-message,.employee-account-btn,.context-menu .time-confirmed small,.loan-card-actions>span,.manual-repayments>strong,.admin-account-badge,.admin-profile-summary small,.admin-profile-summary em,.settings-form-grid label>small,.password-settings-head small,.request-reason>small,.admin-request-note>span,.request-note-summary small,.request-note-reason small,.request-note-modal label>small,.sms-config-status,.sms-enable-row small,.sms-security-note>span,.sms-security-note p,.sms-config-grid label>small,.clear-token-option,.sms-code-help small,.sms-verify-secondary button,.today-card>footer b,.today-card>footer em,.payment-totals small,.payment-entry-breakdown strong>small,.payment-entry-breakdown>.loan-deduction,.payment-modal label>small{font-size:10px}
.day-head i,.salary,.shift em,.settings-layout>aside small,.font-presets small,.font-presets em,.today-card>footer{font-size:10px}
.weekly-row span:first-child small,.payments-list small,.audit-note,.loan-card-head small,.loan-numbers small,.request-person small,.request-details small,.alerts-list small,.dashboard-requests small,.quick-actions button small,.account-section>p,.manual-repayment-row small{line-height:1.45}
@media(max-width:700px){.payment-totals{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%;text-align:left}.request-history-row{font-size:10px}.account-popover{width:min(350px,calc(100vw - 24px));left:12px}.finance-details{gap:8px}}
@media(max-width:760px){.sms-config-grid{grid-template-columns:1fr}.sms-provider-card{align-items:flex-start;gap:8px}.sms-provider-card em{text-align:right}}

/* Niezależny zapis danych i zmiana hasła administratora. */
.admin-profile-section>.admin-password-settings{margin:0 17px 17px;padding:14px}.password-form-actions{margin-top:13px}.password-form-actions>span.saved{color:#278061;font-weight:700}.password-form-actions button:disabled{opacity:.65;cursor:wait}

/* Zwarte akcje pracownika: wszystkie operacje są widoczne bez przewijania na typowym ekranie. */
.employee-table-row{grid-template-columns:1.45fr .95fr .55fr .65fr .65fr .9fr 1.55fr;min-width:930px}.employee-row-actions .save-employee{width:32px;padding:0;font-size:13px}.delete-employee{padding-left:8px;padding-right:8px}
@media(max-width:560px){.employee-delete-modal footer{position:sticky;bottom:0;z-index:2;grid-template-columns:1fr 1.35fr;background:#fff}.employee-delete-modal footer button{min-width:0;padding-left:8px;padding-right:8px}}

/* Wspólne potwierdzenie dla wszystkich operacji usuwania. */
.delete-confirm-icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:#fff0f2;color:#c64156;font-size:18px;font-weight:900}.delete-confirm-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.delete-confirm-details>span{padding:10px 8px;border:1px solid #e5e8ee;border-radius:9px;background:#fff;text-align:center}.delete-confirm-details b,.delete-confirm-details small{display:block}.delete-confirm-details b{color:#334054;font:800 13px Manrope;overflow-wrap:anywhere}.delete-confirm-details small{margin-top:3px;color:#8a95a4;font-size:9px}.delete-confirm-modal footer{display:flex;justify-content:flex-end}@media(max-width:560px){.delete-confirm-modal footer{display:grid;grid-template-columns:1fr 1.35fr}.delete-confirm-details{grid-template-columns:1fr 1fr}}

/* Jednoznaczne stany dostępu pracowników: aktywne, zablokowane i bez konta. */
.employee-access-line{display:flex!important;align-items:center;gap:5px;margin-top:5px!important;flex-wrap:wrap}.account-state{font-style:normal;font-size:9px;font-weight:800;border-radius:7px;padding:3px 6px}.account-state.active{background:#e8f7f0;color:#287e61}.account-state.blocked{background:#fff0f2;color:#bd4458}.account-state.missing{background:#eef0f4;color:#7b8593}.employee-access-action{height:23px;border-radius:6px;padding:0 7px;font-size:9px;font-weight:800}.employee-access-action.lock{border:1px solid #edcfd5;background:#fff7f8;color:#b84659}.employee-access-action.unlock{border:1px solid #c9e5d9;background:#f0faf5;color:#267b5d}.employee-access-action.create{border:1px solid #d4dcf8;background:#f3f5ff;color:#4d61ca}.employee-table-row.account-blocked{background:#fafbfc}.employee-table-row.account-blocked>span:not(.employee-row-actions){opacity:.72}.employee-table-row.account-blocked .employee-access-line,.employee-table-row.account-blocked .employee-name{opacity:1}.account-login-summary em.blocked{background:#fff0f2;color:#ba4457}.account-login-summary em.missing{background:#eef0f4;color:#788290}.account-access-modal{width:min(540px,100%)}.account-access-summary{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:12px;border:1px solid #e3e7ee;border-radius:10px;background:#f8f9fc}.account-access-summary strong,.account-access-summary small{display:block}.account-access-summary strong{font-size:12px}.account-access-summary small{margin-top:3px;color:#7f8998;font-size:10px}.account-access-summary em{font-style:normal;font-size:9px;font-weight:800;border-radius:7px;padding:5px 8px}.account-access-summary em.active{background:#e8f7f0;color:#287e61}.account-access-summary em.blocked{background:#fff0f2;color:#bd4458}.account-access-info{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:12px;border-radius:9px}.account-access-info>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font-weight:900}.account-access-info strong{font-size:11px}.account-access-info p{margin:4px 0 0;font-size:10px;line-height:1.5}.account-access-info.lock{border:1px solid #efcbd2;background:#fff4f5;color:#a83a4c}.account-access-info.lock>span{background:#ffe0e5;color:#c44055}.account-access-info.unlock{border:1px solid #cce8db;background:#f1faf6;color:#2a7259}.account-access-info.unlock>span{background:#dff4ea;color:#27805f}
@media(max-width:560px){.account-access-modal footer{display:grid;grid-template-columns:1fr 1.25fr}.account-access-modal footer button{min-width:0}}

/* Okres grafiku zamknięty przez wypłatę. */
.day-cell.settlement-locked{background-color:#f7f8fa;background-image:repeating-linear-gradient(135deg,transparent 0,transparent 9px,#aab3c10a 9px,#aab3c10a 18px)}.day-cell.settlement-locked.off{background-color:#f4f5f7}.day-cell.settlement-locked .add-cell{display:none}.shift.settlement-locked-shift{cursor:not-allowed;filter:saturate(.5);opacity:.76;padding-right:29px}.settlement-lock-badge{position:absolute;z-index:3;right:5px;top:5px;width:21px;height:21px;display:grid;place-items:center;border:1px solid #d8dde5;border-radius:7px;background:#fff;color:#727d8d;font-size:10px;box-shadow:0 2px 7px #26324612;pointer-events:none}.settlement-locked-menu{width:290px}.settlement-lock-info{display:grid;grid-template-columns:31px 1fr;gap:9px;margin:7px;padding:11px;border:1px solid #d9dee7;border-left:4px solid #7b8799;border-radius:9px;background:#f5f6f8;color:#536071}.settlement-lock-info>span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#e7eaf0;font-size:12px}.settlement-lock-info strong{font-size:10px}.settlement-lock-info p{margin:4px 0 0;font-size:9px;line-height:1.5;color:#707b8b}.settlement-cutoff-banner{display:grid;grid-template-columns:36px 1fr;gap:11px;align-items:start;padding:13px 15px;border:1px solid #d7dde7;border-left:4px solid #69778c;border-radius:11px;background:#f6f7f9;color:#465365}.settlement-cutoff-banner>span{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#e6e9ef;font-size:14px}.settlement-cutoff-banner strong{font-size:11px}.settlement-cutoff-banner p{margin:4px 0 0;font-size:9px;line-height:1.55;color:#748092}
@media(max-width:650px){.settlement-cutoff-banner{grid-template-columns:30px 1fr;padding:11px}.settlement-cutoff-banner>span{width:29px;height:29px}.settlement-locked-menu{width:min(290px,calc(100vw - 16px))}}
.settlement-delete-protection{display:grid;grid-template-columns:34px 1fr;gap:11px;padding:12px;border:1px solid #d7dde7;border-left:4px solid #69778c;border-radius:10px;background:#f6f7f9;color:#465365}.settlement-delete-protection>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#e6e9ef;font-size:13px}.settlement-delete-protection strong{font-size:10px}.settlement-delete-protection p{margin:4px 0 0;font-size:9px;line-height:1.55;color:#707c8e}.protected-employee-modal footer{display:flex;justify-content:flex-end}
@media(max-width:560px){.protected-employee-modal footer{display:grid;grid-template-columns:1fr 1.3fr}.protected-employee-modal footer button{min-width:0}}

/* Jednoznaczna akcja usuwania wniosku. */
.request-more{width:30px;height:30px;padding:0!important;display:grid;place-items:center;border:1px solid #edcfd4!important;background:#fff7f8!important;color:#bd4659!important}.request-more:hover{border-color:#e4adb7!important;background:#fff0f2!important;color:#a93448!important}.request-more svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

/* Dynamiczna marka Graffik: pełnowymiarowa nazwa firmy i autorski monogram G. */
.brand{gap:12px;padding-left:6px;padding-right:4px;white-space:nowrap}.brand-word{display:flex;align-items:baseline;min-width:0;line-height:1}.brand-company{display:inline-block;max-width:78px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;margin-left:2px;color:#aeb9d0;font:800 22px/1 Manrope;letter-spacing:-.45px}.login-logo strong{display:flex;align-items:baseline;white-space:nowrap}.login-logo em,.login-brand-company{margin-left:2px;color:#bdc7da;font:800 23px/1 Manrope;font-style:normal;letter-spacing:-.45px}
.brand-mark,.login-logo>span.brand-mark-login,.login-mobile-mark{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:linear-gradient(145deg,#8998ff 0%,#5d70f4 42%,#354ccf 100%);border:1px solid #b7c1ff55;box-shadow:0 9px 22px #3148d64d,inset 0 1px 0 #ffffff80,inset 0 -10px 18px #2037b54a;transform:translateZ(0)}.brand-mark{width:38px;height:38px;flex:0 0 38px;border-radius:12px}.login-logo>span.brand-mark-login{width:42px;height:42px;flex:0 0 42px;border-radius:13px}.brand-mark::before,.login-mobile-mark::before{content:"";position:absolute;z-index:0;width:74%;height:160%;left:-14%;top:-92%;border-radius:50%;background:linear-gradient(115deg,#ffffffb8 0%,#ffffff30 43%,transparent 70%);transform:rotate(24deg)}.brand-mark::after,.login-mobile-mark::after{content:"";position:absolute;z-index:1;inset:3px;border:1px solid #ffffff30;border-radius:9px;box-shadow:inset 0 0 12px #ffffff10}.brand-mark i,.login-mobile-mark i{position:relative;z-index:2;color:#fff;font:800 21px/1 Manrope;font-style:normal;letter-spacing:-1.7px;text-shadow:0 2px 7px #13257b66;transform:translateX(-1px)}.brand-mark i::after,.login-mobile-mark i::after{content:"";position:absolute;width:6px;height:2px;right:-5px;top:10px;border-radius:3px;background:#dce2ff;box-shadow:0 0 7px #fff}.login-logo>span.brand-mark-login i{font-size:23px}.sidebar>.brand:hover .brand-mark{box-shadow:0 11px 27px #3148d66b,inset 0 1px 0 #ffffff80,inset 0 -10px 18px #2037b54a;transform:translateY(-1px);transition:transform .18s ease,box-shadow .18s ease}

/* Ustawienia marki firmy. */
.brand-config-status{font-size:9px;font-weight:800;letter-spacing:.8px;color:#287e61;background:#e8f7f0;border-radius:7px;padding:7px 9px}.brand-settings-body{padding:17px}.brand-settings-preview{min-height:120px;padding:22px;border-radius:13px;background:radial-gradient(circle at 82% 20%,#5b70ea33 0,transparent 34%),linear-gradient(145deg,#111a2d,#1b2945);display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 1px 0 #ffffff12}.brand-settings-preview .brand{padding:0;color:#fff;margin:0}.brand-settings-preview .brand-company{max-width:240px}.brand-settings-preview p{margin:13px 0 0 50px;color:#aeb8cb;font-size:10px}.brand-settings-body>form{margin-top:15px}.brand-settings-body>form>label{display:grid;gap:7px;color:#526073;font-size:10px;font-weight:800}.brand-settings-body>form>label>small{color:#8c97a7;font-size:10px;font-weight:500}.brand-name-field{height:44px;display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid #dfe4eb;border-radius:9px;background:#fff;overflow:hidden}.brand-name-field:focus-within{border-color:#6578e2;box-shadow:0 0 0 3px #6578e218}.brand-name-field>span{height:100%;display:flex;align-items:center;padding:0 2px 0 12px;color:#293548;font:800 14px Manrope;background:#f7f8fb}.brand-name-field input{height:100%;min-width:0;border:0;outline:0;padding:0 12px 0 2px;color:#4055ca;font:800 14px Manrope;background:#fff}.brand-name-meta{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:#8b95a4;font-size:10px}.brand-name-meta b{color:#667386}.brand-settings-actions{margin-top:15px}.brand-settings-actions button:disabled{opacity:.6;cursor:wait}
@media(max-width:640px){.brand-settings-preview{padding:18px 14px}.brand-settings-preview p{margin-left:0}.brand-settings-preview .brand-company{max-width:130px}.brand-name-field>span,.brand-name-field input{font-size:12px}.brand-settings-actions{align-items:stretch}.brand-settings-actions button{width:100%}}

/* Kontrola zatwierdzonych godzin przed wypłatą. */
.payment-approval-required{background:#c55537!important;border-color:#c55537!important;box-shadow:0 6px 16px #b54a3024}.payment-approval-banner{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:11px;padding:12px 14px;border:1px solid #f0c9b8;border-left:4px solid #d46b43;border-radius:11px;background:#fff7f2;color:#7e3d27}.payment-approval-banner>span,.payment-approval-alert>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#ffe4d6;color:#bd4f2f;font-weight:900}.payment-approval-banner strong{font-size:11px}.payment-approval-banner p{margin:4px 0 0;color:#93624f;font-size:9px;line-height:1.5}.payment-approval-banner button{height:31px;padding:0 10px;border:1px solid #e7b8a3;border-radius:8px;background:#fff;color:#a5492d;font-size:9px;font-weight:800}.payment-approval-banner button:hover{background:#fff0e8}.payment-approval-blocked-modal{width:min(610px,100%)}.payment-approval-alert{display:grid;grid-template-columns:36px 1fr;gap:11px;padding:13px;border:1px solid #efc3b0;border-left:4px solid #d4623c;border-radius:10px;background:#fff5ef;color:#7b3924}.payment-approval-alert strong{font-size:11px}.payment-approval-alert p{margin:4px 0 0;font-size:10px;line-height:1.55;color:#935b47}.payment-approval-list{border:1px solid #e2e6ed;border-radius:10px;overflow:hidden}.payment-approval-list>header{min-height:42px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;background:#f8f9fb;border-bottom:1px solid #e5e8ee}.payment-approval-list>header strong{font-size:10px}.payment-approval-list>header small{min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:7px;background:#ffe7dc;color:#b94d2e;font-size:9px;font-weight:900}.payment-approval-list article{display:grid;grid-template-columns:29px 1fr;gap:9px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf0f4}.payment-approval-list article:last-of-type{border-bottom:0}.payment-approval-list article>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#fff0e9;color:#c15838;font-size:11px}.payment-approval-list article strong,.payment-approval-list article small{display:block}.payment-approval-list article strong{font-size:10px;color:#3e4a5c}.payment-approval-list article small{margin-top:3px;color:#7f8998;font-size:9px}.payment-approval-more{margin:0;padding:8px 12px;background:#fafbfc;color:#7c8796;font-size:9px;text-align:center}.payment-approval-rule{display:grid;grid-template-columns:29px 1fr;gap:9px;align-items:center;padding:10px 12px;border-radius:9px;background:#f3f5f8;color:#667285}.payment-approval-rule>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#e5e9ef;font-size:11px}.payment-approval-rule p{margin:0;font-size:9px;line-height:1.55}.payment-approval-check{display:grid;grid-template-columns:31px 1fr;gap:9px;padding:10px 11px;border-radius:9px}.payment-approval-check>span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;font-weight:900}.payment-approval-check strong{font-size:10px}.payment-approval-check p{margin:3px 0 0;font-size:9px;line-height:1.45}.payment-approval-check.ready{border:1px solid #cce8da;background:#f0faf5;color:#2c755a}.payment-approval-check.ready>span{background:#daf2e6;color:#25805f}.payment-approval-check.blocked{border:1px solid #efc3b0;background:#fff5ef;color:#863f28}.payment-approval-check.blocked>span{background:#ffe0d2;color:#bd4d2b}
@media(max-width:620px){.payment-approval-banner{grid-template-columns:31px 1fr}.payment-approval-banner>span{width:29px;height:29px}.payment-approval-banner button{grid-column:1/-1;width:100%}.payment-approval-blocked-modal footer{display:grid;grid-template-columns:1fr 1.4fr}.payment-approval-list article small{line-height:1.45}}

/* Wybór strony startowej administratora. */
.start-view-badge{padding:6px 9px;border-radius:7px;background:#eef1ff;color:#5063cf;font-size:9px;font-weight:900;letter-spacing:.8px}.start-view-section>form{padding:17px}.start-view-current{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:14px;border-radius:11px;background:linear-gradient(135deg,#18233a,#26395f);color:#fff}.start-view-current>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#ffffff16;border:1px solid #ffffff20;color:#dfe4ff;font-size:18px}.start-view-current small,.start-view-current strong,.start-view-current p{display:block}.start-view-current small{color:#9eabd0;font-size:8px;font-weight:800;letter-spacing:1px}.start-view-current strong{margin-top:3px;font:800 16px Manrope}.start-view-current p{margin:3px 0 0;color:#b7c1d7;font-size:9px}.start-view-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.start-view-options label{position:relative;min-height:66px;padding:11px;display:grid;grid-template-columns:34px 1fr 18px;align-items:center;gap:9px;border:1px solid #e1e5ec;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.start-view-options label:hover{border-color:#cbd3f4;background:#fafbff}.start-view-options input{position:absolute;opacity:0;pointer-events:none}.start-view-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:9px;background:#f0f2f7;color:#657184;font-size:14px;font-weight:800}.start-view-options b,.start-view-options small{display:block}.start-view-options b{color:#344054;font-size:11px}.start-view-options small{margin-top:3px;color:#8791a0;font-size:9px;line-height:1.35}.start-view-options i{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#e7ebf1;color:transparent;font-size:9px;font-style:normal}.start-view-options label:has(input:checked){border-color:#7788e7;background:#f4f6ff;box-shadow:0 0 0 3px #687ce414}.start-view-options label:has(input:checked) .start-view-icon{background:#e3e7ff;color:#4c60ce}.start-view-options label:has(input:checked) i{background:#5367dc;color:#fff}.start-view-note{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;margin-top:13px;padding:10px 11px;border-radius:9px;background:#f4f6f9;color:#687486}.start-view-note>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#e4e8ef;color:#596679;font-weight:900}.start-view-note p{margin:0;font-size:9px;line-height:1.5}.start-view-actions{margin-top:15px}
@media(max-width:650px){.start-view-options{grid-template-columns:1fr}.start-view-section>form{padding:13px}.start-view-actions{align-items:stretch}.start-view-actions button{width:100%}}

/* Bezpośrednie przejście z pracownika w grafiku do jego ewidencji. */
.employee-cell{position:relative}.employee-cell-heading{display:block;margin-bottom:6px}.employee-cell-heading>span{min-width:0}.employee-cell-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-cell-heading small{margin-bottom:0}.employee-ledger-link{position:absolute;left:38px;top:39px;width:19px;height:19px;padding:0;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#596ddb;color:#fff;font-size:0;font-weight:800;box-shadow:0 2px 7px #3348ae35;white-space:nowrap}.employee-ledger-link>span{font-size:9px;line-height:1}.employee-ledger-link:hover{border-color:#fff;background:#4056cc;color:#fff;transform:scale(1.08)}.employee-ledger-link:focus-visible{outline:2px solid #7183e6;outline-offset:2px}.employee-cell>.person-avatar{margin-top:1px}.compact .employee-ledger-link{width:18px;height:18px;padding:0;font-size:0}.compact .employee-ledger-link>span{font-size:9px}

/* Systemowe powiadomienia SMS o zmianie grafiku. */
.schedule-sms-all{border-color:#cce5dc;background:#f3fbf8;color:#26775f}.schedule-sms-all:hover{border-color:#9fd2c0;background:#eaf8f3;color:#1f684f}.schedule-sms-all.sending{cursor:wait;opacity:.72}.employee-sms-link{position:absolute;left:38px;top:14px;width:19px;height:19px;padding:0;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#31a37c;color:#fff;font-size:9px;line-height:1;box-shadow:0 2px 7px #1d76572e;transition:transform .15s ease,background .15s ease}.employee-sms-link:hover:not(:disabled){background:#218a66;transform:scale(1.08)}.employee-sms-link.unavailable{background:#aab2bf;color:#fff;box-shadow:none;cursor:not-allowed;opacity:.78}.employee-sms-link.sending{background:#6472a5;cursor:wait}.employee-sms-link:focus-visible{outline:2px solid #42aa84;outline-offset:2px}.compact .employee-sms-link{width:18px;height:18px;font-size:8px}
@media(max-width:650px){.head-actions #scheduleSmsAllBtn{display:inline-grid;width:40px;min-width:40px;flex:0 0 40px;padding:0;place-items:center;font-size:0}.head-actions #scheduleSmsAllBtn::before{content:"✉";font-size:14px}.schedule-grid .employee-sms-link{display:none}}

/* Mobilny pasek nawigacji i zwarta kolumna pracownika w grafiku. */
@media(max-width:650px){
 .sidebar{height:calc(68px + env(safe-area-inset-bottom));padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #26334d;box-shadow:0 -8px 24px #11182724}
 .sidebar nav{width:100%;height:54px;display:grid;gap:3px;justify-content:stretch;align-items:center}
 .role-admin .sidebar nav{grid-template-columns:repeat(7,minmax(0,1fr))}
 .role-employee .sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sidebar .nav-item,.sidebar .nav-item:nth-child(n+5){position:relative;display:flex;width:100%;min-width:0;height:50px;padding:0;justify-content:center;border-radius:12px}
 .sidebar .nav-item>span{width:auto;font-size:18px;line-height:1}
 .sidebar .nav-item.active{background:#2b3c61;box-shadow:inset 0 3px #7185ff}
 .sidebar .nav-item b{position:absolute;right:3px;top:3px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border:2px solid var(--navy);font-size:8px;line-height:1}
 .content{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .schedule-grid .employee-head{height:58px;padding:0;display:grid;place-items:center;font-size:0}
 .schedule-grid .employee-head::before{content:"OS.";font-size:8px;letter-spacing:.6px;color:#7b8493}
 .schedule-grid .employee-head>span{display:none}
 .schedule-grid .employee-cell{min-height:99px;padding:0;display:grid;place-items:center;cursor:pointer}
 .schedule-grid .employee-cell>div{display:none}
 .schedule-grid .employee-cell>.person-avatar{width:38px;height:38px;margin:0;border:1px solid #dfe4ff;background:#edf0ff;color:#4e62ca;font-size:10px;box-shadow:0 3px 10px #3348ae12;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
 .schedule-grid .employee-cell:active>.person-avatar{transform:scale(.94);background:#e1e6ff;box-shadow:none}
 .compact .schedule-grid .employee-cell,.compact .schedule-grid .day-cell{min-height:76px}
 .compact .schedule-grid .employee-cell>.person-avatar{width:34px;height:34px}
}

/* Generator i bezpieczne przekazywanie nowych haseł */
.password-assistant{margin:14px 0;padding:14px;border:1px solid #dbe3f3;border-radius:14px;background:linear-gradient(145deg,#f8faff,#fff);display:grid;gap:12px}
.password-assistant-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px}
.password-assistant-head>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#e9edff;color:#4e61ef;font-size:17px;font-weight:800}
.password-assistant-head>div{min-width:0;display:grid;gap:2px}
.password-assistant-head strong{font-size:12px;color:#15223b}
.password-assistant-head small{font-size:10px;line-height:1.35;color:#7d8aa3}
.password-assistant-head button,.password-assistant-utilities button{min-height:34px;border:1px solid #cfd8eb;border-radius:9px;background:#fff;color:#354568;font-size:10px;font-weight:800;padding:0 12px;cursor:pointer}
.password-assistant-head button{border-color:#aebaff;color:#4055e8;background:#f4f6ff}
.password-assistant-head button:hover,.password-assistant-utilities button:hover{border-color:#7182f4;background:#eef1ff}
.password-assistant-utilities{display:flex;gap:8px;flex-wrap:wrap}
.password-delivery{margin:0;padding:0;border:0;min-width:0}
.password-delivery legend{padding:0 0 7px;font-size:10px;font-weight:800;color:#53627d}
.password-delivery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.password-delivery legend{grid-column:1/-1}
.password-delivery label{position:relative;min-width:0;min-height:56px;border:1px solid #dce3ef;border-radius:11px;background:#fff;padding:9px;display:grid;grid-template-columns:30px minmax(0,1fr) 16px;align-items:center;gap:8px;cursor:pointer;transition:.15s ease}
.password-delivery label:hover{border-color:#aab6dc}
.password-delivery label.active{border-color:#6879ef;background:#f1f3ff;box-shadow:0 0 0 2px rgba(88,105,235,.09)}
.password-delivery label.disabled{opacity:.52;cursor:not-allowed;background:#f5f6f8}
.password-delivery label>input{position:absolute;opacity:0;pointer-events:none}
.account-section .password-delivery label>input{left:0;top:0;width:1px!important;height:1px!important;margin:0;padding:0;border:0}
.password-delivery label>span{height:30px;min-width:30px;padding:0 5px;border-radius:9px;display:grid;place-items:center;background:#eef1f8;color:#64728c;font-size:9px;font-weight:900}
.password-delivery label.active>span{background:#dfe4ff;color:#4055e8}
.password-delivery label>div{min-width:0;display:grid;gap:2px}
.password-delivery label strong{font-size:10px;color:#1c2942;white-space:nowrap}
.password-delivery label small{font-size:9px;line-height:1.3;color:#8490a6;overflow-wrap:anywhere}
.password-delivery label>i{font-style:normal;color:#4d62ed;font-size:12px;font-weight:900;text-align:center}
.password-delivery-note{margin:0;padding:9px 10px;border-radius:10px;background:#eef6ff;color:#5d6f8c;font-size:9px;line-height:1.45;display:flex;gap:8px;align-items:flex-start}
.password-delivery-note>span{width:18px;height:18px;flex:0 0 18px;border-radius:50%;display:grid;place-items:center;background:#dce9ff;color:#4262d8;font-weight:900}
@media(max-width:650px){.password-assistant{padding:12px}.password-assistant-head{grid-template-columns:34px minmax(0,1fr)}.password-assistant-head>button{grid-column:1/-1;width:100%}.password-assistant-utilities{display:grid;grid-template-columns:1fr 1fr}.password-delivery{grid-template-columns:1fr}.password-delivery legend{grid-column:1}.password-delivery label{min-height:54px}.password-assistant-head strong{font-size:13px}.password-assistant-head small,.password-delivery label strong{font-size:11px}.password-delivery label small,.password-delivery-note{font-size:10px}}

/* Moje konto: formularz i generator reagują na szerokość panelu, a nie całego ekranu. */
.account-popover{width:420px;overflow-x:hidden}
body.account-popover-open .sidebar{z-index:170}
body.account-popover-open .account-popover{z-index:171;isolation:isolate}
.account-popover>header{padding:17px 18px 14px}
.account-popover>header small{font-size:9px}
.account-popover>header strong{font-size:18px}
.account-user{padding:14px 18px}
.account-user strong{font-size:12px}
.account-user small{font-size:10px}
.account-section{padding:16px 18px;gap:12px}
.account-section-title{gap:10px}
.account-section-title>span{width:34px;height:34px;border-radius:10px;font-size:14px;flex:0 0 34px}
.account-section-title strong{font-size:12px}
.account-section-title small{font-size:10px;line-height:1.35}
.account-section label{gap:6px;font-size:10px}
.account-section input{height:42px;font-size:12px}
.account-primary,.account-secondary{height:40px;font-size:11px}
.account-section>p{font-size:10px}
.account-message{font-size:10px;line-height:1.45}
.password-assistant{container-type:inline-size;max-width:100%;overflow:hidden}
.password-assistant-head>*{min-width:0}
.password-delivery label strong{white-space:normal;overflow-wrap:normal}
@container (max-width:520px){
 .password-assistant{padding:14px;gap:13px;border-radius:13px}
 .password-assistant-head{grid-template-columns:40px minmax(0,1fr);gap:11px}
 .password-assistant-head>span{width:40px;height:40px;border-radius:11px;font-size:18px}
 .password-assistant-head strong{font-size:13px;line-height:1.25}
 .password-assistant-head small{font-size:10px;line-height:1.4}
 .password-assistant-head>button{grid-column:1/-1;width:100%;min-height:40px;font-size:11px}
 .password-assistant-utilities{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .password-assistant-utilities button{width:100%;min-height:40px;font-size:11px}
 .password-delivery{grid-template-columns:1fr;gap:8px}
 .password-delivery legend{grid-column:1;padding-bottom:1px;font-size:10px}
 .password-delivery label{min-height:62px;padding:10px 11px;grid-template-columns:36px minmax(0,1fr) 20px;gap:10px}
 .password-delivery label>span{height:36px;min-width:36px;border-radius:10px;font-size:10px}
 .password-delivery label strong{font-size:11px;line-height:1.3}
 .password-delivery label small{font-size:10px;line-height:1.4;overflow-wrap:normal}
 .password-delivery label>i{font-size:14px}
 .password-delivery-note{padding:10px 11px;font-size:10px;line-height:1.5}
}
@media(max-width:650px){
 .account-popover{left:10px;right:10px;bottom:74px;width:auto;max-height:calc(100dvh - 92px);border-radius:16px}
 .account-popover>header{padding:15px 16px 13px}
 .account-user{padding:13px 16px}
 .account-section{padding:15px 16px}
 .account-logout{padding:12px 16px calc(14px + env(safe-area-inset-bottom))}
}

/* Podpisana nawigacja mobilna oraz rozwijane menu zalogowanego konta. */
.mobile-account-nav{display:none}
.mobile-menu-backdrop{position:fixed;inset:0;z-index:180;display:flex;align-items:flex-end;justify-content:center;padding:20px 0 0;background:#1018279c;backdrop-filter:blur(3px);animation:mobileMenuFade .16s ease-out}
.mobile-account-sheet{width:min(100%,560px);max-height:min(82vh,720px);overflow:auto;overscroll-behavior:contain;padding:8px 14px calc(16px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#fff;box-shadow:0 -20px 60px #0b12244d;animation:mobileSheetUp .22s cubic-bezier(.2,.8,.2,1)}
.mobile-sheet-handle{width:42px;height:4px;margin:1px auto 12px;border-radius:99px;background:#d8dde7}
.mobile-account-sheet>header{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;align-items:center;gap:11px;padding:4px 2px 15px;border-bottom:1px solid #e9ecf1}
.mobile-account-sheet>header>.avatar{width:42px;height:42px;background:linear-gradient(145deg,#e5e9ff,#cfd7ff);color:#344abd;font-size:11px;box-shadow:inset 0 0 0 1px #bfc9ff70}
.mobile-account-sheet>header small,.mobile-account-sheet>header strong,.mobile-account-sheet>header p{display:block}
.mobile-account-sheet>header small{color:#7b86a1;font-size:8px;font-weight:800;letter-spacing:.9px}
.mobile-account-sheet>header strong{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#202b3d;font:800 14px Manrope}
.mobile-account-sheet>header p{margin:2px 0 0;color:#8490a2;font-size:9px}
.mobile-account-sheet>header>button{width:34px;height:34px;border:1px solid #e1e5ec;border-radius:10px;background:#f8f9fb;color:#657184;font-size:20px;line-height:1}
.mobile-menu-section-title{margin:15px 4px 7px;color:#8a94a5;font-size:8px;font-weight:900;letter-spacing:1px}
.mobile-menu-links,.mobile-menu-account-actions{display:grid;gap:7px}
.mobile-menu-links>button,.mobile-menu-account-actions>button{width:100%;min-height:58px;display:grid;grid-template-columns:36px minmax(0,1fr) 14px;align-items:center;gap:10px;padding:9px 11px;border:1px solid #e4e8ef;border-radius:12px;background:#fff;color:#344054;text-align:left}
.mobile-menu-links>button:active,.mobile-menu-account-actions>button:active{border-color:#bbc6f5;background:#f4f6ff;transform:scale(.99)}
.mobile-menu-links>button>span,.mobile-menu-account-actions>button>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#eef1ff;color:#4e62d2;font-size:14px;font-weight:900}
.mobile-menu-links strong,.mobile-menu-links small,.mobile-menu-account-actions strong,.mobile-menu-account-actions small{display:block}
.mobile-menu-links strong,.mobile-menu-account-actions strong{color:#354154;font-size:10px}
.mobile-menu-links small,.mobile-menu-account-actions small{margin-top:3px;color:#8893a3;font-size:9px;line-height:1.35}
.mobile-menu-links>button>b,.mobile-menu-account-actions>button>b{color:#a0a9b7;font-size:18px;font-weight:500;text-align:right}
.mobile-menu-account-actions .mobile-menu-logout{grid-template-columns:36px minmax(0,1fr);border-color:#f0d7dc;background:#fffafb}
.mobile-menu-account-actions .mobile-menu-logout>span{background:#fff0f2;color:#bd4659}
.mobile-menu-account-actions .mobile-menu-logout strong{color:#b23e52}
.mobile-menu-open{overflow:hidden}
@keyframes mobileMenuFade{from{opacity:0}to{opacity:1}}
@keyframes mobileSheetUp{from{opacity:.6;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:650px){
 .sidebar{height:calc(78px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) 58px;align-items:center;gap:3px;padding:6px max(7px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))}
 .sidebar nav{height:64px;gap:2px}
 .role-admin .sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}
 .role-employee .sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .role-admin .sidebar .nav-item[data-view="Szablony zmian"],.role-admin .sidebar .nav-item[data-view="Logi"],.role-admin .sidebar .nav-item[data-view="Ustawienia"]{display:none!important}
 .sidebar .nav-item,.sidebar .nav-item:nth-child(n+5){height:62px;flex-direction:column;gap:4px;padding:5px 1px 4px;justify-content:center;border-radius:13px}
 .sidebar .nav-item>span{font-size:17px;line-height:1}
 .sidebar .nav-item::after{content:attr(data-mobile-label);display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#aeb8ca;font-size:8px;line-height:1.15;font-weight:700;white-space:nowrap}
 .sidebar .nav-item.active{box-shadow:inset 0 3px #7185ff,0 3px 10px #08102030}
 .sidebar .nav-item.active::after{color:#fff}
 .sidebar .nav-item b{right:2px;top:2px;min-width:15px;height:15px;padding:0 3px;font-size:8px}
 .mobile-account-nav{width:58px;height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 1px;border:0;border-left:1px solid #2b3952;border-radius:13px;background:transparent;color:#aeb8ca}
 .mobile-account-nav .avatar{width:27px;height:27px;background:linear-gradient(145deg,#e2e6ff,#c8d0ff);color:#3147b6;font-size:8px;box-shadow:0 3px 9px #0a122638}
 .mobile-account-nav small{font-size:8px;line-height:1.15;font-weight:700}
 .mobile-account-nav.active{background:#2b3c61;color:#fff;box-shadow:inset 0 3px #7185ff,0 3px 10px #08102030}
 .content{padding-bottom:calc(102px + env(safe-area-inset-bottom))}
}

@media(max-width:370px){
 .sidebar{grid-template-columns:minmax(0,1fr) 52px;padding-left:4px;padding-right:4px}
 .mobile-account-nav{width:52px}
 .sidebar .nav-item::after,.mobile-account-nav small{font-size:7px}
}

/* Moduł administracyjny: historia logowań i działań użytkowników. */
.audit-panel{display:grid;gap:14px}.audit-head{display:flex;align-items:flex-end;justify-content:space-between}.audit-head h1{margin:0;font:800 29px Manrope}.audit-head p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:12px}.audit-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.audit-summary article{min-width:0;display:flex;align-items:center;gap:11px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}.audit-summary article>span{width:37px;height:37px;flex:0 0 37px;display:grid;place-items:center;border-radius:10px;font-weight:900}.audit-summary .all{background:#eef1ff;color:#5064d8}.audit-summary .today{background:#eaf8f2;color:#288b69}.audit-summary .failed{background:#fff0f2;color:#c64a5c}.audit-summary .actors{background:#f4eefe;color:#8a57c8}.audit-summary small,.audit-summary strong{display:block}.audit-summary small{color:#8390a1;font-size:9px}.audit-summary strong{margin-top:3px;font:800 19px Manrope}.audit-filters{display:grid;grid-template-columns:1.25fr 1fr 1fr .78fr .78fr 1.45fr auto auto;align-items:end;gap:8px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px}.audit-filters label{min-width:0;display:grid;gap:5px;color:#7d899a;font-size:9px;font-weight:800}.audit-filters input,.audit-filters select{width:100%;height:36px;min-width:0;padding:0 9px;border:1px solid #dfe4eb;border-radius:8px;background:#fff;color:#3d495b;font-size:10px}.audit-filters button{height:36px;padding:0 12px}.audit-table-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px}.audit-table-card>header{min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:10px 15px;border-bottom:1px solid var(--line)}.audit-table-card>header strong,.audit-table-card>header small{display:block}.audit-table-card>header strong{font-size:11px}.audit-table-card>header small,.audit-table-card>header>span{margin-top:3px;color:#8a95a4;font-size:9px}.audit-table{overflow-x:auto}.audit-row{min-width:1040px;display:grid;grid-template-columns:145px 1.05fr 1.35fr 1.1fr 95px 30px;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #edf0f4}.audit-row:last-child{border-bottom:0}.audit-table-head{min-height:38px;padding-top:8px;padding-bottom:8px;background:#fafbfc;color:#8b96a5;font-size:8px;font-weight:900;text-transform:uppercase}.audit-row time{color:#667285;font-size:9px}.audit-person,.audit-event{min-width:0;display:flex;align-items:center;gap:8px}.audit-person>i{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;background:#edf0ff;color:#5265cb;font-size:8px;font-style:normal;font-weight:900}.audit-person b,.audit-person small,.audit-event b,.audit-event small,.audit-target b,.audit-target small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-person b,.audit-event b,.audit-target b{color:#3d495b;font-size:9px}.audit-person small,.audit-event small,.audit-target small{margin-top:3px;color:#8994a4;font-size:8px}.audit-event-icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;background:#eef1ff;color:#5265d4;font-size:12px;font-style:normal;font-weight:900}.audit-event-icon.authentication{background:#eaf8f2;color:#258765}.audit-event-icon.account{background:#f4eefe;color:#8656c4}.audit-event-icon.finance{background:#fff2e4;color:#bd7627}.audit-event-icon.communication{background:#eaf6ff;color:#3473a9}.audit-event-icon.settings,.audit-event-icon.system{background:#f0f2f5;color:#687486}.audit-status{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:5px 7px;border-radius:10px;font-size:8px;font-style:normal;font-weight:900}.audit-status.success{background:#e9f8f1;color:#268361}.audit-status.failed,.audit-status.blocked{background:#fff0f2;color:#bd4659}.audit-status.pending{background:#fff3df;color:#c77b1c}.audit-status.info{background:#eef1ff;color:#5063ce}.audit-details-btn{width:29px;height:29px;border:1px solid #dfe4ec;border-radius:8px;background:#fff;color:#718095;font-size:18px}.audit-details-btn:hover{border-color:#aebbf0;background:#f4f6ff;color:#4d62d0}.audit-pagination{min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:#fafbfc;border-top:1px solid #edf0f4;color:#7e8999;font-size:9px}.audit-pagination>div{display:flex;gap:6px}.audit-pagination button{height:31px;padding:0 10px;border:1px solid #dfe3ea;border-radius:7px;background:#fff;color:#5f6c7e;font-size:9px;font-weight:700}.audit-pagination button:disabled{opacity:.45;cursor:default}.audit-retention-note{display:grid;grid-template-columns:27px 1fr;align-items:center;gap:9px;padding:10px 12px;border-radius:9px;background:#eef3f8;color:#687486}.audit-retention-note>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#dfe6ee;font-size:11px;font-weight:900}.audit-retention-note p{margin:0;font-size:9px;line-height:1.45}.audit-empty{padding:48px 20px;text-align:center;color:#8a95a4}.audit-empty>span{font-size:27px}.audit-empty strong{display:block;margin-top:7px;color:#566274;font-size:11px}.audit-empty p{margin:4px 0 0;font-size:9px}.audit-loading{min-height:340px;display:grid;place-content:center;justify-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;color:#718095}.audit-loading>span{width:32px;height:32px;border:3px solid #e1e5ef;border-top-color:#5267dc;border-radius:50%;animation:auditSpin .7s linear infinite}.audit-loading strong{font-size:10px}.audit-error{min-height:300px;display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;border:1px solid #efd5da;border-radius:12px;color:#a64152}.audit-error>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#fff0f2;font-weight:900}.audit-error strong{font-size:12px}.audit-error p{margin:4px 0 10px;font-size:10px}.audit-details-modal{width:min(650px,100%)}.audit-detail-hero{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;padding:13px;border:1px solid #e3e7ee;border-radius:11px;background:#fafbfc}.audit-detail-hero>.audit-event-icon{width:40px;height:40px;font-size:16px}.audit-detail-hero small,.audit-detail-hero strong,.audit-detail-hero p{display:block}.audit-detail-hero small{color:#8390a1;font-size:8px}.audit-detail-hero strong{margin-top:3px;font-size:11px}.audit-detail-hero p{margin:3px 0 0;color:#7f8a9a;font-size:9px}.audit-detail-target{padding:11px;border-left:3px solid #6074df;border-radius:8px;background:#f2f4ff}.audit-detail-target small,.audit-detail-target strong{display:block}.audit-detail-target small{color:#7e89a3;font-size:8px}.audit-detail-target strong{margin-top:3px;color:#4054c2;font-size:10px}.audit-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.audit-detail-grid>span,.audit-metadata>span{padding:10px;border:1px solid #e5e8ee;border-radius:8px;background:#fff}.audit-detail-grid small,.audit-detail-grid b,.audit-metadata small,.audit-metadata b{display:block}.audit-detail-grid small,.audit-metadata small{color:#8b95a4;font-size:8px}.audit-detail-grid b,.audit-metadata b{margin-top:3px;overflow-wrap:anywhere;color:#4c586a;font-size:9px}.audit-metadata{display:grid;grid-template-columns:1fr 1fr;gap:8px}.audit-metadata>strong{grid-column:1/-1;font-size:10px}.audit-integrity-note{display:grid;grid-template-columns:29px 1fr;align-items:center;gap:9px;padding:10px;border-radius:9px;background:#eef7f3;color:#4e7465}.audit-integrity-note>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#dcefe6;font-size:11px}.audit-integrity-note p{margin:0;font-size:9px;line-height:1.45}@keyframes auditSpin{to{transform:rotate(360deg)}}
@media(max-width:1200px){.audit-filters{grid-template-columns:repeat(3,1fr)}.audit-filters .audit-search{grid-column:span 2}.audit-summary{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.audit-head{align-items:flex-start}.audit-head h1{font-size:25px}.audit-head .secondary{width:40px;padding:0;font-size:0}.audit-head .secondary::before{content:"↻";font-size:16px}.audit-summary{grid-template-columns:1fr 1fr}.audit-summary article{padding:11px}.audit-filters{grid-template-columns:1fr 1fr}.audit-filters .audit-search{grid-column:1/-1}.audit-filters button{width:100%}.audit-table-card>header{align-items:flex-start}.audit-table-card>header>span{display:none}.audit-row{min-width:860px;grid-template-columns:125px 185px 230px 180px 85px 30px}.audit-detail-hero{grid-template-columns:38px 1fr}.audit-detail-hero>em{grid-column:2;justify-self:start}.audit-detail-grid,.audit-metadata{grid-template-columns:1fr}.audit-metadata>strong{grid-column:auto}}
@media(min-width:651px){.audit-row{min-width:930px;grid-template-columns:125px 1.05fr 1.25fr 1fr 78px 28px;gap:9px}}

/* Konto jest kontrolką na żądanie: nigdy zwykłym prostokątnym przyciskiem. */
.mobile-account-nav{display:none!important}
.mobile-account-nav:focus-visible{outline:2px solid #8092ff;outline-offset:3px}
@keyframes mobileSheetFromLeft{from{opacity:.65;transform:translateX(-34px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:651px) and (max-width:900px){
 .sidebar-foot{display:none!important}
 .mobile-account-nav{width:44px;height:44px;display:grid!important;place-items:center;align-self:center;margin-top:auto;padding:0;border:1px solid #34425d;border-radius:14px;background:#1b2841;color:#fff;box-shadow:0 7px 18px #070d1b42}
 .mobile-account-nav:hover,.mobile-account-nav.active{border-color:#7185ff;background:#293a61;box-shadow:inset 0 0 0 1px #7185ff,0 7px 18px #070d1b42}
 .mobile-account-nav .avatar{width:32px;height:32px;background:linear-gradient(145deg,#e2e6ff,#c8d0ff);color:#3147b6;font-size:9px}
 .mobile-account-nav small{display:none}
 .mobile-menu-backdrop{align-items:stretch;justify-content:flex-start;padding:0}
 .mobile-account-sheet{width:min(360px,calc(100vw - 42px));height:100%;max-height:none;padding:18px 15px;border-radius:0 22px 22px 0;animation:mobileSheetFromLeft .22s cubic-bezier(.2,.8,.2,1)}
 .mobile-sheet-handle{display:none}
}

.new-employee-time-reporting{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dce3f7;border-radius:10px;background:#f6f8ff;color:#3e4f7b}.new-employee-time-reporting input{width:17px;height:17px;margin:2px 0 0;accent-color:#5065dd;flex:0 0 auto}.new-employee-time-reporting span{display:grid;gap:3px}.new-employee-time-reporting strong{font-size:11px}.new-employee-time-reporting small{font-size:10px;color:#7c879a;line-height:1.45}
.employee-worktime-toggle{display:flex!important;align-items:center;gap:6px;margin-top:6px;cursor:pointer;color:#8a94a3;font-size:9px;font-weight:800}.employee-worktime-toggle input{position:absolute;opacity:0;pointer-events:none}.employee-worktime-toggle i{position:relative;width:25px;height:14px;border-radius:20px;background:#cdd3dc;transition:.18s}.employee-worktime-toggle i::after{content:"";position:absolute;width:10px;height:10px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #17203336;transition:.18s}.employee-worktime-toggle input:checked+i{background:#4d63df}.employee-worktime-toggle input:checked+i::after{transform:translateX(11px)}.employee-worktime-toggle.enabled{color:#4059c7}.employee-worktime-toggle input:focus-visible+i{outline:2px solid #7a8ae9;outline-offset:2px}.worktime-employees-note{padding-top:8px;border-top:1px solid #e5e9f0}
.worktime-report-badge{display:inline-flex!important;align-items:center;width:max-content;border-radius:6px;padding:3px 6px!important;margin-top:auto!important;font-size:9px!important;line-height:1.2;font-weight:800;letter-spacing:0}.worktime-report-badge.pending{background:#fff0d9;color:#a96608;box-shadow:inset 0 0 0 1px #f0d29d}.worktime-report-badge.accepted,.worktime-report-badge.verified{background:#ddf5ea;color:#22785b;box-shadow:inset 0 0 0 1px #bfe5d4}.worktime-report-badge.planned{background:#e9efff;color:#425bc5;box-shadow:inset 0 0 0 1px #ccd7fb}.worktime-report-badge.corrected{background:#f1eaff;color:#7550b0;box-shadow:inset 0 0 0 1px #ddcff4}.worktime-report-trigger{width:100%;height:24px;margin-top:5px;border:1px solid #bac5f4;border-radius:6px;background:#fff;color:#4259ce;font-size:9px;font-weight:800}.worktime-report-trigger:hover{border-color:#7587e4;background:#f4f6ff}.shift.can-report-worktime{cursor:pointer!important;box-shadow:0 0 0 2px #6175df1c}.shift.has-worktime-report-pending{box-shadow:0 0 0 2px #e4a33428}.shift.has-worktime-report-verified{box-shadow:0 0 0 2px #34a47b1f}
.employee-worktime-modal{width:min(620px,100%)}.admin-worktime-modal{width:min(790px,100%)}.worktime-shift-summary,.worktime-review-head{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #e2e7ef;border-radius:11px;background:#f8f9fc}.worktime-shift-summary>span{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#e9edff;color:#4b61d4;font-size:17px}.worktime-shift-summary>div,.worktime-review-head>div>div{flex:1}.worktime-shift-summary strong,.worktime-shift-summary small,.worktime-review-head strong,.worktime-review-head small{display:block}.worktime-shift-summary strong,.worktime-review-head strong{font-size:12px}.worktime-shift-summary small,.worktime-review-head small{margin-top:3px;color:#7f8a9b;font-size:10px}.worktime-shift-summary em{font-style:normal;font-size:9px;font-weight:800;border-radius:7px;padding:5px 8px;background:#fff0d9;color:#a8680a}.worktime-review-head{justify-content:space-between}.worktime-review-head>div{display:flex;align-items:center;gap:10px}.worktime-review-head>em{font-style:normal;font-size:9px;font-weight:800;border-radius:8px;padding:6px 9px}.worktime-review-head>em.pending{background:#fff0d9;color:#a8680a}.worktime-review-head>em.accepted,.worktime-review-head>em.verified{background:#e4f6ee;color:#287b5f}.worktime-review-head>em.planned{background:#ebefff;color:#4960c9}.worktime-review-head>em.corrected{background:#f1eaff;color:#7550b0}
.worktime-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.worktime-comparison>span{display:grid;gap:4px;padding:11px;border:1px solid #e1e6ed;border-radius:9px;background:#fff}.worktime-comparison>span.reported{border-color:#d0d9fb;background:#f5f7ff}.worktime-comparison>span.positive{border-color:#bfe4d4;background:#f1faf6}.worktime-comparison>span.negative{border-color:#edcad1;background:#fff5f6}.worktime-comparison small,.worktime-comparison b,.worktime-comparison em{display:block}.worktime-comparison small{font-size:9px;color:#8490a0}.worktime-comparison b{font:800 15px Manrope;color:#334154}.worktime-comparison em{font-style:normal;font-size:9px;color:#8b95a4}.worktime-comparison .plus,.worktime-comparison .positive b{color:#23825f}.worktime-comparison .minus,.worktime-comparison .negative b{color:#c14b5d}.optional-label{font-size:9px;font-weight:500;color:#909aa9;margin-left:4px}
.worktime-declaration-rule,.worktime-employee-note,.worktime-locked-notice,.worktime-settings-explanation{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:12px;border-radius:10px}.worktime-declaration-rule{border:1px solid #d5def8;background:#f3f6ff;color:#41559f}.worktime-declaration-rule>span,.worktime-employee-note>span,.worktime-locked-notice>span,.worktime-settings-explanation>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font-weight:900}.worktime-declaration-rule>span{background:#dfe6ff;color:#4860c8}.worktime-declaration-rule p,.worktime-employee-note p,.worktime-locked-notice p,.worktime-settings-explanation p{margin:1px 0 0;font-size:10px;line-height:1.55}.worktime-declaration-rule strong{display:block;font-size:10px;margin-bottom:2px}.worktime-employee-note{border:1px solid #d8e0f9;background:#f6f8ff}.worktime-employee-note>span{background:#e4e9ff;color:#4a60c9}.worktime-employee-note small{font-size:9px;font-weight:800;color:#6678ca}.worktime-employee-note p{color:#536076}.worktime-locked-notice{border:1px solid #ecd7b5;background:#fff9ee;color:#8c641d}.worktime-locked-notice>span{background:#ffedc9}
.worktime-decision-section{display:grid;gap:12px;padding-top:4px}.worktime-decision-section>header strong,.worktime-decision-section>header small{display:block}.worktime-decision-section>header strong{font-size:12px}.worktime-decision-section>header small{font-size:10px;color:#8792a2;margin-top:3px}.worktime-decision-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.worktime-decision-options>button{min-height:80px;display:grid;grid-template-columns:31px 1fr;align-items:flex-start;gap:9px;text-align:left;padding:11px;border:1px solid #dfe4ec;border-radius:10px;background:#fff;color:#465164}.worktime-decision-options>button>span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#f0f2f7;color:#687487;font-weight:900}.worktime-decision-options strong,.worktime-decision-options small{display:block}.worktime-decision-options strong{font-size:10px}.worktime-decision-options small{font-size:9px;color:#8994a3;margin-top:4px}.worktime-decision-options>button:hover,.worktime-decision-options>button.selected{border-color:#7183e6;background:#f4f6ff;box-shadow:inset 0 0 0 1px #7183e6}.worktime-decision-options>button.selected>span{background:#dfe5ff;color:#465ed1}.worktime-manual-fields{padding:12px;border:1px solid #ddd4f1;border-radius:10px;background:#faf8ff}.worktime-final-decision{display:grid;grid-template-columns:34px 1fr;gap:11px;padding:13px;border-radius:10px}.worktime-final-decision>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#fff;font-weight:900}.worktime-final-decision small,.worktime-final-decision strong,.worktime-final-decision p,.worktime-final-decision em{display:block}.worktime-final-decision small{font-size:9px}.worktime-final-decision strong{font-size:11px;margin-top:3px}.worktime-final-decision p{font-size:10px;margin:5px 0}.worktime-final-decision em{font-style:normal;font-size:10px;padding:7px 9px;border-radius:7px;background:#ffffff9c;margin:7px 0}.worktime-final-decision.accepted{border:1px solid #bee4d3;background:#eef9f4;color:#25785b}.worktime-final-decision.planned{border:1px solid #ccd6f7;background:#f3f5ff;color:#455bc0}.worktime-final-decision.corrected{border:1px solid #d9caef;background:#f8f4ff;color:#7150a7}
.worktime-history{border:1px solid #e2e6ed;border-radius:10px;background:#fff;overflow:hidden}.worktime-history summary{display:grid;grid-template-columns:30px 1fr 20px;align-items:center;gap:9px;padding:11px;cursor:pointer;list-style:none}.worktime-history summary::-webkit-details-marker{display:none}.worktime-history summary>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#eef1f8;color:#5d6b80}.worktime-history summary strong,.worktime-history summary small{display:block}.worktime-history summary strong{font-size:10px}.worktime-history summary small{font-size:9px;color:#8a95a4;margin-top:2px}.worktime-history summary>b{color:#8c96a4}.worktime-history[open] summary{border-bottom:1px solid #e7eaf0}.worktime-history>div{padding:5px 12px}.worktime-history article{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid #edf0f4}.worktime-history article:last-child{border-bottom:0}.worktime-history article>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#edf0ff;color:#4d62d2;font-size:9px;font-weight:900}.worktime-history article strong,.worktime-history article small,.worktime-history article p,.worktime-history article em{display:block}.worktime-history article strong{font-size:10px}.worktime-history article small{font-size:9px;color:#8a94a3;margin-top:2px}.worktime-history article p{font-size:9px;color:#596577;margin:5px 0 0}.worktime-history article em{font-style:normal;font-size:9px;color:#5c6473;background:#f6f7fa;border-radius:6px;padding:6px 8px;margin-top:6px}.worktime-history-before{color:#a06c20!important}.worktime-history-empty{padding:12px;color:#8b95a4;font-size:10px}
.worktime-report-menu{width:290px}.worktime-context-status{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:9px;margin:7px;padding:9px;border-radius:8px}.worktime-context-status>span{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#fff;font-weight:900}.worktime-context-status strong,.worktime-context-status small{display:block}.worktime-context-status strong{font-size:10px}.worktime-context-status small{font-size:9px;margin-top:2px}.worktime-context-status.pending{background:#fff3df;color:#98620e}.worktime-context-status.accepted,.worktime-context-status.verified{background:#eaf8f2;color:#28795e}.worktime-context-status.planned{background:#edf1ff;color:#455bc2}.worktime-context-status.corrected{background:#f4edff;color:#7550ad}.worktime-context-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px 7px 8px}.worktime-context-compare>span{padding:7px 5px;border:1px solid #e5e8ee;border-radius:7px;text-align:center}.worktime-context-compare small,.worktime-context-compare b{display:block}.worktime-context-compare small{font-size:8px;color:#8b95a4}.worktime-context-compare b{font-size:9px;margin-top:3px}.worktime-context-compare .plus{color:#24815f}.worktime-context-compare .minus{color:#bd4a5c}.worktime-context-final{margin:0 7px 7px;padding:8px;border-radius:7px;background:#f1f7f4;text-align:center}.worktime-context-final small,.worktime-context-final strong{display:block}.worktime-context-final small{font-size:8px;color:#6d8b7e}.worktime-context-final strong{font-size:11px;color:#27765a;margin-top:2px}
.worktime-settings-status{font-size:9px;font-weight:800;border-radius:7px;padding:6px 8px;background:#eef0f4;color:#737d8c}.worktime-settings-status.enabled{background:#e5f6ee;color:#287b5e}.worktime-settings-body{display:grid;gap:13px;padding:16px}.worktime-global-toggle{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:13px;border:1px solid #dce3f7;border-radius:10px;background:#f7f8ff}.worktime-global-toggle>span{width:37px;height:37px;display:grid;place-items:center;border-radius:10px;background:#e7ebff;color:#4a60cd;font-size:17px}.worktime-global-toggle strong,.worktime-global-toggle small{display:block}.worktime-global-toggle strong{font-size:11px}.worktime-global-toggle small{font-size:9px;color:#8590a0;margin-top:3px}.worktime-settings-explanation{border:1px solid #d5def8;background:#f3f6ff;color:#40549b}.worktime-settings-explanation>span{background:#dfe6ff;color:#4860c8}.worktime-settings-explanation strong{font-size:10px}.worktime-settings-explanation p{color:#64708a}.worktime-settings-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.worktime-settings-stats>span{padding:11px;border:1px solid #e3e7ed;border-radius:9px;background:#fff}.worktime-settings-stats small,.worktime-settings-stats b,.worktime-settings-stats em{display:block}.worktime-settings-stats small{font-size:9px;color:#8691a1}.worktime-settings-stats b{font:800 20px Manrope;color:#334154;margin-top:4px}.worktime-settings-stats em{font-size:9px;font-style:normal;color:#8b95a4}.worktime-security-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;border:1px solid #e3e7ed;border-radius:10px;background:#fafbfc}.worktime-security-list>strong{grid-column:1/-1;font-size:10px;margin-bottom:2px}.worktime-security-list>span{font-size:9px;color:#607063}.delete-impact-grid.with-worktime{grid-template-columns:repeat(5,1fr)}
@media(max-width:700px){.worktime-comparison,.worktime-decision-options,.worktime-settings-stats{grid-template-columns:1fr}.worktime-comparison.employee-entry{grid-template-columns:repeat(3,1fr)}.worktime-security-list{grid-template-columns:1fr}.worktime-decision-options>button{min-height:64px}.admin-worktime-modal .modal-body,.employee-worktime-modal .modal-body{padding:16px}.delete-impact-grid.with-worktime{grid-template-columns:1fr 1fr}.worktime-settings-status{max-width:135px;text-align:center}.settings-layout>aside{overflow-x:auto}.worktime-review-head{align-items:flex-start}.worktime-review-head>em{max-width:145px;text-align:center}}
@media(max-width:460px){.worktime-comparison.employee-entry{grid-template-columns:1fr}.worktime-shift-summary{align-items:flex-start}.worktime-shift-summary em{font-size:8px}.admin-worktime-modal footer,.employee-worktime-modal footer{display:grid;grid-template-columns:1fr}.admin-worktime-modal footer button,.employee-worktime-modal footer button{width:100%}}
@media(max-width:650px){
 .mobile-account-nav{display:flex!important;margin:0;align-self:auto}
 .mobile-menu-backdrop{align-items:flex-end;justify-content:center;padding:20px 0 0}
 .mobile-account-sheet{width:min(100%,560px);height:auto;max-height:min(82vh,720px);border-radius:22px 22px 0 0;animation:mobileSheetUp .22s cubic-bezier(.2,.8,.2,1)}
 .mobile-sheet-handle{display:block}
}

/* Odwracalne ukrywanie byłych lub czasowo nieaktywnych pracowników w grafiku. */
.employee-visibility-action{height:23px;padding:0 7px;border-radius:6px;font-size:9px;font-weight:800}.employee-visibility-action.hide{border:1px solid #d9dde5;background:#f8f9fb;color:#667386}.employee-visibility-action.hide:hover{border-color:#bfc6d1;background:#f0f2f5;color:#3f4b5c}.employee-visibility-action.show{border:1px solid #c9d3fa;background:#f1f4ff;color:#445ac6}.employee-visibility-action.show:hover{border-color:#9eaded;background:#e7ebff}.employee-table-row.schedule-hidden{background:linear-gradient(90deg,#f8f9fb,#fbfbfc)}.employee-table-row.schedule-hidden>span:not(.employee-row-actions){opacity:.66}.employee-table-row.schedule-hidden .employee-name,.employee-table-row.schedule-hidden .employee-access-line{opacity:1}.employee-table-row.schedule-hidden .person-avatar{filter:grayscale(.65)}.employee-schedule-hidden-badge{display:inline-flex;width:max-content;margin-top:5px;padding:3px 6px;border-radius:7px;background:#e9ecf1;color:#616d7e;font-size:9px;font-style:normal;font-weight:800}.employee-visibility-note{padding-top:8px;border-top:1px solid #e5e9f0}.employee-visibility-modal{width:min(560px,100%)}.employee-visibility-person{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;padding:12px;border:1px solid #e3e7ee;border-radius:10px;background:#f8f9fc}.employee-visibility-person .person-avatar{width:40px;height:40px}.employee-visibility-person strong,.employee-visibility-person small{display:block}.employee-visibility-person strong{font-size:12px}.employee-visibility-person small{margin-top:3px;color:#7e8999;font-size:10px}.employee-visibility-person em{padding:5px 8px;border-radius:7px;font-size:9px;font-style:normal;font-weight:900}.employee-visibility-person .visible-state{background:#e8f7f0;color:#277f60}.employee-visibility-person .hidden-state{background:#e9ecf1;color:#5e6979}.employee-visibility-info{display:grid;grid-template-columns:34px 1fr;gap:11px;padding:13px;border:1px solid;border-radius:10px}.employee-visibility-info>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;font-size:17px;font-weight:900}.employee-visibility-info strong{font-size:11px}.employee-visibility-info p{margin:4px 0 0;font-size:10px;line-height:1.55}.employee-visibility-info.hide{border-color:#dbe0e7;background:#f7f8fa;color:#4f5b6c}.employee-visibility-info.hide>span{background:#e8ebef;color:#687486}.employee-visibility-info.show{border-color:#cdd7fb;background:#f3f5ff;color:#4257b9}.employee-visibility-info.show>span{background:#dfe5ff;color:#4b61ce}.employee-visibility-safe{display:grid;grid-template-columns:27px 1fr;align-items:center;gap:9px;padding:10px 12px;border-radius:9px;background:#eef7f3;color:#4e7465}.employee-visibility-safe>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#dcefe6;font-weight:900}.employee-visibility-safe p{margin:0;font-size:9px;line-height:1.45}.employee-visibility-confirm.hide{background:#586474}.employee-visibility-confirm.hide:hover{background:#46515f}.employee-visibility-confirm.show{background:#5064dc}
@media(max-width:560px){.employee-visibility-modal footer{display:grid;grid-template-columns:1fr 1.25fr}.employee-visibility-modal footer button{min-width:0}.employee-visibility-person{grid-template-columns:38px 1fr}.employee-visibility-person em{grid-column:2;justify-self:start}.employee-visibility-info{grid-template-columns:30px 1fr}.employee-visibility-info>span{width:28px;height:28px}}

/* Stawki i ewidencja przejazdów służbowych. */
.employee-travel-settings-action{height:23px;padding:0 7px;border-radius:6px;font-size:9px;font-weight:800}.employee-travel-settings-action.inactive{border:1px solid #d6dce5;background:#f8f9fb;color:#6c7787}.employee-travel-settings-action.active{border:1px solid #bcded3;background:#edf8f4;color:#287b61}.employee-travel-settings-action:hover{filter:brightness(.98);box-shadow:0 2px 7px #27354a10}.employee-travel-rate-badge{display:inline-flex;width:max-content;margin-top:5px;padding:3px 6px;border-radius:7px;background:#eef0f3;color:#6d7786;font-size:9px;font-style:normal;font-weight:800}.employee-travel-rate-badge.active{background:#e6f6ef;color:#28795e}.employee-travel-note{padding-top:8px;border-top:1px solid #e5e9f0}
.employee-travel-settings-modal{width:min(620px,100%)}.travel-settings-person,.travel-entry-person{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;padding:12px;border:1px solid #e3e7ee;border-radius:10px;background:#f8f9fc}.travel-settings-person .person-avatar,.travel-entry-person .person-avatar{width:40px;height:40px}.travel-settings-person strong,.travel-settings-person small,.travel-entry-person strong,.travel-entry-person small{display:block}.travel-settings-person strong,.travel-entry-person strong{font-size:12px}.travel-settings-person small,.travel-entry-person small{margin-top:3px;color:#7e8999;font-size:10px}.travel-settings-person>em,.travel-entry-person>em{padding:5px 8px;border-radius:7px;background:#eceff3;color:#6e7887;font-size:9px;font-style:normal;font-weight:900}.travel-settings-person>em.enabled,.travel-entry-person>em{background:#e5f6ee;color:#277b5e}.travel-settings-toggle,.new-employee-travel-toggle,.travel-entry-confirm{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid #d9e4df;border-radius:10px;background:#f3faf7;color:#3e6b59}.travel-settings-toggle input,.new-employee-travel-toggle input,.travel-entry-confirm input{width:17px;height:17px;margin:2px 0 0;accent-color:#389470;flex:0 0 auto}.travel-settings-toggle span,.new-employee-travel-toggle span,.travel-entry-confirm span{display:grid;gap:3px}.travel-settings-toggle strong,.new-employee-travel-toggle strong,.travel-entry-confirm strong{font-size:11px}.travel-settings-toggle small,.new-employee-travel-toggle small,.travel-entry-confirm small{color:#75897f;font-size:9px;line-height:1.45}.travel-rate-preview,.travel-entry-calculation{display:grid;grid-template-columns:36px 1fr 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #dce3f0;border-radius:10px;background:#f7f9fc}.travel-rate-preview>span,.travel-entry-calculation>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#e8edf7;font-size:16px}.travel-rate-preview small,.travel-rate-preview strong,.travel-entry-calculation small,.travel-entry-calculation strong{display:block}.travel-rate-preview small,.travel-entry-calculation small{color:#8490a0;font-size:9px}.travel-rate-preview strong,.travel-entry-calculation strong{margin-top:3px;color:#354154;font:800 14px Manrope}.travel-rate-preview>em,.travel-entry-calculation>em{padding:5px 7px;border-radius:7px;background:#fff;color:#617083;font-size:9px;font-style:normal;font-weight:800}.travel-legal-guidance{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:12px;border:1px solid;border-radius:10px}.travel-legal-guidance>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font-weight:900}.travel-legal-guidance strong{font-size:10px}.travel-legal-guidance p{margin:3px 0 0;font-size:9px;line-height:1.5}.travel-legal-guidance.safe{border-color:#cce5da;background:#f1faf6;color:#356f59}.travel-legal-guidance.safe>span{background:#dcf0e6}.travel-legal-guidance.warning{border-color:#efcf9f;background:#fff8eb;color:#895b16}.travel-legal-guidance.warning>span{background:#ffe8c5}.travel-cost-separation,.travel-entry-rule,.travel-entry-locked{display:grid;grid-template-columns:28px 1fr;align-items:start;gap:9px;padding:10px 12px;border-radius:9px}.travel-cost-separation,.travel-entry-rule{background:#eef3f8;color:#617083}.travel-cost-separation>span,.travel-entry-rule>span,.travel-entry-locked>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#dfe7ef;font-weight:900}.travel-cost-separation p,.travel-entry-rule p,.travel-entry-locked p{margin:1px 0 0;font-size:9px;line-height:1.5}.travel-entry-locked{border:1px solid #ddd5c7;background:#faf7f0;color:#75664d}.travel-entry-locked>span{background:#eee7da}
.new-employee-travel-config{display:grid;gap:10px;padding:12px;border:1px solid #dfe6e3;border-radius:10px;background:#f8fbfa}.new-employee-travel-toggle{padding:0;border:0;background:transparent}.new-employee-travel-config .form-row label{font-size:10px}.new-employee-travel-config input,.new-employee-travel-config select{background:#fff}
.context-menu>button[data-add-travel-entry]{border:1px solid #d9e6e1;background:#f3faf7;color:#31715a;margin:3px 0}.context-menu>button[data-add-travel-entry]:hover{background:#e9f6f1;color:#23694f}.context-menu>button[data-add-travel-entry].needs-config{border-color:#e2e5e9;background:#f7f8fa;color:#778291}.context-menu>button[data-add-travel-entry].needs-config:hover{background:#eef1f5;color:#4f5b6c}.travel-menu-label{color:#368167!important}
.day-cell.has-travel-entry{display:flex;flex-direction:column;gap:6px;min-height:118px}.day-cell.has-travel-entry>.shift{flex:0 0 auto}.day-cell.has-travel-entry>.add-cell{position:relative;inset:auto;order:2;min-height:23px;border-color:#dfe5ea;color:#8692a2;background:#fff}.travel-entry-list{order:3;display:grid;gap:5px}.travel-entry-card{width:100%;min-height:42px;display:grid;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:6px;padding:6px;border:1px solid #cfe3db;border-left:3px solid #3b9875;border-radius:7px;background:#edf8f4;color:#2b7057;text-align:left}.travel-entry-card.passenger{border-color:#d5dcf3;border-left-color:#687bd6;background:#f2f4fc;color:#4c5fae}.travel-entry-card>span{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:#fff;font-size:11px}.travel-entry-card strong,.travel-entry-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.travel-entry-card strong{font-size:9px}.travel-entry-card small{margin-top:2px;font-size:8px}.travel-entry-card>em{font-style:normal;font-size:9px;font-weight:900}.employee-travel-month-summary{display:block;clear:both;padding-top:4px;color:#318064;font-size:9px;font-weight:800}.travel-entry-modal{width:min(650px,100%)}
.ledger-summary.with-travel-summary{grid-template-columns:repeat(6,1fr)}.travel-summary-card{border-color:#cfe6dd!important;background:#f2faf7!important}.travel-summary-card strong{color:#287b60}.travel-money-split{color:#2d8063!important;font-weight:800}.ledger-travel-rate{margin-top:4px!important;color:#2f8064!important;font-weight:800}.weekly-travel-amount{display:block;margin-top:3px;color:#328166;font-size:8px;font-weight:700}.travel-ledger-section{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.travel-ledger-section>header{min-height:62px;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--line)}.travel-ledger-section>header strong,.travel-ledger-section>header small,.travel-ledger-section>header span,.travel-ledger-section>header b{display:block}.travel-ledger-section>header strong{font-size:11px}.travel-ledger-section>header small,.travel-ledger-section>header span{margin-top:3px;color:#8994a3;font-size:9px}.travel-ledger-section>header>div:last-child{text-align:right}.travel-ledger-section>header b{margin-top:3px;color:#287b60;font:800 15px Manrope}.travel-ledger-list{padding:5px 13px}.travel-ledger-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto 28px;align-items:center;gap:10px;padding:11px 3px;border-bottom:1px solid #edf0f4}.travel-ledger-list article:last-child{border-bottom:0}.travel-ledger-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#eaf7f2}.travel-ledger-list strong,.travel-ledger-list small,.travel-ledger-list b{display:block}.travel-ledger-list strong{font-size:10px}.travel-ledger-list small{margin-top:3px;color:#8792a1;font-size:9px}.travel-ledger-list article>span:nth-child(3){text-align:right}.travel-ledger-list article>span:nth-child(3) b{margin-top:3px;color:#287b60;font-size:11px}.travel-ledger-list article>button{width:28px;height:28px;border:1px solid #dfe4eb;border-radius:8px;background:#fff;color:#718095;font-size:18px}.travel-ledger-empty{padding:30px 20px;text-align:center;color:#8b95a3}.travel-ledger-empty>span{font-size:24px}.travel-ledger-empty strong{display:block;margin-top:7px;color:#566274;font-size:10px}.travel-ledger-empty p{margin:4px 0 0;font-size:9px}.delete-impact-grid .travel-delete-impact{background:#f1f9f6}.delete-impact-grid .travel-delete-impact b{color:#287b60}
@media(max-width:1100px){.ledger-summary.with-travel-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.employee-travel-settings-modal footer,.travel-entry-modal footer{display:grid;grid-template-columns:1fr 1.25fr}.employee-travel-settings-modal footer button,.travel-entry-modal footer button{min-width:0}.travel-settings-person,.travel-entry-person{grid-template-columns:38px 1fr}.travel-settings-person>em,.travel-entry-person>em{grid-column:2;justify-self:start}.travel-rate-preview,.travel-entry-calculation{grid-template-columns:34px 1fr 1fr}.travel-rate-preview>em,.travel-entry-calculation>em{grid-column:2/-1;justify-self:start}.ledger-summary.with-travel-summary{grid-template-columns:1fr 1fr}.travel-ledger-list article{grid-template-columns:31px minmax(0,1fr) 25px}.travel-ledger-list article>span:nth-child(3){grid-column:2;text-align:left}.travel-ledger-list article>button{grid-column:3;grid-row:1/3}.travel-entry-card small{font-size:8px}}
@media(max-width:430px){.travel-rate-preview,.travel-entry-calculation{grid-template-columns:32px 1fr}.travel-rate-preview>div:nth-child(3),.travel-entry-calculation>div:nth-child(3){grid-column:2}.travel-rate-preview>em,.travel-entry-calculation>em{grid-column:2}.employee-travel-settings-modal footer,.travel-entry-modal footer{grid-template-columns:1fr}.travel-entry-modal footer .footer-spacer{display:none}}

/* Automatyczna para przejazdów Tam / Powrót. */
.travel-return-option{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid #d9def3;border-radius:10px;background:#f4f6fd;color:#485b9a}.travel-return-option input{width:17px;height:17px;margin:2px 0 0;accent-color:#596ed0;flex:0 0 auto}.travel-return-option span{display:grid;gap:3px}.travel-return-option strong{font-size:11px}.travel-return-option small{color:#7885aa;font-size:9px;line-height:1.45}.travel-return-auto{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:11px;padding:12px;border:1px solid #cad5fa;border-radius:10px;background:linear-gradient(135deg,#f2f5ff,#f8f9ff);color:#44579e}.travel-return-auto>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#dfe5ff;color:#5064c8;font-size:20px;font-weight:900}.travel-return-auto strong{font-size:11px}.travel-return-auto p{margin:4px 0 0;font-size:9px;line-height:1.5}.travel-pair-action{border-color:#cbd4f4!important;color:#4e61b3!important;background:#f5f7ff!important}.travel-pair-action:hover{background:#eaf0ff!important}.travel-entry-card.direction-return{border-style:dashed;border-left-style:solid}.travel-entry-card>span{font-size:14px;font-weight:900}.travel-ledger-icon{font-size:16px;font-weight:900;color:#348066}
@media(max-width:650px){.travel-entry-modal footer .travel-pair-action{grid-column:1/-1}.travel-return-auto{grid-template-columns:34px 1fr}.travel-return-auto>span{width:32px;height:32px}}

/* Logo widoczne w stałym nagłówku wersji mobilnej. */
.mobile-brand{display:none}
@media(max-width:650px){
 .topbar{position:sticky;top:0;z-index:9;height:58px;padding:0 12px;background:#fff;box-shadow:0 5px 18px #16223a0a}
 .mobile-brand{min-width:0;display:flex;align-items:center;gap:8px;color:#172135;white-space:nowrap}
 .mobile-brand .mobile-brand-mark{width:31px;height:31px;flex:0 0 31px;border-radius:9px;box-shadow:0 6px 15px #3148d636,inset 0 1px 0 #ffffff80,inset 0 -8px 14px #2037b542}
 .mobile-brand .mobile-brand-mark::after{inset:2px;border-radius:7px}
 .mobile-brand .mobile-brand-mark i{font-size:17px}
 .mobile-brand-word{display:flex;align-items:baseline;min-width:0;font:800 17px/1 Manrope;letter-spacing:-.35px}
 .mobile-brand .brand-company{max-width:min(34vw,140px);margin-left:2px;overflow:hidden;text-overflow:ellipsis;color:#5265d0;font:800 17px/1 Manrope;letter-spacing:-.35px}
 .topbar .crumb{min-width:0;margin-left:12px;align-items:center;justify-content:flex-end}
 .topbar .crumb>span,.topbar .crumb>b{display:none}
 .topbar .crumb>strong{max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;border-radius:8px;background:#f2f4fa;color:#758093;font-size:9px}
}
@media(max-width:370px){.mobile-brand-word,.mobile-brand .brand-company{font-size:15px}.mobile-brand .brand-company{max-width:28vw}.topbar .crumb>strong{max-width:25vw;padding-left:6px;padding-right:6px}}

/* Przewijanie grafiku pozostaje aktywne, ale natywny pasek zastępuje nasz suwak. */
.schedule-scroll{scrollbar-width:none;-ms-overflow-style:none}
.schedule-scroll::-webkit-scrollbar{display:none;width:0;height:0}

/* Komunikaty wspólnej bazy danych i konfliktów między przeglądarkami. */
.database-sync-message{position:fixed;z-index:180;right:18px;top:18px;width:min(430px,calc(100vw - 36px));display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid #efcbd2;border-radius:12px;background:#fff7f8;color:#8e3949;box-shadow:0 16px 45px #17203328}.database-sync-message>span{width:33px;height:33px;display:grid;place-items:center;border-radius:9px;background:#ffe7eb;font-size:16px;font-weight:900}.database-sync-message strong,.database-sync-message p{display:block}.database-sync-message strong{font-size:11px}.database-sync-message p{margin:3px 0 0;font-size:9px;line-height:1.45}.database-sync-message button{height:32px;padding:0 10px;border:1px solid #e2aeb8;border-radius:8px;background:#fff;color:#a33d50;font-size:9px;font-weight:800}.database-sync-message.warning{border-color:#efd5a9;background:#fffbf2;color:#8b6019}.database-sync-message.warning>span{background:#ffedca}.database-sync-message.warning button{border-color:#e6c58f;color:#91611a}.database-sync-message.success{border-color:#bfe2d3;background:#f1faf6;color:#28775c}.database-sync-message.success>span{background:#dcf1e7}.database-sync-message.success button{display:none}
@media(max-width:650px){.database-sync-message{top:auto;right:10px;bottom:calc(90px + env(safe-area-inset-bottom));width:calc(100vw - 20px);grid-template-columns:31px minmax(0,1fr) auto;padding:10px}.database-sync-message>span{width:30px;height:30px}.database-sync-message strong{font-size:10px}.database-sync-message p{font-size:9px}}
.database-migration-modal{width:min(650px,100%)}.database-migration-hero{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:12px;padding:14px;border:1px solid #cfd8f7;border-radius:11px;background:linear-gradient(135deg,#f2f5ff,#f8f9ff);color:#40549b}.database-migration-hero>span{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#6d80ed,#455bd0);color:#fff;font:800 13px Manrope;box-shadow:0 7px 18px #3e55ca35}.database-migration-hero strong{font-size:12px}.database-migration-hero p{margin:4px 0 0;font-size:10px;line-height:1.5}.database-migration-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.database-migration-counts>span{padding:12px;border:1px solid #e2e6ed;border-radius:9px;background:#fff;text-align:center}.database-migration-counts b,.database-migration-counts small{display:block}.database-migration-counts b{font:800 20px Manrope;color:#3e52be}.database-migration-counts small{margin-top:3px;color:#8490a0;font-size:9px}.database-migration-warning{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:11px;border:1px solid #efd4a5;border-radius:10px;background:#fff9ee;color:#845b17}.database-migration-warning>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#ffebc5;font-weight:900}.database-migration-warning p{margin:0;font-size:10px;line-height:1.5}
@media(max-width:560px){.database-migration-counts{grid-template-columns:1fr 1fr}.database-migration-modal .modal-body{padding:16px}.database-migration-modal footer{display:grid;grid-template-columns:1fr}.database-migration-modal footer button{width:100%}}

/* Mobilny panel pracownika: kalendarz jako pionowa lista dopasowana do ekranu. */
@media(max-width:650px){
 html{width:100%;max-width:100%;overflow-x:hidden}
 body.role-employee{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}
 .role-employee .app,.role-employee .workspace,.role-employee .content,.role-employee .page-head,.role-employee .schedule-card,.role-employee .schedule-toolbar{width:100%;min-width:0;max-width:100%}
 .role-employee .workspace,.role-employee .content{overflow-x:hidden;overflow-x:clip}
 .role-employee .content{padding-left:10px;padding-right:10px}
 .role-employee .page-head{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:17px}
 .role-employee .page-head>div:first-child{min-width:0;max-width:100%}
 .role-employee .page-head h1,.role-employee .page-head p{overflow-wrap:anywhere}
 .role-employee .head-actions{width:100%;min-width:0;flex-wrap:wrap}
 .role-employee .employee-mode-badge{max-width:100%;height:auto;min-height:34px;padding:8px 11px;white-space:normal;text-align:center}
 .role-employee .schedule-toolbar{padding:10px;gap:0}
 .role-employee .date-nav{width:100%;min-width:0;display:grid;grid-template-columns:32px auto 32px minmax(0,1fr);gap:7px}
 .role-employee .date-nav button{width:32px;min-width:0;padding:0}
 .role-employee .date-nav .today{width:auto;min-width:55px;padding:0 8px}
 .role-employee .date-nav strong{min-width:0;margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
 .role-employee .toolbar-right{display:none}
 .role-employee .schedule-scroll{width:100%;max-width:100%;overflow-x:hidden;overflow-y:visible;overscroll-behavior-x:none}
 .role-employee .schedule-grid.employee-mobile-list{width:100%!important;min-width:0!important;max-width:100%!important;display:grid;grid-template-columns:minmax(0,1fr)!important;gap:8px;padding:9px;background:#f7f9fc}
 .employee-mobile-day{min-width:0;display:grid;grid-template-columns:68px minmax(0,1fr);overflow:hidden;border:1px solid #e3e7ef;border-radius:12px;background:#fff;box-shadow:0 3px 12px #26354e0a}
 .employee-mobile-day.today{border-color:#94a4f1;box-shadow:0 0 0 2px #6378e51f,0 5px 16px #26354e10}
 .employee-mobile-day.weekend{background:#fafbfc}
 .employee-mobile-date{position:relative;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:9px 5px;border-right:1px solid #e6eaf0;background:#f4f6fa;text-align:center}
 .employee-mobile-day.today .employee-mobile-date{background:#eef1ff;color:#4054c3}
 .employee-mobile-date small{color:#7c8797;font-size:9px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}
 .employee-mobile-date strong{margin-top:2px;font:800 23px/1 Manrope}
 .employee-mobile-date span{margin-top:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#8d97a6;font-size:8px;white-space:nowrap}
 .employee-mobile-date i{position:absolute;top:5px;right:5px;padding:2px 4px;border-radius:5px;background:#6175df;color:#fff;font-size:6px;font-style:normal;font-weight:900}
 .role-employee .employee-mobile-cell{min-width:0;min-height:80px;padding:8px;border:0;background:transparent}
 .role-employee .employee-mobile-cell.off{background:transparent}
 .role-employee .employee-mobile-cell .shift{width:100%;min-width:0;min-height:64px}
 .employee-mobile-empty{min-height:62px;display:flex;align-items:center;gap:10px;padding:8px;color:#8490a0}
 .employee-mobile-empty>span{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:8px;background:#eef1f5;color:#9aa4b2;font-weight:900}
 .employee-mobile-empty strong,.employee-mobile-empty small{display:block}
 .employee-mobile-empty strong{color:#687486;font-size:10px}
 .employee-mobile-empty small{margin-top:3px;font-size:8px;line-height:1.35}
 .employee-mobile-no-profile{padding:28px 18px;border:1px solid #ead2d7;border-radius:11px;background:#fff5f6;color:#a24352;text-align:center;font-size:11px;font-weight:700}
 .role-employee .calendar-scroll-control{display:none}
 .role-employee .legend{height:auto;min-height:42px;flex-wrap:wrap;gap:8px 13px;padding:11px 12px}
 .role-employee .legend-note{width:100%;margin-left:0;padding-top:3px}
}

/* Wnioski na telefonie: zawartość mieści się w ekranie, a przewijają się tylko filtry. */
@media(max-width:650px){
 .requests-panel{width:100%;min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr);gap:11px}
 .requests-panel>*{min-width:0;max-width:100%}
 .requests-head{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
 .requests-head>div{min-width:0}
 .requests-head h1,.requests-head p{overflow-wrap:anywhere}
 .requests-head .primary{width:100%;max-width:100%}
 .request-overview{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .request-overview>button{min-width:0;padding:10px;gap:8px}
 .request-overview>button>div{min-width:0}
 .request-overview small{overflow-wrap:anywhere}
 .request-toolbar{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;overflow:hidden}
 .request-categories{width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none}
 .request-categories::-webkit-scrollbar{display:none}
 .request-categories button{flex:0 0 auto;white-space:nowrap}
 .request-toolbar>span{white-space:nowrap}
 .requests-list{width:100%;min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}
 .request-card{width:100%;min-width:0;max-width:100%;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px;overflow:hidden}
 .request-main,.request-main>*,.request-person>div,.request-details,.request-actions{min-width:0;max-width:100%}
 .request-title{flex-wrap:wrap}
 .request-main p,.request-person b,.request-details b,.admin-request-note p{overflow-wrap:anywhere;word-break:break-word}
 .request-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .request-actions{justify-content:flex-start}
 .empty-requests{width:100%;min-width:0;max-width:100%;padding:34px 16px;overflow:hidden}
 .empty-requests strong,.empty-requests p{overflow-wrap:anywhere}
}

/* Wspólne menu grafiku dla kliknięcia, dotknięcia i prawego przycisku. */
.context-menu>button.context-add-shift{margin:3px 0;border:1px solid #cbd5ff;background:#eef1ff;color:#4057c8}
.context-menu>button.context-add-shift:hover{border-color:#98a8ef;background:#e4e9ff;color:#3048b9}
@media(max-width:650px){
 .context-menu{width:min(300px,calc(100vw - 16px));padding:8px;border-radius:14px}
 .context-menu>button{min-height:42px;padding:9px 10px}
 .context-menu button span{font-size:11px}
 .context-menu button small{font-size:9px;line-height:1.4}
}

/* Instalacja PWA: po uruchomieniu z ikony panel działa bez elementów przeglądarki. */
.pwa-install-prompt{position:fixed;left:50%;bottom:18px;z-index:10050;width:min(540px,calc(100vw - 24px));display:grid;grid-template-columns:44px minmax(0,1fr) auto 32px;align-items:center;gap:11px;padding:11px 10px 11px 12px;border:1px solid #d9def0;border-radius:16px;background:#fff;box-shadow:0 18px 50px #18233c33;color:#172033;transform:translateX(-50%);animation:pwa-prompt-in .25s ease-out}
.pwa-install-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#7588ff,#4056cf);box-shadow:0 7px 16px #4056cf38;color:#fff;font:800 24px/1 Manrope}
.pwa-install-copy{min-width:0}
.pwa-install-copy strong,.pwa-install-copy small{display:block}
.pwa-install-copy strong{overflow:hidden;color:#121b2d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.pwa-install-copy small{margin-top:3px;color:#6f7a8d;font-size:9px;line-height:1.4}
.pwa-install-action{min-height:34px;padding:0 13px;border:0;border-radius:9px;background:#5268e8;color:#fff;font-size:10px;font-weight:800;cursor:pointer}
.pwa-install-action:hover{background:#4056cf}
.pwa-install-close{width:30px;height:30px;padding:0;border:0;border-radius:8px;background:#f0f2f7;color:#687386;font-size:18px;line-height:1;cursor:pointer}
@keyframes pwa-prompt-in{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}
@media(min-width:761px){.pwa-install-prompt{display:none}}
@media(max-width:650px){
 .pwa-install-prompt{bottom:calc(70px + env(safe-area-inset-bottom));width:calc(100vw - 16px);grid-template-columns:38px minmax(0,1fr) auto 28px;gap:8px;padding:9px 8px;border-radius:13px}
 .login-page .pwa-install-prompt{bottom:calc(10px + env(safe-area-inset-bottom))}
 .pwa-install-mark{width:38px;height:38px;border-radius:11px;font-size:21px}
 .pwa-install-copy strong{font-size:11px}
 .pwa-install-copy small{font-size:9px}
 .pwa-install-action{min-height:32px;padding:0 10px;font-size:9px}
 .pwa-install-close{width:28px;height:28px}
}
@media(max-width:420px){
 .pwa-install-prompt{grid-template-columns:36px minmax(0,1fr) 27px}
 .pwa-install-action{grid-column:2/3;width:max-content;margin-top:1px}
 .pwa-install-close{grid-column:3;grid-row:1;align-self:start}
 .pwa-install-mark{grid-row:1/3}
}

/* Telefon: 16 px zapobiega automatycznemu przybliżaniu strony po wybraniu pola. */
@media(max-width:650px){
 input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea{font-size:16px!important}
}

/* Mobilni pracownicy: desktopowa tabela zmienia się w karty bez przewijania poziomego. */
@media(max-width:650px){
 .role-admin .employees-panel{width:100%;min-width:0;max-width:100%;min-height:0;overflow:hidden;border-radius:13px}
 .role-admin .employees-head{width:100%;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:15px;padding:17px 14px}
 .role-admin .employees-head>div{min-width:0}
 .role-admin .employees-head h1{font-size:25px}
 .role-admin .employees-head p:not(.eyebrow){max-width:100%;overflow-wrap:anywhere;font-size:11px;line-height:1.5}
 .role-admin .employees-head .primary{width:100%;min-height:42px;white-space:normal}
 .role-admin .employees-table{width:100%;min-width:0;max-width:100%;display:grid;gap:10px;padding:10px;overflow-x:hidden}
 .role-admin .employee-table-row.table-header{display:none}
 .role-admin .employee-table-row[data-id]{width:100%;min-width:0;max-width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:13px;border:1px solid #e1e6ed;border-radius:12px;background:#fff;box-shadow:0 3px 12px #27354a0a;font-size:10px}
 .role-admin .employee-table-row[data-id].account-blocked,.role-admin .employee-table-row[data-id].schedule-hidden{background:#fafbfc}
 .role-admin .employee-table-row[data-id]>span{min-width:0;max-width:100%}
 .role-admin .employee-name{grid-column:1/-1;align-items:flex-start;gap:10px;padding-bottom:11px;border-bottom:1px solid #e8ebf0}
 .role-admin .employee-name>.person-avatar{width:39px;height:39px;flex:0 0 39px;font-size:10px}
 .role-admin .employee-name>span{min-width:0;flex:1}
 .role-admin .employee-name>span>b{overflow-wrap:anywhere;font-size:12px;line-height:1.35}
 .role-admin .employee-name>span>small{font-size:10px}
 .role-admin .employee-access-line{width:100%;max-width:100%;gap:6px;margin-top:8px!important}
 .role-admin .employee-access-line>*{max-width:100%}
 .role-admin .employee-worktime-toggle{width:100%;max-width:100%;margin-top:8px;font-size:10px}
 .role-admin .employee-worktime-toggle input{width:1px!important;height:1px!important;margin:0!important;clip-path:inset(50%);overflow:hidden}
 .role-admin .employee-travel-rate-badge,.role-admin .employee-schedule-hidden-badge{max-width:100%;white-space:normal;line-height:1.4}
 .role-admin .employee-edit-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;color:#758093;font-size:10px}
 .role-admin .employee-edit-field::before{grid-column:1/-1;color:#7b8798;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.45px}
 .role-admin .employee-role-field{grid-column:1/-1}
 .role-admin .employee-role-field::before{content:"Stanowisko"}
 .role-admin .employee-target-field::before{content:"Norma"}
 .role-admin .employee-rate-field::before{content:"Stawka / h"}
 .role-admin .employee-overtime-field::before{content:"Nadgodziny"}
 .role-admin .employee-phone-field{grid-column:1/-1}
 .role-admin .employee-phone-field::before{content:"Telefon"}
 .role-admin .employee-table-row[data-id] .employee-edit-field input{width:100%!important;min-width:0;height:42px;padding:0 10px;border-radius:9px}
 .role-admin .employee-row-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:11px;border-top:1px solid #e8ebf0}
 .role-admin .employee-row-actions .employee-account-btn{grid-column:1/-1;width:100%;height:39px;font-size:10px}
 .role-admin .employee-row-actions .save-employee,.role-admin .employee-row-actions .delete-employee{width:100%!important;height:38px;min-width:0;padding:0 8px;font-size:10px!important}
 .role-admin .employee-row-actions .save-employee::after{content:" Zapisz"}
 .role-admin .rates-note{margin:2px 10px 12px;padding:12px;overflow-wrap:anywhere;font-size:10px;line-height:1.5}
 .role-admin .rates-note p{line-height:1.5}
}
@media(max-width:360px){
 .role-admin .employee-table-row[data-id]{grid-template-columns:minmax(0,1fr)}
 .role-admin .employee-role-field,.role-admin .employee-phone-field,.role-admin .employee-name,.role-admin .employee-row-actions{grid-column:1}
}

/* Mobilny grafik administratora: dwa niezależne skróty przy inicjałach pracownika. */
@media(max-width:650px){
 .role-admin .schedule-grid .employee-cell>div{display:contents}
 .role-admin .schedule-grid .employee-cell-heading{display:contents;margin:0}
 .role-admin .schedule-grid .employee-cell-heading>span,.role-admin .schedule-grid .employee-cell>div>.hours,.role-admin .schedule-grid .employee-cell>div>em,.role-admin .schedule-grid .employee-cell>div>.salary{display:none}
 .role-admin .schedule-grid .employee-ledger-link,.role-admin .schedule-grid .employee-sms-link{position:absolute;left:auto;right:1px;width:23px;height:23px;min-width:23px;padding:0;display:grid!important;place-items:center;border:2px solid #fff;border-radius:50%;font-size:0;line-height:1;z-index:3;box-shadow:0 3px 9px #25365a2e;transform:none}
 .role-admin .schedule-grid .employee-sms-link{top:calc(50% - 27px);background:#25966f;color:#fff}
 .role-admin .schedule-grid .employee-sms-link::before{content:"✉";font-size:11px;line-height:1}
 .role-admin .schedule-grid .employee-sms-link.unavailable{display:grid!important;background:#aab2bf;color:#fff;opacity:.82}
 .role-admin .schedule-grid .employee-sms-link.sending::before{content:"…"}
 .role-admin .schedule-grid .employee-ledger-link{top:calc(50% + 4px);background:#5268dc;color:#fff}
 .role-admin .schedule-grid .employee-ledger-link>span{font-size:11px;line-height:1}
 .role-admin .schedule-grid .employee-ledger-link:active,.role-admin .schedule-grid .employee-sms-link:active:not(:disabled){transform:scale(.9)}
 .role-admin .schedule-grid .employee-cell>.person-avatar{position:relative;z-index:1}
}

/* Zaproszenie pracownika do aplikacji z bezpiecznym hasłem startowym. */
.employee-invite-btn{height:32px;flex:0 0 auto;padding:0 8px;border:1px solid #bfded3;border-radius:7px;background:#eef8f4;color:#287a60;font-size:9px;font-weight:800;white-space:nowrap}
.employee-invite-btn:hover{border-color:#91c9b6;background:#e5f5ef;color:#1f684f}
.employee-invite-btn.unavailable{border-color:#dce1e8;background:#f5f6f8;color:#8a94a2}
.employee-invitation-modal{width:min(590px,100%)}
.employee-invitation-person{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #e2e7ee;border-radius:11px;background:#f8f9fc}
.employee-invitation-person .person-avatar{width:40px;height:40px}
.employee-invitation-person strong,.employee-invitation-person small{display:block}
.employee-invitation-person strong{font-size:12px}
.employee-invitation-person small{margin-top:3px;color:#7f8a9a;font-size:10px}
.employee-invitation-person em{padding:5px 8px;border-radius:7px;background:#e6f6ef;color:#277a5e;font-size:9px;font-style:normal;font-weight:900}
.employee-invitation-preview,.employee-invitation-warning{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:13px;border:1px solid;border-radius:10px}
.employee-invitation-preview{border-color:#cddaf4;background:#f3f6ff;color:#3f568f}
.employee-invitation-warning{border-color:#efd2a7;background:#fff8ec;color:#82591d}
.employee-invitation-preview>span,.employee-invitation-warning>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;font-size:15px;font-weight:900}
.employee-invitation-preview>span{background:#dfe7ff;color:#4d62c9}
.employee-invitation-warning>span{background:#ffe8c6;color:#b56c10}
.employee-invitation-preview strong,.employee-invitation-warning strong{font-size:11px}
.employee-invitation-preview p,.employee-invitation-warning p{margin:4px 0 0;font-size:10px;line-height:1.55;overflow-wrap:anywhere}
.employee-invitation-preview b{color:#334b86}
.employee-invitation-security{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:9px;padding:10px 12px;border-radius:9px;background:#eef7f3;color:#4e7465}
.employee-invitation-security>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#dcefe6;font-weight:900}
.employee-invitation-security p{margin:0;font-size:9px;line-height:1.5}
@media(max-width:650px){
 .role-admin .employee-row-actions .employee-invite-btn{grid-column:1/-1;width:100%;height:39px;font-size:10px}
 .employee-invitation-modal footer{display:grid;grid-template-columns:1fr 1.35fr}
 .employee-invitation-modal footer button{min-width:0;padding:0 8px}
 .employee-invitation-preview,.employee-invitation-warning{grid-template-columns:30px minmax(0,1fr);padding:11px}
 .employee-invitation-preview>span,.employee-invitation-warning>span{width:28px;height:28px}
}

/* Konfiguracja bezpiecznej wysyłki e-mail przez SMTP. */
.email-settings-section>header{align-items:center}
.email-settings-section>form{padding:18px;background:linear-gradient(180deg,#fff,#fcfdff)}
.email-config-status{padding:6px 9px;border-radius:8px;background:#eef1f5;color:#768195;font-size:9px;font-style:normal;font-weight:900}
.email-config-status.enabled{background:#e5f5ef;color:#258063}
.email-enable-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #e0e5ec;border-radius:12px;background:#fafbfd}
.email-shield{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#e9edff;color:#4d61d2;font:800 16px Manrope}
.email-enable-row strong,.email-enable-row small{display:block}
.email-enable-row strong{font-size:11px}
.email-enable-row small{margin-top:3px;color:#7c8798;font-size:9px}
.email-provider-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:13px 14px;border:1px solid #dbe1f4;border-radius:11px;background:#f5f7ff}
.email-provider-card>div{display:flex;align-items:center;gap:11px;min-width:0}
.email-provider-card>div>span{min-width:45px;height:34px;display:grid;place-items:center;padding:0 7px;border-radius:9px;background:#dfe5ff;color:#4f63cf;font-size:9px;font-weight:900}
.email-provider-card small,.email-provider-card strong{display:block}
.email-provider-card small{color:#7d88a4;font-size:8px;font-weight:800;letter-spacing:.5px}
.email-provider-card strong{margin-top:2px;font-size:11px;overflow-wrap:anywhere}
.email-provider-card em{color:#5f6f91;font-size:9px;font-style:normal;font-weight:800;text-align:right}
.email-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin-top:16px;padding:16px;border:1px solid #e3e7ee;border-radius:12px;background:#f9fafc}
.email-config-grid label{min-width:0;display:grid;align-content:start;gap:7px;color:#536174;font-size:10px;font-weight:800}
.email-config-grid .settings-field-wide{grid-column:1/-1}
.email-config-grid input,.email-config-grid select{width:100%;min-width:0;height:42px;border:1px solid #dbe1e9;border-radius:9px;background:#fff;color:#293548;padding:0 12px;outline:0;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.email-config-grid input::placeholder{color:#9aa4b1;opacity:1}
.email-config-grid input:hover,.email-config-grid select:hover{border-color:#cbd3df}
.email-config-grid input:focus,.email-config-grid select:focus{border-color:#6578e2;background:#fff;box-shadow:0 0 0 3px #6578e21a}
.email-config-grid label>small{min-height:14px;color:#8a95a5;font-size:9px;font-weight:500;line-height:1.45}
.email-config-grid .sms-token-field{width:100%}
.email-config-grid .sms-token-field input{padding-right:49px}
.email-config-grid .sms-token-field button{top:5px;width:32px;height:32px;border:1px solid #e5e8ee;background:#f5f6f9;color:#6f7b8f;transition:background .16s ease,color .16s ease}
.email-config-grid .sms-token-field button:hover{background:#e9edff;color:#4d61d2}
.email-deliverability-note{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;margin-top:15px;padding:13px 14px;border:1px solid #ead7b6;border-radius:11px;background:#fff9ef;color:#705b39}
.email-deliverability-note>span{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#f6e7c9;color:#906b2d;font-size:9px;font-weight:900}
.email-deliverability-note strong{font-size:10px}
.email-deliverability-note p{margin:4px 0 0;font-size:9px;line-height:1.55}
.email-settings-actions{align-items:center;margin-top:15px;padding-top:15px;border-top:1px solid #e8ebf0}
.email-settings-actions>span{line-height:1.4}
.email-settings-actions button{min-width:145px}
@media(max-width:650px){
 .email-settings-section>form{padding:13px}
 .email-enable-row{grid-template-columns:38px minmax(0,1fr) auto;padding:12px;gap:9px}
 .email-shield{width:36px;height:36px}
 .email-config-grid{grid-template-columns:1fr;gap:13px;padding:12px}
 .email-config-grid .settings-field-wide{grid-column:auto}
 .email-provider-card{align-items:flex-start}
 .email-provider-card em{max-width:42%}
 .email-settings-actions{display:grid;grid-template-columns:1fr 1fr}
 .email-settings-actions>span{grid-column:1/-1}
 .email-settings-actions button{min-width:0;padding:0 8px}
}
@media(max-width:420px){
 .email-enable-row{grid-template-columns:36px minmax(0,1fr)}
 .email-enable-row .settings-switch{grid-column:1/-1;justify-self:end;margin-top:-5px}
 .email-provider-card{display:grid;grid-template-columns:minmax(0,1fr)}
 .email-provider-card em{max-width:none;text-align:left}
 .email-settings-actions{grid-template-columns:1fr}
 .email-settings-actions>span{grid-column:auto}
}

/* Podgląd i świadome potwierdzenie wysyłki SMS lub e-mail. */
.schedule-sms-preview-modal{width:min(760px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column}
.schedule-sms-preview-modal .modal-body{min-height:0;overflow:hidden}
.schedule-message-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.schedule-message-channels>button{display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid #dde3eb;border-radius:11px;background:#fff;color:#28344a;text-align:left}
.schedule-message-channels>button>span{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#eef1f7;color:#5e6b82;font-size:10px;font-weight:900}
.schedule-message-channels>button strong,.schedule-message-channels>button small{display:block}
.schedule-message-channels>button strong{font-size:10px}
.schedule-message-channels>button small{margin-top:3px;color:#7d8797;font-size:8px;line-height:1.35}
.schedule-message-channels>button>i{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-style:normal}
.schedule-message-channels>button.active{border-color:#aebaff;background:#f5f7ff;box-shadow:0 0 0 1px #d4dafd inset}
.schedule-message-channels>button.active>span,.schedule-message-channels>button.active>i{background:#5368df;color:#fff}
.schedule-message-channels>button:disabled{cursor:not-allowed;opacity:.52;background:#f6f7f9}
.schedule-sms-preview-intro{margin:0;color:#657186;font-size:11px;line-height:1.55}
.schedule-sms-preview-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.schedule-sms-preview-summary article{min-width:0;padding:12px 14px;border:1px solid #e0e5ed;border-radius:11px;background:#f8fafc}
.schedule-sms-preview-summary small,.schedule-sms-preview-summary strong,.schedule-sms-preview-summary span{display:block}
.schedule-sms-preview-summary small{font-size:9px;font-weight:900;letter-spacing:.7px}
.schedule-sms-preview-summary strong{margin-top:4px;font:800 21px Manrope;color:#172238}
.schedule-sms-preview-summary span{margin-top:2px;color:#7a8596;font-size:9px}
.schedule-sms-preview-summary .ready{border-color:#cde9df;background:#f0faf6;color:#23815f}
.schedule-sms-preview-summary .skipped{border-color:#eadfca;background:#fffaf0;color:#a26b1f}
.schedule-sms-preview-summary .cost{border-color:#d7ddfb;background:#f4f6ff;color:#5165cf}
.schedule-sms-preview-note{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce3fa;border-radius:10px;background:#f5f7ff;color:#53617c}
.schedule-sms-preview-note>span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#e5eaff;color:#4f63d3;font-size:14px}
.schedule-sms-preview-note p{margin:0;font-size:10px;line-height:1.5}
.schedule-sms-preview-list{min-height:0;max-height:min(390px,43vh);overflow-y:auto;border:1px solid #e3e7ed;border-radius:12px;background:#fff;scrollbar-gutter:stable}
.schedule-sms-preview-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:12px 13px;border-bottom:1px solid #edf0f4}
.schedule-sms-preview-row:last-child{border-bottom:0}
.schedule-sms-preview-row .person-avatar{width:36px;height:36px;font-size:9px}
.schedule-sms-preview-person{min-width:0}
.schedule-sms-preview-person strong,.schedule-sms-preview-person small,.schedule-sms-preview-person p{display:block;max-width:100%;overflow-wrap:anywhere}
.schedule-sms-preview-person strong{font-size:11px}
.schedule-sms-preview-person small{margin-top:2px;color:#7d8797;font-size:9px}
.schedule-sms-preview-person p{margin:5px 0 0;padding:7px 9px;border-radius:7px;background:#f7f8fb;color:#4e5c72;font-size:10px;line-height:1.45}
.schedule-message-subject{display:block;margin-top:7px;color:#35445f;font-size:9px}
.schedule-sms-preview-person p.email-body{white-space:pre-line}
.schedule-sms-preview-row>em{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:8px;font-size:9px;font-style:normal;font-weight:900;white-space:nowrap}
.schedule-sms-preview-row>em i{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-style:normal}
.schedule-sms-preview-row.ready>em{background:#e9f7f1;color:#247b5e}
.schedule-sms-preview-row.ready>em i{background:#ceeadd}
.schedule-sms-preview-row.skipped{background:#fbfbfc}
.schedule-sms-preview-row.skipped .schedule-sms-preview-person p{background:#fff7e9;color:#8f6326}
.schedule-sms-preview-row.skipped>em{background:#fff5e3;color:#96631e}
.schedule-sms-preview-row.skipped>em i{background:#f6dfb8}
.schedule-sms-preview-error{padding:10px 12px;border:1px solid #efc8ce;border-radius:9px;background:#fff2f4;color:#a83243;font-size:10px;line-height:1.5}
.schedule-sms-preview-modal footer{align-items:center;gap:14px}
.schedule-sms-preview-modal footer>span{margin-right:auto;color:#8a5960;font-size:9px;line-height:1.4}
.schedule-sms-preview-modal footer>div{display:flex;align-items:center;gap:8px}
.schedule-sms-confirm{min-width:215px}
@media(max-width:560px){
 .schedule-sms-preview-backdrop{padding:10px}
 .schedule-sms-preview-modal{max-height:calc(100vh - 20px);border-radius:13px}
 .schedule-sms-preview-modal header{padding:17px 16px 13px}
 .schedule-sms-preview-modal h2{font-size:19px}
 .schedule-sms-preview-modal .modal-body{padding:15px 14px;gap:10px}
 .schedule-message-channels{gap:6px}
 .schedule-message-channels>button{grid-template-columns:31px minmax(0,1fr) 18px;gap:7px;padding:9px 8px}
 .schedule-message-channels>button>span{width:30px;height:30px}
 .schedule-message-channels>button strong{font-size:9px}
 .schedule-message-channels>button small{font-size:8px}
 .schedule-sms-preview-summary{gap:6px}
 .schedule-sms-preview-summary article{padding:9px 7px;text-align:center}
 .schedule-sms-preview-summary small{font-size:8px;letter-spacing:.25px}
 .schedule-sms-preview-summary strong{font-size:17px}
 .schedule-sms-preview-summary span{font-size:8px}
 .schedule-sms-preview-list{max-height:min(350px,38vh)}
 .schedule-sms-preview-row{grid-template-columns:36px minmax(0,1fr);gap:9px;padding:11px}
 .schedule-sms-preview-row>em{grid-column:2;justify-self:start;margin-top:-2px}
 .schedule-sms-preview-modal footer{display:grid;grid-template-columns:1fr;padding:11px 14px}
 .schedule-sms-preview-modal footer>span{margin:0}
 .schedule-sms-preview-modal footer>div{display:grid;grid-template-columns:.72fr 1.28fr;width:100%}
 .schedule-sms-preview-modal footer button{min-width:0;padding:0 8px}
}

/* Czytelny raport po zbiorczej wysyłce informacji o zmianie grafiku. */
.schedule-sms-results-modal{width:min(690px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column}
.schedule-sms-results-modal .modal-body{min-height:0;overflow:hidden}
.schedule-sms-results-intro{margin:0;color:#657186;font-size:11px;line-height:1.55}
.schedule-sms-results-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.schedule-sms-results-summary article{min-width:0;padding:12px 14px;border:1px solid;border-radius:11px;background:#f8fafc}
.schedule-sms-results-summary small,.schedule-sms-results-summary strong{display:block}
.schedule-sms-results-summary small{font-size:9px;font-weight:900;letter-spacing:.7px}
.schedule-sms-results-summary strong{margin-top:4px;font:800 23px Manrope}
.schedule-sms-results-summary .sent{border-color:#cde9df;background:#f0faf6;color:#23815f}
.schedule-sms-results-summary .skipped{border-color:#eadfca;background:#fffaf0;color:#a26b1f}
.schedule-sms-results-summary .failed{border-color:#efd2d7;background:#fff5f6;color:#c04455}
.schedule-sms-results-list{min-height:0;max-height:min(390px,45vh);overflow-y:auto;border:1px solid #e3e7ed;border-radius:12px;background:#fff;scrollbar-gutter:stable}
.schedule-sms-result-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:12px 13px;border-bottom:1px solid #edf0f4}
.schedule-sms-result-row:last-child{border-bottom:0}
.schedule-sms-result-row .person-avatar{width:36px;height:36px;font-size:9px}
.schedule-sms-result-person{min-width:0}
.schedule-sms-result-person strong,.schedule-sms-result-person small,.schedule-sms-result-person p{display:block;max-width:100%;overflow-wrap:anywhere}
.schedule-sms-result-person strong{font-size:11px}
.schedule-sms-result-person small{margin-top:2px;color:#7d8797;font-size:9px}
.schedule-sms-result-person p{margin:4px 0 0;color:#667286;font-size:9px;line-height:1.4}
.schedule-sms-result-status{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:8px;font-size:9px;font-style:normal;font-weight:900;white-space:nowrap}
.schedule-sms-result-status i{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-style:normal}
.schedule-sms-result-row.sent .schedule-sms-result-status{background:#e9f7f1;color:#247b5e}
.schedule-sms-result-row.sent .schedule-sms-result-status i{background:#ceeadd}
.schedule-sms-result-row.skipped .schedule-sms-result-status{background:#fff5e3;color:#96631e}
.schedule-sms-result-row.skipped .schedule-sms-result-status i{background:#f6dfb8}
.schedule-sms-result-row.failed .schedule-sms-result-status{background:#fff0f2;color:#b94051}
.schedule-sms-result-row.failed .schedule-sms-result-status i{background:#f3d2d7}
.schedule-sms-results-empty{padding:28px;text-align:center;color:#7d8796;font-size:10px}
.schedule-sms-results-modal footer{align-items:center}
.schedule-sms-results-modal footer>span{margin-right:auto;color:#8993a2;font-size:9px;line-height:1.4}
@media(max-width:460px){
 .schedule-sms-results-backdrop{padding:10px}
 .schedule-sms-results-modal{max-height:calc(100vh - 20px);border-radius:13px}
 .schedule-sms-results-modal header{padding:17px 16px 13px}
 .schedule-sms-results-modal h2{font-size:19px}
 .schedule-sms-results-modal .modal-body{padding:15px 14px;gap:11px}
 .schedule-sms-results-summary{gap:6px}
 .schedule-sms-results-summary article{padding:9px 8px;text-align:center}
 .schedule-sms-results-summary small{font-size:8px;letter-spacing:.3px}
 .schedule-sms-results-summary strong{font-size:19px}
 .schedule-sms-results-list{max-height:min(410px,48vh)}
 .schedule-sms-result-row{grid-template-columns:36px minmax(0,1fr);gap:9px;padding:11px}
 .schedule-sms-result-status{grid-column:2;justify-self:start;margin-top:-2px;padding:4px 7px}
 .schedule-sms-results-modal footer{padding:11px 14px}
 .schedule-sms-results-modal footer>span{font-size:8px;max-width:58%}
}

/* Właściciel i konta administratorów operacyjnych. */
.administrator-settings-section>header{gap:14px;flex-wrap:wrap}
.administrator-settings-section>header .primary{margin-left:auto;white-space:nowrap}
.administrator-permissions-note,.administrator-security-note{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;padding:13px 15px;border:1px solid #d8e1f4;border-radius:11px;background:#f4f7ff;color:#485d8f}
.administrator-permissions-note>span,.administrator-security-note>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e3e9fb;color:#5065c3;font-weight:900}
.administrator-permissions-note strong{font-size:11px}
.administrator-permissions-note p,.administrator-security-note p{margin:4px 0 0;font-size:9px;line-height:1.55}
.administrator-list{display:grid;border:1px solid #e2e7ee;border-radius:12px;overflow:hidden}
.administrator-row{display:grid;grid-template-columns:42px minmax(150px,1.2fr) minmax(170px,1fr) 118px auto;align-items:center;gap:12px;min-width:0;padding:13px 14px;border-bottom:1px solid #e9edf2;background:#fff}
.administrator-row:last-child{border-bottom:0}
.administrator-row.blocked{background:#fafbfc;color:#778292}
.administrator-row.owner{background:linear-gradient(90deg,#f4f6ff,#fff)}
.administrator-row>.avatar{width:39px;height:39px;font-size:10px}
.administrator-row.owner>.avatar{background:#dfe4ff;color:#344ab2;box-shadow:inset 0 0 0 2px #cbd4ff}
.administrator-identity,.administrator-contact,.administrator-state{min-width:0}
.administrator-identity strong,.administrator-identity small,.administrator-contact span,.administrator-contact small,.administrator-state em,.administrator-state b{display:block;overflow-wrap:anywhere}
.administrator-identity strong{font-size:11px}
.administrator-identity small,.administrator-contact small{margin-top:3px;color:#8791a0;font-size:9px}
.administrator-contact span{font-size:10px;font-weight:700}
.administrator-state em{width:max-content;padding:4px 7px;border-radius:7px;font-size:8px;font-style:normal;font-weight:900}
.administrator-state em.active{background:#e7f6ef;color:#26795d}
.administrator-state em.blocked{background:#f0f1f4;color:#777f8c}
.administrator-state b{margin-top:5px;color:#65718a;font-size:8px;letter-spacing:.45px}
.administrator-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.administrator-actions button{height:31px;padding:0 9px;border-radius:7px;font-size:9px;font-weight:800;white-space:nowrap}
.administrator-actions .secondary.lock{color:#9b631b;border-color:#ead5b4;background:#fffaf1}
.administrator-actions .secondary.unlock{color:#28795e;border-color:#c4e1d6;background:#f2faf7}
.administrator-delete{border:1px solid #efcfd4;background:#fff5f6;color:#bd4453}
.administrator-owner-lock{display:flex;align-items:center;justify-content:flex-end;gap:6px;color:#66728a}
.administrator-owner-lock small{font-size:9px;font-weight:800;white-space:nowrap}
.administrator-security-note{grid-template-columns:28px minmax(0,1fr);align-items:center;border-color:#e2e6ec;background:#f8f9fb;color:#697488}
.administrator-security-note>span{width:27px;height:27px;background:#e9edf3;color:#68758a}
.administrator-security-note p{margin:0}
.administrator-modal{width:min(650px,100%)}
.administrator-role-preview{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #d9e1f3;border-radius:11px;background:#f4f7ff}
.administrator-role-preview>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e1e7fb;color:#4b61be;font-size:18px}
.administrator-role-preview strong,.administrator-role-preview small{display:block}
.administrator-role-preview strong{font-size:11px}
.administrator-role-preview small{margin-top:3px;color:#6e7990;font-size:9px}
.administrator-role-preview em{padding:5px 8px;border-radius:7px;background:#dfe6ff;color:#4258b5;font-size:8px;font-style:normal;font-weight:900}
.administrator-confirm-modal{width:min(520px,100%)}
.administrator-confirm-person{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;padding:12px;border:1px solid #e1e6ed;border-radius:11px;background:#f8f9fb}
.administrator-confirm-person>.avatar{width:38px;height:38px;font-size:10px}
.administrator-confirm-person strong,.administrator-confirm-person small{display:block}
.administrator-confirm-person strong{font-size:11px}
.administrator-confirm-person small{margin-top:3px;color:#818c9b;font-size:9px}
.administrator-confirm-info{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:12px;border:1px solid;border-radius:10px}
.administrator-confirm-info>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;font-weight:900}
.administrator-confirm-info p{margin:0;font-size:10px;line-height:1.55}
.administrator-confirm-info.unlock{border-color:#cbe5da;background:#f1faf6;color:#34745e}
.administrator-confirm-info.unlock>span{background:#d9eee5}
.administrator-confirm-info.lock{border-color:#efd2d7;background:#fff6f7;color:#92505a}
.administrator-confirm-info.lock>span{background:#f5dfe2}
@media(max-width:900px){
 .administrator-row{grid-template-columns:42px minmax(0,1fr) 110px}
 .administrator-contact{grid-column:2}
 .administrator-state{grid-column:3;grid-row:1/3}
 .administrator-actions,.administrator-owner-lock{grid-column:1/-1;justify-content:flex-start;padding-top:10px;border-top:1px solid #e8ecf1}
}
@media(max-width:650px){
 .administrator-settings-section>header{align-items:stretch}
 .administrator-settings-section>header .primary{width:100%;margin:0}
 .administrator-row{grid-template-columns:40px minmax(0,1fr);gap:9px;padding:12px}
 .administrator-row>.avatar{grid-row:1/3}
 .administrator-contact{grid-column:2}
 .administrator-state{grid-column:1/-1;grid-row:auto;display:flex;align-items:center;gap:7px}
 .administrator-state b{margin:0}
 .administrator-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .administrator-actions button{width:100%;height:36px}
 .administrator-actions .administrator-delete{grid-column:1/-1}
 .administrator-modal .form-row{grid-template-columns:minmax(0,1fr)}
 .administrator-modal-backdrop,.administrator-access-backdrop,.administrator-delete-backdrop{padding:10px}
 .administrator-modal,.administrator-confirm-modal{max-height:calc(100vh - 20px);overflow-y:auto}
}

/* Instrukcja instalacji PWA dostępna z ekranu logowania. */
.login-form-panel{position:relative;padding-bottom:126px}
.login-pwa-guide-link{position:absolute;left:50%;bottom:30px;width:min(350px,calc(100% - 48px));min-height:64px;display:grid;grid-template-columns:39px minmax(0,1fr) 25px;align-items:center;gap:11px;padding:10px 11px;border:1px solid #dce3f3;border-radius:12px;background:linear-gradient(135deg,#f8f9ff,#f1f4ff);color:#24314a;text-align:left;cursor:pointer;transform:translateX(-50%);transition:.18s border-color,.18s box-shadow,.18s transform}
.login-pwa-guide-link:hover{border-color:#aebbf0;box-shadow:0 9px 25px #4056cf18;transform:translate(-50%,-2px)}
.login-pwa-guide-link:focus-visible{outline:3px solid #596ed72b;outline-offset:2px}
.login-pwa-guide-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#7588ff,#4056cf);box-shadow:0 6px 14px #4056cf30;color:#fff;font:800 21px/1 Manrope}
.login-pwa-guide-copy{min-width:0}.login-pwa-guide-copy strong,.login-pwa-guide-copy small{display:block}.login-pwa-guide-copy strong{font-size:11px}.login-pwa-guide-copy small{margin-top:4px;color:#78849a;font-size:9px;line-height:1.35}.login-pwa-guide-arrow{color:#6677d6;font-size:25px;line-height:1;text-align:center}
.pwa-guide-backdrop{position:fixed;inset:0;z-index:10080;display:grid;place-items:center;padding:22px;background:#10182cb8;backdrop-filter:blur(5px)}
.pwa-guide-modal{width:min(780px,100%);max-height:calc(100vh - 44px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #dfe4ef;border-radius:20px;background:#fff;color:#202b3d;box-shadow:0 30px 90px #07101f66;animation:pwa-guide-in .2s ease-out}
.pwa-guide-modal>header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 21px;border-bottom:1px solid #e8ecf2;background:linear-gradient(135deg,#f8f9ff,#fff)}
.pwa-guide-brand{min-width:0;display:flex;align-items:center;gap:13px}.pwa-guide-brand>span{flex:0 0 auto;width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#7588ff,#4056cf);box-shadow:0 7px 16px #4056cf38;color:#fff;font:800 23px/1 Manrope}.pwa-guide-brand small,.pwa-guide-brand h2{display:block}.pwa-guide-brand small{margin-bottom:4px;color:#6478db;font-size:8px;font-weight:900;letter-spacing:1.25px}.pwa-guide-brand h2{margin:0;font:800 20px/1.15 Manrope}.pwa-guide-modal>header>[data-pwa-guide-close]{flex:0 0 auto;width:34px;height:34px;padding:0;border:1px solid #dfe4ec;border-radius:9px;background:#fff;color:#677387;font-size:21px;line-height:1;cursor:pointer}
.pwa-guide-body{min-height:0;overflow-y:auto;padding:18px 21px}.pwa-detected-platform{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid #d8e6df;border-radius:10px;background:#f2faf6;color:#47725f}.pwa-detected-platform>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#dbeee5;color:#26815e;font-size:12px;font-weight:900}.pwa-detected-platform p{margin:0;font-size:9px;line-height:1.45}.pwa-guide-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}.pwa-guide-tabs button{min-width:0;height:52px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 10px;border:1px solid #dfe4ed;border-radius:10px;background:#fff;color:#677386;font-size:10px;font-weight:800;cursor:pointer}.pwa-guide-tabs button:first-letter{font-weight:900}.pwa-guide-tabs button.active{border-color:#6679e3;background:#eef1ff;color:#4359ce;box-shadow:inset 0 0 0 1px #6679e3}.pwa-guide-tabs button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pwa-guide-content{border:1px solid #e1e6ee;border-radius:13px;overflow:hidden}.pwa-platform-head{display:flex;align-items:center;gap:11px;padding:14px 15px;border-bottom:1px solid #e7eaf0;background:#f8f9fb}.pwa-platform-head>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e6eaff;color:#485ed3;font-size:16px;font-weight:900}.pwa-platform-head strong,.pwa-platform-head small{display:block}.pwa-platform-head strong{font-size:12px}.pwa-platform-head small{margin-top:3px;color:#7e8999;font-size:9px}.pwa-guide-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.pwa-guide-steps article{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;padding:14px 15px;border-bottom:1px solid #edf0f4}.pwa-guide-steps article:nth-child(odd){border-right:1px solid #edf0f4}.pwa-guide-steps article:nth-last-child(-n+2){border-bottom:0}.pwa-guide-steps article>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#edf0ff;color:#4f63cf;font-size:10px;font-weight:900}.pwa-guide-steps strong{display:block;font-size:10px}.pwa-guide-steps p{margin:4px 0 0;color:#758094;font-size:9px;line-height:1.5}.pwa-platform-note{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:9px;padding:11px 14px;border-top:1px solid #dce6f5;background:#f2f6fc;color:#59708f}.pwa-platform-note>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#e0e8f5;font-size:11px;font-weight:900}.pwa-platform-note p{margin:0;font-size:9px;line-height:1.45}.pwa-guide-address{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:13px;padding:10px 12px;border:1px dashed #d5dcea;border-radius:10px;background:#fafbfc}.pwa-guide-address>span{color:#8490a2;font-size:8px}.pwa-guide-address>strong{min-width:0;overflow:hidden;color:#465676;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.pwa-guide-address button{height:28px;padding:0 10px;border:1px solid #dce2ed;border-radius:7px;background:#fff;color:#5063c5;font-size:8px;font-weight:800;cursor:pointer}
.pwa-guide-modal>footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:13px 21px;border-top:1px solid #e5e9ef;background:#fafbfc}.pwa-guide-modal>footer small{margin-right:auto;color:#8892a1;font-size:8px}.pwa-guide-modal>footer button{height:36px;padding:0 14px;border-radius:8px;font-size:9px;font-weight:800;cursor:pointer}.pwa-guide-modal>footer .primary{border:0;background:#5064db;color:#fff}.pwa-guide-install{border:1px solid #c8d2fb;background:#eef1ff;color:#465bc7}.pwa-guide-install.hidden{display:none}@keyframes pwa-guide-in{from{opacity:0;transform:translateY(9px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:760px){.login-form-panel{padding-bottom:122px}}
@media(max-width:650px){
 .pwa-guide-backdrop{padding:8px;place-items:stretch}
 .pwa-guide-modal{width:100%;max-height:calc(100dvh - 16px);margin:auto;border-radius:15px}
 .pwa-guide-modal>header{gap:10px;padding:13px 14px}.pwa-guide-brand{gap:9px}.pwa-guide-brand>span{width:36px;height:36px;border-radius:10px;font-size:19px}.pwa-guide-brand small{font-size:7px;letter-spacing:.8px}.pwa-guide-brand h2{font-size:16px}.pwa-guide-modal>header>[data-pwa-guide-close]{width:31px;height:31px}
 .pwa-guide-body{padding:12px}.pwa-detected-platform{grid-template-columns:25px minmax(0,1fr);gap:8px;padding:8px 9px}.pwa-detected-platform>span{width:24px;height:24px}.pwa-detected-platform p{font-size:8px}
 .pwa-guide-tabs{gap:5px;margin:10px 0}.pwa-guide-tabs button{height:45px;display:grid;gap:2px;padding:4px;font-size:8px}.pwa-guide-tabs button>span{display:block;max-width:100%}
 .pwa-platform-head{gap:9px;padding:11px}.pwa-platform-head>span{width:33px;height:33px}.pwa-platform-head strong{font-size:11px}.pwa-platform-head small{font-size:8px}
 .pwa-guide-steps{grid-template-columns:minmax(0,1fr)}.pwa-guide-steps article{grid-template-columns:27px minmax(0,1fr);gap:8px;padding:11px;border-right:0!important}.pwa-guide-steps article:nth-last-child(2){border-bottom:1px solid #edf0f4}.pwa-guide-steps article>span{width:26px;height:26px}.pwa-guide-steps strong{font-size:9px}.pwa-guide-steps p{font-size:8px}.pwa-platform-note{padding:9px 11px}.pwa-platform-note p{font-size:8px}
 .pwa-guide-address{grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;margin-top:10px;padding:8px 9px}.pwa-guide-address>span{grid-column:1/-1}.pwa-guide-address>strong{font-size:8px}.pwa-guide-address button{height:27px}
 .pwa-guide-modal>footer{padding:10px 12px;flex-wrap:wrap}.pwa-guide-modal>footer small{width:100%;margin:0 0 2px;text-align:center}.pwa-guide-modal>footer button{flex:1}
}
@media(max-width:390px){.login-pwa-guide-link{width:calc(100% - 32px);bottom:22px}.login-form-panel{padding-left:18px;padding-right:18px;padding-bottom:112px}.pwa-guide-brand h2{font-size:14px}.pwa-guide-tabs button{font-size:7px}}

/* Branżowa grafika ekranu logowania. */
.login-brand-panel.login-theme-cleaning{background-image:linear-gradient(100deg,#111a2cf2 0%,#14213ae0 46%,#14213a6e 100%),url('assets/login-themes/cleaning-v1.webp');background-size:cover;background-position:center right}
.login-brand-panel.login-theme-cleaning::after{border-color:#ffffff18;box-shadow:0 0 0 65px #ffffff0a,0 0 0 130px #ffffff06}
.brand-login-preview{height:160px;margin-top:17px;position:relative;display:flex;align-items:flex-end;justify-content:space-between;overflow:hidden;padding:15px;border-radius:13px;background:#17233a;color:#fff;box-shadow:inset 0 0 0 1px #ffffff12}.brand-login-preview.cleaning{background-image:linear-gradient(100deg,#111a2ce8,#17233a6b),url('assets/login-themes/cleaning-v1.webp');background-size:cover;background-position:center 68%}.brand-login-preview.classic{background:linear-gradient(145deg,#111a2c,#283b64)}.brand-login-preview>span{position:relative;z-index:1;display:flex;align-items:baseline}.brand-login-preview b{font:800 18px Manrope}.brand-login-preview small{color:#9cadff;font:800 13px Manrope}.brand-login-preview>em{position:relative;z-index:1;padding:5px 7px;border:1px solid #ffffff26;border-radius:7px;background:#0a10227a;color:#d9e2f5;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.8px;backdrop-filter:blur(4px)}
.login-theme-fieldset{min-width:0;margin:19px 0 0;padding:0;border:0}.login-theme-fieldset>legend{padding:0;color:#3e4a5d;font-size:10px;font-weight:800}.login-theme-fieldset>p{margin:5px 0 11px;color:#8390a2;font-size:8px;line-height:1.5}.login-theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.login-theme-options>label{min-width:0;position:relative;display:grid;grid-template-columns:68px minmax(0,1fr) 22px;align-items:center;gap:9px;padding:8px;border:1px solid #dfe4ed;border-radius:11px;background:#fff;cursor:pointer;transition:.18s border-color,.18s box-shadow}.login-theme-options>label:has(input:checked){border-color:#6478df;box-shadow:0 0 0 2px #6478df1c;background:#f8f9ff}.login-theme-options input{position:absolute;opacity:0;pointer-events:none}.login-theme-card-visual{width:68px;height:55px;position:relative;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#16223a;color:#fff}.login-theme-card-visual.cleaning{background-image:linear-gradient(95deg,#101a2bc7,#17233a3d),url('assets/login-themes/cleaning-v1.webp');background-size:cover;background-position:center 70%}.login-theme-card-visual.classic{background:linear-gradient(145deg,#111a2c,#30456f)}.login-theme-card-visual i{position:relative;z-index:1;width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#5369df;font:800 13px Manrope;font-style:normal}.login-theme-card-visual em{position:absolute;inset:0;background:linear-gradient(180deg,transparent,#0a102238)}.login-theme-options>label>span:nth-of-type(2){min-width:0}.login-theme-options>label b,.login-theme-options>label small{display:block}.login-theme-options>label b{font-size:9px}.login-theme-options>label small{margin-top:3px;color:#8994a4;font-size:7px;line-height:1.35}.login-theme-options>label>strong{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#e5e9f0;color:transparent;font-size:9px}.login-theme-options>label:has(input:checked)>strong{background:#586dda;color:#fff}
@media(max-width:760px){
 .login-theme-body-cleaning .login-form-panel{padding-top:150px}
 .login-theme-body-cleaning .login-form-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:116px;background-image:linear-gradient(90deg,#111a2ce8,#17233a55),url('assets/login-themes/cleaning-v1.webp');background-size:cover;background-position:center 70%;border-bottom:1px solid #dfe4ed}
}
@media(max-width:650px){.login-theme-options{grid-template-columns:minmax(0,1fr)}.brand-login-preview{height:145px}.login-theme-body-cleaning .login-form-panel{padding-top:145px}}

/* Pracownicy na komputerze: tabela wykorzystuje dostępną szerokość bez własnych pasków przewijania. */
@media(min-width:651px){
 .role-admin .employees-panel,.role-admin .employees-table{width:100%;min-width:0;max-width:100%}
 .role-admin .employees-table{overflow:visible;padding:8px 18px 18px}
 .role-admin .employee-table-row{width:100%;min-width:0;grid-template-columns:minmax(0,1.45fr) minmax(0,.95fr) minmax(0,.55fr) minmax(0,.65fr) minmax(0,.65fr) minmax(0,.95fr) minmax(190px,1.45fr);gap:9px}
 .role-admin .employee-table-row>span{min-width:0;max-width:100%}
 .role-admin .employee-name>span{min-width:0}.role-admin .employee-name>span>b,.role-admin .employee-name>span>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .role-admin .employee-edit-field{min-width:0;display:flex;align-items:center;gap:4px;white-space:nowrap}
 .role-admin .employee-table-row .employee-edit-field input,.role-admin .employee-phone-input{width:100%!important;min-width:0!important;max-width:100%}
 .role-admin .employee-row-actions{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:5px}
 .role-admin .employee-row-actions button{width:100%!important;min-width:0;max-width:100%;height:29px;padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}
 .role-admin .employee-row-actions .save-employee{font-size:12px}
}
@media(min-width:651px) and (max-width:1100px){
 .role-admin .content{padding-left:18px;padding-right:18px}
 .role-admin .employee-table-row{grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) minmax(0,.55fr) minmax(0,.65fr) minmax(0,.65fr) minmax(0,.95fr) minmax(150px,1.35fr);gap:6px;padding-left:8px;padding-right:8px}
 .role-admin .employees-table{padding-left:9px;padding-right:9px}
}

/* Moduł pracowników nie może poszerzać obszaru roboczego na komputerze. */
.employee-worktime-toggle{position:relative}
.employee-worktime-toggle input{width:1px!important;height:1px!important;margin:0!important;clip-path:inset(50%);overflow:hidden}
@media(min-width:651px){
 body.role-admin{max-width:100%;overflow-x:hidden;overflow-x:clip}
 .role-admin .workspace,.role-admin .content,.role-admin #moduleView,.role-admin .employees-panel,.role-admin .employees-table{min-width:0;max-width:100%;overflow-x:hidden;overflow-x:clip}
 .role-admin .employees-panel{contain:inline-size}
 .role-admin .employee-table-row{max-width:100%;overflow:hidden}
 .role-admin .employee-table-row>*{min-width:0;max-width:100%}
 .role-admin .employee-row-actions{max-width:100%;overflow:hidden}
}

/* Edycja i podgląd treści strony logowania. */
.brand-login-preview{height:245px;display:block}.brand-login-preview>span{position:absolute;left:15px;top:14px;align-items:baseline}.brand-login-preview>em{position:absolute;right:14px;top:14px}.brand-login-preview-copy{position:absolute;z-index:2;left:15px;right:15px;bottom:15px;max-width:390px;text-shadow:0 2px 10px #08102080}.brand-login-preview-copy>small,.brand-login-preview-copy>strong,.brand-login-preview-copy>p{display:block}.brand-login-preview-copy>small{color:#9cafff;font-size:7px;font-weight:900;letter-spacing:1.1px}.brand-login-preview-copy>strong{margin-top:6px;color:#fff;font:800 18px/1.15 Manrope}.brand-login-preview-copy>p{margin:7px 0 0!important;color:#c0cada!important;font-size:8px!important;line-height:1.5}
.login-copy-settings{margin-top:17px;padding:14px;border:1px solid #e0e5ed;border-radius:12px;background:#fafbfc}.login-copy-settings>header{display:flex;align-items:center;gap:10px;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid #e7eaf0}.login-copy-settings>header>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#e9edff;color:#5367d4;font-size:13px}.login-copy-settings>header strong,.login-copy-settings>header small{display:block}.login-copy-settings>header strong{font-size:10px}.login-copy-settings>header small{margin-top:3px;color:#8994a4;font-size:8px}.login-copy-settings>label{display:grid;gap:6px;margin-top:11px;color:#526073;font-size:9px;font-weight:800}.login-copy-settings input,.login-copy-settings textarea{width:100%;min-width:0;border:1px solid #dfe4eb;border-radius:9px;background:#fff;color:#344154;outline:0;padding:10px 11px;font-size:10px;line-height:1.45;resize:vertical}.login-copy-settings input{height:39px}.login-copy-settings textarea{min-height:78px}.login-copy-settings input:focus,.login-copy-settings textarea:focus{border-color:#6578e2;box-shadow:0 0 0 3px #6578e218}.login-copy-settings label>small{color:#8c97a7;font-size:8px;font-weight:500}
@media(max-width:650px){.brand-login-preview{height:220px}.brand-login-preview-copy>strong{font-size:16px}.login-copy-settings{padding:12px}}

/* Konfigurowalne stawki minimalne używane przy rozliczaniu przejazdów. */
.financial-rate-status{padding:7px 10px;border-radius:8px;background:#e9f6f0;color:#28775d;font-size:9px;font-weight:900}
.financial-settings-body{display:grid;gap:14px;padding:16px}
.financial-rate-current{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:14px;border:1px solid #cfe5db;border-radius:11px;background:#f2faf6}
.financial-rate-current>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#dcefe7;color:#28775d;font:900 20px Manrope}
.financial-rate-current small,.financial-rate-current strong{display:block}.financial-rate-current small{color:#69867a;font-size:8px;font-weight:900;letter-spacing:.5px}.financial-rate-current strong{margin-top:4px;color:#285f4c;font:800 15px Manrope}.financial-rate-current p{margin:4px 0 0;color:#668076;font-size:9px;line-height:1.45}
.financial-rate-history{border:1px solid #e2e6ed;border-radius:11px;overflow:hidden}.financial-rate-history>header,.financial-rate-form>header{padding:12px 14px;border-bottom:1px solid #e7eaf0}.financial-rate-history>header strong,.financial-rate-history>header small,.financial-rate-form>header strong,.financial-rate-form>header small{display:block}.financial-rate-history>header strong,.financial-rate-form>header strong{font-size:10px}.financial-rate-history>header small,.financial-rate-form>header small{margin-top:3px;color:#8994a3;font-size:8px}
.financial-rate-history>article{display:grid;grid-template-columns:110px minmax(150px,1fr) 105px 55px 55px;align-items:center;gap:9px;padding:11px 13px;border-top:1px solid #edf0f4}.financial-rate-history>article:first-of-type{border-top:0}.financial-rate-history article small,.financial-rate-history article strong{display:block}.financial-rate-history article small{color:#8792a1;font-size:8px}.financial-rate-history article strong{margin-top:3px;color:#354154;font-size:11px}.financial-rate-history article p{margin:0;color:#657184;font-size:8px;line-height:1.4}.financial-rate-history article a,.financial-rate-history article>span{color:#5369d5;font-size:8px;text-decoration:none}.financial-rate-history article button{height:29px;border:1px solid #dce1e8;border-radius:7px;background:#fff;color:#59677a;font-size:8px;font-weight:800}.financial-rate-history article .financial-rate-delete{color:#a44d4d}.financial-rate-history article button:disabled{opacity:.45}
.financial-rate-form{padding-bottom:14px;border:1px solid #e2e6ed;border-radius:11px}.financial-rate-form>header{margin-bottom:12px}.financial-rate-form>label,.financial-rate-form>.form-row,.financial-rate-form>.form-error,.financial-rate-form>.settings-actions{margin-left:14px;margin-right:14px}.financial-rate-form>label{display:grid;gap:5px;margin-top:10px;color:#536073;font-size:9px;font-weight:800}.financial-rate-form input{width:100%;height:38px;border:1px solid #dfe4eb;border-radius:9px;padding:0 10px;background:#fff;color:#354154;font-size:10px;outline:0}.financial-rate-form input:focus{border-color:#6578e2;box-shadow:0 0 0 3px #6578e218}.financial-rate-note{display:grid;grid-template-columns:28px 1fr;gap:9px;margin:13px 14px 0;padding:10px 12px;border-radius:9px;background:#eef3f8;color:#617083}.financial-rate-note>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#dfe7ef;font-weight:900}.financial-rate-note p{margin:1px 0 0;font-size:9px;line-height:1.5}
@media(max-width:760px){.financial-rate-history>article{grid-template-columns:1fr auto auto}.financial-rate-history article>div,.financial-rate-history article p,.financial-rate-history article a,.financial-rate-history article>span{grid-column:1/-1}.financial-rate-history article p{margin-top:3px}.financial-rate-history article button{grid-row:4}.financial-rate-history article [data-rate-edit]{grid-column:2}.financial-rate-history article [data-rate-delete]{grid-column:3}}
@media(max-width:520px){.financial-rate-current{grid-template-columns:34px 1fr}.financial-rate-current>span{width:34px;height:34px}.financial-rate-form>.form-row{grid-template-columns:1fr}.financial-settings-body{padding:11px}}
.financial-current-values{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.financial-current-values strong{margin-top:0}.financial-current-values em{display:inline-flex;padding:5px 8px;border-radius:7px;background:#fff;color:#28775d;font-size:9px;font-style:normal;font-weight:900}.financial-current-values em.unavailable{background:#edf1ef;color:#738078;font-weight:700}.financial-rate-behavior{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.financial-rate-behavior article{min-width:0;display:grid;grid-template-columns:27px 1fr;align-items:start;gap:9px;padding:11px;border:1px solid #e1e6ed;border-radius:10px;background:#fafbfc}.financial-rate-behavior article>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#e8ecff;color:#5367d4;font-size:9px;font-weight:900}.financial-rate-behavior strong{display:block;color:#3f4b5e;font-size:9px}.financial-rate-behavior p{margin:4px 0 0;color:#7d8899;font-size:8px;line-height:1.45}.financial-rate-history>article{grid-template-columns:145px minmax(150px,1fr) 105px 55px 55px}.financial-history-net{display:block;margin-top:4px;color:#28775d;font-size:8px;font-weight:800}.financial-history-net.unavailable{color:#8792a1;font-weight:600}.financial-rate-amounts label{display:grid;gap:5px;color:#536073;font-size:9px;font-weight:800}.financial-rate-amounts label>small{color:#8b96a5;font-size:8px;font-weight:500;line-height:1.4}.financial-rate-note strong{color:#536071}.financial-rate-status{white-space:nowrap}
@media(max-width:760px){.financial-rate-behavior{grid-template-columns:1fr}.financial-rate-history>article{grid-template-columns:1fr auto auto}.financial-rate-status{max-width:135px;text-align:center}}
.topbar-utility{flex:0 0 auto;margin-left:auto;display:flex;align-items:center;gap:7px}.app-version-chip{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:39px;height:25px;padding:0 8px;border:1px solid #dfe4ed;border-radius:8px;background:#f5f7fb;color:#687588;font-size:9px;font-weight:900;letter-spacing:.35px}.app-refresh-button{height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid #dce2eb;border-radius:9px;background:#fff;color:#536174;font-size:9px;font-weight:800;transition:border-color .16s ease,background .16s ease,color .16s ease}.app-refresh-button:hover{border-color:#bfc9eb;background:#f4f6ff;color:#4c60ce}.app-refresh-button:focus-visible{outline:3px solid #596ed722;outline-offset:2px}.app-refresh-button:disabled{cursor:wait;opacity:.72}.app-refresh-button>span{display:inline-block;font-size:15px;line-height:1}.app-refresh-button>b{font-size:9px}.app-refresh-button.refreshing>span{animation:app-refresh-spin .75s linear infinite}@keyframes app-refresh-spin{to{transform:rotate(360deg)}}.login-app-version{color:#7e8aa0;font-weight:800;white-space:nowrap}@media(max-width:650px){.topbar-utility{gap:5px}.app-version-chip{min-width:35px;height:23px;padding:0 6px;font-size:8px}.app-refresh-button{width:34px;height:32px;padding:0}.app-refresh-button>b{display:none}.topbar .crumb{margin-left:8px}}

/* Zatwierdzanie czasu wyłącznie do bieżącego dnia. */
.worktime-date-badge{display:inline-flex;align-items:center;margin-left:5px;padding:2px 5px;border-radius:5px;background:#dff3e9;color:#237657;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.45px;vertical-align:1px}
.worktime-actual-date-state,.worktime-future-notice{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;padding:10px 12px;border:1px solid;border-radius:10px}
.worktime-actual-date-state>span,.worktime-future-notice>span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;font-weight:900}
.worktime-actual-date-state p,.worktime-future-notice p{margin:0;font-size:9px;line-height:1.45}.worktime-actual-date-state strong,.worktime-future-notice strong{display:block;margin-bottom:2px}
.worktime-actual-date-state.today,.worktime-actual-date-state.past{border-color:#cce5da;background:#f2faf6;color:#34745d}.worktime-actual-date-state.today>span,.worktime-actual-date-state.past>span{background:#d9eee5}
.worktime-actual-date-state.future,.worktime-future-notice{border-color:#efd9b5;background:#fff9ef;color:#8e6324}.worktime-actual-date-state.future>span,.worktime-future-notice>span{background:#f7e7c9}
.worktime-future-fields{opacity:.62}.worktime-future-fields input:disabled{cursor:not-allowed;background:#f0f2f5;color:#8a93a1}
.worktime-context-future{margin:5px 8px;padding:8px 9px;border:1px solid #efd9b5;border-radius:8px;background:#fff9ef;color:#8e6324;font-size:8px;font-weight:800;line-height:1.4}
.context-menu button:disabled{cursor:not-allowed;opacity:.48}

/* Stanowisko zmiany jest zawsze zgodne z profilem wybranego pracownika. */
.shift-role-readonly{min-height:42px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:7px 11px;border:1px solid #dfe3ea;border-radius:8px;background:linear-gradient(135deg,#f7f8fc,#f1f4fb);box-shadow:inset 3px 0 #6679e3;color:#36445a}
.shift-role-readonly strong{font-size:12px;line-height:1.25}.shift-role-readonly small{color:#7f8a9b;font-size:9px;font-weight:500;line-height:1.3}
@media(max-width:650px){.shift-role-readonly{min-height:45px}.shift-role-readonly strong{font-size:13px}.shift-role-readonly small{font-size:10px}}

/* Stanowisko pracownika jest przypisywane przy tworzeniu profilu i tylko wyświetlane na liście. */
.employee-role-value{width:100%;min-width:0;min-height:32px;display:flex;align-items:center;padding:0 10px;border:1px solid #dfe4ef;border-radius:8px;background:linear-gradient(135deg,#f6f8ff,#eef2ff);color:#4659bd;font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:650px){.role-admin .employee-role-value{min-height:42px;font-size:11px;white-space:normal;overflow-wrap:anywhere}}

/* Edycja imienia, nazwiska i stanowiska w osobnym, czytelnym oknie. */
.edit-employee-profile{height:32px;border:1px solid #d7def6;border-radius:7px;background:#f5f7ff;color:#485cc4;font-size:9px;font-weight:800;white-space:nowrap}.edit-employee-profile:hover{border-color:#aebbea;background:#edf1ff}.employee-identity-modal{width:min(520px,100%)}.employee-identity-summary{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:12px;border:1px solid #e1e6ef;border-radius:11px;background:linear-gradient(135deg,#f7f8fc,#f1f4ff)}.employee-identity-summary .person-avatar{width:40px;height:40px;font-size:11px}.employee-identity-summary strong,.employee-identity-summary small{display:block}.employee-identity-summary strong{font-size:12px}.employee-identity-summary small{margin-top:3px;color:#7c8798;font-size:9px;line-height:1.45}.employee-identity-info{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;padding:10px 12px;border-radius:9px;background:#eef4ff;color:#50617c}.employee-identity-info>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#dce6ff;color:#4c62ca;font-weight:900}.employee-identity-info p{margin:0;font-size:9px;line-height:1.5}
@media(max-width:650px){.role-admin .employee-row-actions .edit-employee-profile{grid-column:1/-1;width:100%;height:39px;font-size:10px}.employee-identity-modal footer{display:grid;grid-template-columns:1fr 1.25fr}.employee-identity-modal footer button{min-width:0}}

/* Podgląd polityki prywatności i regulaminu bez opuszczania strony logowania. */
.login-legal-modal-backdrop{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(11,19,35,.72);backdrop-filter:blur(5px);animation:loginLegalFadeIn .18s ease}.login-legal-modal{width:min(980px,100%);height:min(860px,calc(100dvh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(217,225,239,.9);border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(7,15,30,.36);animation:loginLegalSlideIn .2s ease}.login-legal-modal>header{min-height:70px;display:flex;align-items:center;gap:13px;padding:13px 16px 13px 19px;border-bottom:1px solid #e1e6ef;background:#fff}.login-legal-modal-mark{width:39px;height:39px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:linear-gradient(145deg,#6579ff,#4559df);color:#fff;font:800 19px Manrope,Inter,sans-serif;box-shadow:0 7px 18px rgba(77,96,223,.25)}.login-legal-modal-title{min-width:0;display:grid;gap:2px}.login-legal-modal-title small{color:#69768b;font-size:9px;font-weight:800;letter-spacing:.09em}.login-legal-modal-title h2{margin:0;overflow:hidden;color:#172033;font:800 17px/1.3 Manrope,Inter,sans-serif;text-overflow:ellipsis;white-space:nowrap}.login-legal-modal-close{width:40px;height:40px;display:grid;place-items:center;margin-left:auto;flex:0 0 auto;border:1px solid #dfe5ee;border-radius:11px;background:#f7f9fc;color:#5d6a7d;font-size:24px;line-height:1;cursor:pointer}.login-legal-modal-close:hover{border-color:#c9d2e1;background:#eef2f8;color:#243047}.login-legal-modal-content{position:relative;min-height:0;background:#eef2f8}.login-legal-modal-loader{position:absolute;inset:0;z-index:1;display:grid;place-content:center;justify-items:center;gap:10px;background:#eef2f8;color:#69768b;font-size:11px;font-weight:700;transition:opacity .18s ease}.login-legal-modal-loader::before{content:"";width:28px;height:28px;border:3px solid #d3dbec;border-top-color:#5067ef;border-radius:50%;animation:loginLegalSpin .7s linear infinite}.login-legal-modal-loader.loaded{opacity:0;pointer-events:none}.login-legal-modal-frame{width:100%;height:100%;display:block;border:0;background:#eef2f8}.login-legal-modal>footer{min-height:56px;display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid #e1e6ef;background:#fff}.login-legal-modal>footer p{margin:0 auto 0 0;color:#758196;font-size:10px;line-height:1.4}.login-legal-modal-dismiss{min-width:104px;height:36px;padding:0 17px;border:0;border-radius:9px;background:#4f63e7;color:#fff;font-size:10px;font-weight:800;cursor:pointer}.login-legal-modal-dismiss:hover{background:#4054d2}.login-legal-modal-backdrop.closing{opacity:0;transition:opacity .15s ease}.login-legal-modal-backdrop.closing .login-legal-modal{transform:translateY(7px) scale(.99);opacity:0;transition:transform .15s ease,opacity .15s ease}body.login-legal-modal-open{overflow:hidden}@keyframes loginLegalFadeIn{from{opacity:0}}@keyframes loginLegalSlideIn{from{opacity:0;transform:translateY(12px) scale(.985)}}@keyframes loginLegalSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){.login-legal-modal-backdrop{padding:0;place-items:stretch}.login-legal-modal{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.login-legal-modal>header{min-height:64px;padding:10px 11px 10px 14px}.login-legal-modal-mark{width:36px;height:36px;border-radius:10px;font-size:17px}.login-legal-modal-title h2{font-size:15px}.login-legal-modal>footer{min-height:58px;padding:9px 12px}.login-legal-modal>footer p{font-size:9px}.login-legal-modal-dismiss{height:39px}}@media(max-width:430px){.login-legal-modal>footer p{display:none}.login-legal-modal-dismiss{width:100%}}@media(prefers-reduced-motion:reduce){.login-legal-modal-backdrop,.login-legal-modal,.login-legal-modal-loader::before{animation:none}}
