/* 월급노트 2.3 · 월별 근태표 가독성 개선 전용 레이어.
   기존 ui.css/overview.css에 영향을 주지 않도록 작업대 범위로 한정합니다. */
:root {
  --work-red:#a92d36;
  --work-red-soft:#fff1f0;
  --work-green:#216d48;
  --work-green-soft:#e4f3e9;
  --work-blue:#275f9c;
  --work-blue-soft:#eaf3ff;
  --work-amber:#a6530b;
  --work-amber-soft:#fff0d9;
  --work-purple:#7045a3;
  --work-purple-soft:#f0e9fa;
}
.work-quick-summary {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:8px 0 13px;}
.work-quick-stat {display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;background:#fffdf8;border:1px solid #d9dfd5;border-left:3px solid #7d9181;min-width:0;}
.work-quick-stat>span {color:#4e6557;font-size:12px;font-weight:800;white-space:normal;word-break:keep-all;}
.work-quick-stat>strong {font:850 25px/1 var(--font);letter-spacing:-.05em;white-space:nowrap;font-variant-numeric:tabular-nums;}
.work-quick-stat>strong small {font-size:11px;font-weight:750;margin-left:2px;letter-spacing:0;}
.work-quick-work {border-left-color:var(--work-green)}
.work-quick-work strong {color:var(--work-green)}
.work-quick-extra {border-left-color:var(--work-amber)}
.work-quick-extra strong {color:var(--work-amber)}
.work-quick-special {border-left-color:var(--work-purple)}
.work-quick-special strong {color:var(--work-purple)}
.work-quick-leave {border-left-color:var(--work-blue)}
.work-quick-leave strong {color:var(--work-blue)}
.work-color-guide {display:flex;align-items:center;flex-wrap:wrap;gap:8px 17px;padding:10px 2px 13px;color:#506255;font-size:12px;font-weight:730;}
.guide-item {display:inline-flex;gap:6px;align-items:center;white-space:nowrap;}
.guide-item>i {display:block;width:9px;height:9px;border-radius:3px;background:#888;}
.guide-holiday>i {background:var(--work-red)}
.guide-work>i {background:var(--work-green)}
.guide-leave>i {background:var(--work-blue)}
.guide-overtime>i {background:var(--work-amber)}
.guide-special>i {background:var(--work-purple)}
.work-main .sheet-scroll {background:#fff;border:1px solid #d6dbd4;box-shadow:0 3px 12px rgba(29,53,35,.035);scrollbar-color:#a9b6a5 #f5f6ef;}
.timesheet.timesheet-clarity {min-width:850px;border-collapse:separate;border-spacing:0;}
.timesheet-clarity thead {background:#e7ece7;}
.timesheet-clarity th {color:#425b4a;font-size:12px;font-weight:850;padding:15px 10px;position:sticky;top:0;z-index:1;}
.timesheet-clarity th:first-child {padding-left:17px;}
.timesheet-clarity tbody tr {height:70px;border:0;}
.timesheet-clarity tbody tr td {font-size:13px;font-weight:650;padding:10px 8px;border-bottom:1px solid #e7eae4;vertical-align:middle;}
.timesheet-clarity tbody tr:last-child td {border-bottom:0;}
.timesheet-clarity tbody tr.workday-row {background:#fffdf9;}
.timesheet-clarity tbody tr.workday-row:nth-child(even) {background:#f9faf6;}
.timesheet-clarity tbody tr.workday-row.workday-red {background:var(--work-red-soft);}
.timesheet-clarity tbody tr.workday-row.workday-holiday {box-shadow:inset 4px 0 0 #c23f4b;}
.timesheet-clarity tbody tr.workday-row.workday-weekend:not(.workday-holiday) {box-shadow:inset 4px 0 0 #cc565c;}
.timesheet-clarity tbody tr.workday-row.workday-red:hover {background:#ffe7e4;}
.timesheet-clarity tbody tr.workday-row:hover:not(.workday-red) {background:#edf5ef;}
.timesheet-clarity .when {min-width:75px;padding-left:17px;}
.timesheet-clarity .when button {align-items:center;gap:8px;padding:6px 2px;}
.timesheet-clarity .when strong {font:850 20px/1 var(--mono);color:#203a2e;letter-spacing:-.06em;}
.timesheet-clarity .when span {font-size:12px;color:#5d7564;font-weight:800;}
.timesheet-clarity .workday-red .when strong,.timesheet-clarity .workday-red .when span {color:var(--work-red)!important;}
.timesheet-clarity .workday-red .when strong {text-decoration:none;}
.timesheet-clarity .day-note {text-align:left!important;max-width:160px;min-width:92px;white-space:normal!important;line-height:1.45;font-size:12px!important;font-weight:800;}
.timesheet-clarity .day-note .holiday-label {display:inline-block;color:var(--work-red);padding:4px 7px;background:#ffe4e5;border:1px solid #f0b8bc;border-radius:6px;word-break:keep-all;max-width:160px;}
.timesheet-clarity .day-note .regular-day-label {color:#55705e;}
.timesheet-clarity .day-note .dash {color:#c8d3ca;font-size:16px;}
.timesheet-clarity .attendance-status-cell {min-width:137px;}
.attendance-status-layout {display:flex;flex-direction:column;align-items:center;gap:4px;}
.attendance-status-badge {display:inline-flex;align-items:center;justify-content:center;min-width:72px;max-width:130px;padding:6px 9px;border-radius:7px;font-size:14px;font-weight:900;line-height:1.2;letter-spacing:-.035em;white-space:nowrap;}
.attendance-status-badge.badge-default {background:#edf1ec;color:#58715e;border:1px dashed #b3c9b7;}
.attendance-status-badge.badge-normal {background:var(--work-green-soft);color:#17603a;border:1px solid #b8ddc5;}
.attendance-status-badge.badge-special {background:var(--work-purple-soft);color:var(--work-purple);border:1px solid #d5c5ee;}
.attendance-status-badge.badge-monthly,.attendance-status-badge.badge-annual,.attendance-status-badge.badge-half,.attendance-status-badge.badge-birthday {background:var(--work-blue-soft);color:var(--work-blue);border:1px solid #c1d6f4;}
.attendance-status-badge.badge-off {background:#e8ebe6;color:#5b6961;border:1px solid #d5dcd3;}
.attendance-status-badge.badge-absent {background:#ffe2e3;color:var(--work-red);border:1px solid #ecc3c7;}
.timesheet-clarity .attendance-status-cell select.status-choice {font-size:11px;font-weight:700;text-align:center;color:#4d6456;width:115px;max-width:100%;padding:3px 15px 3px 4px;border:1px solid transparent;border-radius:5px;background-color:transparent;}
.timesheet-clarity .attendance-status-cell select.status-choice:hover,.timesheet-clarity .attendance-status-cell select.status-choice:focus-visible {border-color:#b2c2b5;background:#fff;}
.status-detail-note {max-width:135px;margin-left:auto;margin-right:auto;line-height:1.3;white-space:normal;word-break:keep-all;}
.status-detail-note {display:block;text-align:center;font-size:10px;font-weight:850;margin-top:4px;color:var(--work-amber);}
.workday-special .status-detail-note {max-width:135px;margin-left:auto;margin-right:auto;line-height:1.3;white-space:normal;word-break:keep-all;}
.status-detail-note {color:var(--work-purple);}
.timesheet-clarity .shift-cell {min-width:92px;}
.shift-select-wrap {display:inline-flex;align-items:center;padding:3px 6px;border-radius:8px;border:1px solid #cbd9cc;background:#f2f7f1;}
.timesheet-clarity .shift-cell select {max-width:100px;width:79px;padding:4px 10px 4px 4px;color:#23533a;font-size:13px;font-weight:900;text-align:center;letter-spacing:-.02em;}
.shift-select-wrap.shift-b {background:#eef3fe;border-color:#d0dff7;}
.shift-select-wrap.shift-b select {color:#315f9f;}
.shift-select-wrap.shift-c {background:#edeaf7;border-color:#d3c9ea;}
.shift-select-wrap.shift-c select {color:#694d91;}
.timesheet-clarity .work-hours-cell {min-width:81px;}
.timesheet-clarity .work-hours-cell .hour-input {display:block;width:62px;max-width:100%;height:38px;margin:0 auto;padding:7px 5px;font:850 15px/1.2 var(--mono);border:1px solid #e0e5de;border-radius:7px;background:#fff;color:#a4ada4;}
.timesheet-clarity .work-hours-cell .hour-input:hover,.timesheet-clarity .work-hours-cell .hour-input:focus {color:#18342b;border-color:#7f9f85;background:#fff;}
.timesheet-clarity .work-hours-cell.has-work-hours .hour-input {color:#1c3e2d;background:#e7f0e8;border-color:#c4ddc8;}
.timesheet-clarity .work-hours-cell.hours-overtime.has-work-hours .hour-input {background:var(--work-amber-soft);border-color:#e9b782;color:#924808;}
.timesheet-clarity .work-hours-cell.hours-holiday.has-work-hours .hour-input,.timesheet-clarity .work-hours-cell.hours-special.has-work-hours .hour-input {background:var(--work-purple-soft);border-color:#ccbae5;color:var(--work-purple);}
.timesheet-clarity .work-hours-cell small {display:block;font-size:10px;font-weight:800;margin-top:3px;text-align:center;color:#846a50;white-space:nowrap;}
.timesheet-clarity .hours-overtime.has-work-hours small {color:var(--work-amber);}
.timesheet-clarity .hours-holiday.has-work-hours small,.timesheet-clarity .hours-special.has-work-hours small {color:var(--work-purple);}
.timesheet-clarity .detail-link {border:1px solid #d2dcd2;border-radius:7px;background:#f5f8f3;color:#3c6551;font-size:18px;font-weight:750;width:33px;height:33px;}
.timesheet-clarity .detail-link:hover {background:#e7f0e7;border-color:#80aa8e;}
.timesheet-clarity select:disabled,.timesheet-clarity input:disabled {opacity:.8;}
.work-main .sheet-bottom {color:#62756a;font-size:11px;line-height:1.65;}
.work-main .sheet-bottom b {color:var(--work-red);}
@media (max-width:1190px){.work-quick-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.timesheet.timesheet-clarity{min-width:850px;}}
@media (max-width:740px){.work-quick-summary{gap:7px}.work-quick-stat{padding:12px 10px}.work-quick-stat>span{font-size:11px}.work-quick-stat>strong{font-size:22px}.work-color-guide{font-size:11px;gap:7px 10px}.work-main .sheet-scroll{position:relative}.work-main .sheet-intro{display:flex;font-size:11px}.timesheet-clarity tbody tr{height:67px}}
@media print{.work-quick-summary,.work-color-guide{display:none}.timesheet-clarity .workday-red .when strong,.timesheet-clarity .workday-red .when span{color:#9d2530!important}}
@media(prefers-reduced-motion:reduce){.timesheet-clarity tbody tr{transition:none}}
