.monthly-time-report { min-width: 0; max-width: 100%; margin-bottom: 20px; }
.monthly-time-report .panel-heading { flex-wrap: wrap; gap: 14px; }
.monthly-time-report .panel-heading > div { min-width: 0; }
.monthly-time-report .panel-heading p { overflow-wrap: anywhere; }
.monthly-time-filter { display: grid; grid-template-columns: minmax(155px,.8fr) minmax(190px,1.7fr) minmax(90px,.55fr) auto; align-items: end; gap: 13px; margin: 18px 0; }
.monthly-time-filter .field { min-width: 0; }
.monthly-time-filter input, .monthly-time-filter select { width: 100%; min-width: 0; }
.monthly-time-report .button, .monthly-time-dialog .button, .monthly-time-filter input, .monthly-time-filter select { min-height: 44px; }
.monthly-time-scroll { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--line); border-radius: 10px; }
.monthly-time-scroll:focus-visible { outline: 3px solid #78bde0; outline-offset: 2px; }
.monthly-time-scroll table { min-width: 1080px; margin: 0; }
.monthly-time-scroll tbody th { min-width: 165px; font-weight: 500; text-align: left; }
.monthly-time-scroll tbody th .subtext { display: block; }
.monthly-time-scroll td, .monthly-time-scroll th { vertical-align: top; }
.monthly-time-value { white-space: nowrap; font-variant-numeric: tabular-nums; }
.monthly-time-balance { color: #234c65; font-weight: 700; }
.monthly-time-warnings { display: grid; gap: 5px; margin: 0; padding-left: 16px; min-width: 150px; max-width: 300px; color: #775417; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.monthly-time-absence { display: block; margin-bottom: 5px; color: #274b60; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.monthly-time-method { margin: 15px 0 0; color: #536b7b; font-size: 11px; line-height: 1.75; overflow-wrap: anywhere; }
.monthly-time-pagination { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 14px; color: #536b7b; font-size: 11px; }
.monthly-time-pagination > div { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.monthly-time-loading { padding: 22px 0; color: #536b7b; font-size: 12px; }
.monthly-time-dialog { width: min(1200px, calc(100vw - 28px)); max-width: none; }
.monthly-time-detail { min-width: 0; }
.monthly-time-totals { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; margin: 17px 0; }
.monthly-time-totals > div { display: grid; gap: 8px; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #f7fbfe; }
.monthly-time-totals span { color: #536b7b; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.monthly-time-totals strong { color: #234c65; font-size: 21px; font-variant-numeric: tabular-nums; }
.monthly-time-detail > .monthly-time-warnings { max-width: none; margin-bottom: 15px; }
.monthly-time-detail .form-actions { flex-wrap: wrap; }
@media(max-width:1000px) { .monthly-time-filter { grid-template-columns: minmax(145px,1fr) minmax(180px,2fr); } .monthly-time-totals { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:560px) { .monthly-time-filter { grid-template-columns: minmax(0,1fr); } .monthly-time-filter .button { width: 100%; } .monthly-time-pagination > div { width: 100%; justify-content: space-between; gap: 8px; } .monthly-time-totals { grid-template-columns: repeat(2,minmax(0,1fr)); } .monthly-time-report .panel-heading > .button { width: 100%; } }
