.month-navigation{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:3px}
.month-navigation>button{padding:6px 11px;font-size:22px;line-height:1}
.month-navigation #choose-month{min-width:155px;font-size:12px;line-height:1.3;text-align:left;padding:5px 12px;border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:0}
.month-navigation span{display:block;margin:0;color:var(--ink);font-weight:700}
.month-navigation small{display:block;font-size:9px;font-weight:500;color:var(--muted);margin-top:4px}
.month-navigation small b{float:right;color:var(--brand);margin-left:25px}
.month-dialog h2,.attendance-dialog h2{margin:8px 0 12px;font-size:25px;letter-spacing:-.7px}
.year-navigation{display:flex;justify-content:space-between;gap:12px;margin:24px 0 16px}
.year-navigation select{text-align:center;flex:1;max-width:160px;font-weight:700}
.month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.month-tile{text-align:left;border:1px solid var(--line);padding:14px;border-radius:8px;position:relative;background:#fff;color:var(--ink)}
.month-tile strong{display:block;font-size:14px}
.month-tile small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:7px}
.month-tile.selected{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}
.month-tile.current:after{content:'';width:5px;height:5px;border-radius:50%;background:var(--brand);position:absolute;right:12px;top:16px}
.month-tile .draft{color:#8c6428}.month-tile .finalized{color:#34724b}
.month-shortcuts{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);margin-top:20px;padding-top:12px;font-size:11px}
.attendance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 24px;background:var(--surface);border-bottom:1px solid var(--line)}
.attendance-toolbar p{font-size:10px}.attendance-toolbar p b{color:var(--ink);font-size:11px;display:block;margin-bottom:3px}
.attendance-toolbar>div{display:flex;gap:8px;flex-shrink:0}.attendance-toolbar button{border:1px solid var(--line);background:#fff;font-size:11px;white-space:nowrap}.attendance-toolbar button:hover{background:var(--brand-soft)}
dialog:has(.attendance-dialog){width:720px}
.attendance-dialog [hidden]{display:none!important}
.attendance-dialog .attendance-form{margin-top:22px}
.attendance-dialog .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.attendance-dialog label{font-size:12px}
.attendance-dialog .employee-selection{border:1px solid var(--line);border-radius:8px;padding:8px 14px 12px;margin:0 0 8px;min-width:0}
.employee-selection legend{font-weight:600;font-size:11px;padding:0 7px}
.selection-actions{display:flex;align-items:center;font-size:10px;gap:5px;padding-bottom:7px;border-bottom:1px solid var(--line)}
.selection-actions button{font-size:10px;padding:6px}.selection-actions span{margin-left:auto;color:var(--muted)}
.employee-checks{max-height:170px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding-top:10px}
.attendance-dialog label.checkbox{display:flex;gap:10px;align-items:center;font-weight:400;margin:8px 0}
.attendance-dialog label.checkbox input{width:16px;height:16px;flex-shrink:0;margin:0;accent-color:var(--brand)}
.employee-checks .checkbox span{overflow-wrap:anywhere}.employee-checks small{display:block;color:var(--muted);font-size:9px;margin-top:4px}
.paste-input{min-height:145px;white-space:pre;overflow:auto;font:12px/1.7 monospace;tab-size:5;resize:vertical}
.attendance-review{margin-top:25px}.change-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;border:1px solid var(--line);background:var(--brand-soft);padding:16px;margin:15px 0;border-radius:8px;font-size:11px;color:var(--muted)}
.change-summary strong{color:var(--brand);font-size:20px}.attendance-review>p{font-size:11px}
.batch-preview{max-height:280px;border:1px solid var(--line);border-radius:8px;margin-top:18px}
.batch-preview th{position:sticky;top:0;background:var(--surface);z-index:1}.batch-preview td{padding:11px 15px}.batch-preview td:first-child{min-width:160px;white-space:normal}.batch-preview small{display:block;margin-top:3px;font-size:9px}
.dialog-actions{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-top:18px}
@media(max-width:1100px){.attendance-toolbar{align-items:flex-start;flex-direction:column}.saved{display:none}}
@media(max-width:760px){header{height:auto;min-height:72px;flex-wrap:wrap;gap:8px;padding:10px 16px}header>div:first-child{font-size:10px}.month-navigation #choose-month{min-width:134px}.month-navigation>button{padding:6px 8px}.heading>.primary{white-space:nowrap}.attendance-toolbar{padding:15px 18px}.attendance-toolbar>div{flex-wrap:wrap}.attendance-toolbar button{padding:10px}.table-panel .panel-title{align-items:flex-start;flex-direction:column;gap:15px}.table-panel .filters{width:100%;flex-direction:row}.table-panel .filters input,.table-panel .filters select{min-width:0;width:50%}dialog:has(.attendance-dialog),dialog:has(.month-dialog){padding:28px 20px}.employee-checks{grid-template-columns:1fr}.attendance-dialog .form-grid{gap:0 12px}.attendance-dialog input,.attendance-dialog select{min-width:0;max-width:100%}.dialog-actions{gap:8px}.dialog-actions button{font-size:11px}.month-shortcuts{flex-wrap:wrap}}
