.hours-page{--calendar-border:#e8e2da;--calendar-border-soft:#312b2414;--calendar-text:#1a1714;--calendar-muted:#6b6560;--calendar-soft:#f8f5f1;--calendar-accent:#d85a2b;--calendar-project:#3b82f6;--calendar-personal:#8b5cf6;--calendar-work:#35b97c;--calendar-note:#7d8790;--calendar-project-soft:#eef5ff;--calendar-personal-soft:#f4f0ff;--calendar-work-soft:#ecf8f2;--calendar-note-soft:#f4f2ef;--hours-blue:#4f46e5;--hours-blue-bg:#eef2ff;--hours-purple:#8b5cf6;--hours-purple-bg:#f3e8ff;--hours-warning:#d85a2b;--hours-warning-bg:#faeee8;--hours-danger:#dc2626;--hours-danger-bg:#fee2e2}.hours-page .ui-page-header__title,.hours-page .ui-stat-card__value,.hours-page .ui-metric-value{letter-spacing:0}.hours-page__workspace{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.hours-page__workspace.has-detail-rail{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.hours-page__main{min-width:0}.hours-page__header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.hours-page__icon-button{width:42px;min-width:42px;padding:0}.hours-page__icon-button svg{flex:0 0 20px;width:20px;height:20px}.hours-page__report-action{align-items:stretch;display:inline-flex;position:relative}.hours-page__report-button{min-width:116px}.hours-page__column-action{display:inline-flex;position:relative}.hours-page__report-menu{z-index:30;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);flex-direction:column;gap:2px;min-width:230px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 42px #1a171424}.hours-page__report-menu button{width:100%;min-height:38px;color:var(--ink2);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:600;display:flex}.hours-page__report-menu button:hover{background:var(--surface2)}.hours-page__report-menu button:disabled{color:var(--muted);cursor:not-allowed;opacity:.58}.hours-page__report-menu button:disabled:hover{background:0 0}.hours-page__column-menu{z-index:30;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);flex-direction:column;min-width:230px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 42px #1a171424}.hours-page__column-menu-title{color:var(--ink);padding:7px 10px 9px;font-size:13px;font-weight:700;line-height:1.35}.hours-page__column-menu-list{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding-bottom:6px;display:flex}.hours-page__column-menu button{width:100%;min-height:34px;color:var(--ink2);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:0 10px;font-size:13px;font-weight:600;display:flex}.hours-page__column-menu button:hover{background:var(--surface2)}.hours-page__column-menu-check{width:16px;height:16px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.hours-page__column-menu .hours-page__column-menu-reset{color:var(--accent);justify-content:flex-start;margin-top:6px}.hours-page__summary-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.hours-page__summary-card{flex-direction:column;justify-content:space-between;gap:12px;min-height:112px;padding:16px 18px;display:flex}.hours-page__summary-metric{flex-direction:column;gap:10px;display:flex}.hours-page__summary-card.is-success .hours-page__summary-value{color:var(--green)}.hours-page__summary-card.is-purple .hours-page__summary-value{color:var(--hours-purple)}.hours-page__summary-detail{color:var(--sub);align-items:center;gap:6px;font-weight:500;display:flex}.hours-page__summary-card.is-success .hours-page__summary-detail{color:var(--green)}.hours-page__summary-card.is-warning .hours-page__summary-detail{color:#7b341e}.hours-page__summary-detail-dot{border-radius:999px;flex:none;width:7px;height:7px}.hours-page__summary-progress{background:var(--border);border-radius:999px;height:5px;margin-top:2px;overflow:hidden}.hours-page__summary-progress-value{background:var(--green);border-radius:999px;height:100%;transition:width .6s}.calendar-filters{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;min-width:0;display:grid}.calendar-task-view-switch{width:100%}.calendar-filter{flex-direction:column;gap:8px;min-width:0;display:flex}.calendar-filter>span:first-child{color:var(--calendar-muted);font-size:12px;font-weight:600}.calendar-filter button,.calendar-filter__select-wrap{width:100%;height:36px;color:var(--calendar-text);cursor:pointer;box-shadow:none;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;font-size:13px;font-weight:700;display:flex}.calendar-filter>.calendar-filter__dropdown-button:hover,.calendar-filter>.calendar-filter__dropdown-button:focus-visible,.calendar-filter>.calendar-filter__dropdown-button[aria-expanded=true]{background:#fffcfa;border-color:#d85a2b73;outline:none}.calendar-filter__select-wrap{position:relative}.calendar-filter__select-wrap select{appearance:none;width:100%;height:100%;color:var(--calendar-text);font:inherit;cursor:pointer;background:0 0;border:0;outline:none;font-size:13px;font-weight:700}.calendar-filter__select-wrap select:disabled{color:#9e9892;cursor:wait}.calendar-filter__select-wrap svg{color:#6b6560;pointer-events:none;flex-shrink:0}.calendar-filter--worker,.calendar-filter--project,.calendar-filter--priority,.calendar-filter--date-filter,.calendar-filter--type,.calendar-project-select-root,.calendar-worker-select-root{position:relative}.calendar-filter__value,.calendar-project-select__value{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;min-width:0;display:inline-flex;overflow:hidden}.calendar-filter__value>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-filter__leading-icon{color:#6b6560;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.calendar-filter__leading-icon svg{stroke-width:2px;width:15px;height:15px}.calendar-filter__priority-dot{border:1.5px solid #171412;border-radius:999px;flex:none;width:11px;height:11px;display:inline-block}.calendar-filter__priority-dot--critical{background:#f21f3a}.calendar-filter__priority-dot--urgent{background:#ff6b2c}.calendar-filter__priority-dot--normal{background:#ffe23a}.calendar-filter__priority-dot--low{background:#21d34d}.calendar-filter__type-icon{color:#171412;background:#fff;border:1px solid #d8d2ca;border-radius:5px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.calendar-filter__type-icon svg{stroke-width:2px;width:13px;height:13px}.calendar-type-dropdown{z-index:35;border:1px solid var(--calendar-border);background:#fff;border-radius:8px;flex-direction:column;gap:2px;width:min(280px,100vw - 40px);max-width:100%;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 42px #1c171321}.calendar-type-dropdown button{width:100%;height:32px;color:var(--calendar-text);font:inherit;text-align:left;cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:7px;justify-content:flex-start;align-items:center;gap:8px;padding:0 9px;font-size:13px;font-weight:700;line-height:1;display:flex}.calendar-type-dropdown button>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-type-dropdown button:hover,.calendar-type-dropdown button:focus-visible,.calendar-type-dropdown button.is-selected{background:#f6f2ef;outline:none}.calendar-page .tasks-page__tabs button,.calendar-page .calendar-filter button,.calendar-page .calendar-filter__select-wrap,.calendar-page .calendar-view-switch button,.calendar-page .calendar-type-dropdown button{font-family:DM Sans,sans-serif;font-size:13px;font-weight:700;line-height:1}.calendar-page .calendar-filter__select-wrap select{font:inherit;font-size:13px;font-weight:700}.calendar-page .tasks-page__primary{border-radius:var(--radius-control);min-height:42px;padding:0 17px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;line-height:1}.calendar-project-dropdown{--calendar-border:#e8e2da;--calendar-text:#1a1714;--calendar-muted:#6b6560;z-index:35;border:1px solid var(--calendar-border);background:#fff;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;width:min(420px,100vw - 40px);max-width:none;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 18px 42px #1c171321}.calendar-project-dropdown,.calendar-project-dropdown input,.calendar-project-dropdown button{font-family:DM Sans,sans-serif}.calendar-project-dropdown--portal{z-index:120;grid-template-rows:minmax(0,1fr) auto;max-width:none}.calendar-project-dropdown__search{border:1px solid var(--calendar-border);color:#77716b;background:#fff;border-radius:8px;align-items:center;gap:8px;height:36px;padding:0 11px;display:flex}.calendar-project-dropdown__search input{min-width:0;color:var(--calendar-text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:13px;font-weight:500}.calendar-project-dropdown__search input::placeholder{color:#9e9892}.calendar-project-dropdown__list{min-height:0;max-height:320px;padding-right:2px;display:grid;overflow-y:auto}.calendar-project-dropdown .calendar-project-dropdown__option{width:100%;height:auto;min-height:42px;color:var(--calendar-text);font:inherit;text-align:left;box-shadow:none;background:0 0;border:0;border-bottom:1px solid #efe9e2;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(92px,auto);justify-content:stretch;align-items:center;gap:12px;padding:0 10px;display:grid}.calendar-project-dropdown .calendar-project-dropdown__option:last-child{border-bottom:0}.calendar-project-dropdown .calendar-project-dropdown__option--single-line{grid-template-columns:minmax(0,1fr)}.calendar-project-dropdown .calendar-project-dropdown__option:hover,.calendar-project-dropdown .calendar-project-dropdown__option:focus-visible,.calendar-project-dropdown .calendar-project-dropdown__option[aria-selected=true]{background:#f6f2ef;outline:none}.calendar-project-dropdown .calendar-project-dropdown__option strong{color:#25211d;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:800;line-height:1.25;overflow:hidden}.calendar-project-dropdown .calendar-project-dropdown__option span{min-width:0;color:var(--calendar-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.25;overflow:hidden}.calendar-project-dropdown__message,.calendar-project-dropdown__hint{color:var(--calendar-muted);margin:0;font-size:12px;font-weight:600;line-height:1.45}.calendar-project-dropdown__message{padding:10px}.calendar-project-dropdown__hint{border-top:1px solid var(--calendar-border);padding:8px 4px 0}.calendar-project-select__search-control,.calendar-worker-select__search-control{color:#7a746d;background:#fff;border:1px solid #ddd7d0;border-radius:8px;grid-template-columns:auto minmax(0,1fr) 32px;align-items:center;gap:0;width:100%;height:32px;padding:0;display:grid;overflow:hidden;box-shadow:0 1px 4px #1c18140d}.calendar-project-select__search-control:focus-within,.calendar-worker-select__search-control:focus-within{border-color:#d85a2b8c;box-shadow:0 0 0 3px #d85a2b1f}.calendar-project-select__search-control>svg,.calendar-worker-select__search-control>svg{flex-shrink:0;margin-left:9px;margin-right:7px}.calendar-project-select__search-control input,.calendar-worker-select__search-control input{color:#7a746d;min-width:0;font:inherit;background:0 0;border:0;outline:none;font-size:11px;font-weight:500;line-height:1}.calendar-task-modal__field .calendar-project-select__search-control input,.calendar-task-modal__field .calendar-worker-select__search-control input{width:100%;height:30px;box-shadow:none;border:0;border-radius:0;padding:0 0 0 8px}.calendar-project-select__search-control input::placeholder,.calendar-worker-select__search-control input::placeholder{color:#9e9892}.calendar-project-select__selected-link{color:#b74e2b;min-width:0;font:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.2;text-decoration:none;overflow:hidden}.calendar-project-select__selected-link:hover,.calendar-project-select__selected-link:focus-visible{color:#8f3b21;outline:none;text-decoration:underline}.calendar-project-select__toggle,.calendar-worker-select__toggle{color:#6b6560;cursor:pointer;width:32px;height:30px;box-shadow:none;background:0 0;border:0;border-left:1px solid #e5dfd7;border-radius:0;justify-content:center;align-self:stretch;align-items:center;padding:0;display:inline-flex}.calendar-project-select__toggle:hover,.calendar-project-select__toggle:focus-visible,.calendar-worker-select__toggle:hover,.calendar-worker-select__toggle:focus-visible{background:#f6f2ef;outline:none}.calendar-worker-select__value,.calendar-worker-select__value-text{min-width:0}.calendar-worker-select__value-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-worker-select-root--modal{z-index:45}.calendar-task-modal__grid>.calendar-worker-select-root--modal{grid-column:1/-1}.calendar-worker-picker{z-index:35;background:#fff;border:1px solid #e8e4de;border-radius:8px;grid-template-rows:auto minmax(0,1fr);gap:5px;width:min(360px,100vw - 40px);max-height:320px;padding:5px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 14px 34px #1a171426}.calendar-worker-picker--portal{z-index:120;max-width:none}.calendar-worker-picker__search{margin:0}.calendar-worker-picker__options{gap:2px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.calendar-worker-picker .calendar-worker-picker__option{color:#1a1714;text-align:left;width:100%;height:auto;min-height:36px;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:18px minmax(0,1fr) auto;justify-content:stretch;align-items:center;column-gap:7px;padding:5px 6px;display:grid}.calendar-worker-picker .calendar-worker-picker__option:hover,.calendar-worker-picker .calendar-worker-picker__option:focus-visible{background:#fff7f3;outline:none}.calendar-worker-picker .calendar-worker-picker__option.is-active{background:#fff3ed}.calendar-worker-picker__option-checkbox{color:#fff;background:#fff;border:1px solid #d8d1c8;border-radius:4px;justify-content:center;align-items:center;width:13px;height:13px;display:inline-flex}.calendar-worker-picker__option-checkbox.is-active{background:#d85a2b;border-color:#d85a2b}.calendar-worker-picker__option-content{gap:1px;min-width:0;display:grid}.calendar-worker-picker__option-name{color:#1a1714;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11.5px;font-weight:800;line-height:1.25;overflow:hidden}.calendar-worker-picker__option-role{color:#6b6560;white-space:nowrap;flex-shrink:0;font-size:9px;font-weight:700;line-height:1.2}.calendar-worker-picker__option-meta,.calendar-worker-picker__message{color:#9e9892;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:500;line-height:1.35;overflow:hidden}.calendar-worker-picker__message{white-space:normal;padding:10px}.hours-page__filters-card{grid-template-columns:minmax(260px,1.2fr) minmax(180px,1fr) minmax(180px,1fr) minmax(170px,1fr) minmax(190px,1fr) auto;align-items:end;gap:16px;display:grid}.hours-page__filter-field{flex-direction:column;gap:7px;min-width:0;display:flex}.hours-page__project-filter .calendar-filter,.hours-page__select-filter .calendar-filter{gap:0;position:relative}.hours-page .calendar-filter>.calendar-filter__dropdown-button,.hours-page .calendar-filter__select-wrap{border:1px solid var(--calendar-border);background:#fff;font-family:DM Sans,sans-serif;box-shadow:0 1px 3px #1a17140f,0 1px 2px #1a17140a}.hours-page__select-filter .calendar-type-dropdown{z-index:45}.hours-page__filter-field--inline{flex-direction:row;align-items:center;gap:10px}.hours-page__filter-field--inline .ui-form-label{white-space:nowrap;flex-shrink:0;margin-top:0}.hours-page__filter-field--inline .hours-page__date-select{flex:1;min-width:0}.hours-page__date-filter{position:relative}.hours-page__filters-card .ui-form-input,.hours-page__page-size .ui-form-input{background-color:var(--surface);min-height:42px}.hours-page select.ui-form-input:not([multiple]){appearance:none;border-color:var(--border);height:42px;min-height:42px;color:var(--ink);cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%236B6560' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:17px 17px;border-radius:10px;padding:0 42px 0 14px;font-size:13px;font-weight:700;line-height:1;box-shadow:0 1px 3px #1a17140f,0 1px 2px #1a17140a}.hours-page select.ui-form-input:not([multiple]):hover,.hours-page select.ui-form-input:not([multiple]):focus{background-color:#fffcfa;border-color:#d85a2b73}.hours-page select.ui-form-input:not([multiple]):focus{box-shadow:0 0 0 3px #d85a2b14,0 1px 2px #1a17140a}.hours-page__date-dropdown-button{border:1px solid var(--border);width:100%;height:36px;min-height:36px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;font-size:13px;font-weight:700;line-height:1;transition:border-color .15s,background-color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 3px #1a17140f,0 1px 2px #1a17140a}.hours-page__date-dropdown-button:hover,.hours-page__date-dropdown-button:focus-visible,.hours-page__date-dropdown-button[aria-expanded=true]{background:#fffcfa;border-color:#d85a2b73;outline:none}.hours-page__date-dropdown-button:focus-visible{box-shadow:0 0 0 3px #d85a2b14,0 1px 2px #1a17140a}.hours-page__date-dropdown-value{align-items:center;gap:9px;min-width:0;display:inline-flex}.hours-page__date-dropdown-value svg{color:var(--muted);flex:none}.hours-page__date-dropdown-value span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hours-page__date-dropdown{z-index:45;border:1px solid var(--border);background:#fff;border-radius:10px;width:min(336px,100vw - 40px);padding:8px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 42px #1a171424}.hours-page__date-mode-tabs{background:var(--surface2);border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:3px;display:grid}.hours-page__date-mode-tabs button{min-height:32px;color:var(--ink2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:12px;font-weight:750;line-height:1}.hours-page__date-mode-tabs button:hover,.hours-page__date-mode-tabs button:focus-visible,.hours-page__date-mode-tabs button.is-selected{color:var(--accent);background:#fff;outline:none;box-shadow:0 1px 2px #1a17140f}.hours-page__calendar-header{grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:8px;padding:10px 0 8px;display:grid}.hours-page__calendar-title{color:var(--ink);text-align:center;font-size:13px;font-weight:800;line-height:1.2}.hours-page__calendar-nav{width:32px;height:32px;color:var(--ink2);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.hours-page__calendar-nav:hover,.hours-page__calendar-nav:focus-visible{background:var(--surface2);outline:none}.hours-page__calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.hours-page__calendar-grid>span{height:24px;color:var(--muted);justify-content:center;align-items:center;font-size:11px;font-weight:750;line-height:1;display:inline-flex}.hours-page__calendar-day{aspect-ratio:1;width:100%;color:var(--ink2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.hours-page__calendar-day.is-outside-month{color:var(--sub)}.hours-page__calendar-day:hover,.hours-page__calendar-day:focus-visible{background:#f6f2ef;outline:none}.hours-page__calendar-day.is-in-range{color:var(--accent);background:#fff4ee}.hours-page__calendar-day.is-selected{background:var(--accent);color:#fff}.hours-page__date-select{display:block;position:relative}.hours-page__date-select svg{z-index:1;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.hours-page__date-select .ui-form-input{padding-left:42px}.hours-page__clear-button{border-radius:var(--radius-control);white-space:nowrap;align-self:end;height:42px;min-height:42px;padding:0 17px}.hours-page__table-card{overflow:hidden}.hours-page__table-scroll{overflow-x:auto}.hours-page__table{min-width:1040px}.hours-page__table th,.hours-page__table td{white-space:nowrap}.hours-page__table th{background:var(--surface)}.hours-page__checkbox-cell{text-align:center;vertical-align:middle;width:42px;line-height:0}.hours-page__checkbox-cell input{border-color:var(--border2);width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0 auto;display:block}.hours-page__actions-cell{text-align:right;width:112px}.hours-page__edit-entry-button{gap:6px;height:28px;min-height:28px;padding:0 9px;font-size:12px}.hours-page__edit-entry-button svg{width:13px;height:13px}.hours-page__sort-button{color:inherit;font:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;display:inline-flex}.hours-page__table-row{color:var(--ink2);cursor:pointer;font-size:13px;transition:background-color .15s,box-shadow .15s}.hours-page__table-row:hover{background:#faf8f5}.hours-page__table-row.is-selected{box-shadow:inset 3px 0 0 var(--accent);background:#fff4ee}.hours-page__table-row.is-detail-active{background:#fff7f1;box-shadow:inset 3px 0 #f28c60}.hours-page__table-row.is-missing-row{color:var(--muted)}.hours-page__empty-cell{color:var(--muted);text-align:center;padding:28px 18px;font-size:13px;font-weight:650}.hours-page__empty-cell.is-error{color:var(--hours-danger)}.hours-page__detail-rail{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-surface);flex-direction:column;gap:18px;padding:22px 20px 20px;display:flex;position:sticky;top:0}.hours-page__detail-rail-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.hours-page__detail-rail-title{color:var(--ink);font-size:18px;font-weight:700;line-height:1.2}.hours-page__detail-close{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.hours-page__detail-close:hover{background:var(--surface2);color:var(--ink2)}.hours-page__detail-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hours-page__entry-reference{color:var(--muted);font-size:12px;font-weight:600}.hours-page__rail-section{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding-top:18px;display:flex}.hours-page__rail-section-title{color:var(--ink);font-size:13px;font-weight:700;line-height:1.35}.hours-page__rail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 18px;display:grid}.hours-page__rail-label{color:var(--muted);font-size:12px;font-weight:600;line-height:1.4}.hours-page__rail-value{text-align:right;color:var(--ink2);justify-content:flex-end;align-items:center;gap:6px;font-size:13px;font-weight:500;line-height:1.45;display:inline-flex}.hours-page__rail-value.is-emphasized{color:var(--ink);font-weight:700}.hours-page__rail-value.is-accent,.hours-page__rail-overtime.is-accent{color:var(--accent);font-weight:700}.hours-page__rail-comment{color:var(--ink2);flex-direction:column;gap:6px;font-size:13px;line-height:1.55;display:flex}.hours-page__classification-list{flex-direction:column;gap:10px;display:flex}.hours-page__classification-segment{border:1px solid var(--border);background:#fffcfa;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.hours-page__classification-main,.hours-page__classification-meta,.hours-page__classification-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hours-page__classification-main{color:var(--ink);justify-content:space-between;font-size:13px;font-weight:700;line-height:1.35}.hours-page__classification-meta{color:var(--muted);font-size:12px;font-weight:650;line-height:1.35}.hours-page__classification-tags span{min-height:22px;color:var(--ink2);background:#f4f1ec;border-radius:6px;align-items:center;padding:0 7px;font-size:11px;font-weight:750;line-height:1;display:inline-flex}.hours-page__timeline{flex-direction:column;gap:12px;display:flex}.hours-page__timeline-item{grid-template-columns:14px minmax(0,1fr);align-items:start;gap:12px;display:grid}.hours-page__timeline-item:not(.is-last) .hours-page__timeline-marker:after{content:"";background:var(--border2);width:1px;height:calc(100% + 10px);position:absolute;top:14px;left:50%;transform:translate(-50%)}.hours-page__timeline-marker{background:#d6d3d1;border-radius:999px;width:14px;height:14px;margin-top:2px;position:relative}.hours-page__timeline-item.is-active .hours-page__timeline-marker{background:var(--hours-blue)}.hours-page__timeline-item.is-success .hours-page__timeline-marker{background:var(--green)}.hours-page__timeline-item.is-warning .hours-page__timeline-marker{background:var(--accent)}.hours-page__timeline-content{flex-direction:column;gap:4px;min-width:0;display:flex}.hours-page__timeline-meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;line-height:1.35;display:flex}.hours-page__timeline-text{color:var(--ink2);font-size:13px;font-weight:600;line-height:1.45}.hours-page__rail-actions{flex-direction:column;gap:10px;margin-top:4px;display:flex}.hours-page__rail-action:disabled{cursor:not-allowed}.hours-page__rail-action{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 16px;font-size:14px;font-weight:700;line-height:1;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.hours-page__rail-action--approve{color:#fff;background:#4c9a38;border:1px solid #4c9a38}.hours-page__rail-action--approve.is-passive{background:#8ab97d;border-color:#8ab97d}.hours-page__rail-action--return{color:var(--accent);background:#fff;border:1px solid #f28c60}.hours-page__rail-action--secondary{border:1px solid var(--border);color:var(--ink2);background:#fff;justify-content:flex-start}.hours-page__rail-action-chevron{margin-left:auto}.hours-page__status-pill{border-radius:8px;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.hours-page__status-pill.is-submitted{background:var(--hours-blue-bg);color:var(--hours-blue)}.hours-page__status-pill.is-draft{color:var(--muted);background:#f4f1ec}.hours-page__status-pill.is-approved{background:var(--gl);color:var(--green)}.hours-page__status-pill.is-returned{background:var(--hours-danger-bg);color:var(--hours-danger)}.hours-page__status-pill.is-missing{color:var(--hours-warning);background:#fff3e0}.hours-page__comment{color:var(--ink2)}.hours-page__comment.is-muted{color:var(--sub)}.hours-page__comment.is-warning{color:var(--hours-warning);font-weight:700}.hours-page__comment.is-danger{color:var(--hours-danger);font-weight:700}.hours-page__pagination{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.hours-page__pagination-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.hours-page__page-size{width:122px}.hours-page__modal-backdrop{z-index:60;background:#1a17146b;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.hours-page__modal{width:min(540px,100%);max-height:min(860px,92dvh);overflow:auto;box-shadow:0 28px 80px #1a17142e}.hours-page__modal-header{justify-content:space-between;align-items:center;gap:16px;padding:24px 28px 6px;display:flex}.hours-page__modal-close-button{width:36px;min-width:36px;height:36px;min-height:36px;color:var(--ink);cursor:pointer;border-radius:10px;padding:0;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.hours-page__modal-close-button svg{stroke-width:2px;stroke:currentColor;width:20px;height:20px}.hours-page__modal-close-button:hover,.hours-page__modal-close-button:focus-visible{color:var(--accent);background:#f6f1ec;border-color:#3d383238}.hours-page__modal-close-button:focus-visible{outline:none;box-shadow:0 0 0 3px #d85a2b24}.hours-page__modal-close-button:disabled{cursor:not-allowed}.hours-page__entry-form{grid-template-columns:1fr;gap:16px;padding:16px 28px 28px;display:grid}.hours-page__entry-field--full,.hours-page__entry-time-grid,.hours-page__entry-two-column,.hours-page__entry-comment,.hours-page__modal-actions{grid-column:1/-1}.hours-page__entry-time-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.hours-page__entry-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.hours-page .calendar-task-modal__field{flex-direction:column;gap:7px;min-width:0;display:flex}.hours-page .calendar-task-modal__field>span{color:var(--ink2);font-size:12px;font-weight:600;line-height:1.4}.hours-page__modal .calendar-task-modal__field>span{color:var(--ink2)}.hours-page .calendar-task-modal__field small{color:var(--muted);font-size:inherit;font-weight:500}.hours-page .calendar-project-select-root--modal{z-index:65}.hours-page__duration-field{align-items:center;font-weight:700;display:flex}.hours-page__time-input{display:block;position:relative}.hours-page__time-input .ui-form-input{padding-right:42px}.hours-page__time-input svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.hours-page__textarea{resize:vertical;min-height:92px;padding:20px 14px 12px;line-height:1.42}.hours-page__modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}@media (width<=1280px){.hours-page__workspace.has-detail-rail{grid-template-columns:1fr}.hours-page__detail-rail{position:static}.hours-page__summary-grid,.hours-page__filters-card{grid-template-columns:repeat(2,minmax(0,1fr))}.hours-page__clear-button{justify-self:start}}@media (width<=760px){.hours-page__header-actions{justify-content:flex-start}.hours-page__summary-grid,.hours-page__filters-card,.hours-page__entry-form,.hours-page__rail-grid{grid-template-columns:1fr}.hours-page__summary-card{min-height:96px}.hours-page__pagination{flex-direction:column;align-items:stretch}.hours-page__pagination-controls{justify-content:flex-start}.hours-page__modal-actions{flex-direction:column-reverse}.hours-page__modal-actions .ui-primary-button,.hours-page__modal-actions .ui-secondary-button{width:100%}}@media (width<=520px){.hours-page__report-action,.hours-page__report-button,.hours-page__header-actions>.ui-primary-button{width:100%}.hours-page__modal-header,.hours-page__entry-form{padding:18px}.hours-page__entry-time-grid,.hours-page__entry-two-column{grid-template-columns:1fr}}
