.monthly-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:8px 0 20px}.monthly-toolbar>p{font-size:11px;margin:0}.monthly-toolbar .toolbar{margin:0;gap:8px}.monthly-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 26px}.monthly-kpis>div{background:#fff;border:1px solid #dce4ef;border-radius:13px;padding:19px 21px;min-width:0}.monthly-kpis b{display:block;font-size:28px;line-height:1.2;color:#173e75;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.monthly-kpis span{display:block;font-size:11px;color:#74829a;margin-top:8px}.monthly-people-table{min-width:860px}.monthly-people-table tr[data-monthly-row]{cursor:pointer}.monthly-people-table tr[data-monthly-row]:hover{background:#f8fbff}body[data-screen="panel"] td .monthly-name{display:inline-block;background:transparent;color:#1e365b;font-size:13px;font-weight:700;padding:0;min-height:28px;text-align:left;margin:0;white-space:normal}.monthly-name:hover{text-decoration:underline}.monthly-name:focus-visible{outline:2px solid #7299cc;outline-offset:3px}.monthly-status{display:inline-block;padding:6px 10px;border-radius:20px;font-size:10px;font-weight:750;background:#fff2d7;color:#8a6426}.monthly-status.is-verified{background:#e6effc;color:#214e87}.monthly-empty{background:#fff;border:1px solid #dce4ef;border-radius:13px;padding:25px}.monthly-empty h2{margin-top:0;font-size:17px!important}.monthly-empty p{font-size:13px;margin-bottom:0;color:#74829a}.monthly-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.monthly-dialog{padding:0;border:1px solid #d2deed;border-radius:18px;width:min(1240px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);color:#2b4162;background:#f7f9fc;box-shadow:0 24px 90px #0e244f40;overflow:auto}.monthly-dialog::backdrop{background:#102a527d;backdrop-filter:blur(2px)}.monthly-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:23px 28px 20px;background:#fff;border-bottom:1px solid #e0e7f1;position:sticky;top:0;z-index:2}.monthly-eyebrow{font-size:10px;color:#7689a3;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.monthly-dialog h2{font-size:24px!important;margin:7px 0 5px;color:#18395f;overflow-wrap:anywhere}.monthly-dialog-header p{margin:0;color:#74839a;font-size:12px;text-transform:none}.monthly-dialog .monthly-close{font-size:23px!important;line-height:1;padding:5px 12px!important;min-width:38px;min-height:38px!important;flex-shrink:0;margin:0!important}.monthly-dialog-body{padding:23px 28px 28px}.monthly-dialog p{font-size:12px;line-height:1.65}.monthly-dialog small{font-size:10px}.monthly-verification{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fff7e7;border:1px solid #e9d7b5;border-radius:12px;padding:16px 18px}.monthly-verification b{font-size:13px;color:#795722}.monthly-verification p{margin:5px 0 0;color:#8a7655}.monthly-verification.is-verified{background:#edf3fd;border-color:#cfdef3}.monthly-verification.is-verified b{color:#315585}.monthly-verification.is-verified p{color:#6b83a4}.monthly-verification button{flex-shrink:0}.monthly-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 10px}.monthly-detail-kpis>div{padding:16px 18px}.monthly-detail-kpis b{font-size:24px}.monthly-day-count{color:#73849b;margin:12px 0 20px}.monthly-days-heading{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:20px 0 12px}.monthly-days-heading h3{font-size:15px;color:#34567d;flex:1;margin:0;min-width:180px}.monthly-days-heading .button{font-size:10px!important;min-height:34px!important;padding:9px 12px!important}.monthly-days-table{min-width:1030px}.monthly-dialog .monthly-days-table th{font-size:9px!important;padding:12px!important}.monthly-dialog .monthly-days-table td{padding:12px!important;font-size:11px!important}.monthly-days-table td:nth-child(2),.monthly-days-table td:nth-child(3),.monthly-days-table td:nth-child(4),.monthly-days-table td:nth-child(5){font-variant-numeric:tabular-nums}.monthly-days-table td:last-child button{white-space:nowrap}.monthly-dialog-notice{padding:14px 17px;border:1px solid #cadbf0;border-radius:10px;background:#edf4ff;color:#315585;font-size:12px;line-height:1.6;margin:0 0 17px;white-space:pre-wrap;overflow-wrap:anywhere}.monthly-dialog-notice.is-error{background:#fff2df;border-color:#ebd4ac;color:#855c21}.monthly-dialog-notice button{margin-top:10px}.monthly-edit-panel{background:#fff;border:1px solid #9fb9db;border-radius:13px;padding:21px;margin:20px 0}.monthly-edit-panel h3{font-size:17px;margin:0 0 7px;color:#24456e}.monthly-edit-panel h3:focus{outline:none}.monthly-edit-panel>p{color:#73849b;margin:0 0 17px}.monthly-edit-panel form{max-width:none}.monthly-edit-panel label{font-size:12px;color:#405875}.monthly-slot-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.monthly-slot-fields label{margin-top:0}.monthly-edit-panel textarea{font-size:13px;line-height:1.6;margin-top:7px;color:#263e5f;border-color:#ccd8e8;resize:vertical;min-height:75px}.monthly-optional{font-weight:450;color:#7b8ca3}.monthly-edit-help{font-size:11px!important;color:#73849b}.monthly-original-marks{font-size:11px;color:#7085a0;padding-top:9px}.monthly-original-marks summary{font-weight:600;cursor:pointer;width:fit-content}.monthly-original-marks li{padding:4px 0}.monthly-edit-panel .toolbar{margin-bottom:0}.monthly-dialog button:focus-visible,.monthly-dialog a:focus-visible{outline:2px solid #7299cc;outline-offset:3px}
@media(max-width:800px){.monthly-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:13px}.monthly-dialog-header{padding:19px 18px 17px}.monthly-dialog h2{font-size:20px!important}.monthly-dialog-body{padding:18px}.monthly-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-verification{align-items:flex-start;flex-direction:column;gap:12px}.monthly-verification button{width:100%}.monthly-slot-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-toolbar{align-items:flex-start;flex-direction:column}.monthly-kpis>div{padding:16px}.monthly-kpis b{font-size:24px}.monthly-kpis span{font-size:10px}}
@media(max-width:500px){.monthly-kpis:not(.monthly-detail-kpis){grid-template-columns:1fr}.monthly-kpis:not(.monthly-detail-kpis)>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 17px}.monthly-kpis:not(.monthly-detail-kpis) span{margin-top:0;text-align:right}.monthly-toolbar .toolbar{width:100%}.monthly-toolbar .button{flex:1;text-align:center}.monthly-detail-kpis{gap:9px}.monthly-detail-kpis>div{padding:13px}.monthly-detail-kpis b{font-size:21px}.monthly-slot-fields{gap:10px}.monthly-edit-panel{padding:16px}.monthly-edit-panel .toolbar button{flex:1}}

