.panel.svelte-onpbqt{width:100%}.create-form.svelte-onpbqt{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:12px;padding:12px;display:flex}.create-form.svelte-onpbqt label:where(.svelte-onpbqt){color:var(--color-muted);gap:4px;font-size:12px;display:grid}.create-form.svelte-onpbqt input:where(.svelte-onpbqt),button.svelte-onpbqt{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;padding:6px 10px;font-size:13px}.projects.svelte-onpbqt{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}.project-card.svelte-onpbqt{justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.project-name.svelte-onpbqt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}button.danger.svelte-onpbqt{color:#a33726;flex-shrink:0}.message.svelte-onpbqt,.muted.svelte-onpbqt,.error.svelte-onpbqt{margin:0 0 12px;font-size:13px}.message.svelte-onpbqt{color:#315b84}.muted.svelte-onpbqt{color:var(--color-muted)}.error.svelte-onpbqt{color:#a33726}.grid-wrap.svelte-1djzh1w{isolation:isolate;flex:1;min-height:0;overflow:auto}.effort-grid.svelte-1djzh1w{table-layout:fixed;border-collapse:collapse;width:max-content;font-size:12px}th.svelte-1djzh1w,td.svelte-1djzh1w{border:1px solid var(--color-border);vertical-align:middle;padding:0}thead.svelte-1djzh1w th:where(.svelte-1djzh1w){z-index:2;background:var(--color-bg-sticky);font-weight:600;position:sticky;top:0}.sticky.svelte-1djzh1w{z-index:1;background:var(--color-bg-subtle);position:sticky;left:0}thead.svelte-1djzh1w .sticky:where(.svelte-1djzh1w){z-index:3}.date-col.svelte-1djzh1w{text-align:left;width:150px;max-width:150px;padding:6px 8px}.date-line.svelte-1djzh1w{white-space:nowrap}.weekday.svelte-1djzh1w{color:var(--color-muted);margin-left:4px}.holiday-name.svelte-1djzh1w{color:#b42318;margin-left:6px;font-size:10px}.today-label.svelte-1djzh1w{color:#2f8f46;margin-left:6px;font-size:10px;font-weight:600}.jobcan-ref.svelte-1djzh1w{color:#7b8491;font-size:10px;display:block}.project-col.svelte-1djzh1w{width:96px;max-width:96px;overflow:hidden}.project-head.svelte-1djzh1w{gap:4px;padding:6px;display:grid;position:relative}.project-name.svelte-1djzh1w{text-overflow:ellipsis;white-space:nowrap;padding-right:18px;overflow:hidden}.consumption.svelte-1djzh1w{color:#315b84;font-size:11px}.budget-input.svelte-1djzh1w{border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;width:100%;padding:2px 4px;font-size:11px}.delete-column.svelte-1djzh1w{border:1px solid var(--color-danger-border);background:var(--color-surface);color:#a33726;cursor:pointer;border-radius:4px;place-items:center;width:16px;height:16px;padding:0;font-size:13px;line-height:1;display:grid;position:absolute;top:4px;right:4px}.delete-column.svelte-1djzh1w:hover{background:var(--color-danger-bg-hover)}.sum-col.svelte-1djzh1w{text-align:center;background:var(--color-bg-emphasis);width:64px;max-width:64px;font-weight:600;position:relative}.jobcan-fetch-button.svelte-1djzh1w{border:1px solid var(--color-link-border);background:var(--color-surface);color:#315b84;cursor:pointer;border-radius:3px;place-items:center;width:16px;height:16px;padding:0;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:3px;right:3px}.jobcan-fetch-button.svelte-1djzh1w:disabled{opacity:.45;cursor:wait}input[type=tel].svelte-1djzh1w{box-sizing:border-box;text-align:center;background:0 0;border:0;width:100%;padding:6px 8px;font-size:12px}input[type=tel].svelte-1djzh1w:focus{outline:none}td.project-col.svelte-1djzh1w:focus-within{background:var(--color-surface);box-shadow:inset 0 0 0 2px #1a73e8}input.invalid{background:var(--color-grid-invalid-bg)}tr.holiday.svelte-1djzh1w th:where(.svelte-1djzh1w),tr.holiday.svelte-1djzh1w td:where(.svelte-1djzh1w){background:var(--color-grid-holiday-bg)}tr.weekend.svelte-1djzh1w th:where(.svelte-1djzh1w),tr.weekend.svelte-1djzh1w td:where(.svelte-1djzh1w){background:var(--color-grid-weekend-bg)}tr.holiday.weekend.svelte-1djzh1w th:where(.svelte-1djzh1w),tr.holiday.weekend.svelte-1djzh1w td:where(.svelte-1djzh1w){background:var(--color-grid-holiday-weekend-bg)}.today-date.svelte-1djzh1w,.today-cell.svelte-1djzh1w,tr.holiday.svelte-1djzh1w .today-date:where(.svelte-1djzh1w),tr.holiday.svelte-1djzh1w .today-cell:where(.svelte-1djzh1w),tr.weekend.svelte-1djzh1w .today-date:where(.svelte-1djzh1w),tr.weekend.svelte-1djzh1w .today-cell:where(.svelte-1djzh1w){background:var(--color-grid-today-bg)}.today-date.svelte-1djzh1w{border-left:3px solid #2f8f46}.today-date.svelte-1djzh1w .weekday:where(.svelte-1djzh1w),.today-date.svelte-1djzh1w .holiday-name:where(.svelte-1djzh1w){color:#2f8f46}td.pending.svelte-1djzh1w input:where(.svelte-1djzh1w){opacity:.6}.jobcan-ref-loading.svelte-1djzh1w{background:var(--color-grid-jobcan-shimmer,#315b842e);border-radius:4px;width:32px;height:8px;margin:2px auto 3px;animation:1.2s ease-in-out infinite svelte-1djzh1w-jobcan-pulse}@keyframes svelte-1djzh1w-jobcan-pulse{0%,to{opacity:.45}50%{opacity:1}}.modal-backdrop.svelte-1jdsfgy{z-index:40;background:var(--color-overlay-light);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.project-modal.svelte-1jdsfgy{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;width:min(560px,100%);max-height:min(720px,100vh - 40px);overflow:auto;box-shadow:0 12px 32px #1c1c1a33}.jobcan-modal.svelte-1jdsfgy{width:min(520px,100%)}.modal-header.svelte-1jdsfgy{border-bottom:1px solid var(--color-border);text-align:center;place-items:center;padding:14px 16px;display:grid}.modal-header.svelte-1jdsfgy h3:where(.svelte-1jdsfgy){margin:0;font-size:15px}.modal-section.svelte-1jdsfgy{gap:10px;padding:14px 16px;display:grid}.jobcan-modal-body.svelte-1jdsfgy p:where(.svelte-1jdsfgy){color:var(--color-muted);margin:0;font-size:13px}.jobcan-form.svelte-1jdsfgy{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.jobcan-form.svelte-1jdsfgy input:where(.svelte-1jdsfgy){border:1px solid var(--color-border);border-radius:6px;min-width:180px;padding:6px 8px}.jobcan-status.svelte-1jdsfgy{color:#a33726;margin:0;font-size:13px}button.svelte-1jdsfgy{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:13px}button.svelte-1jdsfgy:disabled{opacity:.5;cursor:not-allowed}.panel.svelte-1bdkpjt{flex-direction:column;width:100%;min-height:0;display:flex}.header-actions.svelte-1bdkpjt{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.month-picker.svelte-1bdkpjt{color:var(--color-muted);font-size:12px}.add-project-button.svelte-1bdkpjt{height:32px}.modal-backdrop.svelte-1bdkpjt{z-index:40;background:var(--color-overlay-light);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.project-modal.svelte-1bdkpjt{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;width:min(560px,100%);max-height:min(720px,100vh - 40px);overflow:auto;box-shadow:0 12px 32px #1c1c1a33}.modal-header.svelte-1bdkpjt{border-bottom:1px solid var(--color-border);text-align:center;place-items:center;padding:14px 16px;display:grid}.modal-header.svelte-1bdkpjt h3:where(.svelte-1bdkpjt){margin:0;font-size:15px}.modal-section.svelte-1bdkpjt{gap:10px;padding:14px 16px;display:grid}.modal-section.svelte-1bdkpjt+.modal-section:where(.svelte-1bdkpjt){border-top:1px solid var(--color-border)}.filter-field.svelte-1bdkpjt{color:var(--color-muted);gap:6px;font-size:12px;display:grid}.filter-field.svelte-1bdkpjt input:where(.svelte-1bdkpjt){border:1px solid var(--color-border);border-radius:6px;width:100%;padding:7px 9px;font-size:13px}.project-cloud.svelte-1bdkpjt{flex-wrap:wrap;gap:8px;max-height:240px;display:flex;overflow:auto}.project-chip.svelte-1bdkpjt{text-overflow:ellipsis;white-space:nowrap;background:var(--color-bg-sticky);max-width:100%;overflow:hidden}.project-chip.svelte-1bdkpjt:hover{background:var(--color-bg-tab-active)}.new-project-form.svelte-1bdkpjt{grid-template-columns:minmax(0,1fr) auto;align-items:end}.modal-empty.svelte-1bdkpjt{color:var(--color-muted);margin:0;font-size:13px}.muted.svelte-1bdkpjt,.error.svelte-1bdkpjt{margin:0;font-size:13px}.muted.svelte-1bdkpjt{color:var(--color-muted)}.empty-month.svelte-1bdkpjt{border:1px dashed var(--color-border);background:var(--color-bg-subtle);color:var(--color-muted);text-align:center;border-radius:8px;margin:0;padding:16px;font-size:13px}.error.svelte-1bdkpjt{color:#a33726}button.svelte-1bdkpjt{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:13px}button.secondary.svelte-1bdkpjt{background:var(--color-bg-sticky)}button.svelte-1bdkpjt:disabled{opacity:.5;cursor:not-allowed}.panel.svelte-1aqvw7p{width:100%}.header-actions.svelte-1aqvw7p{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tabs.svelte-1aqvw7p{border:1px solid var(--color-border);border-radius:8px;display:inline-flex;overflow:hidden}.tabs.svelte-1aqvw7p button:where(.svelte-1aqvw7p){background:var(--color-surface);cursor:pointer;border:0;padding:6px 12px;font-size:13px}.tabs.svelte-1aqvw7p button.active:where(.svelte-1aqvw7p){background:var(--color-bg-tab-active);font-weight:600}.filters.svelte-1aqvw7p{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;padding:12px;display:flex}.filters.svelte-1aqvw7p label:where(.svelte-1aqvw7p),.filter-field.svelte-1aqvw7p{color:var(--color-muted);gap:4px;font-size:12px;display:grid}.project-filter.svelte-1aqvw7p{width:268px;max-width:100%}button.svelte-1aqvw7p{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;padding:6px 8px;font-size:13px}.table-wrap.svelte-1aqvw7p{overflow:auto}.summary-table.svelte-1aqvw7p{border-collapse:collapse;width:max-content;font-size:12px}th.svelte-1aqvw7p,td.svelte-1aqvw7p{border:1px solid var(--color-border);text-align:right;white-space:nowrap;padding:8px}.label-col.svelte-1aqvw7p{text-align:left;background:var(--color-bg-subtle);width:160px;max-width:160px;position:sticky;left:0}.user-col.svelte-1aqvw7p{min-width:72px}.total-col.svelte-1aqvw7p{width:72px;max-width:72px}.total.svelte-1aqvw7p{background:var(--color-bg-emphasis);font-weight:600}.muted.svelte-1aqvw7p,.error.svelte-1aqvw7p{margin:0;font-size:13px}.muted.svelte-1aqvw7p{color:var(--color-muted)}.error.svelte-1aqvw7p{color:#a33726}.jobcan-summary-card.svelte-3m9mya{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:12px;width:min(100%,720px);margin-bottom:12px;padding:14px 16px;display:grid}.header-actions.svelte-3m9mya{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.month-picker.svelte-3m9mya{color:var(--color-muted);font-size:12px}.jobcan-summary-formula.svelte-3m9mya{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jobcan-summary-item.svelte-3m9mya{background:var(--color-bg-subtle);border-radius:8px;gap:4px;min-width:124px;padding:10px 12px;display:grid}.jobcan-summary-item-result.svelte-3m9mya{background:var(--color-bg-tab-active)}.jobcan-summary-item.svelte-3m9mya .label:where(.svelte-3m9mya),.jobcan-summary-timestamp.svelte-3m9mya{color:var(--color-muted);font-size:12px}.jobcan-summary-item.svelte-3m9mya strong:where(.svelte-3m9mya){font-size:18px;line-height:1.2}.jobcan-summary-item.svelte-3m9mya strong.shimmer:where(.svelte-3m9mya){background:linear-gradient(90deg, var(--color-bg-tab-active) 25%, var(--color-surface) 50%, var(--color-bg-tab-active) 75%);color:#0000;background-size:200% 100%;border-radius:4px;width:72px;height:22px;animation:1.4s ease-in-out infinite svelte-3m9mya-jobcan-shimmer}.jobcan-summary-operator.svelte-3m9mya{color:var(--color-muted);font-size:18px;font-weight:600;line-height:1}.jobcan-summary-timestamp.svelte-3m9mya{justify-content:space-between;gap:16px;margin:0;display:flex}.jobcan-summary-timestamp.svelte-3m9mya span:where(.svelte-3m9mya):last-child{text-align:right}.jobcan-summary-error.svelte-3m9mya{color:#a33726}button.svelte-3m9mya{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:13px}button.secondary.svelte-3m9mya{background:var(--color-bg-sticky)}button.svelte-3m9mya:disabled{opacity:.5;cursor:not-allowed}@keyframes svelte-3m9mya-jobcan-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}
