.timesheet-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.timesheet-head h2{font-size:25px;margin:0}.timesheet-head p{color:var(--muted);margin:7px 0 0}.timesheet-controls{display:flex;align-items:center;gap:8px}.timesheet-controls .icon-btn{border:1px solid var(--line);background:var(--white);height:38px;width:34px;color:var(--muted)}.timesheet-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.timesheet-actions button{margin-right:8px}.timesheet-note{color:var(--muted);font-size:11px}.timesheet-panel{padding:0;overflow:hidden}.timesheet-table{min-width:1040px}.timesheet-table th{background:#e5ebef;padding:11px 10px;border-bottom:1px solid #cbd4da;color:#68727a}.timesheet-table th:not(:first-child){text-align:center}.timesheet-table td{height:63px;padding:9px 10px;border-bottom:1px solid #dce2e5}.timesheet-table td:not(:first-child){text-align:center}.project-cell{min-width:390px;white-space:nowrap}.project-cell small{color:var(--muted);font-size:11px}.project-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:9px}.project-dot.blue{background:#5b70c4}.project-dot.red{background:#f35b37}.project-dot.green{background:#76b84c}.sheet-input{width:70px;min-height:30px;padding:6px 7px;text-align:center;border-color:#ccd7de;border-radius:2px;font-family:'IBM Plex Mono',monospace;font-size:11px}.sheet-input:focus{outline:2px solid var(--yellow);border-color:var(--ink)}.sheet-total{font-family:'IBM Plex Mono',monospace;white-space:nowrap;font-size:12px}.sheet-total-row td{background:#f0f3f3;border-top:2px solid var(--ink);border-bottom:0;height:48px}.remove-row{border:0;background:none;color:#b5b9bb;font-size:21px}.remove-row:hover{color:var(--red)}
.timesheet-person-label{font-size:12px;color:var(--muted);white-space:nowrap}.absence-form{margin:0 0 18px;padding:20px}.absence-form .panel-title{align-items:flex-start}.absence-form .panel-title h3{margin:0}.absence-form .panel-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.absence-form .form-grid{margin-top:16px}.absence-form .form-actions{margin-top:16px}.absence-field.is-hidden{display:none}.absence-rule{padding:11px 13px;background:#eef2ef;border-left:3px solid var(--yellow);color:var(--ink);font-size:12px;line-height:1.5}#new-absence{white-space:nowrap}
@media(max-width:680px){.timesheet-head{display:block}.timesheet-controls{margin-top:16px;overflow:auto;padding-bottom:3px}.timesheet-actions{display:block}.timesheet-note{display:block;margin-top:10px}.timesheet-table{min-width:980px}.project-cell{min-width:330px}}
.row-menu{border:0;background:none;color:#a6adb2;font-size:22px;line-height:1;padding:4px 8px}.row-menu:hover{color:var(--ink);background:var(--yellow)}.row-note-editor{margin-top:10px;padding:10px;background:#f2f4f2;border:1px solid var(--line);white-space:normal}.row-note-editor textarea{display:block;width:250px;min-height:48px;font-size:12px;margin-bottom:6px}.row-note-editor .small-link{padding:0}
.sheet-day{position:relative;min-width:105px}.day-menu{display:block;margin:3px auto 0;border:0;background:none;color:#a6adb2;font-size:16px;line-height:1;padding:0 6px}.day-menu:hover{color:var(--ink);background:var(--yellow)}.note-modal-backdrop{position:fixed;inset:0;background:rgba(21,21,21,.38);display:grid;place-items:center;z-index:10;padding:20px}.note-modal{background:var(--white);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);width:min(460px,100%);padding:22px}.note-modal .panel-title{align-items:flex-start}.note-modal .panel-title h3{margin-bottom:5px}.note-modal .panel-title p{color:var(--muted);font-size:12px;line-height:1.5;margin:0}.note-modal textarea{display:block;width:100%;resize:vertical;min-height:115px;margin-top:12px}.note-modal .icon-btn{font-size:24px;color:var(--ink)}
.project-picker-row td{padding:12px 10px;background:#fbfbf8}.choose-project{border:0;background:none;color:#138ed0;font-size:14px;font-weight:600;padding:8px 0}.choose-project:hover{text-decoration:underline}.project-picker-backdrop{position:fixed;inset:0;background:rgba(21,21,21,.2);z-index:9}.project-picker{position:absolute;left:240px;bottom:28px;background:var(--white);border:1px solid #cbd7df;box-shadow:0 5px 18px rgba(20,30,40,.2);width:min(440px,calc(100% - 30px));max-height:70vh;overflow:auto;padding:18px}.project-picker-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.project-picker-header h3{margin:0 0 4px;font-size:16px}.project-picker-header p{color:var(--muted);font-size:11px;margin:0}.project-search{width:100%;margin-bottom:14px;padding:12px 13px}.picker-category{font-family:'IBM Plex Mono',monospace;color:var(--muted);font-size:10px;text-transform:uppercase;margin:6px 0}.picker-project,.picker-task,.picker-project-only{width:100%;display:flex;align-items:center;gap:9px;text-align:left;background:none;border:0;border-bottom:1px solid #eef0ef;padding:12px 3px}.picker-project:hover,.picker-task:hover,.picker-project-only:hover{background:#f5f6f3}.picker-project strong{flex:1}.task-count{color:var(--muted);font-size:12px}.picker-chevron,.picker-star{font-size:18px;color:#8b9aa3}.picker-back{border:0;background:none;color:#138ed0;padding:5px 0 12px}.picker-task{display:block}.picker-task strong,.picker-task small{display:block}.picker-task small{color:var(--muted);margin-top:4px}.picker-project-only{color:#138ed0;font-weight:600;margin-top:10px}
#new-entry{display:none}
.project-detail-backdrop{position:fixed;inset:0;background:rgba(21,21,21,.38);display:block;overflow:auto;z-index:10;padding:20px}.project-detail{background:var(--white);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);width:min(1120px,100%);margin:0 auto 20px;padding:24px;overflow:visible}.project-detail h2{margin:0 0 5px;font-size:24px}.project-detail .panel-title p:not(.eyebrow){color:var(--muted);font-size:12px;margin:0}.project-detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.project-detail-metrics div{border:1px solid var(--line);padding:13px}.project-detail-metrics span,.project-detail-metrics strong{display:block}.project-detail-metrics span{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);text-transform:uppercase}.project-detail-metrics strong{font-size:21px;margin-top:12px}.project-detail table{margin-top:10px}body.project-detail-open{overflow:hidden}@media(max-width:680px){.project-detail{padding:16px}.project-detail-metrics{grid-template-columns:repeat(2,1fr)}}
.budget-hierarchy{border:1px solid var(--line);margin-top:12px}.hierarchy-header,.hierarchy-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 90px;gap:8px;align-items:center;padding:10px 12px}.hierarchy-header{background:#eef1ee;font-family:'IBM Plex Mono',monospace;color:var(--muted);font-size:10px;text-transform:uppercase}.hierarchy-row{border-top:1px solid var(--line);font-size:12px}.hierarchy-row small{display:block;color:var(--muted);margin-top:4px}.hierarchy-row select,.budget-edit{min-height:32px;padding:6px 7px;font-size:11px}.planning-explanation{color:var(--muted);font-size:12px;line-height:1.5;margin:16px 0 0}@media(max-width:680px){.hierarchy-header,.hierarchy-row{grid-template-columns:1fr;gap:6px}.hierarchy-header{display:none}}
.project-detail-wide{width:min(1120px,100%)}.project-period{display:grid;grid-template-columns:180px 180px 1fr;gap:12px;align-items:end;background:#f5f6f2;border:1px solid var(--line);padding:14px;margin:20px 0}.period-note{display:grid;gap:5px;padding-bottom:8px}.period-note span{font-size:12px;color:var(--muted)}.task-dates{display:flex;align-items:center;gap:5px;margin-top:8px}.task-date{width:120px;min-height:28px;padding:5px;font-family:'IBM Plex Mono',monospace;font-size:10px}.month-values{grid-column:1/-1;background:#fbfbf8;border-top:1px solid var(--line);padding:10px;margin-top:3px}.month-values>div{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}.month-values label{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--muted)}.month-values input{width:100%;min-height:28px;padding:4px;font-size:10px;margin-top:4px}.month-values small{display:block;margin-top:8px;font-size:11px}.month-values .valid{color:var(--green)}.month-values .invalid{color:var(--red)}@media(max-width:680px){.project-period{grid-template-columns:1fr}.month-values>div{grid-template-columns:repeat(4,1fr)}.task-dates{flex-wrap:wrap}}
.completion-inline{display:grid;gap:4px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);min-width:72px}.task-completion{width:72px;min-height:30px;padding:5px;font-family:'IBM Plex Mono',monospace;font-size:11px}.completion-inline:after{content:'';height:5px;background:linear-gradient(90deg,var(--green) var(--completion,0%),#e7e8e3 var(--completion,0%));display:block}
.allocation-month-values{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,1fr);gap:5px;background:#fbfbf8;border-top:1px solid var(--line);padding:8px}.allocation-month-values label{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--muted)}.allocation-month-values input{width:100%;margin-top:4px}.allocation-month-mode{min-width:145px}@media(max-width:680px){.allocation-month-values{grid-template-columns:repeat(4,1fr)}}
.allocation-rate-field,.allocation-budget-field{display:grid;gap:4px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted)}.allocation-rate-field input,.allocation-budget-field input{min-height:30px;padding:5px;font-size:11px}
.project-extra-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.project-extra-card{border:1px solid var(--line);background:#fffdf0;padding:14px}.project-extra-card span,.project-extra-card strong,.project-extra-card small{display:block}.project-extra-card span{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);text-transform:uppercase}.project-extra-card strong{font-size:22px;margin:10px 0 5px}.project-extra-card small{font-size:11px;color:var(--muted)}.project-extra-card.schedule-im-plan{background:#e9f4ec}.project-extra-card.schedule-beobachten{background:#fff3cd}.project-extra-card.schedule-verspätet{background:#fbe4df}@media(max-width:900px){.project-extra-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.project-extra-metrics{grid-template-columns:1fr}}
.main-month-values{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,1fr);gap:5px;background:#fffdf0;border-top:1px solid #eadb9d;padding:10px;margin-top:4px}.main-month-values label{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--muted)}.main-month-values input{width:100%;margin-top:4px;min-height:28px;padding:4px}.main-month-values small{grid-column:1/-1;margin-top:5px;color:var(--muted);font-size:11px}@media(max-width:680px){.main-month-values{grid-template-columns:repeat(4,1fr)}}
.task-main-stage{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(180px,.8fr) minmax(160px,.7fr) minmax(220px,1fr);gap:16px;align-items:start;padding:14px 0 18px}.task-main-stage>.project-cell{min-width:0}.task-rate-progress{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-budget-field{display:grid;gap:6px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted)}.task-budget-field input{min-height:38px;padding:8px}.task-distribution-stage{grid-column:1/-1;border-top:1px solid var(--line);padding:14px 0 0}.task-distribution-title{font-family:'IBM Plex Mono',monospace;color:var(--muted);font-size:10px;text-transform:uppercase;margin-bottom:7px}.task-distribution-stage .add-allocation{display:block}.task-distribution-stage .task-allocation-list{margin-top:8px}.task-main-stage .third-party-task{display:grid;grid-template-columns:1fr;gap:7px;background:#fff8df;border:1px solid #eadb9d;padding:12px}.task-main-stage .third-party-entry,.task-main-stage .third-party-expense{grid-template-columns:1fr}.task-main-stage .third-party-task>label{font-size:10px}@media(max-width:900px){.task-main-stage{grid-template-columns:1fr 1fr}.task-main-stage .third-party-task{grid-column:1/-1}}@media(max-width:680px){.task-main-stage{grid-template-columns:1fr}.task-rate-progress{grid-template-columns:1fr}}
.task-name-input{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;font-weight:600;font-size:18px;padding:3px 0}.task-name-input:focus{outline:2px solid var(--yellow);background:var(--white)}
.task-main-stage{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.task-main-stage>div:first-child{grid-column:1/-1}.task-main-stage .task-rate-progress{display:contents}.task-main-stage .completion-inline,.task-main-stage .rate-inline,.task-main-stage .task-budget-field,.task-main-stage .task-entry-toggle{min-width:0}.task-main-stage .third-party-task{grid-column:1/-1}.task-main-stage .delete-task{grid-column:1/-1}@media(max-width:900px){.task-main-stage{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:680px){.task-main-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.task-main-stage>div:first-child,.task-main-stage .third-party-task,.task-main-stage .delete-task{grid-column:1/-1}}
.task-main-stage{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.task-main-stage>div:first-child{grid-column:1/-1;min-width:0}.task-main-stage>div:first-child .task-name-input{width:100%;font-size:20px;padding:8px 0}.task-dates{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}.task-date{width:100%;min-width:0}.task-rate-progress{min-width:0}.task-budget-field{min-width:0}.task-entry-toggle{min-height:38px;justify-content:flex-start}.task-main-stage>.third-party-task{grid-column:1/-1;width:100%}.task-main-stage>.delete-task{grid-column:1/-1}@media(min-width:901px){.task-main-stage{grid-template-columns:minmax(260px,1.5fr) minmax(180px,1fr) minmax(150px,.8fr) minmax(200px,1.2fr)}.task-main-stage>div:first-child{grid-column:auto}.task-main-stage>.third-party-task{grid-column:1/-1}}
.third-party-expenses-section{margin-top:14px;border-top:1px solid #eadb9d;padding-top:10px}.third-party-section-title{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.third-party-expenses-section .third-party-entry{display:grid;grid-template-columns:140px 120px 1fr auto;gap:8px;align-items:center}.third-party-expenses-section .third-party-expense{display:grid;grid-template-columns:140px 120px 1fr;gap:8px;border-top:1px solid #eadb9d;padding-top:6px;margin-top:6px;font-size:11px}@media(max-width:680px){.third-party-expenses-section .third-party-entry,.third-party-expenses-section .third-party-expense{grid-template-columns:1fr}}
.expense-row-list{display:grid;gap:7px;margin-top:8px}.expense-row-list .third-party-entry{padding:7px 0;border-top:1px solid #eadb9d}.remove-expense-row{color:var(--red)}
.add-task-bottom{margin:14px 0 4px}
.delete-task{align-self:end;justify-self:start;padding:5px 0;color:var(--red)}
.task-entry-toggle{display:flex;align-items:center;gap:6px;align-self:end;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);white-space:nowrap}.task-entry-toggle input{accent-color:var(--green)}
.project-create-backdrop{position:fixed;inset:0;background:rgba(21,21,21,.38);display:grid;place-items:center;z-index:20;padding:20px}.project-create-modal{background:var(--white);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);width:min(680px,100%);padding:24px}.project-create-modal h2{margin:0;font-size:24px}.project-create-modal .panel-title{align-items:flex-start}.project-create-modal .form-grid{margin-top:20px}
.report-shell{display:grid;gap:14px}.report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.report-tabs,.report-actions,.report-filters{display:flex;gap:0;align-items:center;flex-wrap:wrap}.report-tab,.report-filters button{border:1px solid var(--line);background:var(--white);padding:11px 15px;color:var(--ink)}.report-tab.active{background:#e6edf1;font-weight:600}.report-filters{background:var(--white);border:1px solid var(--line);padding:10px}.report-filters button{border:0;border-right:1px dashed var(--line);font-family:'IBM Plex Mono',monospace;font-size:10px}.report-filters button:last-child{border:0;margin-left:8px}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#e6edf1;padding:18px}.report-summary div{display:flex;align-items:baseline;gap:9px}.report-summary span{color:var(--muted);font-size:12px}.report-summary strong{font-size:24px}.report-chart-panel,.report-table-panel{padding:20px}.report-chart{height:180px;display:flex;align-items:flex-end;gap:18px;border-bottom:1px solid var(--ink);padding:15px 10px 0}.report-chart-column{flex:1;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted)}.report-chart-bar{background:var(--yellow);border:1px solid var(--ink);min-height:4px;width:70%;margin:0 auto 7px}.report-table-panel table{margin-top:10px}@media(max-width:680px){.report-summary{grid-template-columns:1fr}.report-summary div{justify-content:space-between}.report-tabs{overflow:auto;flex-wrap:nowrap}.report-tab{white-space:nowrap}}
.report-clockify .report-period-label{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted)}.report-clockify .report-filters button.selected{background:#e6edf1;color:var(--ink);font-weight:600}.report-clockify [data-report-sort],.report-clockify .report-entry-row{cursor:pointer}.report-clockify [data-report-sort]:hover,.report-clockify .report-entry-row:hover{background:#f5f6f2}.report-entry-detail{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:18px}.report-entry-detail span{color:var(--muted);font-family:'IBM Plex Mono',monospace;font-size:12px}.report-entry-detail p{margin:0}.report-entry-modal{max-width:560px}.report-clockify .table-wrap{overflow:auto}.report-clockify table{min-width:680px}.report-clockify td small{display:block;color:var(--muted);margin-top:3px}@media print{.sidebar,.topbar,.report-toolbar,.report-filters{display:none!important}.main-content{margin:0}.report-shell{padding:0}.panel{box-shadow:none}}
.report-filters{position:relative}.report-filters>button{position:relative}.report-filter-menu{position:absolute;z-index:8;top:calc(100% + 4px);left:0;background:var(--white);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:8px;min-width:190px}.report-filter-menu label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.report-filter-menu select,.report-filter-menu input{width:100%;min-height:32px;padding:5px;font-size:12px}
.report-filter-checkboxes{display:grid;gap:4px;max-height:220px;overflow:auto}.report-filter-menu .report-filter-checkboxes label{display:flex;align-items:center;gap:8px;padding:5px;color:var(--ink);font-size:12px;cursor:pointer}.report-filter-checkboxes input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;accent-color:var(--yellow)}.report-filter-clear{margin-top:8px;padding:5px 0}
.report-group-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.report-group-controls label{display:flex;align-items:center;gap:5px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted)}.report-group-controls select{min-width:128px;min-height:34px;padding:5px 8px;font-size:12px}.report-group-toggle{width:22px;height:24px;margin-right:6px;border:0;background:transparent;color:var(--muted);cursor:pointer}.report-group-spacer{display:inline-block;width:28px}.report-group-row td:first-child small{display:block;margin:3px 0 0 28px;color:var(--muted);font-size:11px}.report-group-row td:first-child strong{vertical-align:middle}@media(max-width:680px){.report-group-controls{width:100%}.report-group-controls label{flex:1}.report-group-controls select{min-width:0;width:100%}}
.employee-admin-tools{margin-bottom:14px}.employee-admin-tools .panel-title{margin-bottom:16px}.employee-admin-tools input,.employee-admin-tools select{min-width:0}.employee-admin-tools .employee-email{width:190px;max-width:100%;min-height:34px}.employee-percent-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,180px) minmax(150px,190px) auto;gap:10px;align-items:end;padding:0;margin:0}.employee-percent-form label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.employee-percent-form input,.employee-percent-form select{width:100%;min-height:38px;padding:6px 8px;border:1px solid var(--line);background:var(--white);color:var(--ink)}@media(max-width:760px){.employee-percent-form{grid-template-columns:1fr 1fr}.employee-percent-form button{grid-column:1/-1;justify-self:start}.employee-admin-tools .employee-email{width:150px}}
.employee-planning-modal .edit-employee-masterdata{margin-left:auto;white-space:nowrap}.employee-masterdata-editor{margin:18px 0;padding:16px;background:#f5f6f2;border:1px solid var(--line)}.employee-masterdata-editor[hidden]{display:none}.employee-masterdata-editor .form-grid{margin:0}.employee-masterdata-editor .masterdata-history{margin-top:14px;border-top:1px solid var(--line);padding-top:10px;font-size:12px}.masterdata-history p{margin:5px 0;color:var(--muted)}.masterdata-history .account-status{color:var(--ink);font-weight:600}.employee-account-status{display:inline-block;padding:4px 7px;font-family:'IBM Plex Mono',monospace;font-size:10px;white-space:nowrap}.employee-account-status.account-ready{background:#dcefe2;color:#286544}.employee-account-status.account-missing{background:#f4e6d8;color:#8b4d20}@media(max-width:680px){.employee-planning-modal .panel-title{flex-wrap:wrap}.employee-planning-modal .edit-employee-masterdata{margin-left:0}.employee-masterdata-editor{padding:12px}}
.employee-indefinite-toggle{display:flex;align-items:center;gap:7px;margin-top:7px;font-size:12px;color:var(--ink);cursor:pointer}.employee-indefinite-toggle input{width:16px;min-height:16px;margin:0;accent-color:var(--yellow)}
.daily-hours-form{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.daily-hours-form input{width:88px;min-height:38px;padding:5px 7px;font-size:18px}.daily-hours-form span{font-size:12px;color:var(--muted)}.daily-hours-form button{padding:6px 9px;font-size:12px}
.holiday-management{margin:18px 0;border-top:1px solid var(--line);padding-top:16px}.holiday-management-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:12px}.holiday-management-head strong,.holiday-management-head small{display:block}.holiday-management-head small{margin-top:4px;color:var(--muted);font-size:12px}.holiday-management-head label{display:grid;gap:4px;font-size:11px;color:var(--muted)}.holiday-management-head select{min-width:100px}.holiday-management table{width:100%;min-width:420px}.holiday-management th:last-child,.holiday-management td:last-child{text-align:center}.holiday-management input[type=checkbox]{width:18px;height:18px;accent-color:var(--yellow)}@media(max-width:600px){.holiday-management-head{align-items:flex-start;flex-direction:column}}
.employee-planning-modal .create-overtime-payout{margin-left:auto;white-space:nowrap;padding:8px 10px;font-size:12px}.overtime-payout-modal{width:min(680px,100%)}.overtime-payout-modal .panel-title{align-items:flex-start}.overtime-payout-modal .panel-title h2{font-size:22px}.overtime-payout-history{margin-top:22px;border-top:1px solid var(--line);padding-top:14px}.overtime-payout-history h3{margin:0 0 8px;font-size:15px}.overtime-payout-history table{min-width:460px}.overtime-payout-history td,.overtime-payout-history th{white-space:nowrap}@media(max-width:680px){.employee-planning-modal .create-overtime-payout{margin-left:0}.overtime-payout-modal{padding:16px}}
.employee-recurring-assignments{margin:16px 0;border:1px solid var(--line);padding:14px;background:#f5f6f2}.employee-recurring-assignments .panel-title{margin-bottom:12px}.employee-recurring-assignments .panel-title h3{margin:0;font-size:16px}.employee-recurring-assignments .panel-title p{margin:4px 0 0;color:var(--muted);font-size:11px}.recurring-assignment-form{margin:0}.recurring-assignment-list{margin-top:12px}.recurring-assignment-item{gap:10px}.recurring-assignment-item small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.employee-planning-modal .table-wrap tr[data-recurring-assignment-row]{background:#fffdf3}@media(max-width:680px){.employee-recurring-assignments{padding:10px}.recurring-assignment-item{align-items:flex-start;flex-direction:column}}
.employee-plan-total td,.employee-plan-available td{background:#f5f6f2;border-top:2px solid var(--ink);font-weight:600}.employee-plan-total td small,.employee-plan-available td small{display:block;color:var(--muted);font-size:10px;font-weight:400}.employee-plan-total .overplanned{color:var(--red);font-weight:700}.employee-plan-available td{border-top:1px solid var(--line)}
.employee-task-edit{display:block;margin-top:5px;padding:2px 0;color:var(--muted);font-size:10px;text-align:left}.employee-task-edit:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:3px}
.time-entry-history{margin-top:18px}.time-entry-history .panel-title{align-items:flex-start}.time-entry-history .panel-title h3{margin:0}.time-entry-history .panel-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.time-entry-history table{min-width:820px}.time-entry-history td small{display:block;margin-top:3px;color:var(--muted)}.time-entry-edit-modal{width:min(720px,100%)}.time-entry-edit-modal .panel-title{align-items:flex-start}@media(max-width:680px){.time-entry-history{padding:12px}.time-entry-history .panel-title{flex-wrap:wrap}}
.day-tag-editor{margin:14px 0}.day-tag-editor>label{display:block;margin-bottom:6px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);text-transform:uppercase}.day-tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.day-tag-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;background:#fff3bf;border:1px solid #e1c85d;font-size:12px}.day-tag-chip button{border:0;background:transparent;padding:0 2px;font-size:14px;line-height:1}.day-tag-add{display:flex;gap:8px}.day-tag-add input{flex:1;min-width:0}.day-tag-add button{white-space:nowrap}
.report-date-range{display:flex;align-items:center;gap:6px;padding:0 7px}.report-date-range label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;white-space:nowrap}.report-date-range input{width:132px;min-height:38px;padding:5px 7px;border:1px solid var(--line);background:var(--white);color:var(--ink);font:12px 'IBM Plex Mono',monospace}.report-date-range input:focus{outline:2px solid var(--yellow);outline-offset:1px}@media(max-width:680px){.report-date-range{width:100%;padding:8px 0}.report-date-range label{flex:1}.report-date-range input{width:100%;min-width:0}}
.project-view-backdrop{position:fixed;inset:0;background:rgba(21,21,21,.38);display:grid;place-items:center;z-index:30;padding:20px}.project-view-modal{background:var(--white);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);width:min(900px,100%);max-height:88vh;overflow:auto;padding:24px}.project-control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.project-control-grid div{border:1px solid var(--line);padding:14px}.project-control-grid span,.project-control-grid strong{display:block}.project-control-grid span{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);text-transform:uppercase}.project-control-grid strong{font-size:21px;margin-top:9px}.gantt-grid{margin-top:20px}.gantt-months,.gantt-row{display:grid;grid-template-columns:180px 1fr 170px;gap:10px;align-items:center}.gantt-months{grid-template-columns:180px repeat(12,1fr);font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:8px}.gantt-row{border-bottom:1px solid var(--line);padding:12px 0}.gantt-track{height:12px;background:repeating-linear-gradient(90deg,#eef0eb 0,#eef0eb calc(8.333% - 1px),#fff calc(8.333% - 1px),#fff 8.333%);position:relative}.gantt-track i{position:absolute;top:1px;height:10px;background:var(--yellow);border:1px solid var(--ink)}.gantt-row small{font-family:'IBM Plex Mono',monospace;color:var(--muted);font-size:10px}@media(max-width:680px){.project-control-grid{grid-template-columns:1fr 1fr}.gantt-months{grid-template-columns:140px repeat(12,55px);overflow:auto}.gantt-row{grid-template-columns:140px 660px 160px;overflow:auto}}
.planning-person{border:0;background:none;padding:0;text-align:left;font-weight:600;font-size:13px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:3px;cursor:pointer}.planning-person:hover{background:var(--yellow)}.employee-planning-modal{width:min(1200px,100%)}.employee-planning-modal table{margin-top:20px;min-width:1100px}.employee-planning-modal td{vertical-align:top;line-height:1.5;white-space:nowrap}.employee-planning-modal td:first-child{white-space:normal;min-width:180px}.employee-planning-modal td small{display:block;color:var(--muted);margin-top:4px}.employee-planning-modal th small{font-weight:400;text-transform:none}
.controlling-task-table{margin-top:24px;overflow:auto}.controlling-task-table h3{margin:0 0 12px}.controlling-task-table table{min-width:760px}.controlling-task-table th{background:#eef1ee}.controlling-task-table td,.controlling-task-table th{white-space:nowrap}
.clockify-import-preview{margin-top:18px;text-align:left}.clockify-preview-summary{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-bottom:10px;font-size:12px}.clockify-preview-summary strong{font-size:14px}.clockify-preview-summary span{color:var(--muted)}.clockify-import-note{font-size:11px;color:var(--muted);line-height:1.5}.clockify-preview-table{max-height:260px;margin:12px 0;overflow:auto}.clockify-preview-table table{min-width:680px;font-size:11px}.clockify-preview-table th{position:sticky;top:0;background:#eef1ee}.clockify-invalid-rows{padding-left:18px;color:var(--red);font-size:11px}.clockify-import-error{margin-top:12px;padding:10px 12px;background:#fff0ec;border-left:3px solid var(--red);color:var(--red);font-size:12px}.clockify-import-empty{color:var(--muted);font-size:12px}.import-box.is-dragging{outline:3px solid var(--yellow);outline-offset:2px}.clockify-import-preview #clockify-confirm-import{margin-top:12px}
.cost-timeline{margin:24px 0 0;border-top:1px solid var(--line);padding-top:16px}.chart-legend{font-size:11px;color:var(--muted)}.chart-legend i{display:inline-block;width:9px;height:9px;margin:0 4px 0 12px}.chart-legend .planned{background:var(--yellow)}.chart-legend .actual{background:#9aa4a8}.cost-chart{height:190px;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid var(--ink);padding:20px 8px 0}.cost-chart-column{flex:1;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--muted)}.cost-bars{height:145px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.cost-bars b{display:block;width:10px;min-height:3px;border:1px solid var(--ink)}.cost-bars .planned{background:var(--yellow)}.cost-bars .actual{background:#9aa4a8}
.timer-live-panel{margin:0 0 16px;padding:16px;border-left:4px solid var(--yellow)}.timer-live-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.timer-live-head>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.timer-live-head strong{font:600 20px 'IBM Plex Mono',monospace}.timer-live-head>div>span:last-child{color:var(--muted);font-size:12px}.timer-note-form{display:flex;gap:8px;margin-top:12px}.timer-note-form input{flex:1;min-width:0}.timer-note-form button{white-space:nowrap}.timer-note-list{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none}.timer-note-list li{display:flex;gap:10px;border-top:1px solid var(--line);padding:7px 0;font-size:12px}.timer-note-list time{color:var(--muted);font-family:'IBM Plex Mono',monospace;white-space:nowrap}.timer-start-modal{width:min(600px,100%)}@media(max-width:680px){.timer-live-head{align-items:flex-start;flex-direction:column}.timer-note-form{align-items:stretch;flex-direction:column}}
.project-header-name{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:26px;font-weight:700;padding:3px 0}.project-header-name:focus,.project-header-meta input:focus,.project-header-meta select:focus{outline:2px solid var(--yellow);background:var(--white)}.project-header-meta{display:flex;align-items:center;gap:7px;margin-top:6px}.project-header-meta input,.project-header-meta select{border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;padding:3px 0;min-width:0}.project-header-meta input:first-of-type,.project-header-meta select{flex:1}.project-header-meta select{min-height:30px}
.project-finance-settings .field:nth-child(1){grid-column:1;grid-row:2}.project-finance-settings .field:nth-child(2){grid-column:1;grid-row:1}.project-finance-settings .field:nth-child(3){grid-column:2;grid-row:1}.project-finance-settings .field:nth-child(4){grid-column:2;grid-row:2}.project-finance-settings .field:nth-child(5){grid-column:1;grid-row:3}.project-finance-settings .finance-note{grid-column:2;grid-row:3}@media(max-width:680px){.project-finance-settings .field,.project-finance-settings .finance-note{grid-column:1;grid-row:auto}}
.project-finance-settings{display:grid;grid-template-columns:180px 180px 180px 180px 1fr;gap:12px;align-items:end;background:#f5f6f2;border:1px solid var(--line);padding:14px;margin:12px 0}.finance-note{display:grid;gap:5px;padding-bottom:8px}.finance-note span{font-size:12px;color:var(--muted)}@media(max-width:1100px){.project-finance-settings{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.project-finance-settings{grid-template-columns:1fr}}
.rate-inline{display:grid;gap:4px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);min-width:78px}.task-rate{width:78px;min-height:30px;padding:5px;font-family:'IBM Plex Mono',monospace;font-size:11px}
.assignment-inline{display:grid;gap:4px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);min-width:150px}.task-assignees{width:150px;min-height:48px;padding:4px;font-size:11px}.task-assignees option:disabled{font-weight:600;color:var(--muted)}.add-person{justify-self:start;padding:3px 0}
.add-allocation{grid-column:1/-1;justify-self:start;padding:5px 0}.task-allocation-list{grid-column:1/-1;display:grid;gap:6px}.task-allocation-row{display:grid;grid-template-columns:1fr 1fr 90px 100px auto;gap:8px;align-items:center;background:#f5f6f2;border-top:1px solid var(--line);padding:8px}.task-allocation-row select,.task-allocation-row input{min-height:30px;padding:5px;font-size:11px}.remove-allocation{padding:4px 0}@media(max-width:680px){.task-allocation-row{grid-template-columns:1fr 1fr}.remove-allocation{grid-column:1/-1;justify-self:start}}
.third-party-task{grid-column:1/-1;background:#fff8df;border-top:1px solid #eadb9d;padding:10px;display:grid;grid-template-columns:150px 130px 1fr;gap:8px;align-items:end}.third-party-task>label{display:grid;gap:4px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted)}.third-party-task input{min-height:30px;padding:5px;font-size:11px}.third-party-entry{grid-column:1/-1;display:grid;grid-template-columns:140px 120px 1fr auto;gap:8px;align-items:center}.third-party-expense{grid-column:1/-1;display:grid;grid-template-columns:140px 110px 1fr;gap:8px;border-top:1px solid #eadb9d;padding-top:6px;font-size:11px}.third-party-expense span:nth-child(2){font-family:'IBM Plex Mono',monospace}@media(max-width:680px){.third-party-task{grid-template-columns:1fr}.third-party-entry,.third-party-expense{grid-template-columns:1fr}}