.monthly-people-table{min-width:1030px}
.monthly-people-table td:nth-child(n+2):nth-child(-n+5){font-variant-numeric:tabular-nums}
.monthly-hours-status,.monthly-day-status{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:8px;font-size:10px;font-weight:700;line-height:1.45;background:#fff1d9;color:#825a1d;white-space:normal}
.monthly-hours-status.is-ok,.monthly-day-status.is-ok{background:#e7f4ed;color:#176240;border:1px solid #bddfcb}
.monthly-hours-status.is-open,.monthly-day-status.is-open{background:#edf0f5;color:#63748c}
.monthly-hours-status.is-review{background:#fff1d9;color:#825a1d}
.monthly-month-total{margin:19px 0 0;padding:19px 20px 14px;border:1px solid #d8e3f0;border-radius:13px;background:#fff}
.monthly-total-heading{display:flex;gap:15px;justify-content:space-between;align-items:center}
.monthly-total-heading h3{margin:0;font-size:16px;color:#23466f}
.monthly-month-total .monthly-detail-kpis{margin:16px 0 10px;gap:10px}
.monthly-month-total .monthly-detail-kpis>div{padding:15px;background:#f4f7fc;border:0;border-radius:9px}
.monthly-hours-help,.monthly-week-help{color:#74849a;font-size:11px!important;margin:10px 0 0;line-height:1.6!important}
.monthly-week-help{margin:0 0 17px}
.monthly-week{background:#fff;border:1px solid #d5e1ef;border-radius:13px;margin:0 0 22px;overflow:hidden}
.monthly-week-header{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:17px 20px 13px;background:#edf3fb;border-bottom:1px solid #dde7f4}
.monthly-week-header h4{font-size:14px;color:#22466f;margin:0;line-height:1.55}
.monthly-week-header h4 span{display:inline-block;font-size:12px;font-weight:500;margin-left:13px;color:#4d6688}
.monthly-week-header p{font-size:10px!important;color:#71839c;margin:3px 0 0}
.monthly-week-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:14px 20px 16px;gap:16px;border-bottom:1px solid #e3e9f2}
.monthly-week-totals>div{min-width:0}
.monthly-week-totals dt{font-size:10px;color:#71839a;margin-bottom:5px}
.monthly-week-totals dd{margin:0;font-size:18px;font-weight:750;font-variant-numeric:tabular-nums;color:#24476f;overflow-wrap:anywhere}
.monthly-week .table-wrap{border:0;border-radius:0;margin:0}
.monthly-days-table{min-width:1110px}
.monthly-days-table td{vertical-align:top}
.monthly-days-table td:nth-child(8){min-width:165px;max-width:210px}
.monthly-days-table .monthly-day-hours{min-width:95px;font-variant-numeric:tabular-nums}
.monthly-days-table .monthly-day-hours b{color:#24476f}
.monthly-day-status{display:table;width:fit-content;margin:0 0 4px}
.monthly-day-status.is-vacation{background:#e8edfa;color:#45599a}
.monthly-day-status.is-medical{background:#e6f2f6;color:#2d6c7b}
.monthly-day-status.is-justified{background:#eaf1fd;color:#345d99}
.monthly-day-status.is-absence{background:#fdecec;color:#a03f40}
.monthly-day-row.is-absence{background:#fffafa}
.monthly-day-row.is-vacation{background:#fbfbff}
.monthly-day-row.is-medical{background:#fbfefe}
.monthly-day-row.is-justified{background:#fafcff}
.monthly-day-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:125px}
.monthly-justify-link{font-size:10px;font-weight:650;color:#315f97;text-decoration:underline;text-underline-offset:3px}
.monthly-justify-link:hover{color:#173e75}
.monthly-day-reason{font-size:10px;line-height:1.5;margin-top:7px;color:#5c7492;overflow-wrap:anywhere}
.monthly-day-reason summary{cursor:pointer;font-weight:600}
.monthly-day-reason p{font-size:10px!important;margin:5px 0 0;white-space:pre-wrap}
.monthly-adjusted-note{color:#617e9f}
.monthly-verification .button{flex-shrink:0;font-size:11px;text-align:center}
@media(max-width:800px){
  .monthly-month-total{padding:16px}
  .monthly-month-total .monthly-detail-kpis>div{padding:13px}
  .monthly-week-header{padding:15px 16px 12px}
  .monthly-week-header h4 span{display:block;margin-left:0}
  .monthly-week-totals{padding:13px 16px;gap:10px}
  .monthly-week-totals dd{font-size:17px}
  .monthly-verification .button{width:100%}
}
@media(max-width:500px){
  .monthly-total-heading{align-items:flex-start}
  .monthly-week-header{align-items:flex-start}
  .monthly-week-header .monthly-hours-status{max-width:135px}
  .monthly-week-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .monthly-hours-help{font-size:10px!important}
}

.monthly-day-status.is-calendar{background:#e7effb;color:#234d80}
.calendar-day-note{font-size:11px;line-height:1.5;margin-top:8px;color:#486686;max-width:340px;overflow-wrap:anywhere}
.calendar-day-note summary{cursor:pointer;font-weight:650}
.calendar-day-note p{font-size:11px!important;margin:6px 0 0;white-space:pre-wrap}

.monthly-days-table .daily-punch-alert{display:block;margin-top:4px;font-size:10px;font-weight:750;line-height:1.4;color:#b4232f;white-space:normal}
.monthly-day-actions .monthly-review-button{background:#e7eef9;color:#234b7c;border:1px solid #d5e1f2;border-radius:7px;padding:7px 9px;font-size:10px;line-height:1.4;min-height:32px;text-align:left}
.monthly-day-actions .monthly-review-button.has-warning{background:#fff4df;color:#875d20;border-color:#efd9b3}
.monthly-review-panel .day-occurrences{background:#f5f8fd;border:1px solid #d7e3f2;border-radius:9px;padding:14px 16px;margin:12px 0 16px}
.monthly-review-panel .day-occurrences.has-warning{background:#fff9ed;border-color:#efd9b3}
.monthly-review-panel .day-occurrences h3{font-size:13px;margin:0 0 7px}
.monthly-review-panel .day-occurrences ul{margin:8px 0;padding-left:20px;font-size:12px;line-height:1.65}
.monthly-review-panel .day-occurrences p{margin:8px 0}
.monthly-review-panel .day-leave-periods span,.monthly-review-panel .day-leave-periods small{display:block}
.monthly-review-existing{background:#edf4ff;border:1px solid #d5e2f3;padding:12px 15px;border-radius:9px;margin:12px 0}
.monthly-review-existing b{font-size:12px;color:#315585}.monthly-review-existing p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}

.monthly-day-actions .monthly-medical-button{background:transparent;color:#315585;border:0;padding:3px 0;min-height:25px;font-size:10px;line-height:1.4;text-align:left;text-decoration:underline;text-underline-offset:2px}
.monthly-medical-period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.monthly-medical-panel select,.monthly-medical-panel input{font-size:13px;margin-top:7px;color:#263e5f;border-color:#ccd8e8}
.monthly-medical-panel input[type="file"]{background:#f6f9fd;padding:11px;border:1px dashed #b6c9e0;border-radius:8px;max-width:100%}
.monthly-medical-panel>p b{font-weight:650;color:#315585}
@media(max-width:500px){.monthly-medical-period{grid-template-columns:1fr;gap:0}}

#monthlyEditTitle{scroll-margin-top:130px}

body[data-screen="panel"] .monthly-day-status.is-lateness-confirmed{background:var(--ui-success-bg,#e8f6ef);color:var(--ui-success-text,#276846);border-color:var(--line,#cbdce4)}
body[data-screen="panel"] :is(main,dialog) button.monthly-lateness-button{display:inline-block;min-height:28px!important;margin:0;padding:5px 7px!important;border:1px solid var(--line,#cbdce4);border-radius:6px;background:var(--surface,#fff);color:var(--theme-link,#058194);font-size:calc(11px * var(--font-scale,1))!important;line-height:1.4}
body[data-screen="panel"] :is(main,dialog) button.monthly-lateness-button:hover:not(:disabled){background:var(--accent-soft,#eef8f9);color:var(--theme-link,#058194);border-color:var(--theme-link,#058194)}
