/* Personel PDKS · Corporate workspace */
:root{--ink:#182740;--muted:#64748b;--blue:#315de8;--line:#e4eaf3;--teal:#087c83;color:var(--ink)}
body{background:#f3f6fb;color:var(--ink)}
.app-shell{grid-template-columns:248px minmax(0,1fr)}
.sidebar{background:linear-gradient(165deg,#172744,#101c32 78%);padding:28px 16px;display:flex;flex-direction:column;border-right:1px solid #233553}
.sidebar .brand{display:flex;align-items:center;gap:10px;padding:0 10px 34px;font-size:23px;letter-spacing:-.7px}.brand-mark{display:grid;place-items:center;width:40px;height:44px;background:linear-gradient(145deg,#5b80ff,#315de8);border-radius:13px;color:white;box-shadow:0 5px 20px #315de83d;font-size:28px}.brand-sub{display:block;font-size:8px;letter-spacing:1.1px;font-weight:600;color:#a9b9d4;margin-top:4px}.nav-label{font-size:9px;letter-spacing:1.8px;color:#8ca0c1;padding:0 14px 12px}.nav{gap:7px}.nav button{display:flex;align-items:center;gap:12px;min-height:46px;font-size:13px;font-weight:550;color:#b9c7df;transition:background .15s}.nav-icon{font-size:21px;width:23px;text-align:center;line-height:1;color:#92a8cc}.nav button.active{background:#315de8;color:#fff;box-shadow:0 5px 18px #0a153b33}.nav button.active .nav-icon{color:#fff}.nav button:hover:not(.active){background:#223655}.sidebar-foot{margin-top:auto;padding:32px 12px 0;font-size:10px;color:#a9b9d4;line-height:1.8}.sidebar-foot small{display:block;margin-top:10px;color:#91a4c2}.foot-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#59d1be;margin-right:6px}
.main{padding:28px 32px 40px;max-width:2100px;width:100%;margin:auto}.topbar{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}.topbar h1{font-size:28px;letter-spacing:-.7px;line-height:1.4}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:750;color:#677e9e;margin-bottom:5px}#adminName{margin-top:5px}.btn{background:var(--blue);font-size:12px;border-radius:9px;min-height:40px;transition:background .15s,box-shadow .15s}.btn:not(.secondary):not(.danger):hover{box-shadow:0 4px 12px #315de82b}.btn.secondary{background:#fff;color:#425773;border:1px solid #dce4ef}.btn.danger{border:1px solid #ffd7d2}.btn:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #81a2ff;outline-offset:3px}input[type=checkbox]{accent-color:var(--blue)}.card{border:1px solid var(--line);border-radius:15px;box-shadow:0 4px 16px #24365c04}.panel{padding:22px;margin-top:18px}.panel-head{gap:16px}.panel-head h2{font-size:16px;letter-spacing:-.2px}.muted{color:#61728b}.report-note{font-size:12px;line-height:1.8}.toolbar input,.toolbar select{font-size:12px;min-height:40px;color:#314967}.field label{color:#4f627c;font-size:12px}.field input,.field select{font-size:13px;min-height:42px;border-color:#dce4ee;border-radius:9px}.stats{gap:14px;margin:22px 0}.stat{position:relative;overflow:hidden;padding:23px 18px 19px;border-top:3px solid #315de8}.stat:after{content:'';position:absolute;width:65px;height:65px;background:#315de808;border-radius:50%;right:-14px;top:-15px}.stat .n{font-size:32px;letter-spacing:-1px;color:#284caa}.stat .t{font-size:11px;margin-top:8px;color:#5c6f8d}.stat:nth-child(2){border-top-color:#0b968c}.stat:nth-child(2) .n{color:#087d75}.stat:nth-child(3){border-top-color:#e5a046}.stat:nth-child(3) .n{color:#b57a27}.stat:nth-child(4){border-top-color:#9666d0}.stat:nth-child(4) .n{color:#7950b3}.stat:nth-child(5){border-top-color:#399bc2}.stat:nth-child(5) .n{color:#28789a}.stat:nth-child(6){background:#172c4e;border-top-color:#6b91ff}.stat:nth-child(6) .n{color:#fff}.stat:nth-child(6) .t{color:#b9cbed}.payroll-stats .payroll-money{font-size:18px;letter-spacing:-.6px}.payroll-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.table-wrap{border-color:var(--line);border-radius:10px}th{background:#f3f6fc;color:#6a7d99;font-size:10px;font-weight:750;letter-spacing:.6px;padding:15px 14px}td{padding:15px 14px;font-size:12px;border-color:#edf1f7}tbody tr:hover{background:#f8faff}.actions button{background:#edf2fd;color:#3158a5;font-size:11px;padding:8px 12px}.badge{font-size:10px;font-weight:650;padding:5px 9px}.badge.ok{background:#e7f7f1;color:#157761}.badge.warn{background:#fff3dd;color:#9b650c}.badge.bad{background:#fcece9;color:#b54c42}.payroll-table td:first-child{font-weight:650}.payroll-table .money-input{width:112px;padding:9px 8px;font-size:12px;font-variant-numeric:tabular-nums}.payroll-table .payable-input{background:#f0f7fc;border-color:#bed6ee;font-weight:700;color:#235887}.payroll-table .earned{color:#087d75}.payroll-table .earned .small{font-size:10px;margin-top:5px}.payroll-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;background:#f6f8fc;border:1px solid var(--line);padding:16px;border-radius:12px;margin-top:18px}.payroll-filters .field{margin:0;flex:1 1 200px}.payroll-filters .small{padding:12px 0}.payroll-payment-date{background:#edf3ff;border:0;color:#355d9f;font-size:12px}.payroll-detail{font-size:11px}.payroll-settings{border-left:3px solid #6387ed}.attendance-actions .att-save{background:var(--blue)}
.welcome-panel{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#edf3ff,#f2f8fb);border-radius:12px;padding:32px 36px;gap:24px}.welcome-panel h2{font-size:28px;line-height:1.4;letter-spacing:-.7px;color:#233d66;margin:12px 0}.welcome-panel p{max-width:470px;font-size:13px;line-height:1.8;color:#67809c;margin-bottom:0}.welcome-symbol{flex-shrink:0;display:grid;place-items:center;background:linear-gradient(140deg,#315de8,#277cba);color:white;width:112px;height:124px;border-radius:25px;font-size:70px;font-weight:800;box-shadow:0 20px 32px #315de82a;transform:rotate(-7deg);line-height:1}.welcome-symbol span{font-size:10px;letter-spacing:4px;align-self:start}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.quick-links button{border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left;padding:17px 14px;font-size:12px;color:#425e86;font-weight:650;display:flex;justify-content:space-between;gap:8px}.quick-links button span{color:var(--blue)}
.week-summary{display:flex;flex-wrap:wrap;gap:5px;max-width:630px;min-width:380px}.day-chip{display:flex;gap:6px;padding:6px 8px;border:1px solid #dce6fa;border-radius:7px;background:#f2f6ff;color:#385b99;font-size:10px}.day-chip.off{background:#f5f6f8;color:#7c899b;border-color:#e6eaf0}.day-chip b{min-width:23px}.week-heading,.week-row{display:grid;grid-template-columns:minmax(120px,1.3fr) minmax(85px,1fr) 12px minmax(85px,1fr) 55px;gap:8px;align-items:center}.week-heading{font-size:10px;color:#69809d;padding:10px 12px}.week-row{padding:10px 12px;border:1px solid #e4eaf4;margin-bottom:6px;border-radius:9px;background:#f8faff}.week-row.day-off{background:#f5f6f8}.day-toggle{font-size:12px;display:flex;align-items:center;gap:7px;font-weight:650}.week-row input[type=time]{min-width:0;width:100%;padding:8px 5px;border:1px solid #d7e0ee;border-radius:7px;font-size:12px;color:#29476f}.week-row input:disabled{color:#96a2b3;background:#eef1f5}.day-state{font-size:10px;color:#315de8}.day-off .day-state{color:#8795a9}dialog{border:1px solid #dee7f5;max-height:calc(100dvh - 32px)}dialog::backdrop{background:#11264485;backdrop-filter:blur(3px)}.dialog-head{padding-bottom:15px;border-bottom:1px solid var(--line)}.dialog-actions{padding-top:15px;border-top:1px solid var(--line)}
@media(min-width:1600px){.payroll-stats{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1200px){.main{padding:24px 20px}.stats:not(.payroll-stats){grid-template-columns:repeat(3,minmax(0,1fr))}.panel-head{flex-wrap:wrap}}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:16px}.sidebar .brand{padding:0 8px 14px;font-size:21px}.nav-label,.sidebar-foot{display:none}.nav{display:flex;overflow-x:auto;padding:4px 0;gap:6px;scrollbar-width:thin}.nav button{flex-shrink:0;text-align:left;font-size:11px;min-height:40px;padding:8px 12px;gap:7px}.nav-icon{font-size:18px;width:17px}.main{padding:22px 16px}.topbar{margin-bottom:20px}.topbar h1{font-size:25px}.panel{padding:17px}.welcome-panel{padding:24px}.payroll-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.stats:not(.payroll-stats),.payroll-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:18px 12px}.stat .n{font-size:27px}.payroll-stats .payroll-money{font-size:17px}.panel-head .toolbar{width:100%}.panel-head .toolbar .btn{flex:1 1 auto}.payroll-settings-grid{grid-template-columns:1fr}.quick-links{grid-template-columns:1fr}.welcome-panel{padding:24px 20px}.welcome-panel h2{font-size:24px}.welcome-symbol{display:none}.week-heading,.week-row{grid-template-columns:105px minmax(67px,1fr) 8px minmax(67px,1fr);gap:4px;padding:8px}.week-heading>:last-child,.day-state{display:none}.dialog-body{padding:16px}.payroll-filters{padding:12px}.payroll-filters .field{flex-basis:100%}.payroll-filters .btn{flex:1}.topbar .eyebrow{font-size:8px}.payroll-payment-date{display:flex;flex-wrap:wrap}.panel{padding:14px}.report-pagination{font-size:12px}.payroll-stats .stat{min-width:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.nav-icon{display:inline-flex;align-items:center;justify-content:center}
