.page{max-width:1200px;margin:0 auto;padding:24px}.card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 8px 24px #00000014}.appShell{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000014;overflow:hidden}.appTopBar{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid #dbe7e4;background:#fbfefd}.pageSection{padding:16px}.brandBlock{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;color:#16423c}.brandLogo{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#0f766e;color:#fff;font-weight:900;letter-spacing:.04em}.brandBlock strong{font-size:16px;white-space:nowrap}h1{margin:0}h2{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:18px}form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}input,select,button,textarea{padding:10px;border-radius:8px;border:1px solid #d0d8e2}textarea{min-height:90px;resize:vertical;font-family:inherit}button{background:#0f766e;color:#fff;border:none;font-weight:600;cursor:pointer}.secondaryButton{background:#dff3ef;color:#0f766e}.tabs{display:flex;gap:0;margin-bottom:16px;flex-wrap:wrap}.mainTabs{flex:1 1 auto;justify-content:center;margin-bottom:0;min-width:280px}.subTabs{justify-content:center;margin:0;padding:0 16px;border-bottom:1px solid #dbe7e4;background:#f9fcfb}.subTabs button{padding:9px 12px;font-size:13px}.tabs button{display:inline-flex;align-items:center;gap:6px;position:relative;padding:10px 14px;border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#5b6f6a;font-weight:700}.tabs button:hover{background:transparent;color:#0f766e}.tabs button.active{border-bottom-color:#0f766e;background:transparent;color:#0f766e}.topProfile{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}.profileIdentity{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 4px;color:#16423c;font-weight:800;white-space:nowrap;background:transparent}.profileIdentity:hover{background:#eef8f5}.avatar{display:block;flex:0 0 auto;border-radius:999px;object-fit:cover;background:#dff3ef}.logoutButton{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:999px;background:transparent;color:#0f766e;border:none}.logoutButton:hover{background:#eef8f5}.weekbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.timesheetWrap{overflow-x:auto}.timesheet{width:100%;border-collapse:collapse;min-width:950px}.timesheet th,.timesheet td{border:1px solid #e2e8f0;padding:8px;text-align:center}.timesheet td:first-child,.timesheet th:first-child{text-align:center;min-width:220px}.phaseLabel{display:block;margin-top:4px;color:#5b6f6a;font-size:12px;font-weight:700}.leaveBoundary{display:grid;justify-items:center;gap:2px}.leaveBoundary>span,.tableDate{font-size:11px;font-weight:700}.leaveBoundary small{color:#5b6f6a;font-size:11px;font-weight:700}.timeAmount{display:inline-flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap}.restPeriodStatus{margin:8px 0;font-size:12px;font-weight:400}.restPeriodStatus.sufficient{color:#15803d}.restPeriodStatus.insufficient{color:#b91c1c}.timesheet th span{display:block;margin-top:4px;font-size:12px;font-weight:500;color:#5b6f6a;text-transform:none}.timesheet th small{display:block;margin-top:4px;color:#9a6700;font-size:11px;font-weight:700;text-transform:none}.holidayHeader,.holidayCell,.lockedDayHeader,.lockedDayCell{background:#fff8e6}.partialLeaveHeader,.partialLeaveCell{background:#eef8f5}.cellButton{width:100%;padding:8px;border-radius:8px;border:1px dashed #c5d5d0;background:#fbfefd;color:#16423c}.cellButton.filled{border-style:solid;background:#eef8f5}.holidayCell .cellButton,.lockedDayCell .cellButton{border-style:solid;background:#fff4d5;color:#9a6700;cursor:not-allowed}.partialLeaveCell .cellButton{border-style:solid;background:#f4fbf9;color:#16423c}.inlineHoursInput{width:100%;text-align:center}.totalsRow td{font-weight:700;background:#f4fbf9;color:#16423c}.error{color:#b42318;margin-top:0}.ok{color:#067647;margin-top:0}.projectFilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-bottom:10px}.projectFormHead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#16423c}.field span{font-weight:600}.projectFormGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.projectTopBar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.searchField{display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d0d8e2;border-radius:10px;background:#fff;min-width:220px;max-width:320px}.projectSearch{flex:1 1 auto;min-width:0;border:none;padding:10px 0}.projectSearch:focus{outline:none}.projectsTableWrap{overflow-x:auto;margin-bottom:14px}.projectsTable{width:100%;border-collapse:collapse;min-width:860px}.projectsTable th,.projectsTable td{border-bottom:1px solid #e2e8f0;padding:12px 10px;text-align:left}.projectsTable td,.timesheet td{font-size:calc(12px * var(--app-font-scale, 1))}.projectsTable td{text-align:center}.projectsTable th{background:#f4fbf9;color:#16423c;font-size:13px;text-align:center;text-transform:uppercase;letter-spacing:.04em}.projectsTable tbody tr:hover{background:#f9fcfb}.clickableRow{cursor:pointer}.planningBlock{margin-top:18px}.planningHead{display:flex;align-items:baseline;gap:12px;margin-bottom:10px;flex-wrap:wrap;color:#16423c}.planningHead h3{margin:0;font-size:16px}.planningLegend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px;color:#5b6f6a;font-size:13px;font-weight:700}.planningLegend span{display:inline-flex;align-items:center;gap:6px}.legendDot{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid transparent}.legendDot.absent{background:#ef4444;border-color:#dc2626}.legendDot.pending{background:#f59e0b;border-color:#d97706}.legendDot.closed{background:#94a3b8;border-color:#64748b}.availabilityTable{width:max-content;border-collapse:separate;border-spacing:0;table-layout:fixed}.availabilityTable th,.availabilityTable td{border-bottom:1px solid #e2e8f0;text-align:center;vertical-align:middle}.availabilityTable th{background:#f4fbf9;color:#16423c;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.dailyAvailabilityTable thead tr:first-child th:first-child,.dailyAvailabilityTable tbody td:first-child{position:sticky;left:0;z-index:2;width:190px;min-width:190px;max-width:190px}.dailyAvailabilityTable thead tr:first-child th:first-child{background:transparent;z-index:4;padding:0;text-align:left;border-bottom:none}.jobInlineLabel{display:block;margin-bottom:3px;color:#16423c;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.weekHeader{padding:7px 4px;text-align:center;border-left:1px solid #eaf3f1}.dayHeader{width:24px;min-width:24px;max-width:24px;padding:4px 2px;text-align:center;border-left:none;box-sizing:border-box}.dailyAvailabilityTable thead tr:nth-child(2) th:nth-child(7n+1),.dailyAvailabilityTable tbody tr td:nth-child(7n+2){border-left:1px solid #eaf3f1}.dayHeader span,.dayHeader strong{display:block;letter-spacing:0;text-transform:none}.dayHeader span{color:#5b6f6a;font-size:9px;font-weight:800}.dayHeader strong{color:#16423c;font-size:11px}.dayHeader.closed{background:#e2e8f0;color:#64748b}.jobTone-soft .availabilityPersonCell,.jobTone-soft .availabilityDayCell{background:#f4fbf9}.availabilityPersonCell{padding:8px 10px;background:#fff;color:#16423c;text-align:left}.availabilityDayCell{width:24px;min-width:24px;max-width:24px;height:24px;padding:1px;text-align:center;border-left:none;background:#fff;box-sizing:border-box}.availabilityDayCell span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;color:transparent;font-size:0;font-weight:900}.availabilityDayCell.present span{background:#fff;border:1px solid #e2e8f0}.availabilityDayCell.absent span{background:#ef4444;border:1px solid #dc2626}.availabilityDayCell.absent.halfDay span{background:linear-gradient(135deg,#ef4444 0,#ef4444 50%,#fff 50%,#fff)}.availabilityDayCell.pending span{background:#f59e0b;border:1px solid #d97706}.availabilityDayCell.pending.halfDay span{background:linear-gradient(135deg,#f59e0b 0,#f59e0b 50%,#fff 50%,#fff)}.availabilityDayCell.closed span{background:#94a3b8;border:1px solid #64748b}.timeToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.timeActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timeActionButton{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0}.timeActionButton:disabled{background:#94a3b8;cursor:not-allowed}.timeCompactComment{flex:1 1 180px;max-width:300px}.timeCompactComment textarea{width:100%;min-height:34px;height:34px;padding:7px 9px;resize:vertical}.weekNavigator{display:flex;align-items:center;gap:4px;min-height:42px;padding:0 4px 0 0;border:none;border-bottom:1px solid #dbe7e4;border-radius:0;background:transparent;box-shadow:none;flex-wrap:wrap}.weekArrowButton{display:inline-flex;align-items:center;justify-content:center;width:30px;height:38px;padding:0;border:none;border-radius:0;background:transparent;color:#16423c}.weekArrowButton:hover{background:transparent;color:#0f766e}.dateSelect{display:block;width:100%;min-height:42px;border-bottom:1px solid #dbe7e4;color:#16423c}.dateSelect:focus-within{border-color:#0f766e}.dateSelect input{width:100%;height:38px;padding:0 2px;border:none;border-radius:0;color:#16423c;background:transparent;font-weight:400}.dateSelect input:focus{outline:none}.weekDateControl{width:auto;min-width:142px;min-height:0;border:none}.weekDateControl input{height:38px;padding:0 6px}.weekTodayButton{height:38px;padding:0 12px;border-radius:999px}.statusBadge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:0}.statusBadge.pending{background:#fff4d5;color:#9a6700}.statusBadge.approved{background:#dcfce7;color:#166534}.statusBadge.rejected{background:#fee2e2;color:#991b1b}.statusBadge.cancelled{background:#e5e7eb;color:#475569}.statusBadge.to_submit,.statusBadge.planned{background:#dbeafe;color:#1d4ed8}.statusBadge.in_progress{background:#dff3ef;color:#0f766e}.statusBadge.on_hold{background:#fff4d5;color:#9a6700}.statusBadge.done{background:#dcfce7;color:#166534}.kpiGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.kpiCard{padding:14px;border:1px solid #dbe7e4;border-radius:12px;background:linear-gradient(180deg,#f8fcfb,#eef8f5)}.kpiCard span{display:block;font-size:13px;color:#5b6f6a;margin-bottom:6px}.kpiCard strong{font-size:24px;color:#16423c}.kpiCard.danger{border-color:#fecaca;background:linear-gradient(180deg,#fff5f5,#fee2e2)}.kpiCard.danger span,.kpiCard.danger strong{color:#991b1b}.timeEntryForm{padding:14px;border:1px solid #dbe7e4;border-radius:12px;background:#f9fcfb;margin-bottom:16px}.timeEntryActions{display:flex;justify-content:flex-end;margin-top:4px}.rowActions{display:flex;gap:8px;flex-wrap:wrap}.timeCommentPanel{padding:0 0 12px;border:none;border-bottom:1px solid #dbe7e4;border-radius:0;background:transparent;margin-bottom:14px}.timeCommentPanel textarea{min-height:76px;background:transparent;border-color:#dbe7e4}.commentPanelGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:14px}.commentPanel{padding:12px;border:1px solid #dbe7e4;border-radius:8px;background:#f9fcfb}.commentPanel span{display:block;color:#5b6f6a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.commentPanel p{margin:0;color:#16423c;line-height:1.4}.validationActionPanel{display:flex;align-items:center;gap:6px;width:fit-content;min-width:0}.reviewBox{display:grid;gap:8px;padding:10px;border:1px solid #dbe7e4;border-radius:8px;background:#f9fcfb}.reviewButtons{display:flex;gap:6px}.validationActionPanel .iconViewButton,.validationActionPanel .iconApproveButton,.validationActionPanel .iconRejectButton,.leaveTable .rowActions .iconApproveButton,.leaveTable .rowActions .iconRejectButton{width:24px;height:24px}.validationActionPanel svg,.leaveTable .rowActions svg{width:14px;height:14px}.reviewCommentInput{width:100%;min-height:62px;padding:8px;resize:vertical;background:#fff}.submitCommentField textarea{min-height:68px}.leaveCommentField textarea{min-height:48px}.leaveForm{display:grid;grid-template-columns:minmax(210px,1fr) minmax(300px,1.4fr) minmax(300px,1.4fr) auto;align-items:end;gap:12px}.leaveCommentArea{display:grid;grid-template-columns:1fr 1fr;gap:12px;grid-column:1 / -2;align-items:stretch}.leaveCommentField{min-width:0}.leaveRulesNote{display:grid;gap:4px;align-content:start;min-height:48px;padding:7px 9px;border:1px solid #dbe7e4;border-radius:8px;background:#f9fcfb;color:#5b6f6a;font-size:11px;line-height:1.3}.leaveRulesNote strong{color:#16423c;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.leaveRulesNote p{margin:0}.leaveForm button{min-height:42px}.leaveForm button:disabled{background:#94a3b8;cursor:not-allowed}.leaveForm .iconSubmitButton{display:inline-flex;align-items:center;justify-content:center;width:42px;min-height:42px;padding:0}.leaveMessages{margin-bottom:10px}.datePeriodField{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:8px;align-items:end}.periodChecks{display:grid;grid-template-columns:1fr;gap:2px;align-self:end}.periodCheck{display:flex;align-items:center;justify-content:flex-start;gap:5px;min-height:20px;padding:0;color:#16423c;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer}.periodCheck input{width:14px;height:14px;padding:0;margin:0;accent-color:#0f766e}.periodCheck.checked{color:#0f766e}.leavePreview{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:12px 0}.leavePreview div{padding:12px;border:1px solid #dbe7e4;border-radius:8px;background:#f9fcfb}.leavePreview span{display:block;color:#5b6f6a;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.leavePreview strong{color:#16423c;font-size:18px}.leavePreview .danger{border-color:#fecaca;background:#fff5f5}.leavePreview .danger span,.leavePreview .danger strong{color:#991b1b}.quotaAlert{padding:10px 12px;border:1px solid #fecaca;border-radius:8px;background:#fff5f5;color:#991b1b;font-weight:700}.mutedText{color:#5b6f6a;font-size:13px}.leaveTable td{vertical-align:middle}.leaveBalanceTable{margin:12px 0 14px}.quotaDangerCell{color:#991b1b;font-weight:800}.quotaWarningIcon{margin-left:6px;color:#dc2626;vertical-align:-3px}.historyPickerBar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:0;border:none;border-radius:0;background:transparent}.historyPickerField{position:relative;display:grid;gap:6px;min-width:min(360px,100%);flex:1 1 320px;color:#16423c}.historyPickerLabel{color:#5b6f6a;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.historySelectShell{position:relative;display:flex;align-items:center;gap:9px;min-height:42px;padding:0 8px 0 0;border:none;border-bottom:1px solid #dbe7e4;border-radius:0;background:transparent;color:#0f766e;box-shadow:none;transition:border-color .16s ease}.historySelectShell:focus-within{border-color:#0f766e;box-shadow:none}.historySelect{width:100%;min-width:0;padding:0 28px 0 0;border:none;border-radius:0;background:transparent;color:#16423c;font-size:15px;font-weight:800;line-height:1.3;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.historySelect:focus{outline:none}.historySelect:disabled{cursor:default;color:#5b6f6a}.historySelectChevron{position:absolute;right:12px;color:#5b6f6a;pointer-events:none;transition:transform .16s ease}.historySelectChevron.open{transform:rotate(180deg)}.historyDropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;display:grid;gap:4px;max-height:280px;padding:8px;overflow-y:auto;border:1px solid #bfd8d1;border-radius:12px;background:#fff;box-shadow:0 18px 42px #0f172a2e}.historyDropdownOption{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:42px;padding:6px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:#16423c;font-weight:800;text-align:left}.historyDropdownOption:hover,.historyDropdownOption:focus{outline:none;border-color:#bfd8d1;background:#f4fbf9}.historyDropdownOption.selected{border-color:#0f766e;background:#eef8f5;color:#0f766e}.historyDropdownAvatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:#dff3ef;color:#0f766e;font-size:13px;font-weight:900}.historyDropdownOption.selected .historyDropdownAvatar{background:#0f766e;color:#fff}.historyDropdownName{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personSelect{position:relative;width:100%}.personSelectButton{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:42px;padding:5px 8px 5px 0;border:none;border-bottom:1px solid #dbe7e4;border-radius:0;background:transparent;color:#16423c;text-align:left}.personSelectButton:hover{background:transparent}.selectMenu{position:relative;width:100%}.selectMenuButton{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;min-height:42px;padding:5px 8px 5px 0;border:none;border-bottom:1px solid #dbe7e4;border-radius:0;background:transparent;color:#16423c;font-weight:800;text-align:left}.selectMenuButton:hover{background:transparent}.selectMenuButton>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectMenuButton svg{flex:0 0 auto;color:#5b6f6a;transition:transform .16s ease}.selectMenuButton svg.open{transform:rotate(180deg)}.selectMenuDropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;display:grid;gap:4px;max-height:280px;padding:8px;overflow-y:auto;border:1px solid #bfd8d1;border-radius:8px;background:#fff;box-shadow:0 18px 42px #0f172a2e}.selectMenuDropdown button{width:100%;min-height:38px;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#16423c;font-weight:800;text-align:left}.selectMenuDropdown button:hover,.selectMenuDropdown button:focus{outline:none;border-color:#bfd8d1;background:#f4fbf9}.selectMenuDropdown button.selected{border-color:#0f766e;background:#eef8f5;color:#0f766e}.selectMenuDropdown button:disabled{cursor:not-allowed;opacity:.45}.personSelectButton>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personSelectButton svg{color:#5b6f6a;transition:transform .16s ease}.personSelectButton svg.open{transform:rotate(180deg)}.personSelectDropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;display:grid;gap:4px;max-height:280px;padding:8px;overflow-y:auto;border:1px solid #bfd8d1;border-radius:8px;background:#fff;box-shadow:0 18px 42px #0f172a2e}.personSelectDropdown button{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:42px;padding:6px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:#16423c;text-align:left}.personSelectDropdown button:hover,.personSelectDropdown button.selected{border-color:#bfd8d1;background:#eef8f5;color:#0f766e}.personSelectDropdown button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatarList{display:flex;align-items:center;min-height:34px;padding-left:4px}.avatarList>span{display:inline-flex;margin-left:-4px;border:2px solid white;border-radius:999px;background:#fff}.avatarListItem{position:relative}.avatarListTooltip{position:absolute;z-index:30;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:180px;padding:5px 8px;border-radius:6px;background:#16423c;color:#fff;font-size:12px;font-weight:700;line-height:1.2;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .14s ease,transform .14s ease;white-space:normal}.avatarListItem:hover .avatarListTooltip{opacity:1;transform:translate(-50%)}.avatarListMore{align-items:center;justify-content:center;width:34px;height:34px;color:#16423c;font-size:11px;font-weight:800}.avatarListEmpty{color:#5b6f6a;font-size:13px;font-weight:700}.processedBy,.collaboratorIdentity,.userIdentity{display:inline-flex;align-items:center;gap:8px}.processedBy,.userIdentity{white-space:nowrap;font-weight:700}.processedAvatar{display:inline-flex;vertical-align:middle}.collaboratorIdentity>span{min-width:0}.collaboratorIdentity .phaseLabel{display:block}.historyHeader{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px}.historyHeader div{min-width:160px;padding:12px;border:1px solid #dbe7e4;border-radius:8px;background:#f9fcfb}.historyHeader span,.leaveBalanceCard span{display:block;color:#5b6f6a;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.historyHeader strong{display:block;margin-top:4px;color:#16423c;font-size:18px}.leaveBalanceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px}.leaveBalanceCard{padding:12px;border:1px solid #bfd8d1;border-radius:8px;background:#f4fbf9}.leaveBalanceValues{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.leaveBalanceValues div{padding:8px;border-radius:8px;background:#fff;border:1px solid #dbe7e4}.leaveBalanceCard strong{display:block;margin-top:4px;color:#16423c;font-size:20px}.leaveBalanceCard em{display:block;margin-top:3px;color:#5b6f6a;font-size:12px;font-style:normal;font-weight:700}.validationFilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;margin-bottom:14px}.validationFilters .secondaryButton{min-height:40px}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73}.modalPanel{width:min(1120px,100%);max-height:calc(100vh - 48px);overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 24px 70px #0f172a3d}.validationModal,.projectModal{display:flex;flex-direction:column}.peoplePickerModal{display:flex;flex-direction:column;width:min(720px,100%)}.leaveReviewModal{display:flex;flex-direction:column;width:min(560px,100%)}.collaboratorPasswordModal{display:flex;flex-direction:column;width:min(460px,100%)}.avatarEditorModal{display:flex;flex-direction:column;width:min(620px,100%)}.quotaOverlay{background:#7f1d1d8c}.quotaModal{width:min(500px,100%);border:1px solid #fecaca;box-shadow:0 26px 80px #7f1d1d57;overflow:hidden}.quotaModalHead{display:flex;align-items:center;gap:12px;padding:16px;background:#991b1b;color:#fff}.quotaModalHead h3{margin:0 0 3px;font-size:18px}.quotaModalHead span{color:#fee2e2;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.quotaModalIcon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;background:#ffffff24;color:#fecaca;flex:0 0 auto}.quotaModalBody{padding:16px}.quotaModalBody p{margin:0 0 14px;color:#7f1d1d;line-height:1.45;font-weight:700}.dangerButton{background:#dc2626;color:#fff}.dangerButton:hover{background:#b91c1c}.modalHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid #dbe7e4;color:#16423c}.modalHead h3{margin:0 0 4px;font-size:18px}.modalHead span{color:#5b6f6a;font-weight:700}.modalPanel .timesheetWrap{padding:16px;overflow:auto}.projectDetailForm{padding:16px;margin:0;overflow:auto}.leaveReviewForm{padding:16px;margin:0}.leaveReviewForm textarea{min-height:110px;background:#fff}.collaboratorPasswordForm{padding:16px;margin:0}.avatarEditorForm{gap:10px;padding:14px;margin:0;overflow:auto}.avatarPreview{display:flex;justify-content:center;margin-bottom:2px}.avatarPreview img{border-radius:999px;background:#dff3ef}.avatarCandidateGrid{display:grid;grid-template-columns:repeat(9,48px);justify-content:space-between;gap:8px;padding:2px 0}.avatarCandidateGrid button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:2px solid transparent;border-radius:999px;background:transparent}.avatarCandidateGrid button:hover,.avatarCandidateGrid button.selected{border-color:#0f766e;background:transparent}.avatarCandidateGrid img{border-radius:999px;background:#dff3ef}.avatarColorFields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.avatarPalette{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.avatarPalette>span{color:#16423c;font-size:13px;font-weight:700;white-space:nowrap}.avatarPalette>div{display:flex;flex-wrap:wrap;gap:5px}.avatarPalette button{width:20px;height:20px;padding:0;border:2px solid transparent;border-radius:999px;background:var(--avatar-color)}.avatarPalette button:hover,.avatarPalette button.selected{border-color:#16423c;box-shadow:0 0 0 2px #fff}.avatarUploadButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid #d0d8e2;border-radius:8px;background:#f9fcfb;color:#16423c;font-weight:700;cursor:pointer}.avatarUploadButton:hover{border-color:#0f766e;background:#eef8f5;color:#0f766e}.avatarUploadButton input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.peoplePickerBody{padding:16px;overflow:auto}.readonlyPeople{display:flex;gap:8px;flex-wrap:wrap;min-height:42px;padding:8px;border:1px solid #d0d8e2;border-radius:8px;background:#f9fcfb}.readonlyPeople span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef8f5;color:#16423c;font-weight:700}.memberChecklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:8px;border:1px solid #d0d8e2;border-radius:8px;background:#fff}.memberOption{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dbe7e4;border-radius:8px;color:#16423c;font-weight:700;background:#f9fcfb;cursor:pointer}.memberOption input{position:absolute;opacity:0;pointer-events:none}.memberOption.checked{border-color:#0f766e;background:#eef8f5}.memberTick{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;border:1px solid #9fb7b0;color:transparent;background:#fff;font-size:14px;font-weight:900}.memberOption.checked .memberTick{border-color:#0f766e;background:#0f766e;color:#fff}.peoplePickerButton{width:100%;min-width:170px;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;background:#f9fcfb;color:#16423c;border:1px solid #d0d8e2;font-weight:700}.peoplePickerButton:hover{background:#eef8f5;border-color:#9fb7b0}.modalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.iconCloseButton{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:38px;height:38px;padding:0;background:#eef8f5;color:#16423c}.adminBlock{margin-top:18px;padding-top:18px;border-top:1px solid #dbe7e4}.adminBlockHead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.adminBlockHead h3{margin:0;display:flex;align-items:center;gap:8px;color:#16423c}.adminBlockHead button,.iconDangerButton{display:inline-flex;align-items:center;justify-content:center;gap:8px}.adminMessages{margin-bottom:12px}.adminLayout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.adminSideTabs{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid #dbe7e4;border-radius:12px;background:#f9fcfb}.adminSideTabs button{width:100%;background:transparent;color:#16423c;border:1px solid transparent;text-align:left}.adminSideTabs button.active{background:#0f766e;color:#fff}.adminContent{min-width:0}.adminInlineForm{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:8px}.adminGridForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:center;gap:8px}.collaboratorForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:center;gap:8px;padding:12px;border:1px solid #dbe7e4;border-radius:8px;background:#f9fcfb}.createdCredentials{display:grid;gap:5px;margin-bottom:12px;padding:12px;border:1px solid #bbf7d0;border-radius:8px;background:#f0fdf4;color:#166534}.createdCredentials span{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.createdCredentials strong{overflow-wrap:anywhere}.collaboratorsTable select{min-width:150px}.adminGridForm select[multiple],.projectsTable select[multiple]{min-height:92px}.adminChecks{display:flex;flex-direction:column;gap:6px;min-width:130px}.holidayForm{display:grid;grid-template-columns:minmax(150px,180px) 1fr minmax(90px,120px) auto;align-items:center;gap:8px}.iconDangerButton{width:38px;height:38px;padding:0;background:#fee2e2;color:#991b1b}.iconSecondaryButton{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;background:#dff3ef;color:#0f766e}.iconCreateButton,.iconApproveButton,.iconRejectButton,.iconViewButton{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0}.iconApproveButton,.iconCreateButton{background:#0f766e;color:#fff}.iconRejectButton{background:#fee2e2;color:#991b1b}.iconViewButton{background:#dff3ef;color:#0f766e}.displaySettings{display:grid;gap:14px}.displayPanel{display:grid;gap:12px;padding:14px;border:1px solid var(--app-border, #dbe7e4);border-radius:8px;background:var(--app-soft, #f9fcfb)}.displayPanel h4{display:flex;align-items:center;gap:8px;margin:0;color:var(--app-intense, #16423c);font-size:calc(15px * var(--app-font-scale, 1))}.fontSizePicker{display:inline-flex;flex-wrap:wrap;width:fit-content;max-width:100%;padding:4px;border:1px solid var(--app-border, #dbe7e4);border-radius:8px;background:var(--app-surface, #fff)}.fontSizePicker button{min-width:68px;background:transparent;color:var(--app-text, #16423c);border:1px solid transparent}.fontSizePicker button.active{background:var(--app-primary, #0f766e);color:var(--app-primary-contrast, #fff)}.colorSettingsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.colorSetting{display:grid;grid-template-columns:1fr 42px;gap:6px 10px;align-items:center;padding:10px;border:1px solid var(--app-border, #dbe7e4);border-radius:8px;background:var(--app-surface, #fff);color:var(--app-text, #16423c)}.colorSetting span{font-weight:800}.colorSetting input{width:42px;height:34px;padding:2px;cursor:pointer}.colorSetting code{grid-column:1 / -1;color:var(--app-muted, #5b6f6a);font-family:inherit;font-size:calc(12px * var(--app-font-scale, 1));font-weight:700;text-transform:uppercase}.resetCard{max-width:440px;margin:12vh auto 0}.page,.appShell,.card,.modalPanel{color:var(--app-text, #16423c)}.card,.appShell,.modalPanel{background:var(--app-surface, #fff)}.appTopBar,.cellButton,.projectsTable tbody tr:hover{background:var(--app-soft, #f9fcfb)}.brandBlock,h2,.profileIdentity,.field,.planningHead,.weekDateControl,.modalHead,.adminBlockHead h3,.adminSideTabs button,.cellButton,.projectsTable th,.availabilityTable th,.dayHeader strong,.availabilityPersonCell,.historyPickerField,.historyDropdownOption,.historyHeader strong,.leaveBalanceCard strong{color:var(--app-intense, #16423c)}.phaseLabel,.timesheet th span,.planningLegend,.kpiCard span,.commentPanel span,.mutedText,.historyPickerLabel,.historySelectChevron,.historyHeader span,.leaveBalanceCard span,.leaveBalanceCard em,.modalHead span{color:var(--app-muted, #5b6f6a)}.brandLogo,button,.adminSideTabs button.active,.memberOption.checked .memberTick,.historyDropdownOption.selected .historyDropdownAvatar{background:var(--app-primary, #0f766e);color:var(--app-primary-contrast, #fff)}.secondaryButton,.iconSecondaryButton,.historyDropdownAvatar{background:var(--app-soft-accent, #dff3ef);color:var(--app-primary, #0f766e)}.tabs button{background:transparent;color:var(--app-muted, #5b6f6a)}.tabs button:hover,.tabs button.active{background:transparent;color:var(--app-primary, #0f766e)}.tabs button.active{border-bottom-color:var(--app-primary, #0f766e)}.logoutButton,.profileIdentity svg,.historySelectShell,.historyDropdownOption.selected{color:var(--app-primary, #0f766e)}.historySelectShell:focus-within{border-color:var(--app-primary, #0f766e);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-primary, #0f766e) 14%,transparent),0 10px 24px color-mix(in srgb,var(--app-primary, #0f766e) 12%,transparent)}.appTopBar,input,select,textarea,.timesheet th,.timesheet td,.projectsTable th,.projectsTable td,.kpiCard,.timeEntryForm,.commentPanel,.reviewBox,.leavePreview div,.historyPickerBar,.historyHeader div,.leaveBalanceCard,.modalHead,.readonlyPeople,.memberChecklist,.memberOption,.adminBlock,.adminSideTabs,.collaboratorForm{border-color:var(--app-border, #dbe7e4)}input,select,button,textarea{font:inherit}button{background:var(--app-action, #0f766e);color:var(--app-primary-contrast, #fff)}.dangerButton{background:var(--app-cancel, #dc2626);color:#fff}.iconDangerButton{background:color-mix(in srgb,var(--app-cancel, #991b1b) 13%,white);color:var(--app-cancel, #991b1b)}.error,.quotaDangerCell,.quotaWarningIcon{color:var(--app-cancel, #991b1b)}.ok{color:var(--app-success, #067647)}.statusBadge.pending,.holidayCell .cellButton,.lockedDayCell .cellButton,.timesheet th small{color:var(--app-warning, #9a6700)}h2,.historyHeader strong,.leavePreview strong,.modalHead h3,.quotaModalHead h3{font-size:calc(18px * var(--app-font-scale, 1))}.brandBlock strong,.planningHead h3{font-size:calc(16px * var(--app-font-scale, 1))}.historySelect{font-size:calc(15px * var(--app-font-scale, 1))}.field{font-size:calc(14px * var(--app-font-scale, 1))}.projectsTable th,.planningLegend,.kpiCard span,.mutedText,.quotaModalHead span,.modalHead span{font-size:calc(13px * var(--app-font-scale, 1))}.statusBadge{font-size:calc(11px * var(--app-font-scale, 1))}.phaseLabel,.timesheet th span,.commentPanel span,.periodCheck,.leavePreview span,.historyPickerLabel,.historyHeader span,.leaveBalanceCard span,.leaveBalanceCard em{font-size:calc(12px * var(--app-font-scale, 1))}.timesheet th small,.jobInlineLabel{font-size:calc(11px * var(--app-font-scale, 1))}.dayHeader span{font-size:calc(9px * var(--app-font-scale, 1))}.dayHeader strong{font-size:calc(11px * var(--app-font-scale, 1))}@media (max-width: 760px){.page{padding:14px}.appTopBar{align-items:flex-start;flex-wrap:wrap;padding:10px}.pageSection{padding:12px}.brandBlock{order:1}.topProfile{order:2;margin-left:auto}.mainTabs{order:3;flex-basis:100%;min-width:0;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.mainTabs button{white-space:nowrap}.subTabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:8px 10px}.subTabs button{white-space:nowrap}.profileIdentity{max-width:170px}.profileIdentity span{overflow:hidden;text-overflow:ellipsis}.modalOverlay{align-items:stretch;padding:10px}.modalPanel{max-height:calc(100vh - 20px);border-radius:10px}.modalHead{padding:12px}.adminLayout{grid-template-columns:1fr}.adminSideTabs{flex-direction:row;overflow-x:auto}.adminSideTabs button{white-space:nowrap;text-align:center}.adminInlineForm,.collaboratorForm{grid-template-columns:1fr}.avatarCandidateGrid{grid-template-columns:repeat(5,48px);justify-content:space-around}.leaveForm{grid-template-columns:1fr}.leaveCommentArea{grid-template-columns:1fr;grid-column:auto}.datePeriodField{grid-template-columns:1fr}.historyPickerBar{padding:0}.historyPickerField{flex-basis:100%;min-width:0}.holidayForm{grid-template-columns:1fr}}body{margin:0;font-family:Segoe UI,sans-serif;font-size:calc(16px * var(--app-font-scale, 1));background:var(--app-bg, #f6f8fc);color:var(--app-text, #16423c)}
