:root{--accent: #0ea5e9;--accent-contrast: #ffffff;--radius: 5px;--radius-lg: 10px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--space: var(--space-4);--dot-size: 1px;--dot-gap: 22px;color-scheme:dark;--bg: #1c1c1c;--surface: #171717;--surface-solid: #171717;--surface-2: #202020;--text: #e9e9ea;--text-muted: #8c8c90;--border: #262626;--border-bedienelement: #727277;--sidebar-bg: #171717;--sidebar-text: #fafafa;--sidebar-border: #262626;--bg-glow: color-mix(in srgb, var(--accent) 45%, var(--bg));--dot-color: rgba(255, 255, 255, .05);--status-paid: #4ade80;--status-due-soon: #fbbf24;--status-overdue: #f87171;--status-storniert: #94a3b8;--status-open: var(--text-muted);--projekt-anfrage: #9a9a9a;--projekt-angebot: #38bdf8;--projekt-laufend: #60a5fa;--projekt-review: #facc15;--projekt-abgeschlossen: #4ade80;--task-offen: #94a3b8;--task-in-arbeit: var(--projekt-laufend);--task-review: var(--projekt-review);--task-fertig: var(--status-paid);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .22);--shadow-lg: 0 10px 28px rgba(0, 0, 0, .4);--sidebar-text-muted: #a1a1aa;--sidebar-surface-2: #2f2f2f}:root[data-theme=dark]{color-scheme:dark;--bg: #1c1c1c;--bg-glow: color-mix(in srgb, var(--accent) 45%, var(--bg));--surface: #171717;--surface-solid: #171717;--surface-2: #202020;--text: #e9e9ea;--text-muted: #8c8c90;--border: #262626;--border-bedienelement: #727277;--dot-color: rgba(255, 255, 255, .05);--accent: #0ea5e9;--status-paid: #4ade80;--status-due-soon: #fbbf24;--status-overdue: #f87171;--status-storniert: #94a3b8;--status-open: var(--text-muted);--projekt-anfrage: #9a9a9a;--projekt-angebot: #38bdf8;--projekt-laufend: #60a5fa;--projekt-review: #facc15;--projekt-abgeschlossen: #4ade80;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .22);--shadow-lg: 0 10px 28px rgba(0, 0, 0, .4);--sidebar-bg: #171717;--sidebar-text: #fafafa;--sidebar-text-muted: #a1a1aa;--sidebar-border: #262626;--sidebar-surface-2: #2f2f2f}[data-surface=buehne]{--bg: #070b1c;--surface: #171717;--surface-solid: #202020;--surface-2: #202020;--text: #e9e9ea;--text-muted: #8c8c90;--border: #2a2a2a;--border-bedienelement: #2a2a2a;--accent: #5b74ff;--accent-contrast: #ffffff;--shadow-lg: 0 30px 80px rgba(0, 0, 0, .55);--buehne-glow-1: #2b3fa8;--buehne-glow-2: #17205c;--buehne-akzent-weich: #232a52;--buehne-chip: #c9d2ff;--buehne-chip-text: #23307a;--buehne-chip-warm: #ffc3b0;--buehne-chip-warm-text: #8f3418;--buehne-ordner: #4a63f0}:root[data-theme=light]{color-scheme:light;--bg: #f1f0ea;--bg-glow: color-mix(in srgb, var(--accent) 35%, var(--bg));--surface: #f8f7f2;--surface-solid: #f8f7f2;--surface-2: #e9e8e1;--text: #0d0e0b;--text-muted: #66655d;--border: #dddbd2;--border-bedienelement: #828177;--dot-color: rgba(13, 14, 11, .06);--accent: #0284c7;--status-paid: #16a34a;--status-due-soon: #d97706;--status-overdue: #dc2626;--status-storniert: #64748b;--status-open: var(--text-muted);--projekt-anfrage: #71717a;--projekt-angebot: #0284c7;--projekt-laufend: #2563eb;--projekt-review: #ca8a04;--projekt-abgeschlossen: #16a34a;--task-offen: #71717a;--task-in-arbeit: var(--projekt-laufend);--task-review: var(--projekt-review);--task-fertig: var(--status-paid);--shadow: 0 1px 2px rgba(13, 14, 11, .05), 0 2px 8px rgba(13, 14, 11, .05);--shadow-lg: 0 12px 28px rgba(13, 14, 11, .12);--sidebar-bg: #f8f7f2;--sidebar-text: #0d0e0b;--sidebar-text-muted: #66655d;--sidebar-border: #dddbd2;--sidebar-surface-2: #e9e8e1}:root[data-theme=light] [data-surface=buehne]{--bg: #eceefb;--surface: #ffffff;--surface-solid: #ffffff;--surface-2: #ffffff;--text: #14161f;--text-muted: #6b6f80;--border: #e8e9ef;--border-bedienelement: #e8e9ef;--accent: #2f4dff;--accent-contrast: #ffffff;--shadow-lg: 0 24px 60px rgba(29, 38, 90, .22);--buehne-glow-1: #b9c4ff;--buehne-glow-2: #d8ddfb;--buehne-akzent-weich: #eef1ff;--buehne-chip: #97a8ff;--buehne-chip-text: #1b246b;--buehne-chip-warm: #ff9f80;--buehne-chip-warm-text: #6d240c;--buehne-ordner: #6d82f5}*{box-sizing:border-box}html,body,#root{height:100%}html{scrollbar-gutter:stable}html:has(.shell-content-voll){scrollbar-gutter:auto}*{scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent}:root{--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "DM Mono", Menlo, Consolas, monospace}body{margin:0;background-color:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}.mono,.money{font-family:var(--font);font-variant-numeric:tabular-nums}h1,h2,h3{margin:0 0 4px;letter-spacing:-.02em}h2{font-size:1.5rem;font-weight:600}h3{font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em}a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:9px 16px;border-radius:var(--radius);transition:border-color .15s ease,background .15s ease}button:hover{border-color:var(--accent)}button[type=submit]{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:500}button[type=submit]:hover{filter:brightness(1.08)}input,select,textarea{font:inherit;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:11px 14px;line-height:1.4}textarea{resize:vertical}select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%238b8d98' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:11px 7px}select option{background-color:var(--surface-solid);color:var(--text)}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.dashboard-page{display:flex;flex-direction:column;height:calc(100vh - 160px);min-height:0}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px;flex:0 0 auto}@media (max-width: 720px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-kpi{display:flex;flex-direction:column;gap:6px;min-width:0}.dashboard-kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.dashboard-kpi-label{color:var(--text-muted);font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-kpi-value{font-size:1.9rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.dashboard-kpi.warning{border-color:var(--status-overdue)}.dashboard-kpi.warning .dashboard-kpi-value{color:var(--status-overdue)}.dashboard-kpi-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;flex-shrink:0}.dashboard-kpi-pill.up{background:color-mix(in srgb,var(--status-paid) 20%,var(--surface-solid));color:var(--status-paid)}.dashboard-kpi-pill.down{background:color-mix(in srgb,var(--status-overdue) 20%,var(--surface-solid));color:var(--status-overdue)}.dashboard-main-grid{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:5fr 3fr;gap:16px;margin-top:16px;flex:1;min-height:0}.dashboard-main-top-left{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:16px;min-height:0}.dashboard-top-kunden{grid-column:2;grid-row:1}.dashboard-projects-card{grid-column:1;grid-row:2;min-height:0;display:flex;flex-direction:column}.dashboard-letzte-rechnungen{grid-column:2;grid-row:2}.dashboard-projects-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.dashboard-projects-list .documents-row,.dashboard-recent-list .documents-row{text-decoration:none;color:inherit}.dashboard-projects-rest{font-size:.82rem;color:var(--text-muted);white-space:nowrap}.dashboard-projects-rest.warning{color:var(--status-overdue);font-weight:500}.dashboard-chart-card{display:flex;flex-direction:column;flex:1;min-height:0}.dash-linechart-legend{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.dash-linechart-legend-items{display:flex;gap:var(--space-6)}.dash-linechart-legend-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted);font-weight:500}.dash-linechart-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dash-linechart-granularity{display:flex;align-items:center;gap:4px}.dash-linechart-granularity-arrow{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:none;background:transparent;color:var(--text-muted)}.dash-linechart-granularity-arrow:hover{background:var(--surface-2);color:var(--text)}.dash-linechart-granularity-toggle{display:inline-flex;gap:2px;background:var(--surface-2);border-radius:999px;padding:3px}.dash-linechart-granularity-toggle button{border:none;background:transparent;color:var(--text-muted);padding:5px 14px;border-radius:999px;font-size:.78rem;font-weight:500}.dash-linechart-granularity-toggle button.active{background:var(--surface-solid);color:var(--text);font-weight:600;box-shadow:var(--shadow)}.dash-linechart{position:relative;flex:1;min-height:0;margin-top:14px}.dash-linechart svg{width:100%;height:100%;display:block;overflow:visible}.dash-linechart-hoverdot{position:absolute;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 2px var(--surface-solid)}.dash-linechart-tooltip{position:absolute;transform:translate(-50%,-115%);background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:.78rem;white-space:nowrap;pointer-events:none;box-shadow:0 4px 16px #00000040;z-index:5}.dash-linechart-tooltip strong{display:block;margin-bottom:2px}.dash-linechart-lbls{position:relative;height:16px;margin-top:4px}.dash-linechart-lbls span{position:absolute;top:0;transform:translate(-50%);text-align:center;font-size:.68rem;color:var(--text-muted);white-space:nowrap}.dashboard-progress-card{display:flex;flex-direction:column;gap:16px}.dashboard-progress-row{display:flex;flex-direction:column;gap:6px}.dashboard-progress-label{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:.85rem;font-weight:500}.dashboard-progress-value{color:var(--text-muted);font-weight:400;white-space:nowrap}.dashboard-progress-empty-link{font-size:.85rem;text-decoration:none;color:var(--accent)}.dashboard-progress-bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.dashboard-progress-fill{width:100%;height:100%;border-radius:999px;transform-origin:left center;transition:transform .3s ease}.dashboard-recent{flex:1;min-height:0;display:flex;flex-direction:column}.dashboard-recent-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.settings-page{display:flex;flex-direction:column;gap:18px;max-width:760px}.settings-form-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:18px}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 28px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.settings-page button[type=submit]{align-self:flex-start;padding:10px 28px}.settings-datamode{border-color:var(--status-due-soon)}.settings-datamode-desc{color:var(--text-muted);font-size:.85rem;margin:0}.settings-datamode-toggle{display:inline-flex;gap:2px;background:var(--surface-2);border-radius:999px;padding:3px;width:fit-content}.settings-datamode-btn{border:none;background:transparent;color:var(--text-muted);padding:8px 18px;border-radius:999px;font-size:.85rem;font-weight:500}.settings-datamode-btn.active{background:var(--surface-solid);color:var(--text);font-weight:600;box-shadow:var(--shadow)}.settings-datamode-btn:disabled{opacity:.6;cursor:not-allowed}.settings-datamode-restarting{color:var(--status-due-soon);font-size:.85rem;font-weight:500;margin:0}.settings-accordion{display:flex;flex-direction:column;gap:10px}.settings-accordion-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.settings-accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border:none;background:none;font:inherit;text-align:left;cursor:pointer}.settings-accordion-header:hover{background:var(--surface-2)}.settings-accordion-header-text{display:flex;flex-direction:column;gap:2px}.settings-accordion-header-text h2{margin:0;font-size:1rem;font-weight:600;color:var(--text);text-transform:none;letter-spacing:normal}.settings-accordion-header-text p{margin:0;font-size:.82rem;color:var(--text-muted)}.settings-accordion-item:not(.open) .settings-accordion-header-text p{display:none}.settings-accordion-chevron{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0;transition:transform .2s cubic-bezier(.16,1,.3,1)}.settings-accordion-item.open .settings-accordion-chevron{transform:rotate(180deg)}.settings-accordion-body-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.16,1,.3,1)}.settings-accordion-item.open .settings-accordion-body-wrap{grid-template-rows:1fr}.settings-accordion-body{overflow:hidden}.settings-accordion-body-inner{border-top:1px solid var(--border)}.settings-row-item{padding:16px 22px;border-bottom:1px solid var(--border)}.settings-row-item:last-child{border-bottom:none}.settings-row-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-row-item-label{font-weight:500;font-size:.88rem;color:var(--text)}.settings-row-item-value{font-size:.82rem;color:var(--text-muted);margin-top:3px;line-height:1.5}.settings-row-item-edit{flex-shrink:0;padding:6px 14px;font-size:.8rem}.settings-row-item-form{margin-top:14px}.signature-pad{display:flex;flex-direction:column;gap:10px}.signature-canvas{background:#fff;border:1px dashed var(--border);border-radius:var(--radius);width:400px;max-width:100%;height:120px;touch-action:none;cursor:crosshair}.signature-pad-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.abrechnung-intro,.rentabilitaet-intro{color:var(--text-muted);font-size:.9rem;max-width:640px;margin:var(--space-2) 0 var(--space-5)}.abrechnung-client-card{margin-bottom:var(--space-4)}.abrechnung-client-row{display:flex;justify-content:space-between;font-size:1.05rem;margin-bottom:var(--space-3)}.abrechnung-project-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0 var(--space-2) var(--space-5);border-top:1px solid var(--border)}.abrechnung-project-row-abweichend{border-left:2px solid var(--accent);padding-left:calc(var(--space-5) - 2px)}.client-detail-contact-form{display:flex;flex-direction:column;gap:var(--space-2);max-width:400px}.abrechnung-geerbt{color:var(--text-muted);font-size:.85rem;display:flex;align-items:center;gap:var(--space-2)}.abrechnung-abweichend,.abrechnung-edit-form{display:flex;align-items:center;gap:var(--space-2)}.abrechnung-edit-form input[type=number]{width:120px}.abrechnung-standard-hinweis{color:var(--text-muted);font-size:.85rem}
