.project-rates .rates-table .rate-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.project-rates .rates-table .rate-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sync-sharepoint-btn:hover,.sync-sharepoint-btn.active{color:#fff;background:#0078d4}@media (width<=1200px){.references-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}}@media (width<=768px){.sync-toolbar{flex-direction:column;align-items:flex-start}.sync-toolbar .sync-upload-btn{width:100%}.references-back{flex-direction:column;align-items:flex-start;gap:1rem}.references-grid,.images-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.images-grid.detail-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.project-card .project-details{padding:.75rem}.project-card .project-details .office-name{font-size:.7rem}.project-card .project-details .project-name{font-size:.9rem}.lightbox-nav{width:60px}.lightbox-nav .nav-arrow{font-size:2.5rem}.lightbox-content{max-width:calc(90vw - 140px)}.lightbox-content .lightbox-close{font-size:2rem;top:-2rem;right:0}.lightbox-content .lightbox-zoom-controls{padding:.15rem .35rem;top:-2rem}.lightbox-content .lightbox-zoom-controls .zoom-btn{width:24px;height:24px;font-size:1rem}.lightbox-content .lightbox-zoom-controls .zoom-level{min-width:40px;font-size:.7rem}.lightbox-content .lightbox-project-codes{width:100%;min-width:auto}.lightbox-content .lightbox-project-codes .code-input-row .lightbox-code-input{width:150px}}@media (width<=480px){.references-grid,.images-grid,.images-grid.detail-grid{grid-template-columns:1fr}.lightbox-nav{width:40px}.lightbox-nav .nav-arrow{font-size:2rem}.lightbox-content{max-width:calc(100vw - 100px)}.lightbox-content img{max-height:calc(70vh - 100px)}.lightbox-content .lightbox-project-codes .code-input-row{flex-direction:column;width:100%}.lightbox-content .lightbox-project-codes .code-input-row .lightbox-code-input,.lightbox-content .lightbox-project-codes .code-input-row .add-code-btn{width:100%}}:root{--ink-900:#131311;--ink-700:#3a3a36;--ink-500:#6d6d66;--ink-300:#a7a7a0;--paper-000:#fff;--paper-050:#f7f6f2;--paper-100:#efede6;--paper-200:#e3e0d7;--paper-300:#d2cec2;--brand-100:#ece8f4;--brand-300:#b3a9d7;--brand-500:#8377b4;--brand-700:#574a8c;--brand-800:#443873;--brand-300-rgb:179, 169, 215;--on-ink-100:#f7f6f2;--on-ink-300:#b6b5ad;--signal:#ffd424;--on-signal:#131311;--text-strong:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--ink-500);--text-faint:var(--ink-300);--text-on-ink:var(--on-ink-100);--text-on-ink-muted:var(--on-ink-300);--surface-page:var(--paper-050);--surface-card:var(--paper-000);--surface-sunken:var(--paper-100);--surface-ink:var(--ink-900);--line-faint:var(--paper-200);--line:var(--paper-300);--line-strong:var(--ink-900);--accent:var(--brand-700);--accent-strong:var(--brand-300);--accent-tint:var(--brand-100);--accent-pressed:var(--brand-800);--fill-brand:var(--brand-300);--on-fill-brand:var(--ink-900);--link:var(--ink-900);--link-hover:var(--brand-700);--focus-ring:var(--brand-700);--state-error:#a3261c;--state-success:#2f7d32;--state-warning:var(--signal);--state-info:var(--brand-700);--on-state-error:#fff;--tag-neutral-fill:transparent;--tag-neutral-text:var(--text-muted);--tag-neutral-line:var(--line);--tag-brand-fill:var(--accent-tint);--tag-brand-text:var(--text-strong);--tag-brand-line:var(--line);--tag-ink-fill:var(--surface-ink);--tag-ink-text:var(--text-on-ink);--tag-ink-line:transparent;--tag-signal-fill:var(--state-warning);--tag-signal-text:var(--on-signal);--tag-signal-line:transparent;--tag-muted-fill:var(--surface-sunken);--tag-muted-text:var(--text-body);--tag-muted-line:var(--line);--tag-faint-fill:transparent;--tag-faint-text:var(--text-faint);--tag-faint-line:var(--line-faint);--skeleton-base:var(--surface-sunken);--skeleton-sheen:var(--surface-card);--required-mark:var(--state-error);--chart-income:#2f7d32;--chart-income-fill:#2f7d32c7;--chart-income-soft:#2f7d3261;--chart-expense:#a3261c;--chart-expense-fill:#a3261cc7;--chart-expense-soft:#a3261c61;--chart-overdue:#b8641a;--chart-overdue-fill:#b8641ac7;--chart-balance:#3f5ea8;--chart-forecast:#6f4bb3;--chart-own-share:#0e7f74;--chart-actual:var(--text-strong);--chart-threshold:#b8641a;--chart-grid:#13131114;--chart-axis-text:var(--text-muted);--chart-clipped-label:var(--state-error);--chart-tooltip-surface:#131311e6;--chart-tooltip-text:#fff;--chart-tooltip-line:#ffffff24;--font-sans:Arial, Helvetica, sans-serif;--font-display:var(--font-sans);--font-mono:ui-monospace, Consolas, monospace;--size-eyebrow:9px;--size-label:10px;--size-meta:11px;--size-small:12px;--size-body:13px;--size-body-l:14px;--size-lead:15px;--size-h2:22px;--size-h1:38px;--size-display:44px;--tracking-eyebrow:.18em;--tracking-label:.14em;--tracking-wide:.16em;--tracking-chip:.1em;--tracking-display:-.02em;--weight-book:400;--weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--field-height:32px;--field-height-compact:24px;--shell-pad:20px;--row-pad:9px;--section-gap:28px;--rhythm-section:var(--space-7);--rhythm-block:var(--space-5);--rhythm-field:var(--space-3);--gutter:24px;--page-margin:40px;--measure:68ch;--radius-0:0;--radius-sm:1px;--radius-pill:999px;--border-hair:1px;--border-frame:1.5px;--border-rule:2px;--shadow-card:0 1px 0 0 var(--line-faint);--shadow-overlay:0 12px 40px -12px #13131147;--scrim:#13131166;--nav-width:268px;--nav-width-collapsed:68px;--z-sticky:20;--z-drawer:900;--z-scrim:11000;--z-dialog:11001;--z-menu:11100;--z-toast:11200;--z-tooltip:11300;--dur-fast:.12s;--dur-base:.2s;--dur-slow:.36s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1)}[data-theme=white]{--ink-900:#131311;--ink-700:#131311;--ink-500:#6a6580;--ink-300:#9b96ad;--paper-000:#fff;--paper-050:#fff;--paper-100:#f3f1f8;--paper-200:transparent;--paper-300:#13131129;--brand-100:#efecf7;--brand-300:#b3a9d7;--brand-500:#8b7fbb;--brand-700:#574a8c;--brand-800:#40356b;--on-ink-100:#fff;--on-ink-300:#d9d5e8;--text-strong:#131311;--text-body:#131311;--text-on-ink:#fff;--surface-ink:#131311;--line-faint:#1313111a;--line:#13131129;--line-strong:#131311;--accent-strong:var(--brand-700);--link:#131311}[data-theme=color]{--ink-900:#131311;--ink-700:#131311;--ink-500:#2f2b40;--ink-300:#5b5473;--paper-000:#9b8fc6;--paper-050:#9b8fc6;--paper-100:#a89ed0;--paper-200:transparent;--paper-300:#1313112e;--brand-100:#b0a6d8;--brand-300:#fff;--brand-500:#131311;--brand-700:#131311;--brand-800:#131311;--brand-300-rgb:255, 255, 255;--on-ink-100:#fff;--on-ink-300:#d9d5e8;--text-strong:#131311;--text-body:#131311;--text-on-ink:#fff;--surface-ink:#131311;--line-faint:#13131138;--line:#131311;--line-strong:#131311;--accent:#131311;--accent-strong:#131311;--accent-tint:#fff;--accent-pressed:#131311;--link:#131311;--link-hover:#131311;--focus-ring:#131311;--state-error:#5c100b;--state-success:#1f4d21}[data-theme=dark]{color-scheme:dark;--ink-900:#f2f1ec;--ink-700:#cdcbc2;--ink-500:#96938b;--ink-300:#6a6761;--paper-000:#1d1d1a;--paper-050:#131312;--paper-100:#232320;--paper-200:#2d2d29;--paper-300:#3e3d37;--brand-100:#2b2542;--brand-300:#8377b4;--brand-500:#9c92c8;--brand-700:#bcb3da;--brand-800:#d6d0e8;--brand-300-rgb:131, 119, 180;--on-ink-100:#131312;--on-ink-300:#4a4943;--state-error:#ff8a80;--state-success:#6aba6d;--on-state-error:#131312;--on-fill-brand:var(--paper-050);--chart-income:#6aba6d;--chart-income-fill:#6aba6db8;--chart-income-soft:#6aba6d57;--chart-expense:#ff8a80;--chart-expense-fill:#ff8a80b8;--chart-expense-soft:#ff8a8057;--chart-overdue:#e9a349;--chart-overdue-fill:#e9a349b8;--chart-balance:#8fb0ee;--chart-forecast:#bcb3da;--chart-own-share:#5cc8bb;--chart-threshold:#e9a349;--chart-grid:#f2f1ec1a;--chart-tooltip-surface:#232320f0;--chart-tooltip-text:#f2f1ec;--chart-tooltip-line:#f2f1ec29}@media print{:root,[data-theme]{color-scheme:light;--ink-900:#000;--ink-700:#1a1a1a;--ink-500:#444;--ink-300:#777;--paper-000:#fff;--paper-050:#fff;--paper-100:#f3f3f3;--paper-200:#ddd;--paper-300:#999;--brand-100:#efecf7;--brand-300:#d8d2ea;--brand-500:#8377b4;--brand-700:#3a3060;--brand-800:#2a2248;--on-ink-100:#fff;--on-ink-300:#ccc;--text-strong:var(--ink-900);--text-body:var(--ink-700);--text-on-ink:var(--on-ink-100);--surface-ink:var(--ink-900);--line-faint:var(--paper-200);--line:var(--paper-300);--line-strong:var(--ink-900);--accent:var(--brand-700);--accent-strong:var(--brand-300);--accent-tint:var(--brand-100);--link:var(--ink-900);--on-fill-brand:var(--ink-900)}}.view-container{width:100%}:root{--background-color:var(--surface-page);--text-color:var(--text-strong);--text-neg-color:var(--text-on-ink);--text-bg-color:var(--line-faint);--main-color:var(--brand-300);--second-color:var(--brand-700);--third-color:var(--state-info);--fourth-color:var(--accent-tint);--success-color:var(--state-success);--warning-color:var(--state-warning);--error-color:var(--state-error);--muted-color:var(--text-muted);--accent-color:var(--accent);--text-color-secondary:var(--text-muted);--card-bg:var(--surface-card);--content-bg:var(--surface-card);--input-bg:var(--surface-card);--bg-secondary:var(--surface-sunken);--btn-bg:var(--surface-sunken);--table-header-bg:var(--surface-sunken);--btn-hover-bg:var(--accent-tint);--border-color:var(--line);--text-danger:var(--state-error);--text-success:var(--state-success);--danger-color:var(--state-error);--primary-color:var(--brand-300);--main-color-dark:var(--brand-700);--main-dark-color:var(--brand-700);--main-color-rgb:var(--brand-300-rgb);--project-color:var(--brand-300);--research-color:var(--third-color)}body{background:var(--background-color);color:var(--text-color);font-family:Arial,sans-serif;font-weight:400;line-height:1.5;transition:all .3s;overflow-x:hidden}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}select,select option{background-color:var(--background-color);color:var(--text-color)}.content-area{background:var(--background-color);border:1px solid var(--text-bg-color);width:min(75vw,1600px);min-height:600px;margin:0 auto;padding:40px}body.wide-page .content-area{width:80%;max-width:none}.error-message{padding:var(--space-4);background:var(--surface-card);border:var(--border-hair) solid var(--state-error);border-radius:var(--radius-0);margin-bottom:var(--space-5)}.error-message p{color:var(--state-error);font-size:var(--size-small);margin:0}.success-message{padding:var(--space-4);background:var(--surface-card);border:var(--border-hair) solid var(--state-success);border-radius:var(--radius-0);margin-bottom:var(--space-5)}.success-message p{color:var(--state-success);font-size:var(--size-small);margin:0}.no-employee-selected{text-align:center;background:var(--background-color);border:2px dashed var(--text-bg-color);border-radius:8px;padding:3rem 2rem}.no-employee-selected p{color:var(--text-color);opacity:.6;margin:0;font-size:1.1rem}h1,h2,h3,h4,h5,h6{color:var(--text-color);margin-bottom:1rem;font-family:Arial,sans-serif;font-weight:700;line-height:1.3}h2{font-size:2rem;font-weight:700}h3{text-align:center;color:var(--text-color);font-size:1.75rem}a{color:var(--main-color);text-decoration:inherit;font-weight:500;transition:color .3s}a:hover{color:var(--second-color)}.select-large{border:2px solid var(--main-color);width:180px;color:var(--main-color);background:var(--background-color);border-radius:4px;padding:8px 12px;font-size:14px}.select-large:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #0596691a}.select-small{border:2px solid var(--main-color);color:var(--main-color);background:var(--background-color);border-radius:4px;padding:2px 12px;font-size:14px}.select-small:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #0596691a}@media (width<=1240px){.content-area{width:min(75vw,600px)}}@media (width<=840px){.content-area{width:min(75vw,300px)}}@media (width<=768px){.content-area{width:100%;padding:15px}.view-container{width:100%}}:is(html,body):has(.modal-overlay,.overlay,.budget-form-overlay,.zp-modal-overlay,.zp-beleg-dialog-overlay,.booking-matching-overlay,.partner-role-overlay,.dashboard-overlay,.lightbox-overlay,.detail-modal,.ui-dialog__scrim){overflow:hidden}.modal-overlay,.overlay,.budget-form-overlay,.zp-modal-overlay,.zp-beleg-dialog-overlay,.booking-matching-overlay,.partner-role-overlay,.dashboard-overlay,.lightbox-overlay,.detail-modal,.ui-dialog__scrim{overscroll-behavior:contain;scrollbar-width:none;overflow-y:auto}.modal-overlay::-webkit-scrollbar{display:none}.overlay::-webkit-scrollbar{display:none}.budget-form-overlay::-webkit-scrollbar{display:none}.zp-modal-overlay::-webkit-scrollbar{display:none}.zp-beleg-dialog-overlay::-webkit-scrollbar{display:none}.booking-matching-overlay::-webkit-scrollbar{display:none}.partner-role-overlay::-webkit-scrollbar{display:none}.dashboard-overlay::-webkit-scrollbar{display:none}.lightbox-overlay::-webkit-scrollbar{display:none}.detail-modal::-webkit-scrollbar{display:none}.ui-dialog__scrim::-webkit-scrollbar{display:none}.modal-overlay:after,.overlay:after,.budget-form-overlay:after,.zp-modal-overlay:after,.zp-beleg-dialog-overlay:after,.booking-matching-overlay:after,.partner-role-overlay:after,.dashboard-overlay:after,.lightbox-overlay:after,.detail-modal:after,.ui-dialog__scrim:after{content:"";pointer-events:none;width:1px;height:calc(100% + 1px);position:absolute;top:0;left:0}.overlay>.modal-content{background:var(--surface-card);color:var(--text-color)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}:root{--project-status-fill-undefined:var(--tag-neutral-fill);--project-status-text-undefined:var(--tag-neutral-text);--project-status-line-undefined:var(--tag-neutral-line);--project-status-fill-aktiv:var(--tag-brand-fill);--project-status-text-aktiv:var(--tag-brand-text);--project-status-line-aktiv:var(--tag-brand-line);--project-status-fill-pausiert:var(--tag-muted-fill);--project-status-text-pausiert:var(--tag-muted-text);--project-status-line-pausiert:var(--tag-muted-line);--project-status-fill-abgeschlossen:var(--tag-ink-fill);--project-status-text-abgeschlossen:var(--tag-ink-text);--project-status-line-abgeschlossen:var(--tag-ink-line);--project-status-fill-archiviert:var(--tag-faint-fill);--project-status-text-archiviert:var(--tag-faint-text);--project-status-line-archiviert:var(--tag-faint-line);--project-type-fill-project:var(--tag-brand-fill);--project-type-text-project:var(--tag-brand-text);--project-type-line-project:var(--tag-brand-line);--project-type-fill-offerte:var(--tag-muted-fill);--project-type-text-offerte:var(--tag-muted-text);--project-type-line-offerte:var(--tag-muted-line);--project-type-fill-wettbewerb:var(--tag-ink-fill);--project-type-text-wettbewerb:var(--tag-ink-text);--project-type-line-wettbewerb:var(--tag-ink-line);--project-type-fill-studie:var(--tag-neutral-fill);--project-type-text-studie:var(--tag-neutral-text);--project-type-line-studie:var(--tag-neutral-line);--project-type-fill-interne:var(--tag-faint-fill);--project-type-text-interne:var(--tag-faint-text);--project-type-line-interne:var(--tag-faint-line)}.project-badge{border:var(--border-hair) solid var(--badge-line);background-color:var(--badge-fill);color:var(--badge-text);font-size:var(--size-eyebrow);font-weight:var(--weight-bold);letter-spacing:var(--tracking-chip);text-transform:uppercase;padding:3px 7px;display:inline-block}.header-left{align-items:center;gap:2rem;display:flex}.header-right{align-items:center;gap:.75rem;display:flex}.no-employee-selected{text-align:center;background:var(--background-color);border:1px solid var(--text-bg-color);color:var(--text-color);border-radius:8px;padding:2rem}.ui-select__trigger{box-sizing:border-box;vertical-align:middle;width:100%;min-height:var(--field-height);padding:var(--space-1) var(--space-2);border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);background:var(--surface-card);color:var(--text-strong);font:var(--weight-book) var(--size-small)/1.4 var(--font-sans)}.ui-select__trigger:where(:not(textarea)){height:var(--field-height)}.ui-select__trigger::placeholder{color:var(--text-muted)}.ui-select__trigger:hover:not(:disabled){border-color:var(--line-strong)}.ui-select__trigger:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0;border-color:var(--line-strong)}.ui-select__trigger:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}.ui-select__trigger{justify-content:space-between;align-items:center;gap:var(--space-2);text-align:left;cursor:pointer;display:inline-flex}.ui-select__trigger[data-state=open]{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0;border-color:var(--line-strong)}.ui-select__trigger[data-disabled]{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}.ui-select__trigger [data-placeholder]{color:var(--text-muted)}.ui-select__icon{color:var(--text-muted);transition:transform var(--dur-fast) var(--ease-standard);display:inline-flex}.ui-select__trigger[data-state=open] .ui-select__icon{transform:rotate(180deg)}.ui-select__content{background:var(--surface-card);border:var(--border-hair) solid var(--line-strong);border-radius:var(--radius-0);box-shadow:var(--shadow-overlay);z-index:var(--z-menu);overflow:hidden}.ui-select__content[data-state=open]{animation:ui-select-fade-in var(--dur-fast) var(--ease-standard)}.ui-select__viewport{padding:var(--space-1);max-height:320px;overflow-y:auto}.ui-select__item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);color:var(--text-body);font-size:var(--size-small);border-radius:var(--radius-0);cursor:pointer;user-select:none;display:flex}.ui-select__item[data-highlighted]{background:var(--accent-tint);color:var(--text-strong);outline:none}.ui-select__item[data-state=checked]{font-weight:var(--weight-bold);color:var(--text-strong)}.ui-select__hint{color:var(--text-muted);font-size:var(--size-meta);font-weight:var(--weight-book)}@keyframes ui-select-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ui-toast__viewport{width:min(360px,100vw - 48px);max-width:100vw;z-index:var(--z-toast);outline:none;flex-direction:column;gap:.5rem;margin:0;list-style:none;display:flex;position:fixed;bottom:24px;right:24px}.ui-toast{background:var(--background-color);color:var(--text-color);border:1px solid var(--text-bg-color);border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex;box-shadow:0 8px 24px #00000029}.ui-toast[data-state=open]{animation:.18s ease-out ui-toast-slide-in}.ui-toast[data-state=closed]{animation:.12s ease-in ui-toast-fade-out}.ui-toast--success{border-left:4px solid var(--success-color)}.ui-toast--success .ui-toast__icon{color:var(--success-color)}.ui-toast--error{border-left:4px solid var(--error-color)}.ui-toast--error .ui-toast__icon{color:var(--error-color)}.ui-toast__icon{flex-shrink:0;margin-top:2px;display:inline-flex}.ui-toast__body{flex-direction:column;flex:1;gap:.15rem;display:flex}.ui-toast__title{margin:0;font-size:.92rem;font-weight:600}.ui-toast__description{color:var(--text-color-secondary);margin:0;font-size:.85rem;line-height:1.4}.ui-toast__description code{background:color-mix(in srgb, var(--text-bg-color) 50%, transparent);border-radius:3px;padding:.1rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}@keyframes ui-toast-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes ui-toast-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}.ui-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);box-sizing:border-box;vertical-align:middle;min-height:var(--field-height);padding:0 var(--space-4);border:var(--border-hair) solid transparent;border-radius:var(--radius-0);color:var(--text-strong);font:var(--weight-bold) var(--size-label)/1.2 var(--font-sans);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);background:0 0;text-decoration:none;display:inline-flex}.ui-btn:disabled,.ui-btn[aria-disabled=true]{cursor:not-allowed;opacity:.45}.ui-btn:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.ui-btn--sm{min-height:var(--field-height-compact);padding:0 9px}.ui-btn--solid{background:var(--surface-ink);color:var(--text-on-ink)}.ui-btn--solid:hover:not(:disabled,[aria-disabled=true]){background:var(--accent)}.ui-btn--outline{border-color:var(--line-strong)}.ui-btn--outline:hover:not(:disabled,[aria-disabled=true]){background:var(--fill-brand);color:var(--on-fill-brand)}.ui-btn--soft{border-color:var(--line);color:var(--text-body)}.ui-btn--soft:hover:not(:disabled,[aria-disabled=true]){border-color:var(--line-strong);color:var(--text-strong)}.ui-btn--ghost{color:var(--text-muted)}.ui-btn--ghost:hover:not(:disabled,[aria-disabled=true]){color:var(--accent)}.ui-btn--danger{color:var(--state-error);border-color:var(--state-error)}.ui-btn--danger:hover:not(:disabled,[aria-disabled=true]),.ui-btn--danger.ui-btn--solid{background:var(--state-error);color:var(--on-state-error)}.ui-btn--danger.ui-btn--solid:hover:not(:disabled,[aria-disabled=true]){background:var(--surface-ink);color:var(--text-on-ink)}:where(td,th)>.ui-btn:only-child{width:fit-content;display:flex}.ui-iconbtn{width:var(--field-height);height:var(--field-height);border:var(--border-hair) solid transparent;border-radius:var(--radius-0);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);flex:none;place-items:center;padding:0;display:inline-grid}.ui-iconbtn:disabled{cursor:not-allowed;opacity:.45}.ui-iconbtn:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.ui-iconbtn--sm{width:var(--field-height-compact);height:var(--field-height-compact)}.ui-iconbtn--ink{background:var(--surface-ink);color:var(--text-on-ink)}.ui-iconbtn--ink:hover:not(:disabled,[aria-disabled=true]){background:var(--accent)}.ui-iconbtn--outline{border-style:dashed;border-color:var(--line);color:var(--text-muted);background:0 0}.ui-iconbtn--outline:hover:not(:disabled,[aria-disabled=true]){border-color:var(--line-strong);color:var(--text-strong)}.ui-tag{border:var(--border-hair) solid transparent;font:var(--weight-bold) var(--size-eyebrow)/1.2 var(--font-sans);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;padding:3px 7px;display:inline-block}.ui-tag--label{font-weight:var(--weight-book);font-size:var(--size-meta);letter-spacing:normal;text-transform:none}.ui-tag__remove{margin-left:var(--space-1);color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0}.ui-tag__remove:hover{color:var(--text-strong)}.ui-tag--brand{background:var(--fill-brand);color:var(--on-fill-brand)}.ui-tag--ink{background:var(--surface-ink);color:var(--text-on-ink)}.ui-tag--outline{border-color:var(--line-strong);color:var(--text-strong)}.ui-tag--muted{border-color:var(--line);color:var(--text-muted)}.ui-tag--dashed{border-style:dashed;border-color:var(--line-strong);color:var(--text-strong)}.ui-tag--signal{background:var(--signal);color:var(--on-signal)}.ui-tag--error{background:var(--state-error);color:var(--on-state-error)}.ui-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ui-chips__label{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);min-width:62px}.ui-chips__chip{border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);color:var(--text-body);font:var(--weight-book) var(--size-label)/1.2 var(--font-sans);letter-spacing:var(--tracking-chip);text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.ui-chips__chip:hover{border-color:var(--line-strong)}.ui-chips__chip:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.ui-chips__chip--on{border-color:var(--surface-ink);background:var(--surface-ink);color:var(--text-on-ink);font-weight:var(--weight-bold)}.ui-chips__count{font-variant-numeric:tabular-nums;opacity:.7}.ui-meta{align-items:baseline;gap:var(--space-2) 28px;font-size:var(--size-small);color:var(--text-body);flex-wrap:wrap;margin:0;display:flex}.ui-meta__item{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.ui-meta--column{align-items:stretch;gap:var(--space-2);flex-flow:column}.ui-meta--column .ui-meta__item{gap:var(--space-3);white-space:normal;grid-template-columns:minmax(110px,40%) 1fr;display:grid}.ui-meta--column .ui-meta__value{font-weight:var(--weight-bold);text-align:right;color:var(--text-strong)}.ui-meta__label{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.ui-meta__value{margin:0}.ui-meta__value--num{font-variant-numeric:tabular-nums}:where(:has(>.ui-section:first-child),:has(>.ui-section:first-child)>form)>:not(:first-child){margin-top:var(--rhythm-block)}:where(:has(>.ui-section:first-child),:has(>.ui-section:first-child)>form)>:is(input,textarea,select,.ui-field)+:is(input,textarea,select,.ui-field){margin-top:var(--rhythm-field)}.ui-section+*{margin-top:0}:where(:not(.ui-tabs__list))+:is(.ui-section,:where(:not(aside):has(>.ui-section:first-child))){margin-top:var(--rhythm-section)}.ui-tabs__list+*,.ui-groups>*+*{margin-top:var(--rhythm-block)}.ui-groups .ui-section__rule{visibility:hidden}.ui-section{align-items:baseline;gap:var(--space-3);margin-bottom:var(--rhythm-field);display:flex}.ui-section__label{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);font-weight:var(--weight-book);margin:0}.ui-section__rule{background:var(--line);flex:1;align-self:center;height:1px}.ui-section__rule--strong{background:var(--line-strong)}.ui-section__action{align-self:center}.ui-callout{align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-left:3px solid var(--accent);background:var(--accent-tint);font-size:var(--size-body);color:var(--text-strong);display:flex}.ui-callout__eyebrow{font-size:var(--size-eyebrow);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent)}.ui-callout__body{flex:1}.ui-callout--signal{border-left-color:var(--signal)}.ui-callout--error{border-left-color:var(--state-error)}.ui-callout--error .ui-callout__eyebrow{color:var(--state-error)}.ui-legend{align-items:center;gap:var(--space-2) 18px;font-size:var(--size-label);letter-spacing:var(--tracking-chip);text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap;margin:14px 0 0;padding:0;list-style:none;display:flex}.ui-legend__item{align-items:center;gap:6px;display:flex}.ui-legend__swatch{width:14px;height:14px}.ui-legend__swatch--brand{background:var(--fill-brand)}.ui-legend__swatch--ink{background:var(--surface-ink)}.ui-legend__swatch--dashed{border:var(--border-hair) dashed var(--line-strong);background:var(--accent-tint)}.ui-legend__swatch--sunken{background:var(--surface-sunken)}.ui-legend__swatch--signal{background:var(--signal)}.ui-legend__swatch--line{background:var(--accent);width:16px;height:2px}.ui-legend__swatch--dashed-line{border-top:var(--border-rule) dashed var(--accent);width:16px;height:0}.ui-empty{padding:var(--space-5) 0;font-size:var(--size-body);color:var(--text-muted);text-align:center;margin:0}.ui-avatar{background:var(--fill-brand);color:var(--on-fill-brand);font-weight:var(--weight-bold);flex:none;place-items:center;display:inline-grid;overflow:hidden}.ui-avatar--sm{width:30px;height:30px;font-size:var(--size-meta)}.ui-avatar--md{width:40px;height:40px;font-size:var(--size-small)}.ui-avatar--circle{border-radius:50%}.ui-avatar__img{object-fit:cover;width:100%;height:100%}.ui-fieldgrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px 22px;display:grid}.ui-hint{margin:var(--rhythm-field) 0;font-size:var(--size-meta);color:var(--text-muted);display:block}.ui-field{min-width:0;display:block}.ui-field--wide{grid-column:1/-1}.ui-field__label{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);margin-bottom:5px;display:block}.ui-field__required{color:var(--required-mark)}.ui-field__hint,.ui-field__error{margin:var(--space-1) 0 0;display:block}.ui-field__error{font-size:var(--size-meta);color:var(--state-error)}.ui-field--invalid .ui-input,.ui-field--invalid .ui-select__trigger{border-color:var(--state-error)}.ui-input{box-sizing:border-box;vertical-align:middle;width:100%;min-height:var(--field-height);padding:var(--space-1) var(--space-2);border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);background:var(--surface-card);color:var(--text-strong);font:var(--weight-book) var(--size-small)/1.4 var(--font-sans)}.ui-input:where(:not(textarea)){height:var(--field-height)}.ui-input::placeholder{color:var(--text-muted)}.ui-input:hover:not(:disabled){border-color:var(--line-strong)}.ui-input:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0;border-color:var(--line-strong)}.ui-input:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}.ui-input--area{min-height:calc(var(--field-height) * 2);resize:vertical}.ui-input--select{cursor:pointer}.ui-color-swatch{box-sizing:border-box;width:var(--field-height);height:var(--field-height);border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);background:var(--surface-card);cursor:pointer;padding:2px;display:block}.ui-color-swatch:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.ui-color-swatch::-webkit-color-swatch-wrapper{padding:0}.ui-color-swatch::-webkit-color-swatch{border-radius:var(--radius-0);border:0}.ui-color-swatch::-moz-color-swatch{border-radius:var(--radius-0);border:0}.ui-input--compact,:where(td,th) .ui-input:not(.ui-input--area),:where(td,th) .ui-select__trigger{min-height:var(--field-height-compact);height:var(--field-height-compact);padding:2px 6px}:where(td,th)>.ui-input{display:block}.form-row>.ui-field{flex:1}.form-row--end{align-items:flex-end}.modal-body>.ui-field{margin-bottom:15px}.ui-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-dialog__scrim{z-index:var(--z-scrim);background:var(--scrim);position:fixed;inset:0}.ui-dialog{z-index:var(--z-dialog);box-sizing:border-box;width:min(560px,100vw - 32px);max-height:88vh;padding:var(--space-5) 26px 26px;border:var(--border-hair) solid var(--line-strong);background:var(--surface-card);color:var(--text-strong);box-shadow:var(--shadow-overlay);position:fixed;top:6vh;left:50%;overflow-y:auto;transform:translate(-50%)}.ui-dialog:focus-visible{outline:none}.ui-dialog--sm{width:min(460px,100vw - 32px)}.ui-dialog--lg{width:min(820px,100vw - 32px)}.ui-dialog--full{border:0;flex-direction:column;width:100%;height:100%;max-height:none;display:flex;top:0;left:0;transform:none}.ui-dialog--full .ui-dialog__body{flex:1;min-height:0;overflow-y:auto}.ui-dialog__head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:14px;display:flex}.ui-dialog__eyebrow{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}.ui-dialog__close{border:var(--border-hair) solid transparent;width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;place-items:center;margin-left:auto;padding:0;display:inline-grid}.ui-dialog__close:hover{border-color:var(--line);color:var(--text-strong)}.ui-dialog__close:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0}.ui-dialog__title{margin:0 0 var(--space-5);font-size:var(--size-h2);font-weight:var(--weight-bold);letter-spacing:-.015em;color:var(--text-strong);line-height:1.12}.ui-dialog__description{margin:calc(-1 * var(--space-3)) 0 var(--space-5);font-size:var(--size-body);color:var(--text-body)}.ui-dialog__foot{border-top:var(--border-hair) solid var(--line);flex-wrap:wrap;gap:10px;margin-top:26px;padding-top:18px;display:flex}:where(.ui-dialog__body,.ui-dialog__body>form):where(:not(:has(>.ui-section:first-child)))>:not(:first-child):where(:not(.ui-section,:has(>.ui-section:first-child))){margin-top:var(--rhythm-field)}.ui-rowmenu__trigger{border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);color:var(--text-body);font:var(--weight-book) var(--size-small)/1 var(--font-sans);cursor:pointer;background:0 0;place-items:center;padding:3px 8px;display:inline-grid}.ui-rowmenu__trigger:hover,.ui-rowmenu__trigger[data-state=open]{border-color:var(--line-strong);color:var(--text-strong)}.ui-rowmenu__trigger:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.ui-rowmenu__trigger--labelled{min-height:var(--field-height-compact);gap:var(--space-1);box-sizing:border-box;padding:0 9px;display:inline-flex}.ui-rowmenu__content{z-index:var(--z-menu);border:var(--border-hair) solid var(--line-strong);background:var(--surface-card);min-width:188px;box-shadow:var(--shadow-overlay);padding:0}.ui-rowmenu__item{padding:9px var(--space-3);font:var(--weight-bold) var(--size-label)/1.2 var(--font-sans);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-strong);cursor:pointer;outline:none;display:block}.ui-rowmenu__item[data-highlighted]{background:var(--accent-tint)}.ui-rowmenu__item[data-disabled]{color:var(--text-faint);cursor:not-allowed}.ui-rowmenu__item--danger{color:var(--state-error)}.ui-tooltip{z-index:var(--z-tooltip);background:var(--surface-ink);max-width:280px;color:var(--text-on-ink);font-size:var(--size-meta);padding:6px 10px;line-height:1.35}.ui-chipmenu__trigger{align-items:center;gap:var(--space-1);display:inline-flex}.ui-chipmenu__content{min-width:0}.ui-chipmenu__item[data-state=checked]{background:var(--accent-tint)}.ui-combobox{min-width:0;position:relative}.ui-combobox>.ui-input{width:100%}.ui-combobox__overlay{z-index:var(--z-menu);border:var(--border-hair) solid var(--line-strong);background:var(--surface-card);min-width:220px;box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;position:absolute;top:calc(100% + 2px);left:0;right:0}.ui-combobox__list{flex:0 auto;min-height:0;max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.ui-combobox__option{padding:var(--space-2) var(--space-3);color:var(--text-strong);font:var(--weight-book) var(--size-small)/1.4 var(--font-sans);cursor:pointer}.ui-combobox__option:hover,.ui-combobox__option--active{background:var(--accent-tint)}.ui-combobox__option--gap{margin-top:var(--space-3)}.ui-combobox__footer{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);font:var(--weight-book) var(--size-small)/1.4 var(--font-sans);flex-direction:column;display:flex}.ui-combobox__footer>.ui-btn{max-width:100%;padding-block:var(--space-1);white-space:normal;overflow-wrap:anywhere;text-align:left;justify-content:flex-start;min-width:0}.ui-combobox__list+.ui-combobox__footer{border-top:var(--border-hair) solid var(--line-faint)}.ui-page{margin-bottom:var(--space-4)}.ui-page__top{justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-5);padding-bottom:var(--space-1);flex-wrap:wrap;display:flex}.ui-page__heading{min-width:0}.ui-page__eyebrow{font-size:var(--size-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);margin-bottom:6px}.ui-page__title{margin:0 0 var(--space-2);font-size:var(--size-h1);font-weight:var(--weight-bold);letter-spacing:var(--tracking-display);color:var(--text-strong);line-height:1.02}.ui-page__title--display{font-size:var(--size-display);letter-spacing:-.025em;line-height:1}.ui-page__subtitle{font-size:var(--size-meta);color:var(--text-muted);margin-bottom:10px}.ui-page__actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.ui-page__meta{margin-top:var(--space-4)}.ui-page__slot{display:contents}@media (width<=768px){.ui-page__title{font-size:30px}}.ui-tabs__list{flex-wrap:wrap;gap:10px 20px;display:flex}.ui-tabs__tab{border:0;border-bottom:var(--border-rule) solid transparent;color:var(--text-muted);font:var(--weight-book) var(--size-label)/1.4 var(--font-sans);letter-spacing:var(--tracking-label);text-transform:uppercase;cursor:pointer;background:0 0;padding:0 0 3px;text-decoration:none}.ui-tabs__tab:hover{color:var(--accent)}.ui-tabs__tab:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:3px}.ui-tabs__tab[data-state=active],.ui-tabs__tab--active{border-bottom-color:var(--line-strong);color:var(--text-strong);font-weight:var(--weight-bold)}.ui-tabs__tab[data-disabled]{color:var(--text-faint);cursor:not-allowed}.ui-tabs__panel{margin-top:var(--space-5)}.ui-tabs__panel:focus-visible{outline:none}.ui-table{min-width:0}.ui-table--scroll{overflow-x:auto}:where(.ui-table__table){border-collapse:collapse;table-layout:auto;width:100%}.ui-table__th,.ui-table__cell,:where(.ui-table__table) th,:where(.ui-table__table) td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:middle}.ui-table__th,:where(.ui-table__table) th{border-bottom:var(--border-hair) solid var(--line-strong);font-size:var(--size-label);font-weight:var(--weight-bold);white-space:nowrap;color:var(--text-muted)}.ui-table__cell,:where(.ui-table__table) td{border-bottom:var(--border-hair) solid var(--line-faint);font-size:var(--size-small);color:var(--text-body)}:where(.ui-table__table) :where(tbody,tfoot) th{border-bottom-color:var(--line-faint);font-size:var(--size-small);font-weight:var(--weight-book);white-space:normal;color:var(--text-body)}.ui-table--edit :where(th,td){padding:var(--space-1) var(--space-2)}.ui-table--grid{border-collapse:separate;border-spacing:0}.ui-table--grid :where(th,td){padding:var(--space-1) var(--space-2);border-right:var(--border-hair) solid var(--line-faint);white-space:nowrap}.ui-table--grid tfoot tr:first-child>:where(th,td){border-top:var(--border-rule) solid var(--line-strong)}.ui-table__cell--editor{padding:0}.ui-table--timeline :where(th,td){text-align:center;padding:0}.ui-table--timeline :where(thead th){padding:var(--space-2) 0;vertical-align:bottom}.ui-table--timeline :where(tbody th){padding:var(--space-2) var(--space-3) var(--space-2) 0;text-align:left}.ui-table__row--chart>:where(th,td){border-bottom:var(--border-rule) solid var(--line-strong);vertical-align:bottom}.ui-table--sticky-head :where(.ui-table__th,thead th){z-index:2;background:var(--surface-page);position:sticky;top:0}.ui-table__cell--num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.ui-table__cell--menu{text-align:right;width:44px;padding-right:0}.ui-table__menu-col{width:44px}.ui-table__sort{align-items:baseline;gap:var(--space-1);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.ui-table__sort:hover{color:var(--text-strong)}.ui-table__sort:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.ui-table__row--clickable{cursor:pointer}.ui-table__row--clickable:hover{background:var(--accent-tint)}:where(.ui-row-link){color:inherit;text-decoration:none}.ui-table__row--group>:where(th,td){font-weight:var(--weight-bold);color:var(--text-strong);background:var(--surface-sunken)}.ui-table__row--group.ui-table__row--clickable:hover>:where(th,td){background:var(--accent-tint)}.ui-table__row--nested>:first-child{padding-left:var(--space-6)}.ui-table__row--nested-2>:first-child{padding-left:calc(var(--space-6) + var(--space-5))}.ui-table__row--total>:where(th,td){border-top:var(--border-rule) solid var(--line-strong);font-weight:var(--weight-bold);color:var(--text-strong);border-bottom:0}.ui-table__row--panel>td{background:var(--surface-sunken);padding:0}.ui-table__row--expanded{background:var(--accent-tint)}.ui-rowpanel{padding:var(--space-4) var(--space-5);border-top:var(--border-hair) solid var(--line-strong);border-bottom:var(--border-hair) solid var(--line-strong);white-space:normal}.ui-rowpanel:focus{outline:none}.ui-rowpanel__actions{gap:var(--space-2);margin-top:var(--rhythm-block);flex-wrap:wrap;justify-content:flex-end;display:flex}.ui-table__row--form>:where(th,td){padding-left:0;padding-right:var(--space-2)}:where(tr):has(+.ui-table__row--note)>:where(th,td){border-bottom:0}.ui-table__row--note>:where(th,td){padding-top:var(--space-1);padding-bottom:var(--space-5);white-space:normal}.ui-table__toggle{gap:var(--space-2);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.ui-table__toggle:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.ui-table__empty{padding:var(--space-6) 0;font-size:var(--size-body);color:var(--text-muted);text-align:center}.ui-table--cost-control .control-expand-col,.ui-table--cost-control .control-expand-cell{text-align:center;width:28px}.ui-table--cost-control .control-code-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.ui-table--cost-control .control-name-cell{text-overflow:ellipsis;white-space:nowrap;max-width:340px;overflow:hidden}.ui-table--cost-control .control-action-col,.ui-table--cost-control .control-action-cell{text-align:right;white-space:nowrap;width:90px}.ui-table--cost-control .comment-cell{overflow-wrap:break-word;white-space:normal;color:var(--text-muted);cursor:pointer;font-style:italic}.ui-table--cost-control .comment-cell input{font-style:italic}.ui-table--cost-control .comment-text{display:block}.ui-table--cost-control .unused-row>td{color:var(--text-muted);font-style:italic}.ui-table--cost-control .zahlung-overridden>td{box-shadow:inset 3px 0 0 var(--state-warning)}.ui-table--cost-control .zahlung-override-badge{margin-left:var(--space-1);color:var(--state-warning);cursor:help}.ui-table--cost-control .control-editable{border-bottom:var(--border-hair) dashed var(--line-strong);cursor:pointer;padding-bottom:1px}.ui-table--cost-control .control-editable:hover{color:var(--text-strong)}.ui-table--cost-control .control-name-placeholder{color:var(--text-muted);cursor:pointer;font-style:italic}.ui-table--cost-control .control-name-placeholder:hover{color:var(--text-strong)}.ui-table--cost-control .control-name-input,.ui-table--cost-control input[type=number],.ui-table--cost-control input[inputmode=decimal]{width:100%;padding:2px var(--space-1);border:var(--border-hair) solid var(--line-strong);background:var(--surface-card);color:var(--text-body);font:inherit}.ui-table--cost-control input[type=number],.ui-table--cost-control input[inputmode=decimal]{text-align:right;max-width:130px}.ui-table--cost-control .diff-over{color:var(--state-error)}.ui-table--cost-control .diff-under{color:var(--state-success)}.ui-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.ui-toolbar__main{align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;min-width:0;display:flex}.ui-toolbar__end{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.ui-toolbar__count{font-size:var(--size-meta);color:var(--text-muted)}.ui-search__input::-webkit-search-cancel-button{display:none}.ui-search{align-items:center;width:min(280px,100%);display:inline-flex;position:relative}.ui-search__icon{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.ui-search__input{padding-left:30px}.ui-filter-bar{align-items:flex-start;gap:var(--space-3) var(--space-5);margin-bottom:var(--space-4);display:flex}.ui-filter-bar__main{align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;flex:auto;min-width:0;display:flex}.ui-filter-bar__region:not([hidden]){display:contents}.ui-filter-bar__end{align-items:center;gap:var(--space-2);min-height:var(--field-height-compact);font-size:var(--size-meta);color:var(--text-muted);flex:none;margin-left:auto;display:flex}.ui-filter-bar__reset--idle{visibility:hidden}.ui-filter-bar__active-count{min-width:3ch}.ui-filter-bar__count{align-items:center;gap:var(--space-2);font-size:var(--size-meta);color:var(--text-muted);display:flex}.ui-filter-bar--phone{flex-wrap:wrap;align-items:center}.ui-filter-bar:has(.ui-filter-bar__region:not([hidden]) .ui-search)>.ui-filter-bar__end{min-height:var(--field-height)}.ui-filter-bar__panel{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.ui-filter-bar__panel .ui-search{width:100%}.ui-filter-bar__panel .ui-chips{gap:var(--space-2)}.ui-filter-bar__panel .ui-chips__label{flex-basis:100%}.ui-filter-bar__panel .ui-chips__chip{box-sizing:border-box;text-overflow:ellipsis;max-width:100%;min-height:44px;overflow:hidden}.ui-chips__more{font-weight:var(--weight-bold)}.ui-shell{background:var(--surface-page);align-items:stretch;min-height:100vh;display:flex}.ui-shell__topbar,.ui-shell__scrim{display:none}.ui-shell__nav{box-sizing:border-box;width:var(--nav-width);border-right:var(--border-hair) solid var(--line);background:var(--surface-page);height:100vh;transition:width var(--dur-base) var(--ease-standard);flex:none;position:sticky;top:0;overflow:hidden auto}.ui-shell--collapsed .ui-shell__nav{width:var(--nav-width-collapsed)}.ui-shell__main{flex:1;min-width:0;padding:36px clamp(20px,3vw,48px) 72px}.ui-shell .content-area,body.wide-page .ui-shell .content-area{background:0 0;border:0;width:auto;min-height:0;margin:0;padding:0}.ui-shell .content-area.fullscreen{padding:var(--space-4);background:var(--surface-page)}@media (width<=768px){.ui-shell{flex-direction:column}.ui-shell__topbar{z-index:var(--z-sticky);align-items:center;gap:var(--space-3);padding:10px var(--space-4);border-bottom:var(--border-hair) solid var(--line);background:var(--surface-page);display:flex;position:sticky;top:0}.ui-shell__topbar-title{font-size:var(--size-lead);font-weight:var(--weight-bold);color:var(--text-strong)}.ui-shell__menu{border:var(--border-hair) solid var(--line);width:36px;height:36px;color:var(--text-strong);cursor:pointer;background:0 0;place-items:center;padding:0;display:inline-grid}.ui-shell__nav,.ui-shell--collapsed .ui-shell__nav{z-index:var(--z-drawer);visibility:hidden;width:min(300px,85vw);height:auto;transition:transform var(--dur-base) var(--ease-standard), visibility 0s linear var(--dur-base);position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.ui-shell--drawer-open .ui-shell__nav{visibility:visible;transition:transform var(--dur-base) var(--ease-standard);transform:none}.ui-shell--drawer-open .ui-shell__scrim{z-index:calc(var(--z-drawer) - 1);background:var(--scrim);display:block;position:fixed;inset:0}.ui-shell__main{padding:var(--space-5) var(--space-4) var(--space-7)}}@media (prefers-reduced-motion:reduce) and (width>=769px){.ui-shell__nav{transition-duration:var(--dur-fast)!important}}.ui-nav{--nav-pad:16px;box-sizing:border-box;flex-direction:column;min-height:100%;padding:18px 0;display:flex}.ui-nav__brand{min-height:34px;padding:0 var(--nav-pad);align-items:center;gap:10px;margin-bottom:26px;display:flex}.ui-nav__mark{font:var(--weight-bold) 26px/1 var(--font-sans);color:var(--accent);background:0 0;border:0;flex:none;padding:0}.ui-nav button.ui-nav__mark{cursor:pointer}.ui-nav button.ui-nav__mark:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.ui-nav__tenant{min-width:0;color:var(--text-strong);text-decoration:none}.ui-nav__tenant-name{font-size:var(--size-lead);font-weight:var(--weight-bold);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;line-height:1.1;display:block;overflow:hidden}.ui-nav__product{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);display:block}.ui-nav__close{border:var(--border-hair) solid transparent;width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;flex:none;place-items:center;margin-left:auto;padding:0;display:inline-grid}.ui-nav__close:hover{border-color:var(--line);color:var(--text-strong)}.ui-nav__eyebrow{padding:0 var(--nav-pad);font-size:var(--size-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.ui-nav__area{margin-bottom:6px}.ui-nav__link{box-sizing:border-box;width:calc(100% - 2 * var(--nav-pad));margin:4px var(--nav-pad);border:var(--border-hair) solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-strong);font:var(--weight-bold) var(--size-body)/1.3 var(--font-sans);text-align:left;cursor:pointer;padding:7px 14px;text-decoration:none;display:block}.ui-nav__link:hover{border-color:var(--line-strong)}.ui-nav__link:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.ui-nav__link--item{width:calc(100% - var(--nav-pad) - 38px);margin:6px var(--nav-pad) 6px 38px;font-size:var(--size-meta);font-weight:var(--weight-book);color:var(--text-body);padding:3px 10px}.ui-nav__link--open{border-color:var(--line-strong);background:var(--accent-tint)}.ui-nav__link[aria-disabled=true]{color:var(--text-faint);cursor:not-allowed;border-style:dashed}.ui-nav__link--placeholder[aria-disabled=true]{cursor:default;border-style:solid}.ui-nav__link--placeholder[aria-disabled=true]:hover{border-color:var(--line)}.ui-nav__link--active{background:var(--fill-brand);color:var(--on-fill-brand);font-weight:var(--weight-bold);border-color:#0000}.ui-nav__project{border-top:var(--border-hair) solid var(--line);margin-top:22px;padding-top:16px}.ui-nav__project-card{margin:0 var(--nav-pad) 12px;border:var(--border-hair) solid var(--line-strong);background:var(--accent-tint);color:var(--text-strong);padding:8px 10px;text-decoration:none;display:block}.ui-nav__project-card:hover{background:var(--fill-brand);color:var(--on-fill-brand)}.ui-nav__project-name{font-size:var(--size-lead);font-weight:var(--weight-bold);letter-spacing:-.01em;display:block}.ui-nav__project-sub{font-size:var(--size-meta);color:var(--text-muted);display:block}.ui-nav__foot{gap:var(--space-3);padding:18px var(--nav-pad) 0;flex-direction:column;margin-top:auto;display:flex}.ui-nav__user{align-items:center;gap:10px;display:flex}.ui-nav__signout{align-self:flex-start}.ui-nav__user-text{min-width:0;line-height:1.15}.ui-nav__user-name{font-size:var(--size-small);font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);overflow:hidden}.ui-nav__user-role{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.ui-nav__status{font-size:var(--size-meta);color:var(--text-muted);align-items:center;gap:6px;display:flex}.ui-nav__status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.ui-nav--collapsed .ui-nav__brand{justify-content:center;padding:0}.ui-theme-switch{border:var(--border-hair) solid var(--line);width:max-content;display:flex}.ui-theme-switch__opt{color:var(--text-muted);font:var(--weight-bold) var(--size-label)/1 var(--font-sans);cursor:pointer;background:0 0;border:0;padding:5px 9px}.ui-theme-switch__opt:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:-2px}.ui-theme-switch__opt--on{background:var(--surface-ink);color:var(--text-on-ink)}.ui-kpi{border-top:var(--border-rule) solid var(--line-strong);border-bottom:var(--border-hair) solid var(--line);overflow:hidden}.ui-kpi__row{margin:0 0 0 calc(-1 * (16px + var(--border-hair)));flex-wrap:wrap;display:flex}.ui-kpi__item{gap:var(--space-1);border-left:var(--border-hair) solid var(--line-faint);border-bottom:3px solid #0000;flex-direction:column;padding:9px 16px;display:flex}.ui-kpi__item--signal{border-bottom-color:var(--signal);print-color-adjust:exact}.ui-kpi__label{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.ui-kpi__value{font-size:var(--size-lead);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--text-strong);margin:0}.ui-kpi__sub{font-size:var(--size-meta);color:var(--text-muted);margin:0}.ui-kpi__sub--success{color:var(--state-success)}.ui-kpi__sub--error{color:var(--state-error)}@media (width<=640px){.ui-kpi__item{box-sizing:border-box;flex:0 0 50%}}.ui-skeleton__row{gap:var(--space-4);padding:calc(var(--row-pad) + 2px) 0;display:grid}.ui-skeleton__bar{background:linear-gradient(90deg, var(--skeleton-base) 25%, var(--skeleton-sheen) 50%, var(--skeleton-base) 75%);background-size:300% 100%;height:12px;animation:1.6s linear infinite ui-skeleton-sheen;display:block}.ui-skeleton__bar--static{background:var(--skeleton-base);animation:none}@keyframes ui-skeleton-sheen{0%{background-position:100% 0}to{background-position:0 0}}.ui-notice{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:var(--border-hair) solid var(--line-strong);font-size:var(--size-meta);line-height:1.5;display:flex}.ui-notice--info{background:var(--accent-tint);color:var(--text-strong)}.ui-notice--urgent{background:var(--signal);color:var(--on-signal)}.ui-notice__body{flex:1;min-width:0}.ui-action-error{min-width:0;font-size:var(--size-meta);white-space:normal;color:var(--state-error);flex:100%;align-self:center;line-height:1.4;display:block}.operator-page{max-width:1280px}.operator-page__header{border-bottom:var(--border-hair) solid var(--line);flex-direction:column;gap:.5rem;margin-bottom:1.75rem;padding-bottom:1.25rem;display:flex}.operator-page__header h2{font-size:var(--size-h2);font-weight:var(--weight-bold);color:var(--text-strong);margin:0}.operator-page__header a{color:var(--second-color);align-items:center;gap:.35rem;width:max-content;font-size:.85rem;text-decoration:none;display:inline-flex}.operator-page__header a:hover{color:var(--main-color);text-decoration:underline}.operator-page__subtitle{color:var(--text-color-secondary);margin:0;font-size:.92rem}.operator-tenants{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.operator-tenant-card{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:10px;flex-direction:column;gap:.85rem;padding:1.1rem 1.25rem;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.operator-tenant-card:hover{border-color:var(--main-color);transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.operator-tenant-card__header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.operator-tenant-card__name{color:var(--text-color);margin:0;font-size:1rem;font-weight:600;line-height:1.3}.operator-tenant-card__meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.operator-tenant-card__section{flex-direction:column;gap:.4rem;display:flex}.operator-tenant-card__section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-color);font-size:.72rem;font-weight:600}.operator-tenant-card__masters,.operator-tenant-card__credentials{flex-wrap:wrap;gap:.4rem;display:flex}.operator-tenant-card__since{color:var(--text-color-secondary);align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.operator-tenant-card__since svg{color:var(--muted-color);flex-shrink:0}.operator-tenant-card__since-rel{color:var(--muted-color);font-size:.78rem}.operator-tenant-card__action{background:color-mix(in srgb, var(--main-color) 12%, transparent);color:var(--second-color);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.35rem;margin-top:auto;padding:.55rem .85rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .12s;display:inline-flex}.operator-tenant-card__action:hover{background:var(--main-color);color:var(--text-color)}.operator-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.operator-pill--active{background:color-mix(in srgb, var(--success-color) 18%, transparent);color:var(--success-color)}.operator-pill--trial{background:color-mix(in srgb, var(--third-color) 18%, transparent);color:var(--third-color)}.operator-pill--suspended{background:color-mix(in srgb, var(--warning-color) 18%, transparent);color:var(--warning-color)}.operator-pill--terminated{background:color-mix(in srgb, var(--muted-color) 18%, transparent);color:var(--muted-color)}.operator-pill--plan{background:color-mix(in srgb, var(--text-bg-color) 60%, transparent);color:var(--text-color-secondary)}.operator-badge{background:color-mix(in srgb, var(--text-bg-color) 50%, transparent);color:var(--text-color);border-radius:5px;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.78rem;font-weight:500;display:inline-flex}.operator-badge--local{background:color-mix(in srgb, var(--muted-color) 14%, transparent);color:var(--text-color-secondary)}.operator-badge--external{background:color-mix(in srgb, var(--second-color) 18%, transparent);color:var(--second-color);font-weight:600}.operator-badge--ok{color:var(--success-color)}.operator-badge--off{color:var(--muted-color);opacity:.65}.operator-badge__icon{flex-shrink:0;display:inline-flex}.operator-settings-form{flex-direction:column;gap:1.5rem;max-width:720px;display:flex}.operator-settings-form__header{flex-direction:column;gap:.25rem;display:flex}.operator-settings-form__tenant-id{color:var(--muted-color);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.operator-settings-form__tenant-id code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.operator-settings-form__updated{color:var(--text-color-secondary);font-size:.82rem}.operator-settings-form fieldset{border:1px solid var(--text-bg-color);background:color-mix(in srgb, var(--background-color) 96%, transparent);border-radius:8px;margin:0;padding:1.25rem 1.5rem}.operator-settings-form fieldset legend{color:var(--second-color);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;padding:0 .5rem;font-size:.85rem;font-weight:600;display:inline-flex}.operator-settings-form__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.operator-settings-form__actions{border-top:1px solid var(--text-bg-color);align-items:center;gap:.75rem;padding-top:.5rem;display:flex}.operator-state{text-align:center;color:var(--text-color-secondary);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.operator-state__icon{color:var(--muted-color)}.operator-state__title{color:var(--text-color);margin:0;font-size:1rem;font-weight:600}.operator-state__detail{margin:0;font-size:.88rem;line-height:1.5}.operator-state--error,.operator-state--error .operator-state__icon{color:var(--error-color)}.operator-correlation{color:var(--muted-color);margin:0;font-size:.8rem}.operator-correlation code{background:color-mix(in srgb, var(--text-bg-color) 50%, transparent);border-radius:3px;padding:.1rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tenant-admins{gap:var(--space-4);margin-top:var(--space-4);flex-direction:column;display:flex}.tenant-admins__person{flex-direction:column;display:flex}.tenant-admins__name{color:var(--text-strong)}.tenant-admins__email{color:var(--text-muted);font-size:var(--size-small)}.zeiterfassung-header{text-align:center;margin-bottom:30px}.zeiterfassung-header h1{color:var(--text-color);margin-bottom:.5rem;font-size:2.5rem;font-weight:700;line-height:1.1}.zeiterfassung-header p{color:var(--text-bg-color);font-size:1.1rem;font-weight:400}.employee-selector{background:var(--background-color);flex-direction:column;align-items:center;display:flex;box-shadow:0 1px 5px #0000000d}.employee-selector label{color:var(--text-color);font-size:1.1rem;font-weight:600}.employee-selector .employee-select{border:1px solid var(--text-bg-color);background:var(--background-color);min-width:300px;color:var(--text-color);border-radius:6px;padding:12px 16px;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:1rem;transition:border-color .3s}.employee-selector .employee-select:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #2477331a}.employee-selector .selected-employee-info{color:var(--main-color);background:#2477331a;border-radius:4px;padding:8px 16px;font-size:.9rem;font-weight:500}.no-employee-selected{text-align:center;background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;margin-bottom:20px;padding:40px 20px}.no-employee-selected p{color:var(--text-bg-color);font-size:1.1rem;font-style:italic}.office-logo-settings{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.office-logo-settings__preview{object-fit:contain;border:var(--border-hair) solid var(--line-faint);max-width:240px;max-height:96px;padding:var(--space-2);background:var(--surface-card)}.office-logo-settings__actions{gap:var(--space-2);display:flex}.nextcloud-settings__status{align-items:center;gap:var(--space-3);color:var(--text-strong);flex-wrap:wrap;display:flex}.nextcloud-settings__muted{color:var(--text-muted)}.config-row{grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:20px;display:grid}@media (width<=768px){.config-row{grid-template-columns:1fr;gap:15px}}.status-indicator{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.status-indicator.connected{background:var(--state-success)}.status-indicator.disconnected{background:var(--text-muted)}.status-indicator.loading{background:var(--state-info);animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.form-group select option.contract-limit-reached{opacity:.5;color:var(--text-muted);background:var(--surface-sunken)}[data-theme=dark] .form-group select option.contract-limit-reached{color:#888;background:#2a2a2a}.calendar-container{background:var(--background-color);transition:all .3s;overflow:hidden;box-shadow:0 1px 5px #0000000d}.calendar-scroll-container{max-height:60vh;overflow:hidden auto}.calendar-scroll-container::-webkit-scrollbar{width:8px}.calendar-scroll-container::-webkit-scrollbar-track{background:var(--text-bg-color);opacity:.1;border-radius:4px}.calendar-scroll-container::-webkit-scrollbar-thumb{background:var(--text-color);opacity:.7;border-radius:4px}.calendar-scroll-container::-webkit-scrollbar-thumb:hover{opacity:1}.calendar-grid{grid-template-columns:120px repeat(7,1fr);min-width:800px;display:grid}.time-column{background:var(--background-color);border-right:1px solid var(--text-bg-color);z-index:2;opacity:1;position:sticky;left:0}.time-header{text-align:center;color:var(--text-color);border-bottom:1px solid var(--text-bg-color);background:var(--background-color);z-index:3;padding:15px 12px;font-weight:600;position:sticky;top:0}.time-slot-group{flex-direction:column;display:flex}.time-slot{border-bottom:.5px solid var(--text-bg-color);justify-content:center;align-items:center;height:25px;padding:2px 8px;font-size:.75rem;font-weight:500;display:flex;color:var(--text-color)!important}.time-slot.time-full{background:var(--background-color);font-weight:600}.time-slot.time-half{background:var(--background-color);opacity:.7;font-size:.7rem}.day-column{border-right:1px solid var(--text-bg-color)}.day-column:last-child{border-right:none}.day-header{background:var(--background-color);text-align:center;border-bottom:1px solid var(--text-bg-color);z-index:1;padding:15px 8px;font-size:.9rem;font-weight:600;position:sticky;top:0;color:var(--text-color)!important}.hour-group{flex-direction:column;display:flex}.time-cell{cursor:pointer;border-bottom:.5px solid var(--text-bg-color);user-select:none;height:25px;transition:all .2s;position:relative}.time-cell:hover:not(.occupied){opacity:.3;transform:scale(1.02);background:var(--main-color)!important}.time-cell.selected{opacity:.8;background:var(--main-color)!important}.time-cell.selected:after{content:"";border:2px solid var(--second-color);pointer-events:none;border-radius:2px;position:absolute;inset:2px}.time-cell.occupied{cursor:not-allowed;position:relative}.time-cell.occupied:hover{filter:brightness(1.1);transform:scale(1.01);opacity:.9!important}.time-cell.occupied:before{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(45deg,#ffffff1a,#ffffff1a 2px,#0000 2px 4px);position:absolute;inset:0}.time-cell.occupied:after{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(-45deg,#0000001a,#0000001a 1px,#0000 1px 3px);position:absolute;inset:0}.time-cell.full-hour-cell{background:var(--background-color)}.time-cell.half-hour-cell{background:var(--background-color);opacity:.95}.time-entry-indicator{text-shadow:0 1px 2px #00000080;z-index:2;flex-direction:column;justify-content:center;align-items:center;font-size:.55rem;font-weight:600;display:flex;position:absolute;inset:0}.time-entry-indicator .entry-reference{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.3px;background:#0006;border:1px solid #fff3;border-radius:3px;max-width:90%;margin-bottom:1px;padding:1px 4px;font-size:.6rem;font-weight:700;overflow:hidden;box-shadow:0 1px 2px #0000004d}.time-entry-indicator .entry-time{white-space:nowrap;text-overflow:ellipsis;background:#00000040;border:1px solid #ffffff1a;border-radius:2px;max-width:90%;padding:0 3px;font-size:.5rem;font-weight:500;overflow:hidden}.calendar-legend{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;flex-direction:column;gap:20px;margin-top:20px;padding:15px;display:flex}.calendar-legend .legend-section h4{color:var(--text-color);text-align:center;margin:0 0 10px;font-size:.9rem;font-weight:600}.calendar-legend .legend-section .legend-items{flex-wrap:wrap;justify-content:center;gap:15px;display:flex}.calendar-legend .legend-section .legend-items.contracts{gap:10px}.calendar-legend .legend-item{align-items:center;gap:6px;font-size:.85rem;display:flex}.calendar-legend .legend-item.contract-item{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:4px;padding:4px 8px;transition:all .2s}.calendar-legend .legend-item.contract-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.calendar-legend .legend-item .legend-color{border:1px solid var(--text-bg-color);border-radius:2px;justify-content:center;align-items:center;width:16px;height:16px;font-size:.6rem;font-weight:700;display:flex}.calendar-legend .legend-item .legend-color.selected{background:var(--main-color);opacity:.8}.calendar-legend .legend-item .legend-color.available{background:var(--background-color)}.calendar-legend .legend-item .legend-color.contract-color{letter-spacing:-.5px;border:1px solid #0003;border-radius:3px;width:20px;height:16px;font-size:.65rem;box-shadow:0 1px 3px #0000001a}.calendar-legend .legend-item span{color:var(--text-color);font-weight:500}.calendar-legend .legend-item span[title]{cursor:help;border-bottom:1px dotted var(--text-bg-color)}.hour-group[data-work-hours=true] .time-cell{border-left:3px solid var(--main-color)}.day-column.weekend .day-header{background:var(--background-color);opacity:1;color:var(--text-color)}.day-column.weekend .time-cell{opacity:.6}.day-column.weekend .time-cell:hover{opacity:.8}.entry-form{background:var(--background-color);border:1px solid var(--text-bg-color);z-index:1000;border-radius:8px;min-width:450px;max-width:90vw;padding:32px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 40px #00000026}.entry-form .ui-field{margin-bottom:20px}.overlay{backdrop-filter:blur(4px);z-index:999;background:#00000080;position:fixed;inset:0}.form-group{opacity:1;margin-bottom:20px}.form-group label{color:var(--text-color);margin-bottom:8px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:6px;padding:12px 16px;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:1rem;transition:border-color .3s}.form-group textarea{resize:vertical;height:60px;color:var(--text-bg-color)}.form-actions{gap:12px;margin-top:24px;display:flex}.time-block-fields__row{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:7rem 1fr 1fr;align-items:center;display:grid}.time-block-fields__date{color:var(--text-muted);font-size:var(--size-body)}.time-block-fields .alert{margin:var(--space-2) 0 0}.alert{border-left:4px solid;border-radius:6px;margin-bottom:20px;padding:16px 20px;font-weight:500}.alert.error{color:var(--third-color);border-left-color:var(--third-color);background:#064e8e1a}.alert.success{color:var(--main-color);border-left-color:var(--main-color);background:#2477331a}.alert.loading{color:var(--research-color);border-left-color:var(--research-color);text-align:center;background:#0367a61a}@media (width<=768px){.time-entry-indicator{font-size:.45rem}.time-entry-indicator .entry-reference{padding:0 2px;font-size:.5rem}.time-entry-indicator .entry-time{padding:0 1px;font-size:.4rem}.calendar-legend .legend-section .legend-items{gap:8px}.calendar-legend .legend-section .legend-items.contracts{gap:6px}.calendar-legend .legend-item{font-size:.8rem}.calendar-legend .legend-item.contract-item{padding:3px 6px}.calendar-legend .legend-item .legend-color.contract-color{width:18px;height:14px;font-size:.55rem}}@media (width<=480px){.time-entry-indicator .entry-reference{font-size:.45rem}.time-entry-indicator .entry-time{font-size:.35rem}.calendar-legend{padding:10px}.calendar-legend .legend-section h4{font-size:.85rem}.calendar-legend .legend-section .legend-items.contracts{flex-direction:column;align-items:center;gap:4px}.calendar-legend .legend-item.contract-item{justify-content:center;width:100%;max-width:200px}}[data-theme=dark] .time-entry-indicator{text-shadow:0 1px 2px #000000b3}[data-theme=dark] .time-entry-indicator .entry-reference{background:#0006}[data-theme=dark] .time-entry-indicator .entry-time{background:#0000004d}[data-theme=dark] .legend-item.contract-item{border-color:var(--text-bg-color)}[data-theme=dark] .legend-item.contract-item:hover{box-shadow:0 2px 8px #ffffff1a}.delete-modal{background:var(--background-color);border:1px solid var(--third-color);z-index:1001;border-radius:8px;min-width:450px;max-width:90vw;padding:32px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 40px #00000040}.delete-modal h3{color:var(--third-color);text-align:center;margin-bottom:20px;font-size:1.5rem}.entry-details{background:var(--background-color);border:1px solid var(--text-bg-color);opacity:.9;border-radius:6px;margin-bottom:20px;padding:16px}.entry-details .detail-row{margin-bottom:8px;font-size:.95rem}.entry-details .detail-row:last-child{margin-bottom:0}.entry-details .detail-row strong{color:var(--text-color);min-width:100px;margin-right:8px;display:inline-block}.warning-message{text-align:center;margin-bottom:24px}.warning-message p{margin-bottom:8px}.warning-message p:first-child{color:var(--third-color);font-size:1.1rem;font-weight:500}.modal-actions{justify-content:center;gap:12px;display:flex}.time-cell.occupied{transition:all .2s;cursor:pointer!important}.time-cell.occupied:hover{z-index:10;filter:brightness(1.2)!important;border:2px solid #dc262699!important;transform:scale(1.05)!important;box-shadow:0 2px 8px #0003!important}.time-cell.occupied:after{content:"Klicken zum Löschen";color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:1000;background:#000c;border-radius:4px;padding:4px 8px;font-size:.7rem;transition:opacity .2s;position:absolute;bottom:-25px;left:50%;transform:translate(-50%)}.time-cell.occupied:hover:after{opacity:1}[data-theme=dark] .delete-modal{border-color:var(--third-color);box-shadow:0 10px 40px #ffffff1a}[data-theme=dark] .entry-details{border-color:var(--text-bg-color);background:#ffffff0d}[data-theme=dark] .time-cell.occupied:after{color:#000;background:#ffffffe6}@media (width<=768px){.delete-modal{min-width:90vw;padding:24px}.delete-modal h3{font-size:1.25rem}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}.time-cell.occupied:after{display:none}}.recharts-wrapper{width:100%!important;height:100%!important}.recharts-surface{overflow:visible!important}.chart-container{width:100%;height:320px;position:relative}.chart-container .recharts-wrapper{inset:0;position:absolute!important}.project-overview{flex-direction:column;gap:1rem;width:100%;padding:1.5rem;display:flex}.project-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.project-header .project-title{color:var(--text-color);margin:0;font-size:1.875rem;font-weight:600}.project-header .project-controls{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.card{background:#2f2f2f;overflow:hidden}:where(:root:not([data-theme=dark])) .card{background:#fff;border:1px solid #e5e7eb}.card .card-header{border-bottom:1px solid #404040;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}:where(:root:not([data-theme=dark])) .card .card-header{border-bottom:1px solid #e5e7eb}.card .card-header .card-title{color:var(--text-color);margin:0;font-size:1.125rem;font-weight:500}.dropdown-container{position:relative}.dropdown-container .dropdown-button{color:#d1d5db;cursor:pointer;background:#2f2f2f;border:1px solid #404040;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.875rem;transition:all .15s;display:flex}:where(:root:not([data-theme=dark])) .dropdown-container .dropdown-button{color:#374151;background:#fff;border:1px solid #d1d5db}.dropdown-container .dropdown-button:hover{border-color:#525252}:where(:root:not([data-theme=dark])) .dropdown-container .dropdown-button:hover{border-color:#9ca3af}.dropdown-container .dropdown-button .dropdown-icon{width:1rem;height:1rem}.dropdown-container .dropdown-menu{z-index:50;background:#2f2f2f;border:1px solid #404040;border-radius:8px;width:16rem;position:absolute;top:calc(100% + .25rem);right:0;box-shadow:0 4px 6px -1px #0000004d}:where(:root:not([data-theme=dark])) .dropdown-container .dropdown-menu{background:#fff;border:1px solid #d1d5db;box-shadow:0 4px 6px -1px #0000001a}.dropdown-container .dropdown-menu .dropdown-header{border-bottom:1px solid #404040;gap:.5rem;padding:.75rem;display:flex}:where(:root:not([data-theme=dark])) .dropdown-container .dropdown-menu .dropdown-header{border-bottom:1px solid #e5e7eb}.dropdown-container .dropdown-menu .dropdown-header .dropdown-action{color:#d1d5db;cursor:pointer;background:#404040;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;transition:background-color .15s}:where(:root:not([data-theme=dark])) .dropdown-container .dropdown-menu .dropdown-header .dropdown-action{color:#374151;background:#f3f4f6}.dropdown-container .dropdown-menu .dropdown-header .dropdown-action:hover{background:#525252}:where(:root:not([data-theme=dark])) .dropdown-container .dropdown-menu .dropdown-header .dropdown-action:hover{background:#e5e7eb}.dropdown-container .dropdown-menu .dropdown-list{max-height:12rem;padding:.5rem;overflow-y:auto}.dropdown-container .dropdown-menu .dropdown-list .dropdown-item{cursor:pointer;color:#d1d5db;border-radius:4px;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.875rem;display:flex}:where(:root:not([data-theme=dark])) .dropdown-container .dropdown-menu .dropdown-list .dropdown-item{color:#374151}.dropdown-container .dropdown-menu .dropdown-list .dropdown-item:hover{background:#404040}:where(:root:not([data-theme=dark])) .dropdown-container .dropdown-menu .dropdown-list .dropdown-item:hover{background:#f3f4f6}.dropdown-container .dropdown-menu .dropdown-list .dropdown-item .dropdown-checkbox{accent-color:#3b82f6;margin:0}.sent-option{color:#9ca3af;cursor:pointer;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.sent-option .sent-checkbox{accent-color:#3b82f6;margin:0;transform:scale(.9)}.chart-container{height:20rem;padding:1.5rem}.chart-legend{flex-wrap:wrap;gap:1rem;display:flex}.chart-legend .legend-item{color:#9ca3af;align-items:center;gap:.375rem;font-size:.75rem;display:flex}.chart-legend .legend-item .legend-color{border-radius:2px;width:.75rem;height:.75rem}.tooltip{background:#1f2937;border:1px solid #374151;border-radius:6px;padding:.75rem;box-shadow:0 4px 6px -1px #0000004d}:where(:root:not([data-theme=dark])) .tooltip{background:#fff;border:1px solid #d1d5db;box-shadow:0 4px 6px -1px #0000001a}.tooltip .tooltip-title{color:#f9fafb;margin:0 0 .25rem;font-weight:500}:where(:root:not([data-theme=dark])) .tooltip .tooltip-title{color:#111827}.tooltip .tooltip-total{color:#d1d5db;margin:0 0 .5rem;font-size:.875rem}:where(:root:not([data-theme=dark])) .tooltip .tooltip-total{color:#6b7280}.tooltip .tooltip-item{margin:.125rem 0;font-size:.875rem}.table-container{overflow-x:auto}.empty-state{text-align:center;color:#9ca3af;padding:3rem 1.5rem;font-size:.875rem}@media (width<=768px){.project-overview{padding:1rem}.project-header{flex-direction:column;align-items:stretch;gap:1rem}.project-header .project-controls{align-items:stretch}.card-header{flex-direction:column;align-items:flex-start;gap:1rem}.chart-legend{gap:.5rem}.chart-container{height:16rem;padding:1rem}}.calendar-container{width:100%;position:relative}.calendar-container .card{border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);box-shadow:none;background:var(--background-color);width:100%;margin-bottom:1rem;position:relative;overflow:hidden}:where(:root:not([data-theme=dark])) .calendar-container .card{background:#fff}.calendar-container .card .floating-action-button{z-index:20;position:absolute;bottom:1.5rem;right:1.5rem}.calendar-container .card .floating-action-button .fab-button{background:var(--main-color);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;transition:all .3s;display:flex;position:relative;box-shadow:0 4px 12px #0000004d}:where(:root:not([data-theme=dark])) .calendar-container .card .floating-action-button .fab-button{box-shadow:0 4px 12px #00000026}.calendar-container .card .floating-action-button .fab-button:hover{transform:scale(1.1);box-shadow:0 6px 16px #0006}:where(:root:not([data-theme=dark])) .calendar-container .card .floating-action-button .fab-button:hover{box-shadow:0 6px 16px #0003}.calendar-container .card .floating-action-button .fab-button:active{transform:scale(.95)}.calendar-container .card .floating-action-button .fab-button .fab-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.75rem;font-weight:600;display:flex;position:absolute;top:-.5rem;right:-.5rem}.calendar-container .card .calendar-content{padding:1.5rem;position:relative}.calendar-container .card .calendar-content .calendar-loading-overlay{background:var(--background-color);z-index:10;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}:where(:root:not([data-theme=dark])) .calendar-container .card .calendar-content .calendar-loading-overlay{background:#fffc}.calendar-container .card .calendar-content .calendar-loading-overlay .ui-skeleton{box-sizing:border-box;width:100%;padding:0 1.5rem}.calendar-container .card .calendar-content .calendar-scroll-container{border:none;border-radius:8px;max-height:60vh;transition:opacity .3s;overflow:hidden auto}.calendar-container .card .calendar-content .calendar-scroll-container.loading{pointer-events:none;opacity:.5}:where(:root:not([data-theme=dark])) .calendar-container .card .calendar-content .calendar-scroll-container{border:none}.calendar-container .card .calendar-content .calendar-scroll-container::-webkit-scrollbar{width:8px}.calendar-container .card .calendar-content .calendar-scroll-container::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}:where(:root:not([data-theme=dark])) .calendar-container .card .calendar-content .calendar-scroll-container::-webkit-scrollbar-track{background:#f3f4f6}.calendar-container .card .calendar-content .calendar-scroll-container::-webkit-scrollbar-thumb{background:#525252;border-radius:4px}:where(:root:not([data-theme=dark])) .calendar-container .card .calendar-content .calendar-scroll-container::-webkit-scrollbar-thumb{background:#9ca3af}.calendar-container .card .calendar-content .calendar-scroll-container::-webkit-scrollbar-thumb:hover{background:#6b7280}:where(:root:not([data-theme=dark])) .calendar-container .card .calendar-content .calendar-scroll-container::-webkit-scrollbar-thumb:hover{background:#6b7280}.calendar-grid-claude{user-select:none;grid-template-columns:100px repeat(7,1fr);min-width:800px;display:grid}.time-column-claude{background:var(--background-color);border-right:none}:where(:root:not([data-theme=dark])) .time-column-claude{background:var(--background-color)}.time-column-claude .time-header{background:var(--background-color);color:var(--text-color);text-align:center;box-sizing:border-box;border-bottom:2px solid #404040;justify-content:center;align-items:center;min-height:4.5rem;padding:.5rem;font-size:.75rem;font-weight:500;display:flex}:where(:root:not([data-theme=dark])) .time-column-claude .time-header{background:var(--background-color);color:var(--text-color);border-bottom:2px solid #e5e7eb}.time-column-claude .time-slot-group{flex-direction:column;display:flex}.time-column-claude .time-slot-group .time-slot{color:#9ca3af;text-align:center;box-sizing:border-box;background:var(--background-color);border-bottom:none;justify-content:center;align-items:center;height:2rem;min-height:2rem;max-height:2rem;padding:.5rem .25rem;font-size:.75rem;display:flex}:where(:root:not([data-theme=dark])) .time-column-claude .time-slot-group .time-slot{color:#6b7280;background:var(--background-color)}.time-column-claude .time-slot-group .time-slot.time-full{border-top:2px solid var(--line);font-weight:500}.time-column-claude .time-slot-group .time-slot.time-half{border-top:1px solid var(--line-faint)}.time-column-claude .time-slot-group .time-slot.time-quarter{border-top:1px dotted var(--line-faint)}.calendar-grid-claude--quarter .time-column-claude .time-slot-group .time-slot,.calendar-grid-claude--quarter .day-column-claude .hour-group .calendar-cell{height:1rem;min-height:1rem;max-height:1rem;padding-top:0;padding-bottom:0}.calendar-grid-claude--quarter .time-column-claude .time-slot-group .time-slot{font-size:var(--size-label)}.day-column-claude.day-weekend,.day-column-claude.day-feiertag,.day-column-claude.day-betriebsferien,.day-column-claude.day-absence{background:#6b72800f}:where(:root:not([data-theme=dark])) .day-column-claude.day-weekend,:where(:root:not([data-theme=dark])) .day-column-claude.day-feiertag,:where(:root:not([data-theme=dark])) .day-column-claude.day-betriebsferien,:where(:root:not([data-theme=dark])) .day-column-claude.day-absence{background:#6b72800d}.day-column-claude .day-header{background:var(--background-color);color:var(--text-color);text-align:center;box-sizing:border-box;border-bottom:2px solid #404040;border-right:none;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-height:4.5rem;padding:.5rem .375rem;font-size:.875rem;font-weight:500;display:flex}:where(:root:not([data-theme=dark])) .day-column-claude .day-header{background:var(--background-color);color:var(--text-color);border-bottom:2px solid #e5e7eb}.day-column-claude .day-header .day-header-label{line-height:1.1}.day-column-claude .day-header .day-header-badges{flex-wrap:wrap;justify-content:center;gap:.25rem;max-width:100%;display:flex}.day-column-claude .absence-pill{text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;border-radius:10px;max-width:100%;padding:1px 6px;font-size:.65rem;font-weight:500;line-height:1.3;display:inline-block;overflow:hidden}.day-column-claude .absence-pill.pill-feiertag{color:#fbbf24;background:#fbbf242e;border-color:#fbbf2473}:where(:root:not([data-theme=dark])) .day-column-claude .absence-pill.pill-feiertag{color:#92400e}.day-column-claude .absence-pill.pill-betriebsferien{color:#60a5fa;background:#3b82f62e;border-color:#3b82f673}:where(:root:not([data-theme=dark])) .day-column-claude .absence-pill.pill-betriebsferien{color:#1d4ed8}.day-column-claude .absence-pill.pill-absence{color:#d1d5db;cursor:pointer;background:#6b728040;border-color:#6b72808c;transition:filter .15s}:where(:root:not([data-theme=dark])) .day-column-claude .absence-pill.pill-absence{color:#374151}.day-column-claude .absence-pill.pill-absence:hover{filter:brightness(1.2)}.day-column-claude .absence-pill.pill-absence:active{transform:scale(.96)}.day-column-claude .hour-group{flex-direction:column;display:flex}.day-column-claude .hour-group .calendar-cell.slot-full{border-top:2px solid var(--line)}.day-column-claude .hour-group .calendar-cell.slot-half{border-top:1px solid var(--line-faint)}.day-column-claude .hour-group .calendar-cell.slot-quarter{border-top:1px dotted var(--line-faint)}.day-column-claude .hour-group .calendar-cell{box-sizing:border-box;cursor:pointer;background:var(--background-color);border-bottom:none;border-right:none;align-items:flex-start;height:2rem;min-height:2rem;max-height:2rem;padding:.25rem;font-size:.75rem;transition:background .15s,filter .15s;display:flex;position:relative;overflow:hidden}:where(:root:not([data-theme=dark])) .day-column-claude .hour-group .calendar-cell,.day-column-claude .hour-group .calendar-cell.available,:where(:root:not([data-theme=dark])) .day-column-claude .hour-group .calendar-cell.available{background:var(--background-color)}.day-column-claude .hour-group .calendar-cell.available:hover{background:#80808033}:where(:root:not([data-theme=dark])) .day-column-claude .hour-group .calendar-cell.available:hover{background:#0000000d}.day-column-claude .hour-group .calendar-cell.selected{color:#fff;background:#1e40af}.day-column-claude .hour-group .calendar-cell.selected:hover{background:#1d4ed8}.day-column-claude .hour-group .calendar-cell.occupied{cursor:grab;position:relative;overflow:visible;background:0 0!important}.day-column-claude .hour-group .calendar-cell.occupied:active{cursor:grabbing}.day-column-claude .hour-group .calendar-cell.occupied .resize-handle{cursor:ns-resize;z-index:2;opacity:0;pointer-events:none;height:6px;position:absolute;left:0;right:0}.day-column-claude .hour-group .calendar-cell.occupied .resize-handle-top{top:-3px}.day-column-claude .hour-group .calendar-cell.occupied .resize-handle-bottom{bottom:-3px}.day-column-claude .hour-group .calendar-cell.occupied.drag-preview{opacity:.6;outline:2px dashed var(--occupied-color,currentColor);outline-offset:-2px}.day-column-claude .hour-group .calendar-cell.occupied{border-left:3px solid var(--occupied-color,currentColor)!important;border-right:3px solid var(--occupied-color,currentColor)!important;border-top:none!important;border-bottom:none!important}.day-column-claude .hour-group .calendar-cell.occupied:before{content:"";background:repeating-linear-gradient(45deg, var(--occupied-color,currentColor) 0, var(--occupied-color,currentColor) 1px, transparent 1px, transparent 5px);pointer-events:none;z-index:0;background-attachment:local;position:absolute;inset:0}.day-column-claude .hour-group .calendar-cell.occupied.entry-first{border-top-left-radius:3px;border-top-right-radius:3px;border-top:3px solid var(--occupied-color,currentColor)!important}.day-column-claude .hour-group .calendar-cell.occupied.entry-last{border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom:3px solid var(--occupied-color,currentColor)!important}.day-column-claude .hour-group .calendar-cell.occupied .cell-content{z-index:1;background:#0009;border-radius:2px;padding:2px 4px;position:relative}.day-column-claude .hour-group .calendar-cell.occupied:hover{opacity:1;filter:brightness(1.1)}.day-column-claude .hour-group .calendar-cell.occupied:hover .resize-handle{opacity:1;pointer-events:auto}.day-column-claude .hour-group .calendar-cell.non-working:not(.occupied):not(.selected){background:repeating-linear-gradient(45deg,#6b728024 0 1px,#0000 1px 7px)!important}.day-column-claude .hour-group .calendar-cell.non-working:not(.occupied):not(.selected):hover{background:repeating-linear-gradient(45deg,#6b728038 0 1px,#3b82f60d 1px 7px)!important}.day-column-claude .hour-group .calendar-cell .cell-content{flex-direction:column;gap:.125rem;width:100%;max-height:100%;display:flex;overflow:hidden}.day-column-claude .hour-group .calendar-cell .cell-content .contract-reference{white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;font-weight:500;line-height:1;overflow:hidden}.day-column-claude .hour-group .calendar-cell .cell-content .contract-title{opacity:.8;white-space:nowrap;text-overflow:ellipsis;font-size:.6rem;line-height:1;overflow:hidden}.calendar-action-claude{text-align:center;margin-top:1rem}.calendar-action-claude .action-button{color:#fff;cursor:pointer;background:#3b82f6;border:1px solid #2563eb;border-radius:6px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .15s}.calendar-action-claude .action-button:hover{background:#2563eb;border-color:#1d4ed8;transform:translateY(-1px)}.calendar-action-claude .action-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.calendar-legend-claude .card .card-header{border-bottom:1px solid #404040;padding:1.25rem 1.5rem}:where(:root:not([data-theme=dark])) .calendar-legend-claude .card .card-header{border-bottom:1px solid #e5e7eb}.calendar-legend-claude .card .card-header .card-title{color:var(--text-color);margin:0;font-size:1.125rem;font-weight:500}.calendar-legend-claude .card .legend-content{padding:1rem 1.5rem}.calendar-legend-claude .card .legend-content .legend-section{margin-bottom:1rem}.calendar-legend-claude .card .legend-content .legend-section:last-child{margin-bottom:0}.calendar-legend-claude .card .legend-content .legend-section h4{color:var(--text-color);margin:0 0 .5rem;font-size:.875rem;font-weight:500}.calendar-legend-claude .card .legend-content .legend-section .legend-items{flex-wrap:wrap;gap:.75rem;display:flex}.calendar-legend-claude .card .legend-content .legend-section .legend-items.contracts{flex-direction:column;gap:.5rem}.calendar-legend-claude .card .legend-content .legend-section .legend-items .legend-item{align-items:center;gap:.5rem;display:flex}.calendar-legend-claude .card .legend-content .legend-section .legend-items .legend-item .legend-color{border-radius:3px;flex-shrink:0;width:.75rem;height:.75rem}.calendar-legend-claude .card .legend-content .legend-section .legend-items .legend-item .legend-color.selected{background:#3b82f6}.calendar-legend-claude .card .legend-content .legend-section .legend-items .legend-item .legend-color.available{background:#6b7280}.calendar-legend-claude .card .legend-content .legend-section .legend-items .legend-item .legend-color.contract-color{border-radius:3px;justify-content:center;align-items:center;min-width:2rem;padding:.125rem .25rem;font-size:.6rem;font-weight:500;display:flex}.calendar-legend-claude .card .legend-content .legend-section .legend-items .legend-item span{color:#9ca3af;font-size:.75rem}:where(:root:not([data-theme=dark])) .calendar-legend-claude .card .legend-content .legend-section .legend-items .legend-item span{color:#6b7280}.calendar-legend-claude .card .legend-content .legend-section .legend-items .legend-item.contract-item span{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}@media (width<=768px){.calendar-container .calendar-content .calendar-scroll-container{max-height:50vh}.calendar-grid-claude{grid-template-columns:80px repeat(7,1fr);min-width:600px;font-size:.75rem}.time-column-claude .time-slot{padding:.25rem .125rem}.day-column-claude .day-header{padding:.5rem .25rem;font-size:.75rem}.day-column-claude .hour-group .calendar-cell{min-height:1.5rem;padding:.125rem;font-size:.65rem}.calendar-container .calendar-content{padding:.5rem}.calendar-container .calendar-content .calendar-scroll-container{border-radius:8px;max-height:calc(100vh - 280px)}.calendar-grid-claude{grid-template-columns:60px repeat(7,1fr);gap:0;min-width:100%;font-size:.7rem}.time-column-claude .time-header{writing-mode:horizontal-tb;padding:.5rem .25rem;font-size:.7rem}.time-column-claude .time-slot-group .time-slot{padding:.25rem .125rem;font-size:.6rem}.time-column-claude .time-slot-group .time-slot.time-half{opacity:.7}.day-column-claude .day-header{writing-mode:horizontal-tb;text-align:center;justify-content:center;align-items:center;min-height:60px;padding:.375rem .125rem;font-size:.65rem;display:flex}.day-column-claude .hour-group .calendar-cell{min-height:2rem;padding:.125rem;font-size:.55rem;line-height:1.2}.day-column-claude .hour-group .calendar-cell.available:active{background:var(--main-color);color:var(--background-color)}.day-column-claude .hour-group .calendar-cell.occupied{cursor:pointer}.day-column-claude .hour-group .calendar-cell.occupied:active{filter:brightness(1.2);transform:scale(.95)}.day-column-claude .hour-group .calendar-cell .time-entry-indicator .entry-reference{border-radius:2px;padding:1px 3px;font-size:.45rem}.day-column-claude .hour-group .calendar-cell .time-entry-indicator .entry-time{margin-top:1px;font-size:.4rem}.calendar-legend{margin-top:.5rem;padding:.75rem}.calendar-legend .legend-section{margin-bottom:.75rem}.calendar-legend .legend-section h4{margin-bottom:.5rem;font-size:.8rem}.calendar-legend .legend-section .legend-items{gap:.5rem}.calendar-legend .legend-section .legend-items.contracts{flex-wrap:wrap;gap:.375rem}.calendar-legend .legend-section .legend-item{font-size:.7rem}.calendar-legend .legend-section .legend-item .legend-color{width:12px;height:12px}.calendar-legend .legend-section .legend-item .legend-color.contract-color{min-width:24px;height:18px;padding:1px 2px;font-size:.5rem}.calendar-legend .legend-section .legend-item.contract-item{background:rgba(var(--text-bg-color), .1);border-radius:4px;padding:4px 6px}.calendar-legend .legend-section .legend-item.contract-item span{max-width:120px}.calendar-scroll-container{touch-action:pan-y;position:relative}.calendar-scroll-container:before{content:"";background:var(--text-bg-color);opacity:.3;z-index:10;border-radius:1px;width:20px;height:2px;position:absolute;top:50%;left:5px}.calendar-scroll-container:after{content:"";background:var(--text-bg-color);opacity:.3;z-index:10;border-radius:1px;width:20px;height:2px;position:absolute;top:50%;right:5px}}@media (width<=480px){.calendar-grid-claude{grid-template-columns:50px repeat(7,1fr);font-size:.65rem}.time-column-claude .time-slot{padding:.125rem .06rem;font-size:.55rem}.day-column-claude .day-header{min-height:50px;padding:.25rem .06rem;font-size:.6rem}.day-column-claude .calendar-cell{min-height:1.75rem}.day-column-claude .calendar-cell .time-entry-indicator .entry-reference{font-size:.4rem}.day-column-claude .calendar-cell .time-entry-indicator .entry-time{font-size:.35rem}.calendar-legend .legend-item.contract-item span{max-width:100px}}@media (width<=768px) and (orientation:landscape){.calendar-container .calendar-content .calendar-scroll-container{max-height:calc(100vh - 200px)}.calendar-grid-claude{grid-template-columns:70px repeat(7,1fr)}.day-column-claude .day-header{min-height:40px}}.calendar-context-menu{background:var(--card-bg,#fff);border:1px solid var(--border-color,#d0d0d0);border-radius:6px;min-width:200px;padding:.25rem;box-shadow:0 6px 20px #0003}.calendar-context-menu-item{text-align:left;width:100%;color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.4rem .6rem;font-size:.85rem;display:block}.calendar-context-menu-item:hover{background:var(--btn-hover-bg,#e8e8e8)}.calendar-context-menu-item .calendar-context-menu-code{font-weight:600}.calendar-context-menu-sep{background:var(--border-color,#d0d0d0);height:1px;margin:.25rem 0}.week-nav{padding:var(--space-3) var(--space-4);border-bottom:var(--border-hair) solid var(--line);margin:0}.week-nav__week{align-items:center;gap:var(--space-2);display:inline-flex;position:relative}.week-nav__kw{justify-content:center;align-items:center;gap:var(--space-1);border:var(--border-hair) solid var(--line-strong);cursor:pointer;min-width:56px;font:var(--weight-bold) var(--size-label)/1.2 var(--font-sans);letter-spacing:var(--tracking-label);text-align:center;text-transform:uppercase;color:var(--text-strong);background:0 0;padding:5px 9px;display:inline-flex}.week-nav__kw:hover{background:var(--surface-sunken)}.week-nav__picker{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:0}.week-nav__range{font-size:var(--size-label);color:var(--text-muted);white-space:nowrap}.week-nav__picker--shown{width:auto}.project-controlling-modal,.time-entry-modal{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:12px;flex-direction:column;width:100%;max-width:800px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000004d}:where(:root:not([data-theme=dark])) .project-controlling-modal,:where(:root:not([data-theme=dark])) .time-entry-modal{box-shadow:0 20px 40px #0000001a}.time-entry-modal{max-width:600px}.modal-content{flex:1;padding:1.5rem;overflow-y:auto}.project-info{border-radius:8px;margin-bottom:2rem;padding:1rem}.project-info h3{color:var(--main-color);margin:0 0 .5rem;font-size:1.25rem}.project-info p{color:var(--text-color);opacity:.8;margin:0}.entry-info{background:var(--second-color);border-left:4px solid var(--main-color);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.entry-info p{margin:.25rem 0;font-size:.875rem}.entry-info p strong{color:var(--main-color);margin-right:.5rem}.loading-state{text-align:center;color:var(--text-color);opacity:.6;padding:3rem 1rem}.loading-state p{margin:0;font-size:1.1rem}.assignments-section{margin-bottom:2rem}.assignments-section .section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.assignments-section .section-header h4{color:var(--text-color);margin:0;font-size:1.125rem}.no-assignments{text-align:center;border:2px dashed var(--text-bg-color);border-radius:8px;padding:3rem 1rem}.no-assignments p{color:var(--text-color);opacity:.6;margin:0 0 1rem;font-size:1.1rem}.assignments-list{flex-direction:column;gap:1rem;display:flex}.assignment-row{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;align-items:end;gap:1rem;padding:1.25rem;transition:border-color .15s;display:flex}.assignment-row:hover{border-color:var(--main-color)}:where(:root:not([data-theme=dark])) .assignment-row{background:#f9fafb}.assignment-field{flex-direction:column;flex:1;gap:.5rem;display:flex}.assignment-field label{color:var(--text-color);font-size:.875rem;font-weight:500}.form-row .form-group{flex:1}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-color);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:6px;padding:.75rem;font-size:.875rem;transition:all .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 3px #0596691a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{opacity:.5;cursor:not-allowed}:where(:root:not([data-theme=dark])) .form-group input,:where(:root:not([data-theme=dark])) .form-group select,:where(:root:not([data-theme=dark])) .form-group textarea{background:#fff}.form-group textarea{resize:vertical;min-height:80px}.form-group .form-select{cursor:pointer}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;font-weight:400!important;display:flex!important}.checkbox-label input[type=checkbox]{margin:0;transform:scale(1.1);width:auto!important}.auto-selected-indicator{color:var(--main-color);margin-left:.5rem;font-size:.75rem;font-weight:400}.form-group select.auto-selected{border-color:var(--main-color);background:var(--second-color)}.auto-selection-info{background:var(--second-color);border-left:4px solid var(--main-color);color:var(--text-color);border-radius:8px;margin-bottom:1rem;padding:1rem;font-size:.875rem}.auto-selection-info p{margin:0;line-height:1.5}:where(:root:not([data-theme=dark])) .auto-selection-info{background:#ecfdf5}.modal-info{background:var(--fourth-color);border-left:4px solid var(--third-color);border-radius:8px;padding:1rem}.modal-info p{color:var(--text-color);margin:0;font-size:.875rem;line-height:1.5}.modal-info p strong{color:var(--third-color)}.controlling-cell{text-align:center;padding:.5rem}@media (width<=768px){.project-controlling-modal,.time-entry-modal{max-width:95vw;max-height:95vh}.modal-content{padding:1rem}.assignment-row{flex-direction:column;align-items:stretch;gap:1rem}.assignment-row .btn-danger{align-self:flex-end;width:auto}.section-header{flex-direction:column;align-items:stretch;gap:1rem}.section-header .btn{width:100%}.form-row{flex-direction:column;gap:0}.controlling-cell .btn-controlling{padding:.375rem}.controlling-cell .btn-controlling svg{width:1rem;height:1rem}.entry-info{font-size:.8rem}.project-info{padding:.75rem}.project-info h3{font-size:1.1rem}}[data-theme=dark] .project-controlling-modal,[data-theme=dark] .time-entry-modal{background:#1a1a1a;border-color:#333}[data-theme=dark] .auto-selection-info{background:#05966926}[data-theme=dark] .assignment-row{background:#262626}[data-theme=dark] .assignment-row:hover{background:#333}.project-controlling-modal.large{max-width:95vw;max-height:95vh}.project-controlling-modal .modal-content{max-height:calc(95vh - 140px);padding:1.5rem;overflow-y:auto}.phase-management{background:var(--second-color);border-radius:8px;margin-bottom:2rem;padding:1rem}.phase-management .section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.phase-management .section-header h3{color:var(--main-color);margin:0;font-size:1.1rem}.phase-management .section-header .header-buttons{gap:.5rem;display:flex}.phase-management .phase-row{background:var(--background-color);border-radius:4px;grid-template-columns:2fr 1.5fr 1.5fr auto;gap:.75rem;margin-bottom:.5rem;padding:.75rem;display:grid}.phase-management .phase-row .form-input{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:4px;padding:.5rem;font-size:.9rem}.phase-management .phase-row .form-input:focus{border-color:var(--main-color);outline:none}.controlling-container{margin-top:2rem}[data-theme=dark] .phase-management{background:#b3a9d71a}:where(:root:not([data-theme=dark])) .phase-management{background:#f3f4f6}@media (width<=1024px){.project-controlling-modal.large{max-width:98vw}.phase-row{grid-template-columns:1fr}}.current-week{background-color:#fdcb00;font-weight:700}.payment-cell{cursor:pointer;transition:background-color .15s}.payment-cell:hover{background-color:var(--text-bg-color)!important}.payment-suggestions label{margin-bottom:.5rem;font-weight:500;display:block}.payment-suggestions .suggestions-list .btn-sm{text-align:left;justify-content:flex-start}.project-controlling-content{background:var(--background-color);border-radius:8px;width:100%;padding:1.5rem}.project-controlling-content .controlling-header{border-bottom:1px solid var(--text-bg-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.project-controlling-content .controlling-header .project-select{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);cursor:pointer;border-radius:6px;min-width:300px;padding:.5rem 1rem;font-size:.95rem}.project-controlling-content .controlling-header .project-select:focus{border-color:var(--main-color);outline:none}.project-controlling-content .controlling-body{width:100%}.project-controlling-content .controlling-actions{border-top:1px solid var(--text-bg-color);justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;display:flex}.content-area{flex:1;padding:1.5rem;overflow-y:auto}.mobile-calendar-container{display:none}@media (width<=768px){.mobile-calendar-container{background:var(--background-color);width:100%;height:calc(100vh - 160px);display:block}.calendar-container:not(.mobile-calendar-container){display:none}}.mobile-calendar-header{background:var(--background-color);border-bottom:2px solid var(--text-bg-color);z-index:1;justify-content:space-between;align-items:center;padding:1rem;display:flex;position:sticky;top:0}.mobile-calendar-header .mobile-nav-button{background:var(--main-color);width:48px;height:48px;color:var(--background-color);cursor:pointer;border:none;border-radius:50%;font-size:20px;font-weight:700;transition:all .2s}.mobile-calendar-header .mobile-nav-button:active{background:var(--second-color);transform:scale(.95)}.mobile-calendar-header .mobile-nav-button:hover{background:var(--second-color);box-shadow:0 4px 12px #00000026}.mobile-calendar-header .mobile-day-display{text-align:center;flex:1}.mobile-calendar-header .mobile-day-display .mobile-day-name{color:var(--text-color);margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.mobile-calendar-header .mobile-day-display .mobile-week-info{color:var(--text-color);opacity:.7;font-size:.8rem}.mobile-day-selector{background:var(--background-color);border-bottom:1px solid var(--text-bg-color);justify-content:center;align-items:center;gap:.75rem;padding:1rem;display:flex}.mobile-day-selector .day-dot{border:2px solid var(--text-bg-color);background:var(--background-color);width:40px;height:40px;color:var(--text-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.mobile-day-selector .day-dot.active{background:var(--main-color);color:var(--background-color);border-color:var(--main-color);transform:scale(1.1)}.mobile-day-selector .day-dot:not(.active):active{background:var(--text-bg-color);transform:scale(.95)}.mobile-day-selector .day-dot .day-dot-label{font-size:.75rem}.mobile-calendar-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;touch-action:pan-y;flex:1;overflow:hidden auto}.mobile-calendar-scroll.loading{opacity:.6;pointer-events:none}.mobile-calendar-grid{background:var(--background-color);touch-action:none;padding:0}.mobile-hour-block{border-bottom:1px solid var(--text-bg-color);background:var(--background-color);min-height:80px;display:flex}.mobile-hour-block:last-child{border-bottom:none}.mobile-hour-block .mobile-time-label{width:80px;color:var(--text-color);background:var(--text-bg-color);border-right:2px solid var(--background-color);opacity:.8;justify-content:center;align-items:center;padding:1rem .75rem;font-size:.9rem;font-weight:600;display:flex}.mobile-hour-block .mobile-time-cells{flex-direction:column;flex:1;display:flex}.mobile-calendar-cell{border-bottom:1px solid var(--text-bg-color);cursor:pointer;user-select:none;-webkit-touch-callout:none;flex:1;justify-content:center;align-items:center;min-height:40px;padding:.25rem;transition:all .15s;display:flex;position:relative}.mobile-calendar-cell:last-child{border-bottom:none}.mobile-calendar-cell.available{background:var(--background-color)}.mobile-calendar-cell.available:active{background:var(--main-color);color:var(--background-color);transform:scale(.98)}.mobile-calendar-cell.available:hover{background:rgba(var(--main-color), .1)}.mobile-calendar-cell.selected{background:var(--main-color);color:var(--background-color)}.mobile-calendar-cell.selected:active{background:var(--second-color)}.mobile-calendar-cell.occupied{cursor:pointer;overflow:visible}.mobile-calendar-cell.occupied:active{filter:brightness(1.2);transform:scale(.95);box-shadow:0 4px 12px #0003}.mobile-calendar-cell.occupied:hover{filter:brightness(1.1)}.mobile-calendar-cell.occupied.drag-preview{opacity:.6;outline-offset:-2px;outline:2px dashed}.mobile-calendar-cell.occupied .mobile-resize-handle{z-index:3;cursor:ns-resize;touch-action:none;height:12px;position:absolute;left:0;right:0}.mobile-calendar-cell.occupied .mobile-resize-handle:after{content:"";background:#ffffffd9;border-radius:2px;width:28px;height:3px;position:absolute;left:50%;transform:translate(-50%)}.mobile-calendar-cell.occupied .mobile-resize-handle-top{top:-1px}.mobile-calendar-cell.occupied .mobile-resize-handle-top:after{top:3px}.mobile-calendar-cell.occupied .mobile-resize-handle-bottom{bottom:-1px}.mobile-calendar-cell.occupied .mobile-resize-handle-bottom:after{bottom:3px}.mobile-calendar-cell.non-working:not(.occupied):not(.selected){background:repeating-linear-gradient(45deg,#6b728024 0 1px,#0000 1px 7px)!important}.mobile-day-display .day-header-badges{flex-wrap:wrap;justify-content:center;gap:.25rem;margin-top:.25rem;display:flex}.mobile-day-display .absence-pill{border:1px solid #0000;border-radius:10px;padding:1px 8px;font-size:.7rem;font-weight:500;display:inline-block}.mobile-day-display .absence-pill.pill-feiertag{color:#fbbf24;background:#fbbf242e;border-color:#fbbf2473}.mobile-day-display .absence-pill.pill-betriebsferien{color:#60a5fa;background:#3b82f62e;border-color:#3b82f673}.mobile-day-display .absence-pill.pill-absence{color:#d1d5db;cursor:pointer;background:#6b728040;border-color:#6b72808c}.mobile-entry-info{text-align:center;width:100%}.mobile-entry-info .mobile-entry-ref{margin-bottom:.125rem;font-size:.8rem;font-weight:600;line-height:1.2}.mobile-entry-info .mobile-entry-time{opacity:.9;font-size:.65rem;line-height:1.1}.mobile-action-bar{background:var(--background-color);border-top:2px solid var(--text-bg-color);z-index:150;gap:.75rem;padding:1rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #0000001a}.mobile-action-bar .mobile-create-button{background:var(--main-color);color:var(--background-color);cursor:pointer;border:none;border-radius:8px;flex:2;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.mobile-action-bar .mobile-create-button:active{background:var(--second-color);transform:scale(.98)}.mobile-action-bar .mobile-create-button:hover{background:var(--second-color);box-shadow:0 4px 12px #00000026}.mobile-action-bar .mobile-clear-button{color:var(--text-color);border:2px solid var(--text-bg-color);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:.875rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.mobile-action-bar .mobile-clear-button:active{background:var(--text-bg-color);transform:scale(.98)}.mobile-action-bar .mobile-clear-button:hover{background:var(--text-bg-color)}[data-theme=dark] .mobile-calendar-header,[data-theme=dark] .mobile-day-selector,[data-theme=dark] .mobile-calendar-grid,[data-theme=dark] .mobile-action-bar{background:var(--background-color)}[data-theme=dark] .mobile-time-label{background:var(--text-bg-color)}[data-theme=dark] .mobile-action-bar{box-shadow:0 -4px 12px #ffffff1a}@media (width<=768px) and (orientation:landscape){.mobile-calendar-container{height:calc(100vh - 120px)}.mobile-calendar-header{padding:.75rem 1rem}.mobile-calendar-header .mobile-day-display .mobile-day-name{font-size:1rem}.mobile-calendar-header .mobile-day-display .mobile-week-info{font-size:.75rem}.mobile-day-selector{gap:.5rem;padding:.75rem 1rem}.mobile-day-selector .day-dot{width:36px;height:36px;font-size:.75rem}.mobile-hour-block{min-height:60px}.mobile-hour-block .mobile-time-label{width:70px;padding:.75rem .5rem;font-size:.8rem}.mobile-calendar-cell{min-height:30px}}@media (width<=380px){.mobile-calendar-header{padding:.75rem}.mobile-calendar-header .mobile-nav-button{width:44px;height:44px;font-size:18px}.mobile-calendar-header .mobile-day-display .mobile-day-name{font-size:1rem}.mobile-day-selector{gap:.5rem}.mobile-day-selector .day-dot{width:36px;height:36px}.mobile-day-selector .day-dot .day-dot-label{font-size:.7rem}.mobile-hour-block .mobile-time-label{width:70px;padding:.75rem .5rem;font-size:.8rem}.mobile-entry-info .mobile-entry-ref{font-size:.75rem}.mobile-entry-info .mobile-entry-time{font-size:.6rem}}.project-management{width:100%;padding:0}.project-management .project-management-content{min-height:400px}.project-details{max-width:1000px;margin:0 auto}.project-details .project-details-header{border-bottom:1px solid var(--text-bg-color);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.project-details .project-content .project-title-section{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;grid-template-columns:1fr auto;gap:2rem;margin-bottom:2rem;padding:2rem;display:grid;box-shadow:0 2px 4px #0000001a}@media (width<=768px){.project-details .project-content .project-title-section{text-align:center;grid-template-columns:1fr}}.project-details .project-content .project-title-section .title-content h2{color:var(--text-color);margin:0 0 1rem;font-size:2rem;font-weight:700}.project-details .project-content .project-title-section .title-content .project-meta{gap:2rem;display:flex}@media (width<=768px){.project-details .project-content .project-title-section .title-content .project-meta{justify-content:center}}.project-details .project-content .project-title-section .title-content .project-meta .project-number{color:var(--main-color);font-size:1.1rem;font-weight:600}.project-details .project-content .project-title-section .title-content .project-meta .project-pic{color:var(--text-color);opacity:.8}.project-details .project-content .project-title-section .project-image img{border-radius:8px;max-width:300px;max-height:200px;box-shadow:0 4px 12px #00000026}.project-details .project-content .project-info-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.project-details .project-content .info-card{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.project-details .project-content .info-card h3{color:var(--text-color);border-bottom:1px solid var(--text-bg-color);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.project-details .project-content .info-card .timeline-item,.project-details .project-content .info-card .timeline-duration{justify-content:space-between;margin-bottom:.75rem;display:flex}.project-details .project-content .info-card .timeline-item label,.project-details .project-content .info-card .timeline-duration label{color:var(--text-color);font-weight:500}.project-details .project-content .info-card .timeline-item span,.project-details .project-content .info-card .timeline-duration span{color:var(--text-color);opacity:.8}.project-details .project-content .info-card .timeline-duration{border-top:1px solid var(--text-bg-color);margin-top:.75rem;margin-bottom:0;padding-top:.75rem}.project-details .project-content .info-card .financial-item{justify-content:space-between;margin-bottom:.75rem;display:flex}.project-details .project-content .info-card .financial-item label{color:var(--text-color);font-weight:500}.project-details .project-content .info-card .financial-item .amount{color:var(--main-color);font-weight:600}.project-details .project-content .info-card .financial-item.ratio{border-top:1px solid var(--text-bg-color);margin-top:.75rem;margin-bottom:0;padding-top:.75rem}.project-details .project-content .info-card .financial-item.ratio span{color:var(--text-color);opacity:.8}.project-details .project-content .info-card .location-info .address,.project-details .project-content .info-card .location-info .coordinates{margin-bottom:1rem}.project-details .project-content .info-card .location-info .address:last-child,.project-details .project-content .info-card .location-info .coordinates:last-child{margin-bottom:0}.project-details .project-content .info-card .location-info .address label,.project-details .project-content .info-card .location-info .coordinates label{color:var(--text-color);margin-bottom:.25rem;font-weight:500;display:block}.project-details .project-content .info-card .location-info .address span,.project-details .project-content .info-card .location-info .coordinates span{color:var(--text-color);opacity:.8}.project-details .project-content .info-card .location-info .address .btn-link,.project-details .project-content .info-card .location-info .coordinates .btn-link{margin-left:.5rem;font-size:.8rem}.project-details .project-content .info-card .tags-display{flex-wrap:wrap;gap:.5rem;display:flex}.project-details .project-content .descriptions-section{gap:1.5rem;margin-bottom:2rem;display:grid}.project-details .project-content .description-card{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.project-details .project-content .description-card h3{color:var(--text-color);border-bottom:1px solid var(--text-bg-color);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.project-details .project-content .description-card .description-content p{color:var(--text-color);margin:0 0 1rem;line-height:1.6}.project-details .project-content .description-card .description-content p:last-child{margin-bottom:0}.project-details .project-content .project-meta-section{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;padding:1rem 1.5rem;box-shadow:0 2px 4px #0000001a}.project-details .project-content .project-meta-section .meta-info{gap:2rem;font-size:.9rem;display:flex}@media (width<=768px){.project-details .project-content .project-meta-section .meta-info{flex-direction:column;gap:.5rem}}.project-details .project-content .project-meta-section .meta-info .meta-item{gap:.5rem;display:flex}.project-details .project-content .project-meta-section .meta-info .meta-item label{color:var(--text-color);font-weight:500}.project-details .project-content .project-meta-section .meta-info .meta-item span{color:var(--text-color);opacity:.7}.alert{border:1px solid;border-radius:6px;margin-bottom:1.5rem;padding:1rem 1.5rem}.alert.alert-error{color:#dc2626;background:#ef44441a;border-color:#ef4444}.alert.alert-success{color:#16a34a;background:#22c55e1a;border-color:#22c55e}@media (width<=768px){.project-management{padding:1rem}.project-details .project-details-header{flex-direction:column;align-items:stretch;gap:1rem}.project-details .project-details-header .header-right{justify-content:center}.project-details .project-content .project-info-grid{grid-template-columns:1fr}}.tabs-container{border-bottom:1px solid var(--text-bg-color);margin-bottom:2rem}.tabs{gap:0;display:flex}.tab{background:var(--background-color);color:var(--text-color);cursor:pointer;border:none;border-bottom:3px solid #0000;padding:12px 24px;font-weight:500;transition:all .3s}.tab:hover{background:var(--text-bg-color)}.tab.active{border-bottom-color:var(--main-color);color:var(--main-color);font-weight:600}.color-display-button{border:2px solid var(--text-bg-color);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:50px;height:40px;transition:all .2s;display:flex}.color-display-button:hover{border-color:var(--main-color);transform:scale(1.05)}.color-display-button .color-icon{color:#fff;text-shadow:1px 1px 2px #00000080;font-size:18px}.color-modal-overlay{backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.color-modal{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;min-width:300px;padding:24px;box-shadow:0 10px 40px #00000026}.color-modal h3{color:var(--text-color);margin:0 0 16px}.modal-color-input{border:2px solid var(--text-bg-color);cursor:pointer;border-radius:6px;width:100%;height:60px;margin-bottom:16px}.color-modal-preview{align-items:center;gap:12px;margin-bottom:20px;display:flex}.color-modal-preview .large-color-box{border:1px solid var(--text-bg-color);border-radius:6px;width:40px;height:40px}.color-modal-preview span{color:var(--text-color);font-family:monospace;font-size:1rem}.color-modal-actions{justify-content:flex-end;gap:12px;display:flex}.team-controls{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.team-controls .search-container{flex:1;min-width:200px;max-width:300px}.team-controls .search-container .search-input{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:6px;padding:.4rem .75rem;font-size:.85rem}.team-controls .search-container .search-input:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #24773326}.team-controls .filter-controls{align-items:center;gap:.75rem;display:flex}.team-controls .filter-controls .filter-select{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:6px;padding:.4rem .75rem;font-size:.85rem}.team-controls .filter-controls .filter-select:focus{border-color:var(--main-color);outline:none}.team-controls .filter-controls .filter-checkbox{color:var(--text-color);cursor:pointer;white-space:nowrap;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.team-controls .filter-controls .filter-checkbox input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}.team-controls .table-info{color:var(--text-color);opacity:.6;white-space:nowrap;font-size:.8rem}.btn-icon{cursor:pointer;width:28px;height:28px;color:var(--text-color);opacity:.5;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.btn-icon:hover{opacity:1}.btn-icon.btn-edit:hover{color:#3b82f6;background:#3b82f626}.btn-icon.btn-delete:hover{color:#ef4444;background:#ef444426}.error-message{cursor:pointer;color:#ef4444;background:#ef44441a;border:1px solid #ef4444;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.team-management{min-height:400px;position:relative}.team-member-modal{background:var(--background-color);border:1px solid var(--text-bg-color);z-index:1001;border-radius:12px;width:90vw;max-width:600px;max-height:85vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000004d}.team-member-modal .modal-header{border-bottom:1px solid var(--text-bg-color);background:var(--background-color);z-index:1;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex;position:sticky;top:0}.team-member-modal .modal-header h2{color:var(--text-color);margin:0;font-size:1.1rem;font-weight:600}.team-member-modal .modal-header .btn-close{cursor:pointer;color:var(--text-color);opacity:.6;background:0 0;border:none;border-radius:4px;padding:.25rem;transition:all .2s}.team-member-modal .modal-header .btn-close:hover{opacity:1;background:color-mix(in srgb, var(--text-color) 10%, transparent)}.team-member-modal .modal-body{padding:1.5rem}.team-member-modal .modal-body .form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem;display:grid}@media (width<=500px){.team-member-modal .modal-body .form-row{grid-template-columns:1fr}}.team-member-modal .modal-body .form-group{margin-bottom:.75rem}.team-member-modal .modal-body .form-group label{color:var(--text-color);opacity:.7;margin-bottom:.3rem;font-size:.8rem;font-weight:500;display:block}.team-member-modal .modal-body .form-group input[type=text],.team-member-modal .modal-body .form-group input[type=number],.team-member-modal .modal-body .form-group input[type=date],.team-member-modal .modal-body .form-group select,.team-member-modal .modal-body .form-group textarea{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.team-member-modal .modal-body .form-group input[type=text]:focus,.team-member-modal .modal-body .form-group input[type=number]:focus,.team-member-modal .modal-body .form-group input[type=date]:focus,.team-member-modal .modal-body .form-group select:focus,.team-member-modal .modal-body .form-group textarea:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #24773326}.team-member-modal .modal-body .form-group textarea{resize:vertical;min-height:60px}.team-member-modal .modal-body .form-group input[type=email]{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.team-member-modal .modal-body .form-group input[type=email]:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #24773326}.team-member-modal .modal-body .form-group input[type=file]{color:var(--text-color);font-size:.8rem}.team-member-modal .modal-body .form-group.checkbox-inline label{cursor:pointer;opacity:1;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.team-member-modal .modal-body .form-group.checkbox-inline label input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}.team-member-modal .modal-body .form-group .file-selected{color:var(--main-color);margin-top:.3rem;font-size:.75rem}.team-member-modal .modal-body .form-group .image-preview-container{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.team-member-modal .modal-body .form-group .image-preview-container .image-preview-thumb{object-fit:cover;border-radius:6px;width:50px;height:50px}.team-member-modal .modal-body .modal-actions{border-top:1px solid var(--text-bg-color);justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.team-detail-modal{background:var(--background-color);border:1px solid var(--text-bg-color);z-index:1001;border-radius:12px;width:90vw;max-width:700px;max-height:85vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000004d}.team-detail-modal .modal-header{border-bottom:1px solid var(--text-bg-color);background:var(--background-color);z-index:1;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex;position:sticky;top:0}.team-detail-modal .modal-header .member-header-info{align-items:center;gap:1rem;display:flex}.team-detail-modal .modal-header .member-header-info .member-avatar{object-fit:cover;border-radius:50%;width:48px;height:48px}.team-detail-modal .modal-header .member-header-info h2{color:var(--text-color);margin:0;font-size:1.1rem;font-weight:600}.team-detail-modal .modal-header .member-header-info .member-meta{align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.team-detail-modal .modal-header .member-header-info .member-meta span{color:var(--text-color);opacity:.6;font-size:.8rem}.team-detail-modal .modal-header .member-header-info .member-meta .category-badge-detail{color:var(--main-color);background:#24773326;border-radius:10px;padding:.1rem .4rem;font-size:.65rem;font-weight:600}.team-detail-modal .modal-header .btn-close{cursor:pointer;color:var(--text-color);opacity:.6;background:0 0;border:none;border-radius:4px;padding:.25rem;transition:all .2s}.team-detail-modal .modal-header .btn-close:hover{opacity:1;background:color-mix(in srgb, var(--text-color) 10%, transparent)}.team-detail-modal .modal-tabs{border-bottom:1px solid var(--text-bg-color);gap:.25rem;padding:0 1.5rem;display:flex}.team-detail-modal .modal-tabs .modal-tab{color:var(--text-color);opacity:.6;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1rem;font-size:.9rem}.team-detail-modal .modal-tabs .modal-tab.active{opacity:1;border-bottom-color:var(--accent-color)}.team-detail-modal .modal-body{padding:1.5rem}.team-detail-modal .modal-body .team-dossier__state,.team-detail-modal .modal-body .ui-meta{margin-bottom:var(--rhythm-block)}.team-detail-modal .modal-body .corrections-section{border-bottom:1px solid var(--text-bg-color);margin-bottom:1.5rem;padding-bottom:1.5rem}.team-detail-modal .modal-body .corrections-section .corrections-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.team-detail-modal .modal-body .corrections-section .corrections-header h3{color:var(--text-color);margin:0;font-size:.9rem;font-weight:600}.team-detail-modal .modal-body .corrections-section .corrections-header .corrections-actions{gap:.5rem;display:flex}.team-detail-modal .modal-body .corrections-section .correction-form{background:color-mix(in srgb, var(--text-color) 3%, transparent);border:1px solid var(--text-bg-color);border-radius:8px;margin-bottom:.75rem;padding:.75rem}.team-detail-modal .modal-body .corrections-section .correction-form>.ui-chips{margin-bottom:var(--rhythm-field)}.team-detail-modal .modal-body .corrections-section .correction-form .form-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin-bottom:.5rem;display:flex}.team-detail-modal .modal-body .corrections-section .correction-form .form-row:last-child{margin-bottom:0}.team-detail-modal .modal-body .corrections-section .correction-form .form-row .form-group{flex-direction:column;display:flex}.team-detail-modal .modal-body .corrections-section .correction-form .form-row .form-group label{text-transform:uppercase;letter-spacing:.3px;color:var(--text-color);opacity:.6;margin-bottom:.2rem;font-size:.7rem}.team-detail-modal .modal-body .corrections-section .correction-form .form-row .form-group input{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:5px;min-width:80px;padding:.4rem .6rem;font-size:.85rem}.team-detail-modal .modal-body .corrections-section .correction-form .form-row .form-group input:focus{border-color:var(--main-color);outline:none}.team-detail-modal .modal-body .corrections-section .corrections-list{flex-direction:column;gap:.3rem;display:flex}.team-detail-modal .modal-body .corrections-section .corrections-list .correction-item{background:color-mix(in srgb, var(--text-color) 3%, transparent);border:1px solid var(--text-bg-color);border-radius:5px;align-items:center;gap:.6rem;padding:.35rem .6rem;font-size:.8rem;display:flex}.team-detail-modal .modal-body .corrections-section .corrections-list .correction-item .corr-date{color:var(--text-color);min-width:85px;font-weight:600}.team-detail-modal .modal-body .corrections-section .corrections-list .correction-item .corr-values{color:var(--main-color);font-weight:500}.team-detail-modal .modal-body .corrections-section .corrections-list .correction-item .corr-note{color:var(--text-color);opacity:.5;flex:1;font-style:italic}.team-detail-modal .modal-body .corrections-section .corrections-list .correction-item .corr-kind,.team-detail-modal .modal-body .corrections-section .corrections-list .correction-item .corr-meta{font-size:var(--size-meta);color:var(--text-muted)}.team-detail-modal .modal-body .corrections-section .corrections-list .correction-item .btn-icon{opacity:.4;width:20px;height:20px;margin-left:auto}.team-detail-modal .modal-body .corrections-section .corrections-list .correction-item .btn-icon:hover{opacity:1}.team-detail-modal .modal-body .salary-section{border-bottom:1px solid var(--text-bg-color);margin-bottom:1.5rem;padding-bottom:1.5rem}.team-detail-modal .modal-body .salary-section .salary-form{background:color-mix(in srgb, var(--text-color) 3%, transparent);border:1px solid var(--text-bg-color);border-radius:8px;margin-bottom:.75rem;padding:.75rem}.team-detail-modal .modal-body .salary-section .salary-form .form-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin-bottom:.5rem;display:flex}.team-detail-modal .modal-body .salary-section .salary-form .form-row:last-child{margin-bottom:0}.team-detail-modal .modal-body .salary-section .salary-form .form-row .form-group{flex-direction:column;display:flex}.team-detail-modal .modal-body .salary-section .salary-form .form-row .form-group label{text-transform:uppercase;letter-spacing:.3px;color:var(--text-color);opacity:.6;margin-bottom:.2rem;font-size:.7rem}.team-detail-modal .modal-body .salary-section .salary-form .form-row .form-group input{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:5px;min-width:80px;padding:.4rem .6rem;font-size:.85rem}.team-detail-modal .modal-body .salary-section .salary-form .form-row .form-group input:focus{border-color:var(--main-color);outline:none}.team-detail-modal .modal-body .salary-section .salary-form-actions{justify-content:space-between;align-items:center;display:flex}.team-detail-modal .modal-body .salary-section .salary-history{flex-direction:column;gap:1px;display:flex}.team-detail-modal .modal-body .salary-section .salary-history .salary-entry{background:color-mix(in srgb, var(--text-color) 3%, transparent);border:1px solid #0000;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.team-detail-modal .modal-body .salary-section .salary-history .salary-entry.salary-current{background:#2477331a;border-color:#24773340}.team-detail-modal .modal-body .salary-section .salary-history .salary-entry .salary-entry-main{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.team-detail-modal .modal-body .salary-section .salary-history .salary-entry .salary-date{opacity:.6;min-width:90px;font-size:.8rem}.team-detail-modal .modal-body .salary-section .salary-history .salary-entry .salary-value{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:500}.team-detail-modal .modal-body .salary-section .salary-history .salary-entry .salary-value .salary-label{text-transform:uppercase;letter-spacing:.3px;opacity:.5;margin-right:.35rem;font-size:.65rem;font-weight:400}.team-detail-modal .modal-body .salary-section .salary-history .salary-entry .salary-badge{color:var(--main-color);background:rgba(var(--main-color-rgb,128, 90, 213), .15);white-space:nowrap;border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.team-detail-modal .modal-body .salary-section .salary-history .salary-entry .salary-entry-actions{flex-shrink:0;gap:.25rem;display:flex}.team-detail-modal .modal-body .salary-section .salary-history .salary-entry .btn-icon{flex-shrink:0}.team-member-modal .onboarding-section{background:color-mix(in srgb, var(--text-color) 3%, transparent);border:1px solid var(--text-bg-color);border-radius:8px;margin-bottom:.75rem;padding:.75rem}.team-member-modal .onboarding-section .section-label{color:var(--text-color);opacity:.7;margin-bottom:.5rem;font-size:.8rem;font-weight:500;display:block}.team-member-modal .onboarding-section .onboarding-item{align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.team-member-modal .onboarding-section .onboarding-item:last-child{margin-bottom:0}.team-member-modal .onboarding-section .onboarding-item .checkbox-label{cursor:pointer;color:var(--text-color);white-space:nowrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.team-member-modal .onboarding-section .onboarding-item .checkbox-label input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}.team-member-modal .onboarding-section .onboarding-item .onboarding-betrag{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:5px;width:140px;padding:.35rem .6rem;font-size:.85rem}.team-member-modal .onboarding-section .onboarding-item .onboarding-betrag:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #24773326}.insurance-settings-modal{background:var(--background-color);border:1px solid var(--text-bg-color);z-index:1001;border-radius:12px;width:90vw;max-width:700px;max-height:85vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000004d}.insurance-settings-modal .modal-header{background:var(--background-color);border-bottom:1px solid var(--text-bg-color);z-index:1;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.insurance-settings-modal .modal-header h2{margin:0;font-size:1.1rem;font-weight:600}.insurance-settings .modal-body{padding:1.5rem}.insurance-settings .insurance-card{border-bottom:1px solid var(--text-bg-color);margin-bottom:1.5rem;padding-bottom:1.5rem}.insurance-settings .insurance-card:last-child{border-bottom:none}.insurance-settings .insurance-card .insurance-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.insurance-settings .insurance-card .insurance-card-header h3{color:var(--text-color);margin:0;font-size:1rem;font-weight:600}.insurance-settings .insurance-card .insurance-empty{opacity:.6;padding:.5rem 0;font-size:.8rem;font-style:italic}.insurance-settings .insurance-entry{background:color-mix(in srgb, var(--text-color) 3%, transparent);border:1px solid var(--text-bg-color);border-radius:6px;margin-bottom:.5rem;padding:.6rem .75rem}.insurance-settings .insurance-entry.past{opacity:.4}.insurance-settings .insurance-entry .insurance-entry-header{justify-content:space-between;align-items:center;margin-bottom:.3rem;display:flex}.insurance-settings .insurance-entry .insurance-entry-date{align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.insurance-settings .insurance-entry .insurance-status-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:.1rem .4rem;font-size:.65rem}.insurance-settings .insurance-entry .insurance-status-badge.aktuell{color:#4ade80;background:#24773333}.insurance-settings .insurance-entry .insurance-status-badge.zukuenftig{color:#93c5fd;background:#3b82f633}.insurance-settings .insurance-entry .insurance-status-badge.vergangen{color:#9ca3af;background:#6b728033}.insurance-settings .insurance-entry .insurance-entry-actions{align-items:center;gap:.5rem;display:flex}.insurance-settings .insurance-entry .insurance-entry-rates{opacity:.8;margin-bottom:.2rem;font-size:.8rem}.insurance-settings .insurance-entry .insurance-entry-meta{opacity:.5;font-size:.7rem}.insurance-settings .insurance-form{background:color-mix(in srgb, var(--text-color) 3%, transparent);border:1px solid var(--main-color);border-radius:8px;margin-bottom:.75rem;padding:.75rem}.insurance-settings .insurance-form .form-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.insurance-settings .insurance-form .ui-field{flex:1;min-width:100px;margin-bottom:.5rem}.insurance-settings .insurance-form .insurance-form-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.insurance-settings .alterstabelle-section{margin-top:.5rem}.insurance-settings .alterstabelle-section>label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-color);opacity:.85;margin-bottom:.3rem;font-size:.7rem;font-weight:500;display:block}.insurance-settings .alterstabelle{margin-bottom:.5rem}.insurance-settings .alterstabelle td input{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:4px;padding:.3rem .4rem;font-size:.8rem}.insurance-settings .alterstabelle td input:focus{border-color:var(--main-color);outline:none}.insurance-settings .insurance-rate-table{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.insurance-settings .rate-summary-table{width:auto}.insurance-settings .rate-summary-table th,.insurance-settings .rate-summary-table td{text-align:right}.insurance-settings .rate-summary-table td:first-child{text-align:left}.insurance-settings .rate-cap{opacity:.7;white-space:nowrap;font-size:.7rem}.insurance-settings .alterstabelle-buttons{gap:.5rem;margin-top:.3rem;display:flex}.insurance-settings .alterstabelle-warn{color:#e67e22;margin-top:.3rem;font-size:.7rem;font-weight:500}.insurance-settings .alterstabelle-actions{justify-content:space-between;margin-top:.5rem;display:flex}.pk-alterstabelle-modal{background:var(--background-color);border:1px solid var(--text-bg-color);z-index:1002;border-radius:12px;flex-direction:column;width:420px;max-height:80vh;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px #0000004d}.pk-alterstabelle-modal .modal-header{border-bottom:1px solid var(--text-bg-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.pk-alterstabelle-modal .modal-header h3{margin:0;font-size:1rem;font-weight:600}.pk-alterstabelle-modal .modal-body{flex:1;padding:1rem 1.25rem;overflow-y:auto}.pk-alterstabelle-modal .alterstabelle{margin-bottom:.5rem}.pk-alterstabelle-modal .alterstabelle td input{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:4px;padding:.25rem .35rem;font-size:.8rem}.pk-alterstabelle-modal .alterstabelle td input:focus{border-color:var(--main-color);outline:none}.pk-alterstabelle-modal .alterstabelle-actions{justify-content:space-between;margin-top:.5rem;display:flex}.overlay-sub{z-index:1001}.deduction-breakdown{background:color-mix(in srgb, var(--text-color) 2%, transparent);border:1px solid var(--text-bg-color);border-radius:6px;margin-top:.75rem;padding:.75rem;font-size:.8rem}.deduction-breakdown h4{opacity:.7;margin:0 0 .5rem;font-size:.8rem;font-weight:500}.deduction-breakdown .deduction-hint{opacity:.5;color:#f0ad4e;margin-bottom:.4rem;font-size:.7rem;font-style:italic}.deduction-breakdown .ag-costs-hint{opacity:.5;margin-top:.5rem;font-size:.7rem;font-style:italic}.salary-value-computed{opacity:.6;font-style:italic}.kinder-section{background:color-mix(in srgb, var(--text-color) 3%, transparent);border:1px solid var(--text-bg-color);border-radius:8px;margin-bottom:.75rem;padding:.75rem}.kinder-section .kinder-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.kinder-section .kinder-header .section-label{color:var(--text-color);opacity:.85;margin:0;font-size:.8rem;font-weight:500}.kinder-section .kinder-row{align-items:flex-end;gap:.5rem;margin-bottom:.5rem;display:flex}.kinder-section .kinder-row .form-group{flex:1;min-width:0}.kinder-section .kinder-row .kinder-ausbildung{flex:none;padding-bottom:.25rem}.kinder-section .kinder-row .btn-icon{flex-shrink:0;margin-bottom:.25rem}.kinder-section .kinder-empty{opacity:.5;font-size:.75rem;font-style:italic}.familienzulagen-section{background:color-mix(in srgb, var(--text-color) 2%, transparent);border:1px solid var(--text-bg-color);border-radius:6px;margin-top:.75rem;padding:.75rem;font-size:.8rem}.familienzulagen-section h4{opacity:.7;margin:0 0 .5rem;font-size:.8rem;font-weight:500}.familienzulagen-section .familienzulagen-list{flex-direction:column;gap:.3rem;display:flex}.familienzulagen-section .kind-zulage-item{align-items:center;gap:.75rem;padding:.2rem 0;display:flex}.familienzulagen-section .kind-zulage-item .kind-name{flex:1;min-width:0}.familienzulagen-section .kind-zulage-item .kind-alter{opacity:.6;flex:none;font-size:.75rem}.familienzulagen-section .kind-zulage-item .kind-zulage{font-variant-numeric:tabular-nums;color:var(--main-color);flex:none;font-weight:500}.familienzulagen-section .kind-zulage-item .kind-zulage.kein-anspruch{color:inherit;opacity:.4;font-style:italic;font-weight:400}.familienzulagen-section .familienzulagen-total{border-top:1px solid var(--text-bg-color);text-align:right;color:var(--main-color);margin-top:.4rem;padding-top:.4rem;font-weight:600}.sensitive-bar{text-align:right;cursor:default;white-space:nowrap;vertical-align:baseline;width:5.5ch;display:inline-block;position:relative;overflow:hidden}.sensitive-bar:after{content:"";background:var(--text-color,#333);pointer-events:none;border-radius:3px;transition:opacity .15s;position:absolute;inset:0}.sensitive-bar:hover:after{opacity:0}.media-table{width:100%;margin-top:2rem;overflow-x:auto}.media-table h4{color:var(--text-color);margin-bottom:1rem}.media-table table{min-width:800px}.media-table table tbody tr td a{color:var(--main-color);white-space:nowrap;text-decoration:none}.media-table table tbody tr td a:hover{text-decoration:underline}.media-table table tbody tr td input[type=text],.media-table table tbody tr td input[type=date]{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:4px;padding:.5rem;font-size:.875rem}.media-table table tbody tr td input[type=text]:focus,.media-table table tbody tr td input[type=date]:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #b3a9d733}.media-table table tbody tr td input[type=checkbox]{cursor:pointer;width:1.25rem;height:1.25rem}.media-table table tbody tr td button{white-space:nowrap;margin-right:.25rem;padding:.4rem .8rem;font-size:.8rem}.media-table table tbody tr td button:last-child{margin-right:0}@media (width<=768px){.media-table table{min-width:600px}}.header-controls .spacer{flex:1}.deduction-breakdown.pk-manual .pk-manual-stale{color:#f59e0b;font-weight:500}.deduction-breakdown.pk-manual .form-row{gap:1rem;margin:.5rem 0;display:flex}.deduction-breakdown.pk-manual .btn{margin-top:.25rem}.insurance-mode-badge{color:var(--main-color);font-weight:500}.project-list__code{align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums;display:inline-flex}.project-list__swatch{background:var(--text-faint);flex:none;width:8px;height:8px}.project-list__title{color:var(--text-strong);font:var(--weight-book) var(--size-body)/1.25 var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.project-list__title:hover{color:var(--accent)}.project-list__title:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.project-list__sub{font-size:var(--size-meta);color:var(--text-muted);margin-top:2px;display:block}.project-list__phases{gap:var(--space-1);flex-wrap:wrap;display:flex}.team-list__number{align-items:center;gap:var(--space-1);font-variant-numeric:tabular-nums;color:var(--accent);display:inline-flex}.team-list__image-toggle{border:var(--border-hair) solid transparent;width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;place-items:center;padding:0;display:inline-grid}.team-list__image-toggle:hover,.team-list__image-toggle[aria-expanded=true]{border-color:var(--line);color:var(--text-strong)}.team-list__image-toggle:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:1px}.team-list__image{z-index:var(--z-menu);padding:var(--space-2);border:var(--border-hair) solid var(--line-strong);background:var(--surface-card);box-shadow:var(--shadow-overlay);position:fixed}.team-list__image img{width:220px;height:auto;display:block}.team-list__name{align-items:center;gap:var(--space-2);color:var(--text-strong);display:inline-flex}.team-list__stale{background:var(--signal);border-radius:50%;width:8px;height:8px}.team-list__reveal{border:0;border-bottom:var(--border-hair) dashed var(--line-strong);color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;padding:0}.team-list__reveal[aria-pressed=true]{color:var(--text-strong);border-bottom-style:solid}.team-list__reveal:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.team-list .sensitive-bar{vertical-align:bottom}.team-list--reveal-rate .team-list__rate .sensitive-bar:after,.team-list--reveal-lohn .team-list__salary .sensitive-bar:after{opacity:0}.stunden-auszug{gap:var(--space-4);width:100%;display:grid}.stunden-auszug .stunden-auszug-header .project-selector{width:320px;max-width:100%}.stunden-auszug .stunden-auszug-header__project{font-weight:var(--weight-bold);color:var(--text-strong)}.stunden-auszug__filters{gap:var(--space-2);display:grid}.stunden-auszug__range{gap:var(--space-2);font-size:var(--size-small);color:var(--text-muted);flex-wrap:wrap;align-items:center;display:flex}.stunden-auszug__range input{width:10rem}.stunden-auszug__scope{gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:var(--border-hair) solid var(--line);color:var(--text-muted);font-size:var(--size-small);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.stunden-auszug__scope strong{color:var(--text-strong);font-variant-numeric:tabular-nums}.stunden-auszug__controls{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.stunden-auszug__rate{gap:var(--space-1);display:flex}.stunden-auszug__unpriced{font-size:var(--size-small);color:var(--state-error)}.stunden-auszug__vat{gap:var(--space-1);min-width:18rem;font-size:var(--size-small);justify-self:end;display:grid}.stunden-auszug__vat div{justify-content:space-between;gap:var(--space-4);display:flex}.stunden-auszug__vat strong{font-variant-numeric:tabular-nums}.hours-statement__note{color:var(--text-muted)}.hours-statement__unpriced{color:var(--state-error)}.projects-finance-dashboard{color:var(--text-color)}.projects-finance-dashboard .dashboard-loading,.projects-finance-dashboard .dashboard-empty{text-align:center;color:var(--text-color);opacity:.5;padding:3rem;font-size:1rem}.projects-finance-dashboard .dashboard-unrepresented{border-top:1px solid var(--text-bg-color);color:var(--text-color);opacity:.7;margin-top:1rem;padding-top:.75rem;font-size:.85rem}.projects-finance-dashboard .projects-list{flex-direction:column;gap:0;display:flex}.projects-finance-dashboard .column-labels{border-bottom:1px solid var(--text-bg-color);grid-template-columns:220px 1fr 100px 100px 130px 180px;gap:1rem;margin-bottom:.5rem;padding:0 0 .5rem;display:grid}.projects-finance-dashboard .column-labels>div{color:var(--text-color);opacity:.5;text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;font-weight:500}.projects-finance-dashboard .project-group{border-bottom:1px solid var(--text-bg-color)}.projects-finance-dashboard .project-group:last-child{border-bottom:none}.projects-finance-dashboard .project-row{grid-template-columns:220px 1fr 100px 100px 130px 180px;align-items:center;gap:1rem;padding:.75rem 0;transition:background-color .15s;display:grid}.projects-finance-dashboard .project-row:hover{background:#24773308}.projects-finance-dashboard .project-row.phase-sub-row{padding:.4rem 0}.projects-finance-dashboard .project-row.phase-sub-row .col-project{padding-left:1.25rem}.projects-finance-dashboard .project-row.phase-sub-row .col-project .project-header .phase-name{opacity:.7;font-size:.75rem;font-style:italic}.projects-finance-dashboard .project-row.phase-sub-row .col-project .project-values .values-row .value-primary{font-size:.7rem}.projects-finance-dashboard .project-row.phase-sub-row .col-project .project-values .values-row .value-secondary,.projects-finance-dashboard .project-row.phase-sub-row .col-project .project-values .values-row .value-label{font-size:.6rem}.projects-finance-dashboard .project-row.phase-sub-row .thin-bar{height:5px}.projects-finance-dashboard .project-row.phase-sub-row .col-date{opacity:.7;font-size:.7rem}.projects-finance-dashboard .project-row.phase-sub-row .col-amount .amount-primary{font-size:.7rem}.projects-finance-dashboard .project-row.phase-sub-row .col-amount .amount-secondary{font-size:.6rem}.projects-finance-dashboard .project-row.phase-sub-row .col-actions .btn{padding:.1rem .3rem;font-size:.6rem}.projects-finance-dashboard .col-project{flex-direction:column;gap:.15rem;display:flex}.projects-finance-dashboard .col-project .project-header{align-items:baseline;gap:.5rem;display:flex}.projects-finance-dashboard .col-project .project-header.clickable{cursor:pointer}.projects-finance-dashboard .col-project .project-header.clickable:hover .project-code,.projects-finance-dashboard .col-project .project-header.clickable:hover .phase-name{text-decoration:underline}.projects-finance-dashboard .col-project .project-header .project-code{color:#27ae60;font-size:.875rem;font-weight:700}.projects-finance-dashboard .col-project .project-header .project-outside-phase{color:#d97706;font-size:.75rem}.projects-finance-dashboard .col-project .project-header .project-title{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.8rem;font-weight:500;overflow:hidden}.projects-finance-dashboard .col-project .project-header .phase-name{color:var(--text-color);font-size:.8rem}.projects-finance-dashboard .col-project .project-values{flex-direction:column;gap:0;display:flex}.projects-finance-dashboard .col-project .project-values .values-row{align-items:baseline;gap:.25rem;font-size:.75rem;display:flex}.projects-finance-dashboard .col-project .project-values .values-row.sub{opacity:.6;font-size:.65rem}.projects-finance-dashboard .col-project .project-values .values-row .value-primary{color:#27ae60;font-weight:600}.projects-finance-dashboard .col-project .project-values .values-row .value-separator{color:var(--text-color);opacity:.4}.projects-finance-dashboard .col-project .project-values .values-row .value-secondary{color:var(--text-color);font-weight:400}.projects-finance-dashboard .col-project .project-values .values-row .value-label{color:var(--text-color);opacity:.6}.projects-finance-dashboard .col-bars{flex-direction:column;justify-content:center;gap:2px;display:flex}.projects-finance-dashboard .col-bars .thin-bar{background:0 0;height:8px;display:flex}.projects-finance-dashboard .col-bars .thin-bar .bar-inner{height:100%;transition:width .3s;display:flex}.projects-finance-dashboard .col-bars .thin-bar .bar-segment{height:100%}.projects-finance-dashboard .col-bars .thin-bar .bar-segment.worked{background:#4caf50}.projects-finance-dashboard .col-bars .thin-bar .bar-segment.billed{background:#1976d2}.projects-finance-dashboard .col-bars .thin-bar .bar-segment.eigenanteil{background:#1565c0}.projects-finance-dashboard .col-bars .thin-bar .bar-segment.dritte{background:#90caf9}.projects-finance-dashboard .col-bars .thin-bar .bar-segment.negative{background:#c0392b}.projects-finance-dashboard .col-date{color:var(--text-color);opacity:.8;font-size:.8rem}.projects-finance-dashboard .col-amount{flex-direction:column;gap:0;display:flex}.projects-finance-dashboard .col-amount .amount-primary{color:#27ae60;font-size:.8rem;font-weight:600}.projects-finance-dashboard .col-amount .amount-primary.over-budget{color:#c0392b}.projects-finance-dashboard .col-amount .amount-secondary{color:var(--text-color);opacity:.5;font-size:.65rem}.projects-finance-dashboard .col-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.projects-finance-dashboard .col-actions .btn{white-space:nowrap;padding:.2rem .45rem;font-size:.65rem}@media (width<=1400px){.projects-finance-dashboard .column-labels,.projects-finance-dashboard .project-row{grid-template-columns:180px 1fr 90px 90px 110px 160px;gap:.75rem}.projects-finance-dashboard .col-project .project-header .project-title{font-size:.75rem}.projects-finance-dashboard .col-actions .btn{padding:.15rem .35rem;font-size:.6rem}}@media (width<=768px){.projects-finance-dashboard{padding:1rem}.projects-finance-dashboard .projects-list{overflow-x:auto}.projects-finance-dashboard .projects-list .column-labels,.projects-finance-dashboard .projects-list .project-row{grid-template-columns:150px 150px 80px 80px 100px 140px;min-width:720px}}.mapbox-location-picker .mapbox-controls{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.75rem;display:flex}.mapbox-location-picker .mapbox-controls .control-group{gap:.5rem;display:flex}.mapbox-location-picker .mapbox-controls .coordinates-display{color:var(--text-color);opacity:.8;font-family:monospace}.mapbox-location-picker .mapbox-controls .coordinates-display small{font-size:.8rem}.mapbox-location-picker .mapbox-container{border:1px solid var(--text-bg-color);border-radius:0 0 6px 6px;width:100%;position:relative;overflow:hidden}.mapbox-location-picker .mapbox-container .mapboxgl-map{font-family:inherit}.mapbox-location-picker .mapbox-container .mapboxgl-ctrl-top-left{top:10px;left:10px}.mapbox-location-picker .mapbox-container .mapboxgl-ctrl-top-left .mapboxgl-ctrl-geocoder{min-width:200px}@media (width<=768px){.mapbox-location-picker .mapbox-container .mapboxgl-ctrl-top-left .mapboxgl-ctrl-geocoder{min-width:150px}}.mapbox-location-picker .mapbox-container .mapboxgl-ctrl-top-right{top:10px;right:10px}.mapbox-location-picker .mapbox-container .mapboxgl-marker{cursor:grab}.mapbox-location-picker .mapbox-container .mapboxgl-marker:active{cursor:grabbing}.mapbox-location-picker .mapbox-container .mapboxgl-marker-anchor-center{filter:drop-shadow(0 2px 4px #0000004d)}.mapbox-location-picker .mapbox-container .mapboxgl-popup .mapboxgl-popup-content{background:var(--background-color);color:var(--text-color);border:1px solid var(--text-bg-color);border-radius:6px;box-shadow:0 4px 12px #00000026}.mapbox-location-picker .mapbox-container .mapboxgl-popup .mapboxgl-popup-close-button{color:var(--text-color);font-size:1.2rem}.mapbox-location-picker .mapbox-container .mapboxgl-popup .mapboxgl-popup-close-button:hover{background:var(--text-bg-color)}.mapbox-location-picker .mapbox-instructions{text-align:center;background:#b3a9d71a;border-radius:6px;margin-top:.5rem;padding:.5rem}.mapbox-location-picker .mapbox-instructions small{color:var(--text-color);opacity:.7;font-size:.8rem}.mapbox-location-picker .mapbox-loading{background:var(--text-bg-color);color:var(--text-color);border:1px solid var(--text-bg-color);border-radius:6px;justify-content:center;align-items:center;display:flex}.mapbox-location-picker .mapbox-loading p{opacity:.7;margin:0}.mapbox-location-picker .mapbox-error{color:#dc2626;text-align:center;background:#ef44441a;border:1px solid #ef4444;border-radius:6px;padding:1rem}.mapbox-location-picker .mapbox-error p{margin:0 0 .5rem}.mapbox-location-picker .mapbox-error p:last-child{opacity:.8;margin-bottom:0;font-size:.9rem}.project-details .project-location-map{margin-top:1rem}.project-details .project-location-map .mapbox-container{border-radius:6px;height:300px}.project-details .project-location-map .mapbox-controls .control-group .btn{padding:.25rem .5rem;font-size:.8rem}.project-details .project-location-map .coordinates-display{font-size:.8rem}.project-details .project-location-map .mapbox-instructions{display:none}@media (width<=768px){.mapbox-location-picker .mapbox-controls{flex-direction:column;align-items:stretch;gap:.75rem}.mapbox-location-picker .mapbox-controls .control-group{justify-content:center}.mapbox-location-picker .mapbox-controls .coordinates-display{text-align:center}.mapbox-location-picker .mapbox-container .mapboxgl-ctrl-top-left .mapboxgl-ctrl-geocoder{min-width:120px}}[data-theme=dark] .mapbox-location-picker .mapbox-controls{background:#2f2f2f;border-color:#404040}[data-theme=dark] .mapbox-location-picker .mapbox-instructions{background:#b3a9d726}[data-theme=dark] .mapbox-location-picker .mapbox-loading{background:#404040;border-color:#525252}[data-theme=dark] .mapbox-location-picker .mapbox-container{border-color:#404040}[data-theme=dark] .mapbox-location-picker .mapbox-container .mapboxgl-popup-content{background:#2f2f2f;border-color:#404040}@keyframes markerDrop{0%{opacity:0;transform:translateY(-50px)}60%{opacity:1;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.mapboxgl-marker{animation:.5s ease-out markerDrop}.project-network-manager{max-width:1000px}.project-network-manager .manager-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.project-network-manager .manager-header h2{color:var(--text-strong);font-size:var(--size-h2);margin:0}.project-network-manager .tab-content{min-height:400px}.project-network-manager .tab-content .loading{text-align:center;color:var(--text-muted);padding:3rem}.project-network-manager .add-relation-form{margin-bottom:var(--space-6)}.project-network-manager .add-relation-form .form-row{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){.project-network-manager .add-relation-form .form-row{grid-template-columns:1fr}}.project-network-manager .add-relation-form .form-group input,.project-network-manager .add-relation-form .form-group select{box-sizing:border-box;vertical-align:middle;width:100%;min-height:var(--field-height);padding:var(--space-1) var(--space-2);border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);background:var(--surface-card);color:var(--text-strong);font:var(--weight-book) var(--size-small)/1.4 var(--font-sans)}.project-network-manager .add-relation-form .form-group input:where(:not(textarea)),.project-network-manager .add-relation-form .form-group select:where(:not(textarea)){height:var(--field-height)}.project-network-manager .add-relation-form .form-group input::placeholder,.project-network-manager .add-relation-form .form-group select::placeholder{color:var(--text-muted)}.project-network-manager .add-relation-form .form-group input:hover:not(:disabled),.project-network-manager .add-relation-form .form-group select:hover:not(:disabled){border-color:var(--line-strong)}.project-network-manager .add-relation-form .form-group input:focus-visible,.project-network-manager .add-relation-form .form-group select:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0;border-color:var(--line-strong)}.project-network-manager .add-relation-form .form-group input:disabled,.project-network-manager .add-relation-form .form-group select:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}.project-network-manager .no-relations{padding:var(--space-5) 0;color:var(--text-muted)}.project-network-manager .partner-group{border-top:var(--border-hair) solid var(--line-strong)}.project-network-manager .partner-group .relation-item:last-child{border-bottom:0}.project-network-manager .partner-group-header{padding:var(--space-3) 0 var(--space-2);color:var(--text-strong)}.project-network-manager .relation-item{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--row-pad) 0;border-bottom:var(--border-hair) solid var(--line);display:flex}.project-network-manager .relation-item:hover{background:var(--accent-tint)}@media (width<=768px){.project-network-manager .relation-item{flex-direction:column;align-items:stretch}}.project-network-manager .relation-info{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.project-network-manager .relation-info strong{color:var(--text-strong)}.project-network-manager .relation-sub-item .relation-info strong{display:none}.project-network-manager .relation-type{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent)}.project-network-manager .relation-function,.project-network-manager .relation-description{font-size:var(--size-meta);color:var(--text-muted)}.project-network-manager .relation-function:before{content:"Funktion: "}.project-network-manager .relation-description:before{content:"Beschreibung: "}.project-details .project-details-header .header-right{gap:.5rem;display:flex}.project-details .project-details-header .header-right .btn{white-space:nowrap}@media (width<=768px){.project-details .project-details-header .header-right{flex-wrap:wrap;justify-content:center}}.autocomplete-container{width:100%;position:relative}.suggestions-dropdown{max-height:none;box-shadow:none;z-index:1000;background:0 0;border:none;border-radius:0;padding-top:8px;position:absolute;top:100%;left:0;right:0;overflow:visible}.suggestion-item{cursor:pointer;background:var(--main-color);color:#fff;white-space:nowrap;border-radius:16px;margin:4px 4px 4px 0;padding:6px 12px;font-size:.9em;transition:background-color .2s;display:inline-block}.suggestion-item:hover{background:#495057}.suggestion-item strong{color:#fff;font-weight:500}.suggestion-type,.suggestion-email{color:#fffc;margin-top:2px;font-size:.8em;display:block}.suggestion-type:before{content:"• ";color:#fff9}.form-row{gap:15px;margin-bottom:15px;display:flex}.form-group{flex-direction:column;flex:1;display:flex}.form-group label{color:var(--text-strong);margin-bottom:5px;font-weight:500}.form-group input,.form-group select{border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);padding:8px 12px;font-size:14px}.form-group input:focus,.form-group select:focus{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0;border-color:var(--line-strong);box-shadow:none}.alert{border-radius:6px;margin-bottom:16px;padding:12px 16px}.alert-error{border-left:var(--border-rule) solid var(--state-error);background:var(--accent-tint);color:var(--text-strong)}.alert-success{border-left:var(--border-rule) solid var(--state-success);background:var(--accent-tint);color:var(--text-strong)}@media (width<=768px){.form-row{flex-direction:column}}.firmen-modal,.personen-modal{background:var(--background-color);color:var(--text-color);border-radius:.75rem;width:min(32rem,92vw);max-height:85vh;overflow:visible;box-shadow:0 20px 40px #00000040}.firmen-modal .modal-content,.personen-modal .modal-content{min-height:12rem;padding:1.25rem;overflow:visible}.partner-assign-field{color-scheme:light;flex-direction:column;gap:.5rem;display:flex}[data-theme=dark] .partner-assign-field{color-scheme:dark}.partner-assign-field .partner-assign-chips{flex-wrap:wrap;gap:.375rem;display:flex}.partner-assign-field.partner-assign-chips--stacked{flex-direction:column;align-items:stretch}.partner-assign-field.partner-assign-chips--stacked .partner-assign-chip{border-radius:.5rem;flex-direction:column;align-items:stretch;gap:.4rem}.partner-assign-field .partner-assign-chip-head{align-items:center;gap:.375rem;display:inline-flex}.partner-assign-field .partner-assign-chip-phases{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.partner-assign-field .partner-assign-phase-all{opacity:.8;font-size:.68rem;font-style:italic}.partner-assign-field .partner-assign-phase{color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:999px;padding:.05rem .45rem;font-size:.68rem}.partner-assign-field .partner-assign-phase--on{color:var(--main-color);background:#fff;font-weight:600}.partner-assign-field .partner-assign-phase:disabled{cursor:default;opacity:.6}.partner-assign-field .partner-assign-chip{background:var(--main-color);color:#fff;border-radius:999px;align-items:center;gap:.375rem;padding:.2rem .6rem;font-size:.8rem;line-height:1.4;display:inline-flex}.partner-assign-field .partner-assign-chip .partner-assign-chip-role{appearance:none;color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:999px;padding:0 .4rem;font-size:.7rem;line-height:1.4}.partner-assign-field .partner-assign-chip .partner-assign-chip-role option{color:var(--text-color,#1f2937);background:var(--card-bg,#fff)}.partner-assign-field .partner-assign-chip .partner-assign-chip-role:disabled{cursor:default;opacity:.6}.partner-assign-field .partner-assign-chip .partner-assign-chip-remove{width:1rem;height:1rem;color:inherit;cursor:pointer;opacity:.85;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.partner-assign-field .partner-assign-chip .partner-assign-chip-remove:hover{opacity:1}.crm-container{width:100%;max-width:none;padding:0}.crm-header{margin-bottom:var(--space-2)}.tabs{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;margin-bottom:1.5rem;display:flex;overflow:hidden;box-shadow:0 2px 4px #0000001a}.tabs .tab{background:var(--text-bg-color);cursor:pointer;color:var(--text-color);border:none;border-right:1px solid var(--text-bg-color);flex:1;padding:1rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .3s}.tabs .tab:last-child{border-right:none}.tabs .tab:hover:not(.active){background:var(--background-color)}.tabs .tab.active{background:var(--main-color);color:#fff}.tab-content{padding:0}.crm-list__sub{font-size:var(--size-meta);color:var(--text-muted)}.crm-list__status{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.crm-contact>*+*{margin-top:var(--rhythm-block)}.crm-contact__wide{grid-column:1/-1}.crm-contact__summary.ui-meta{gap:var(--rhythm-field) var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.crm-contact__summary.ui-meta .ui-meta__item{gap:var(--space-1);grid-template-columns:1fr}.crm-contact__summary.ui-meta .ui-meta__value{text-align:left}.crm-contact__checks{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.crm-contact__check{gap:var(--space-2);font-size:var(--size-small);align-items:center;display:inline-flex}.crm-contact__check input{width:auto}.crm-contact__tags{gap:var(--space-2);margin-top:var(--rhythm-field);flex-wrap:wrap;align-items:center;display:flex}.crm-contact__tag{gap:var(--space-1);padding:0 var(--space-2);border:var(--border-hair) solid var(--line);font-size:var(--size-meta);align-items:center;display:inline-flex}.crm-contact__tag-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0}.crm-contact__tag-remove:hover{color:var(--text-strong)}.crm-contact__projects{margin-top:var(--rhythm-field);max-height:calc(var(--field-height) * 10);overflow-y:auto}.crm-contact__project-list{margin:0;padding:0;list-style:none}.crm-contact__notes{white-space:pre-wrap}.crm-organization-new{gap:var(--rhythm-field);justify-items:start;display:grid}.crm-organization-new>.ui-field{justify-self:stretch}.alert{border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;font-size:.875rem;display:flex}.alert.alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}[data-theme=dark] .alert.alert-error{color:#fca5a5;background:#450a0a;border:1px solid #7f1d1d}.alert.alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}[data-theme=dark] .alert.alert-success{color:#86efac;background:#052e16;border:1px solid #166534}.alert button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.alert button:hover{opacity:.7}.firm-picker{gap:var(--space-1);flex-direction:column;flex:160px;min-width:0;display:flex}.loading{text-align:center;color:var(--text-color);padding:2rem;font-size:.95rem}@media (width<=768px){.crm-header{padding:1rem}}.finanzen .finanzen-loading{text-align:center;color:#6c757d;padding:2rem;font-style:italic}.finanzen .finanzen-overview,.finanzen .finanzen-budget{min-height:500px;animation:.3s ease-in-out fadeIn}.finanzen .finanzen-upload-section{align-items:center;gap:1rem;margin:2rem 0;display:flex}.finanzen .finanzen-btn-primary{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;display:flex}.finanzen .finanzen-btn-primary:hover:not(:disabled){background:#0056b3}.finanzen .finanzen-btn-primary:disabled{opacity:.6;cursor:not-allowed}.finanzen .finanzen-btn-secondary{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;display:flex}.finanzen .finanzen-btn-secondary:hover:not(:disabled){background:#545b62}.finanzen .finanzen-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.finanzen .finanzen-import-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:2rem 0;display:grid}.finanzen .finanzen-stat-card{background:var(--background-color);border-left:4px solid #007bff;border-radius:.5rem;align-items:center;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 2px 4px #0000001a}.finanzen .finanzen-stat-card.success{border-left-color:#28a745}.finanzen .finanzen-stat-card.success .finanzen-stat-number{color:#28a745}.finanzen .finanzen-stat-card.warning{border-left-color:#ffc107}.finanzen .finanzen-stat-card.warning .finanzen-stat-number{color:#ffc107}.finanzen .finanzen-stat-number{color:#007bff;font-size:2rem;font-weight:700}.finanzen .finanzen-stat-label{color:var(--text-color);font-size:.875rem}.finanzen .finanzen-last-import{background:var(--background-color);color:var(--text-color);border-radius:.375rem;grid-column:1/-1;margin-top:1rem;padding:1rem;font-size:.875rem}.finanzen .finanzen-chart-container{width:100%;margin-top:2rem;overflow:hidden}.finanzen .finanzen-chart-container .finanzen-no-data{text-align:center;color:var(--text-color);padding:3rem;font-style:italic}.finanz-chart-wrapper{width:100%;height:450px;position:relative}.finanz-chart-wrapper canvas{max-width:100%!important;max-height:100%!important}.finanz-chart-wrapper .chart-info{background:var(--background-color);border-left:4px solid var(--main-color);border-radius:.375rem;margin-top:1rem;padding:1rem}.finanz-chart-wrapper .chart-info .chart-legend{color:var(--text-color);margin:0 0 .5rem;font-size:.875rem;font-weight:600}.finanz-chart-wrapper .chart-info .chart-note{color:var(--text-color);opacity:1;margin:0;font-size:.75rem;font-style:italic}@media (width<=1024px){.finanzen .finanzen-header{flex-direction:column;align-items:flex-start;gap:1rem}.finanzen .finanzen-header .finanzen-tabs{width:100%}.finanzen .finanzen-header .finanzen-tabs .finanzen-tab{text-align:center;flex:1}.finanzen-import-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (width<=768px){.finanzen .finanzen-header h1{font-size:1.5rem}.finanzen .finanzen-header .finanzen-tabs .finanzen-tab{padding:.5rem 1rem;font-size:.875rem}.finanzen .finanzen-upload-section{flex-direction:column;align-items:stretch}.finanzen .finanzen-upload-section .finanzen-btn-primary,.finanzen .finanzen-upload-section .finanzen-btn-secondary{justify-content:center}.finanzen .finanzen-import-stats{grid-template-columns:1fr}.finanzen .finanzen-stat-card{padding:1rem}.finanzen .finanzen-stat-card .finanzen-stat-number{font-size:1.5rem}.finanz-chart-wrapper{height:350px}.finanz-chart-wrapper .chart-info{padding:.75rem}.finanz-chart-wrapper .chart-info .chart-legend,.finanz-chart-wrapper .chart-info .chart-note{font-size:.75rem}}.finanz-auswertung{padding:1.5rem}.finanz-auswertung .auswertung-filter{background:var(--background-color);border-radius:.5rem;gap:1.5rem;margin-bottom:2rem;padding:1rem;display:flex}.finanz-auswertung .auswertung-filter .filter-group{align-items:center;gap:.5rem;display:flex}.finanz-auswertung .auswertung-filter .filter-group label{color:var(--text-color);font-weight:600}.finanz-auswertung .auswertung-filter .filter-group select{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:.25rem;padding:.5rem}.finanz-auswertung .auswertung-section{margin-bottom:3rem}.finanz-auswertung .auswertung-section h2{color:var(--text-color);margin-bottom:1.5rem}.finanz-auswertung .category-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.finanz-auswertung .category-card{background:var(--background-color);border-radius:.5rem;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.finanz-auswertung .category-card.income{border-left:4px solid #059669}.finanz-auswertung .category-card.expense{border-left:4px solid #dc2626}.finanz-auswertung .category-card h3{color:var(--text-color);margin:0 0 1rem}.finanz-auswertung .category-card .category-total{margin-bottom:1.5rem;font-size:2rem;font-weight:700}.finanz-auswertung .category-card .category-details{flex-direction:column;gap:.75rem;display:flex}.finanz-auswertung .balance-summary{background:var(--second-color);border-radius:8px;flex-direction:column;gap:1rem;margin-top:2rem;padding:1.5rem;display:flex}.finanz-auswertung .balance-summary .balance-item{justify-content:space-between;align-items:center;font-size:1.1rem;font-weight:600;display:flex}.finanz-auswertung .balance-summary .balance-item.forecast{border-top:1px solid var(--text-bg-color);flex-direction:column;align-items:flex-start;gap:.5rem;padding-top:1rem}.finanz-auswertung .balance-summary .balance-item.forecast>span:first-child{justify-content:space-between;width:100%;display:flex}.finanz-auswertung .balance-summary .balance-item.forecast .forecast-detail{color:var(--text-bg-color);font-size:.85rem;font-style:italic;font-weight:400}.finanz-auswertung .balance-summary .balance-item .positive{color:#059669}.finanz-auswertung .balance-summary .balance-item .negative{color:#dc2626}.category-item{border-bottom:1px solid var(--text-bg-color);grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:.5rem 1rem;padding:.75rem 0;display:grid}.category-item:last-child{border-bottom:none}.category-item .category-name{color:var(--text-color);grid-area:1/1;align-self:start}.category-item .category-amount{color:var(--text-color);font-weight:600}.category-item .category-amount-wrapper{flex-direction:column;grid-area:1/2;align-items:flex-end;gap:.25rem;min-width:150px;display:flex}.category-item .category-amount-wrapper .category-forecast{color:var(--third-color);font-size:.75rem;font-style:italic}.category-item .category-bar,.category-item .category-bar-dual{grid-area:2/1/auto/-1;width:100%}.category-item.project-item{flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 0;display:flex}.category-item.project-item .category-name{width:100%;font-weight:500}.category-item.project-item .category-amount-wrapper{flex-direction:row;align-items:baseline;gap:.5rem;width:100%;min-width:auto;display:flex}.category-item.project-item .category-amount-wrapper .category-amount{font-weight:600}.category-item.project-item .category-amount-wrapper .category-forecast{color:var(--third-color);font-size:.85rem;font-style:italic}.category-item.project-item .category-bar-dual{width:100%;margin-top:.25rem}.category-bar{background:#e5e7eb;border-radius:6px;height:12px;display:flex;overflow:hidden}.category-bar .bar-single{height:100%;transition:width .3s}.category-bar-dual{background:#e5e7eb;border-radius:6px;height:12px;display:flex;overflow:hidden}.category-bar-dual .bar-actual,.category-bar-dual .bar-forecast{height:100%;transition:width .3s}.category-card.income .category-bar .bar-single,.category-card.income .category-bar-dual .bar-actual{background:#059669}.category-card.income .category-bar-dual .bar-forecast{background:#05966966}.category-card.expense .category-bar .bar-single,.category-card.expense .category-bar-dual .bar-actual{background:#dc2626}.category-card.expense .category-bar-dual .bar-forecast{background:#dc262666}.budget-page{color:var(--text-color)}.budget-page .budget-loading{text-align:center;color:var(--text-color);opacity:.6;padding:3rem}.budget-page .budget-summary{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.budget-page .budget-summary .summary-card{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:0;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.budget-page .budget-summary .summary-card .summary-label{color:var(--text-color);opacity:.6;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.budget-page .budget-summary .summary-card .summary-value{color:var(--text-color);font-size:1.25rem;font-weight:600}.budget-page .budget-summary .summary-card .summary-value.paid{color:#c0392b}.budget-page .budget-summary .summary-card .summary-value.budgeted{color:#e67e22}.budget-page .budget-summary .summary-card .summary-value.available{color:#27ae60}.budget-page .budget-summary .summary-card .summary-value.negative{color:#c0392b}.budget-page .budget-columns{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.budget-page .budget-columns .budget-column .column-header{border-bottom:2px solid var(--text-bg-color);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.budget-page .budget-columns .budget-column .column-header h2{color:var(--text-color);border-bottom:none;margin:0;padding-bottom:0;font-size:1.125rem;font-weight:600}.budget-page .budget-columns .budget-column .column-header .column-totals{flex-direction:column;align-items:flex-end;gap:0;display:flex}.budget-page .budget-columns .budget-column .column-header .column-totals .total-row{align-items:baseline;gap:.5rem;min-height:1.2em;font-size:.75rem;display:flex}.budget-page .budget-columns .budget-column .column-header .column-totals .total-row .total-label{color:var(--text-color);opacity:.6}.budget-page .budget-columns .budget-column .column-header .column-totals .total-row .total-value{color:var(--text-color);font-weight:600}.budget-page .budget-columns .budget-column .column-header .column-totals .total-row.separator{border-top:1px solid var(--text-bg-color);margin-top:.25rem;padding-top:.25rem}.budget-page .budget-columns .budget-column.income .column-header,.budget-page .budget-columns .budget-column.expenses .column-header{border-bottom-color:var(--text-bg-color)}.budget-page .budget-columns .expense-categories,.budget-page .budget-columns .project-incomes{flex-direction:column;gap:1.5rem;display:flex}.budget-page .budget-columns .no-projects{text-align:center;color:var(--text-color);opacity:.5;padding:2rem}.expense-category{margin-bottom:1rem;padding:0}.expense-category .expense-category-header{justify-content:space-between;align-items:baseline;margin-bottom:.25rem;display:flex}.expense-category .expense-category-header .expense-category-name{color:var(--text-color);font-size:.875rem;font-weight:600}.expense-category .expense-category-header .expense-values{flex-direction:column;align-items:flex-end;gap:0;display:flex}.expense-category .expense-category-header .expense-values .values-row{align-items:baseline;font-size:.75rem;display:flex}.expense-category .expense-category-header .expense-values .values-row.secondary{opacity:.7;font-size:.65rem}.expense-category .expense-category-header .expense-values .values-row .verbraucht-value{color:#c0392b;font-weight:500}.expense-category .expense-category-header .expense-values .budget-edit-inline{color:var(--text-color);align-items:center;gap:.25rem;font-size:.75rem;display:flex}.expense-category .expense-category-header .expense-values .budget-edit-inline .ui-input{width:90px}.expense-category .expense-category-header .expense-values .budget-value{color:var(--text-color);font-size:.75rem;font-weight:500}.expense-category .expense-category-header .expense-values .budget-value.clickable{cursor:pointer}.expense-category .expense-category-header .expense-values .budget-value.clickable:hover{text-decoration:underline}.expense-category .expense-bars{flex-direction:column;gap:2px;display:flex}.expense-category .expense-bars .expense-bar{background:0 0;height:8px;display:flex}.expense-category .expense-bars .expense-bar.clickable{cursor:pointer}.expense-category .expense-bars .expense-bar.clickable:hover{opacity:.8}.expense-category .expense-bars .expense-bar.clickable.active{opacity:1}.expense-category .expense-bars .expense-bar .bar-segment{height:100%}.expense-category .expense-bars .expense-bar .bar-segment.budget-fill{background:var(--text-bg-color)}.expense-category .expense-bars .expense-bar .bar-segment.bezahlt{background:#c0392b}.expense-category .expense-bars .expense-bar .bar-segment.budgetiert{background:#e67e22}.expense-category .accounts-list{border-left:2px solid var(--text-bg-color);margin-top:.5rem;padding-left:1rem}.expense-category .accounts-list.empty{color:var(--text-color);opacity:.5;padding:.25rem 0;font-size:.7rem;font-style:italic}.expense-category .accounts-list .section-label{color:var(--text-color);opacity:.7;text-transform:uppercase;letter-spacing:.5px;margin-top:.4rem;margin-bottom:.2rem;font-size:.65rem;font-weight:600}.expense-category .accounts-list .section-label:first-child{margin-top:0}.expense-category .accounts-list .account-row{align-items:center;gap:.5rem;padding:.2rem 0;font-size:.7rem;display:flex}.expense-category .accounts-list .account-row.skipped{opacity:.4;text-decoration:line-through}.expense-category .accounts-list .account-row.from-booking{border-top:1px dashed var(--text-bg-color);margin-top:.2rem;padding-top:.3rem}.expense-category .accounts-list .account-row.empty{opacity:.5;font-style:italic}.expense-category .accounts-list .account-row .account-nummer{color:#c0392b;min-width:40px;font-weight:600}.expense-category .accounts-list .account-row .account-name{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.expense-category .accounts-list .account-row .account-amount{color:var(--text-color);text-align:right;min-width:80px;font-weight:600}.expense-category .accounts-list .account-row .account-status{color:var(--text-color);opacity:.6;font-size:.65rem}.expense-category .accounts-list .account-row .account-amounts{gap:.75rem;font-weight:600;display:flex}.expense-category .accounts-list .account-row .account-amounts .amount-paid{color:#c0392b}.expense-category .accounts-list .account-row .account-amounts .amount-budgeted{color:#e67e22}.expense-category .accounts-list .account-row .account-amounts .months-info{color:var(--text-color);opacity:.6;font-size:.6rem;font-weight:400}.project-income{margin-bottom:1rem;padding:0}.project-income .project-income-header{align-items:flex-start;gap:.5rem;margin-bottom:.25rem;display:flex}.project-income .project-income-header .project-code{color:#27ae60;font-size:.875rem;font-weight:700}.project-income .project-income-header .project-name{color:var(--text-color);flex:1;font-size:.8rem;font-weight:500}.project-income .project-income-header .project-values{flex-direction:column;align-items:flex-end;gap:0;display:flex}.project-income .project-income-header .project-values .values-row{align-items:baseline;gap:.25rem;font-size:.75rem;display:flex}.project-income .project-income-header .project-values .values-row.secondary{opacity:.7;font-size:.65rem}.project-income .project-income-header .project-values .values-row .total-value{color:var(--text-color);font-weight:500}.project-income .project-income-header .project-values .values-row .separator{color:var(--text-color);opacity:.5}.project-income .project-income-header .project-values .values-row .honorar-value{color:#27ae60;font-weight:600}.project-income .project-income-header .project-values .values-row .bezahlt-value{color:#27ae60}.project-income .project-income-header .project-values .values-row .expense-value{color:#c0392b}.project-income .project-bars{flex-direction:column;gap:2px;display:flex}.project-income .project-bars .project-bar{background:0 0;height:8px;display:flex}.project-income .project-bars .project-bar:hover{opacity:.8}.project-income .project-bars .project-bar.clickable{cursor:pointer}.project-income .project-bars .project-bar.clickable:hover{opacity:.9}.project-income .project-bars .project-bar.clickable.active{opacity:1}.project-income .project-bars .project-bar .bar-inner{height:100%;display:flex}.project-income .project-bars .project-bar .bar-segment{height:100%}.project-income .project-bars .project-bar .bar-segment.drittkosten{background:#c0392b}.project-income .project-bars .project-bar .bar-segment.honorar,.project-income .project-bars .project-bar .bar-segment.income{background:#27ae60}.project-income .project-bars .project-bar .bar-segment.expense{background:#c0392b}.project-income .payments-list{border-left:2px solid var(--text-bg-color);margin-top:.5rem;padding-left:1rem}.project-income .payments-list.empty{color:var(--text-color);opacity:.5;padding:.25rem 0;font-size:.7rem;font-style:italic}.project-income .payments-list .payment-row{align-items:center;gap:.5rem;padding:.2rem 0;font-size:.7rem;display:flex}.project-income .payments-list .payment-row.income .payment-amount{color:#27ae60}.project-income .payments-list .payment-row.expense .payment-amount{color:#c0392b}.project-income .payments-list .payment-row .payment-date{color:var(--text-color);opacity:.6;min-width:60px}.project-income .payments-list .payment-row .payment-description{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.project-income .payments-list .payment-row .payment-amount{text-align:right;min-width:80px;font-weight:600}.budget-bar-container{position:relative}.budget-bar-container .budget-bar-empty{color:var(--text-color);opacity:.5;font-size:.75rem;font-style:italic}.budget-bar-container .budget-bar-reference{background:#e5e7eb;border-radius:8px;position:relative;overflow:hidden}.budget-bar-container .budget-bar-reference .budget-bar-segments{width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.budget-bar-container .budget-bar-reference .budget-bar-segments .budget-bar-segment{height:100%;transition:width .3s}.budget-bar-container .budget-bar-lines{height:24px;position:relative}.budget-bar-container .budget-bar-lines .budget-bar-line-wrapper{width:100%;height:100%;position:absolute;top:0;left:0}.budget-bar-container .budget-bar-lines .budget-bar-line-wrapper .budget-bar-line{border-left:2px dashed;width:2px;height:8px;position:absolute;top:0}.budget-bar-container .budget-bar-lines .budget-bar-line-wrapper .budget-bar-line-label{white-space:nowrap;font-size:.7rem;position:absolute;top:10px}@media (width<=1200px){.budget-page .budget-summary{grid-template-columns:repeat(2,1fr)}.budget-page .budget-columns{grid-template-columns:1fr;gap:2rem}}@media (width<=768px){.budget-page{padding:1rem}.budget-page .budget-summary{grid-template-columns:1fr 1fr}.budget-page .budget-summary .summary-card .summary-value{font-size:1rem}.expense-category .expense-bar-row .bar-label,.expense-category .project-bar-row .bar-label,.project-income .expense-bar-row .bar-label,.project-income .project-bar-row .bar-label{min-width:50px;font-size:.6rem}.expense-category .expense-bar-row .bar-value,.expense-category .project-bar-row .bar-value,.project-income .expense-bar-row .bar-value,.project-income .project-bar-row .bar-value{min-width:70px;font-size:.65rem}.expense-category .expense-legend,.expense-category .project-legend,.project-income .expense-legend,.project-income .project-legend{gap:.5rem}.expense-category .expense-legend .legend-item,.expense-category .project-legend .legend-item,.project-income .expense-legend .legend-item,.project-income .project-legend .legend-item{font-size:.6rem}}.finanzen .finanzen-header{border-bottom:2px solid var(--text-bg-color);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.finanzen .finanzen-header h1{color:var(--text-color);margin:0;font-size:2rem;font-weight:600}.finanzen .finanzen-header .finanzen-tabs{gap:.5rem;display:flex}.finanzen .finanzen-header .finanzen-tabs .finanzen-tab{border:2px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);cursor:pointer;border-bottom:none;border-radius:.5rem .5rem 0 0;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.finanzen .finanzen-header .finanzen-tabs .finanzen-tab:hover{background:var(--text-bg-color)}.finanzen .finanzen-header .finanzen-tabs .finanzen-tab.active{background:var(--main-color);color:#fff;border-color:var(--main-color)}.finanzen .finanzen-overview,.finanzen .finanzen-budget{min-height:500px}.finanzen .finanzen-budget .budget-verwaltung{padding:0}.budget-verwaltung .budget-loading{text-align:center;color:#6c757d;padding:2rem;font-style:italic}.budget-form-overlay{z-index:1000;backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.budget-form{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:.5rem;width:90%;max-width:600px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.budget-form .form-header{border-bottom:1px solid var(--text-bg-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.budget-form .form-header h3{color:var(--text-color);margin:0;font-size:1.25rem;font-weight:600}.budget-form .form-header .btn-close{cursor:pointer;color:var(--text-color);opacity:.6;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.5rem;transition:all .2s;display:flex}.budget-form .form-header .btn-close:hover{opacity:1;background:var(--text-bg-color)}.budget-form .budget-form-content .form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.budget-form .budget-form-content .budget-form__mwst-pruefen{align-items:center;gap:var(--space-2);margin-top:var(--space-2);display:flex}.budget-form .budget-form-content .form-group{margin-bottom:1rem}.budget-form .budget-form-content .form-group label{color:var(--text-color);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.budget-form .budget-form-content .form-group input,.budget-form .budget-form-content .form-group select{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:.375rem;padding:.75rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.budget-form .budget-form-content .form-group input:focus,.budget-form .budget-form-content .form-group select:focus{border-color:var(--main-color);box-shadow:0 0 0 3px rgba(var(--main-color-rgb,0, 123, 255), .1);outline:none}.budget-form .budget-form-content .form-group input:disabled,.budget-form .budget-form-content .form-group select:disabled{opacity:.6;cursor:not-allowed;background:var(--text-bg-color)}.budget-form .budget-form-content .form-group input[type=number]{text-align:right}.budget-form .budget-form-content .radio-group{gap:1.5rem;margin-top:.5rem;display:flex}.budget-form .budget-form-content .radio-group .radio-label{cursor:pointer;align-items:center;gap:.5rem;margin-bottom:0;font-weight:400;display:flex}.budget-form .budget-form-content .radio-group .radio-label input[type=radio]{width:auto;margin:0}.budget-form .budget-form-content .form-actions{border-top:1px solid var(--text-bg-color);justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;display:flex}.partner-field{position:relative}.partner-field .partner-input-wrapper{align-items:center;gap:8px;display:flex;position:relative}.partner-field .partner-input-wrapper input{flex:1}.partner-field .partner-input-wrapper .partner-linked-badge{color:#16a34a;background:#22c55e1a;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600;position:absolute;right:12px}.partner-field .partner-suggestions{background:var(--background-color);border:1px solid var(--text-bg-color);z-index:100;border-radius:0 0 6px 6px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.partner-field .partner-suggestions .partner-suggestion-item{cursor:pointer;border-bottom:1px solid var(--text-bg-color);justify-content:space-between;align-items:center;padding:10px 12px;transition:background .15s;display:flex}.partner-field .partner-suggestions .partner-suggestion-item:last-child{border-bottom:none}.partner-field .partner-suggestions .partner-suggestion-item:hover{background:var(--text-bg-color)}.partner-field .partner-suggestions .partner-suggestion-item.project-partner{background:#0596690d}.partner-field .partner-suggestions .partner-suggestion-item.create-new{color:var(--main-color);font-weight:500}.partner-field .partner-suggestions .partner-suggestion-item.create-new:hover{background:#0596691a}.partner-field .partner-suggestions .partner-suggestion-item .partner-name{font-weight:500}.partner-field .partner-suggestions .partner-suggestion-item .partner-role-badge{text-transform:uppercase;background:var(--main-color);color:#fff;border-radius:3px;padding:2px 6px;font-size:.7rem;font-weight:600}.partner-field .partner-suggestions .partner-suggestion-item .partner-crm-badge{color:var(--text-color);opacity:.6;border:1px solid var(--text-bg-color);border-radius:3px;padding:2px 6px;font-size:.7rem;font-weight:500}.partner-field .partner-hint{color:#f59e0b;margin-top:4px;font-size:.75rem;font-style:italic}.partner-role-overlay{z-index:2000;backdrop-filter:blur(3px);background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.partner-role-modal{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:.5rem;width:90%;max-width:400px;padding:1.5rem;animation:.3s ease-out slideUp;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.partner-role-modal h3{color:var(--text-color);margin:0 0 1rem;font-size:1.125rem;font-weight:600}.partner-role-modal .partner-role-info{background:var(--text-bg-color);border-radius:6px;margin-bottom:1.25rem;padding:.75rem}.partner-role-modal .partner-role-info p{color:var(--text-color);margin:0;font-size:.9rem}.partner-role-modal .partner-role-info p strong{color:var(--main-color)}.partner-role-modal .form-group{margin-bottom:1.25rem}.partner-role-modal .form-group label{color:var(--text-color);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.partner-role-modal .form-group input{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:.375rem;padding:.75rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.partner-role-modal .form-group input:focus{border-color:var(--main-color);box-shadow:0 0 0 3px rgba(var(--main-color-rgb,0, 123, 255), .1);outline:none}.partner-role-modal .form-group input::placeholder{color:var(--text-color);opacity:.5}.partner-role-modal .form-actions{justify-content:flex-end;gap:.75rem;padding-top:.5rem;display:flex}.partner-role-modal .form-actions button{cursor:pointer;border-radius:.375rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .2s}.partner-role-modal .form-actions .btn-secondary{background:var(--text-bg-color);border:1px solid var(--text-bg-color);color:var(--text-color)}.partner-role-modal .form-actions .btn-secondary:hover{background:var(--text-color);color:var(--background-color)}.partner-role-modal .form-actions .btn-primary{background:var(--main-color);border:1px solid var(--main-color);color:#fff}.partner-role-modal .form-actions .btn-primary:hover{filter:brightness(1.1)}@media (width<=768px){.budget-verwaltung{padding:1rem}.budget-form{width:95%;margin:1rem;padding:1rem}.budget-form .budget-form-content .form-row{grid-template-columns:1fr}.budget-form .budget-form-content .form-actions{flex-direction:column;gap:.75rem}.budget-form .budget-form-content .form-actions button{width:100%}}@media (prefers-color-scheme:dark){.budget-form-overlay{background:#000000b3}}@keyframes modalFadeIn{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.payment-suggestions{background:var(--second-color);border-radius:4px;margin-top:1rem;padding:1rem}.payment-suggestions label{color:var(--text-color);margin-bottom:.75rem;font-weight:500;display:block}.payment-suggestions .suggestions-list{flex-direction:column;gap:.5rem;display:flex}.payment-suggestions .suggestions-list .btn-sm{text-align:left;justify-content:flex-start;font-size:.9rem}.status-badge{text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;border-radius:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.status-badge.status-expected{color:#2563eb;background:#3b82f61a;border:1px solid #3b82f633}.status-badge.status-sent{color:#9333ea;background:#a855f71a;border:1px solid #a855f733}.status-badge.status-delayed{color:#ea580c;background:#fb923c1a;border:1px solid #fb923c33}.status-badge.status-overdue{color:#dc2626;background:#ef44441a;border:1px solid #ef444433;animation:2s ease-in-out infinite pulse-overdue}.status-badge.status-paid{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e33}.status-badge.status-expecting{color:#2563eb;background:#3b82f61a;border:1px solid #3b82f633}.status-badge.status-received{color:#9333ea;background:#a855f71a;border:1px solid #a855f733}.status-badge.status-entered-payment{color:#ca8a04;background:#eab3081a;border:1px solid #eab30833}.status-badge.status-automatic{color:var(--text-muted);background:#64748b1a;border:1px solid #64748b33}@keyframes pulse-overdue{0%,to{opacity:1}50%{opacity:.7}}.booking-matching-overlay{z-index:2000;backdrop-filter:blur(3px);background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.booking-matching-popup{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:.75rem;width:90%;max-width:700px;max-height:85vh;padding:0;animation:.3s ease-out slideUp;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.booking-matching-popup .popup-header{background:var(--main-color);color:#fff;border-radius:.75rem .75rem 0 0;padding:1.5rem 2rem}.booking-matching-popup .popup-header h3{margin:0 0 1rem;font-size:1.5rem;font-weight:600}.booking-matching-popup .popup-header .progress-bar{background:#fff3;border-radius:3px;width:100%;height:6px;margin-bottom:.5rem;overflow:hidden}.booking-matching-popup .popup-header .progress-bar .progress-fill{background:#fff;border-radius:3px;height:100%;transition:width .3s ease-out}.booking-matching-popup .popup-header .progress-text{opacity:.9;margin:0;font-size:.875rem}.booking-matching-popup .booking-details{border-bottom:1px solid var(--text-bg-color);padding:1.5rem 2rem}.booking-matching-popup .booking-details h4{color:var(--text-color);margin:0 0 1rem;font-size:1rem;font-weight:600}.booking-matching-popup .booking-details .booking-info{background:var(--text-bg-color);border-radius:.5rem;padding:1rem}.booking-matching-popup .booking-details .booking-info .info-row{justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.booking-matching-popup .booking-details .booking-info .info-row:not(:last-child){border-bottom:1px solid #0000000d}.booking-matching-popup .booking-details .booking-info .info-row .label{color:var(--text-color);opacity:.7;font-size:.875rem;font-weight:500}.booking-matching-popup .booking-details .booking-info .info-row .value{color:var(--text-color);font-weight:500}.booking-matching-popup .booking-details .booking-info .info-row .value.amount{color:#16a34a;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:1.125rem;font-weight:600}.booking-matching-popup .matching-loading{text-align:center;color:var(--text-color);opacity:.7;padding:2rem;font-style:italic}.booking-matching-popup .matching-suggestions{max-height:40vh;padding:1.5rem 2rem;overflow-y:auto}.booking-matching-popup .matching-suggestions h4{color:var(--text-color);margin:0 0 1rem;font-size:1rem;font-weight:600}.booking-matching-popup .matching-suggestions .suggestions-list{flex-direction:column;gap:.75rem;display:flex}.booking-matching-popup .matching-suggestions .suggestions-list .suggestion-item{background:var(--text-bg-color);border:2px solid #0000;border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.booking-matching-popup .matching-suggestions .suggestions-list .suggestion-item:hover{border-color:var(--main-color);box-shadow:0 4px 6px -1px #0000001a}.booking-matching-popup .matching-suggestions .suggestions-list .suggestion-item .suggestion-details{flex:1}.booking-matching-popup .matching-suggestions .suggestions-list .suggestion-item .suggestion-details .suggestion-name{color:var(--text-color);margin-bottom:.375rem;font-weight:600}.booking-matching-popup .matching-suggestions .suggestions-list .suggestion-item .suggestion-details .suggestion-meta{color:var(--text-color);opacity:.7;gap:1rem;font-size:.875rem;display:flex}.booking-matching-popup .matching-suggestions .suggestions-list .suggestion-item .suggestion-details .suggestion-meta .suggestion-amount{color:#16a34a;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-weight:500}.booking-matching-popup .matching-suggestions .suggestions-list .suggestion-item .suggestion-details .suggestion-project{color:var(--text-color);opacity:.6;margin-top:.25rem;font-size:.8rem}.booking-matching-popup .matching-suggestions .suggestions-list .suggestion-item .btn-primary{flex-shrink:0}.booking-matching-popup .no-matches{text-align:center;color:var(--text-color);padding:2rem}.booking-matching-popup .no-matches p{margin:.5rem 0}.booking-matching-popup .no-matches p:first-child{font-size:1.125rem;font-weight:500}.booking-matching-popup .no-matches p.hint{opacity:.7;font-size:.875rem;font-style:italic}.booking-matching-popup .popup-actions{border-top:1px solid var(--text-bg-color);justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;display:flex}.booking-matching-popup .popup-actions .btn-secondary{min-width:120px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.booking-matching-popup{width:95%;max-height:90vh}.booking-matching-popup .popup-header,.booking-matching-popup .booking-details,.booking-matching-popup .matching-suggestions,.booking-matching-popup .popup-actions{padding-left:1rem;padding-right:1rem}.booking-matching-popup .matching-suggestions .suggestions-list .suggestion-item{flex-direction:column;align-items:stretch;gap:.75rem}.booking-matching-popup .matching-suggestions .suggestions-list .suggestion-item .btn-primary{justify-content:center;width:100%}.booking-matching-popup .popup-actions{flex-direction:column}.booking-matching-popup .popup-actions .btn-secondary{width:100%}}.budget-cards-container{flex-direction:column;gap:2rem;display:flex;position:relative}.budget-card-group__title{color:var(--text-color);margin:0 0 .75rem;font-size:1.1rem}.budget-card-group__hint{color:var(--text-color-secondary);margin:-.5rem 0 .75rem;font-size:.8rem}.budget-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;display:grid}.budget-card{background:var(--background-color);border:1px solid var(--text-bg-color);border-left:3px solid var(--accent-color);border-radius:8px;flex-direction:column;gap:4px;padding:10px;transition:box-shadow .1s;display:flex}.budget-card:hover{box-shadow:0 2px 8px #00000026}.budget-card--team{border-left-color:var(--warning-color)}.budget-card--versicherung{border-left-color:var(--muted-color)}.budget-card__head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.budget-card__name{color:var(--text-color);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.budget-card__konto{color:var(--text-color-secondary);border:1px solid var(--text-bg-color);border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.65rem}.budget-card__betrag{color:var(--text-color);font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:600}.budget-card__rhythmus{color:var(--text-color-secondary);margin-left:2px;font-size:.7rem;font-weight:400}.budget-card__stueck{color:var(--text-color-secondary);font-size:.75rem}.budget-card__warnung{color:var(--error-color);background:#c6282814;border-radius:4px;padding:4px 6px;font-size:.72rem;line-height:1.35}.budget-card__hinweis{color:var(--text-color-secondary);background:var(--text-bg-color);border-radius:4px;padding:4px 6px;font-size:.72rem;line-height:1.35}.budget-card__meta{color:var(--text-color-secondary);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.budget-card__badge{border:1px solid var(--text-bg-color);border-radius:10px;padding:0 6px;font-size:.7rem}.budget-card__badge.zukunft{color:var(--accent-color);border-color:var(--accent-color)}.budget-card__actions{flex-wrap:wrap;gap:.4rem;margin-top:2px;display:flex}.budget-card__btn{border:1px solid var(--text-bg-color);color:var(--text-color-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:.7rem;transition:border-color .1s,color .1s}.budget-card__btn:hover:not(:disabled){border-color:var(--accent-color);color:var(--text-color)}.budget-card__btn:disabled{opacity:.5;cursor:default}.budget-card__btn--primary{color:var(--accent-color);border-color:var(--accent-color)}.budget-card__btn--primary:hover:not(:disabled){color:var(--text-color)}.budget-card__quickform{border-top:1px solid var(--text-bg-color);flex-direction:column;gap:6px;margin-top:6px;padding-top:8px;display:flex}.budget-card__quickform .quickform-fields{gap:.5rem;display:flex}.budget-card__quickform .quickform-fields label{color:var(--text-color-secondary);flex-direction:column;flex:1;gap:2px;min-width:0;font-size:.7rem;display:flex}.budget-card__quickform .quickform-fields label input{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:4px;padding:4px 6px;font-size:.8rem}.budget-card__quickform .quickform-foot{align-items:center;gap:.4rem;display:flex}.budget-card__quickform .quickform-foot .quickform-total{color:var(--text-color);flex:1;font-size:.8rem;font-weight:600}.budget-card__quickform .quickform-hint{color:var(--text-color-secondary);font-size:.7rem}.cashflow-planung-scroll .cashflow-header{border-bottom:2px solid var(--text-bg-color);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.cashflow-planung-scroll .cashflow-header .cashflow-title h2{color:var(--text-color);margin:0 0 .5rem;font-size:1.75rem;font-weight:600}.cashflow-planung-scroll .cashflow-header .cashflow-title .cashflow-subtitle{color:var(--text-color);opacity:.7;margin:0;font-size:.875rem}.cashflow-planung-scroll .cashflow-header .cashflow-navigation{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.cashflow-planung-scroll .cashflow-header .cashflow-navigation .nav-btn{background:var(--main-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.cashflow-planung-scroll .cashflow-header .cashflow-navigation .nav-btn:hover:not(:disabled){background:var(--main-color-dark,#0056b3);transform:translateY(-1px)}.cashflow-planung-scroll .cashflow-header .cashflow-navigation .nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.cashflow-planung-scroll .cashflow-header .cashflow-navigation .nav-btn.current-week-btn{background:#16a34a}.cashflow-planung-scroll .cashflow-header .cashflow-navigation .nav-btn.current-week-btn:hover:not(:disabled){background:#15803d}.cashflow-planung-scroll .cashflow-header .cashflow-navigation .current-range{color:var(--text-color);opacity:.8;background:var(--text-bg-color);white-space:nowrap;border-radius:.375rem;padding:.5rem;font-size:.875rem}.cashflow-planung-scroll .lazy-loading-indicator{background:var(--main-color);color:#fff;text-align:center;border-radius:.375rem;margin-bottom:1rem;padding:.5rem 1rem;font-size:.875rem;animation:1.5s ease-in-out infinite pulse}.cashflow-chart-container-scroll{margin-bottom:2rem}.cashflow-chart-scroll-container{width:100%;position:relative}.cashflow-chart-scroll-container .cashflow-chart-viewport{scrollbar-color:var(--line-strong) transparent;overflow:auto hidden}.cashflow-chart-scroll-container .cashflow-chart-viewport::-webkit-scrollbar-track{background:0 0}.cashflow-chart-scroll-container .cashflow-chart-axis{pointer-events:none;background:var(--surface-page);position:absolute;top:0;left:0}.cashflow-chart-scroll-container .cashflow-chart-wrapper-scroll{height:clamp(300px,100vh - 440px,520px);margin-bottom:var(--space-2);position:relative}.cashflow-chart-scroll-container .cashflow-chart-wrapper-scroll canvas{max-width:100%!important;max-height:100%!important}.cashflow-chart-scroll-container .cashflow-chart-cap{color:var(--text-muted);text-align:center;margin:0 0 .5rem;font-size:.8rem}.cashflow-chart-scroll-container .chart-navigation{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding-top:.5rem;display:grid}.cashflow-chart-scroll-container .chart-navigation .week-range{justify-content:center;justify-self:end;align-items:center;gap:.35rem;min-width:80px;padding:.15rem .5rem;font-size:.8rem;display:flex}.cashflow-chart-scroll-container .chart-navigation .week-range .range-start,.cashflow-chart-scroll-container .chart-navigation .week-range .range-end{color:var(--text-color);opacity:.7;font-weight:500}.cashflow-chart-scroll-container .chart-navigation .week-range .range-separator{color:var(--text-color);opacity:.4}.cashflow-chart-scroll-container .chart-navigation .quick-nav{gap:.5rem;display:flex}.cashflow-chart-scroll-container .chart-navigation .quick-nav .btn{opacity:.7;padding:.25rem .6rem;font-size:.75rem}.cashflow-chart-scroll-container .chart-navigation .quick-nav .btn:hover{opacity:1}.cashflow-chart-scroll-container .keyboard-hint{text-align:center;margin-top:.5rem}.cashflow-chart-scroll-container .keyboard-hint small{color:var(--text-color);opacity:.6;font-style:italic}@media (width<=1024px){.cashflow-planung-scroll{padding:1rem}.cashflow-planung-scroll .cashflow-header{flex-direction:column;align-items:flex-start}.cashflow-planung-scroll .cashflow-header .cashflow-navigation{justify-content:space-between;width:100%}.cashflow-planung-scroll .cashflow-header .cashflow-navigation .nav-btn{flex:1;max-width:140px}.cashflow-planung-scroll .cashflow-header .cashflow-navigation .current-range{text-align:center;order:-1;width:100%;margin-bottom:.5rem}}@media (width<=768px){.cashflow-planung-scroll .cashflow-header .cashflow-title h2{font-size:1.5rem}.cashflow-planung-scroll .cashflow-header .cashflow-navigation{flex-direction:column;gap:.75rem}.cashflow-planung-scroll .cashflow-header .cashflow-navigation .nav-btn{width:100%;max-width:none}.cashflow-chart-container-scroll{padding:1rem}.cashflow-chart-scroll-container .keyboard-hint{display:none}.cashflow-chart-scroll-container .chart-navigation{grid-template-columns:1fr;justify-items:center}.cashflow-chart-scroll-container .chart-navigation .week-range,.cashflow-chart-scroll-container .chart-navigation .cashflow-axis-mode{justify-self:center}}@media print{.cashflow-planung-scroll .cashflow-navigation,.cashflow-planung-scroll .lazy-loading-indicator,.cashflow-planung-scroll .chart-navigation,.cashflow-planung-scroll .keyboard-hint{display:none!important}.cashflow-planung-scroll .cashflow-chart-container-scroll{box-shadow:none;border:1px solid #000}}@media (prefers-reduced-motion:reduce){.lazy-loading-indicator{animation:none}}.cashflow-axis-mode{align-items:center;gap:var(--space-2);color:var(--text-muted);justify-self:end;font-size:.8rem;display:flex}.cashflow-axis-mode select{border:1px solid var(--line-strong);background:var(--surface-page);color:var(--text-body);border-radius:4px;padding:2px 6px;font-size:.8rem}.cashflow-legend{justify-content:center;gap:var(--space-1) var(--space-3);margin:0 0 var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.cashflow-legend__item{align-items:center;gap:var(--space-2);color:var(--text-body);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:.8rem;display:inline-flex}.cashflow-legend__item[aria-pressed=false]{color:var(--text-muted);text-decoration:line-through}.cashflow-legend__swatch--bar{border:1px solid;border-radius:2px;width:12px;height:10px}html:has(.cashflow-planung-scroll){scroll-snap-type:y proximity}.cashflow-planung-scroll .weekly-details-table-container{scroll-snap-align:start}.cashflow-lens{align-items:flex-start;gap:var(--space-2);margin:var(--space-4) 0 var(--space-5);flex-wrap:wrap;font-size:.8rem;display:flex}.cashflow-lens label{opacity:.75;align-self:center}.cashflow-lens select{border:1px solid var(--line-faint);background:var(--surface-card);color:var(--text-body);border-radius:4px;padding:2px 6px;font-size:.8rem}.cashflow-lens>.ui-callout{flex-basis:100%}.perspective-editor__list{margin:0;padding:0;list-style:none}.perspective-editor__row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line-faint);display:flex}.perspective-editor__name{flex:1}.perspective-editor__kind,.perspective-editor__count{color:var(--text-muted);font-size:.8rem}.perspective-editor__picker{gap:var(--space-2);margin:var(--space-4) 0 0;border:0;flex-direction:column;padding:0;display:flex}.perspective-editor__projects{max-height:16rem;overflow-y:auto}.invoice-reminder-banner__title{margin-bottom:var(--space-2)}.invoice-reminder-banner__list{margin:0;padding:0;list-style:none}.invoice-reminder-banner__item{align-items:center;gap:var(--space-3);border-top:var(--border-hair) solid var(--line);font-size:var(--size-meta);color:var(--text-body);padding:6px 0;display:flex}.invoice-reminder-banner__datum{font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:78px}.invoice-reminder-banner__datum.ueberfaellig{color:var(--text-strong);font-weight:var(--weight-bold);border-bottom:2px solid var(--signal)}.invoice-reminder-banner__name{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;text-align:left;min-width:0;font:inherit;color:inherit;background:0 0;border:none;flex:1;padding:0;overflow:hidden}.invoice-reminder-banner__name:hover{text-decoration:underline}.invoice-reminder-banner__betrag{font-variant-numeric:tabular-nums;font-weight:var(--weight-bold)}.cashflow-szenarien{flex-direction:column;gap:1rem;display:flex}.szenario-schwellen .geaendert{color:var(--warning-color)}.szenario-controls{flex-direction:column;gap:1.5rem;display:flex}.szenario-group h3{color:var(--text-color);margin:0 0 .25rem;font-size:1rem}.szenario-table{margin-bottom:.75rem}.szenario-table__name{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.szenario-table input,.szenario-table select{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:4px;padding:4px 6px;font-size:.8rem}.szenario-table input[type=number]{width:7em}.szenario-table input:disabled,.szenario-table select:disabled{opacity:.5}.cashflow-past-week{margin:var(--space-3) 0;padding:var(--space-3);border:var(--border-hair) solid var(--line);background:var(--surface-card);border-radius:8px}.cashflow-past-week__header{justify-content:space-between;align-items:center;display:flex}.cashflow-past-week__group{margin-top:var(--space-3)}.image-uploader-section{border-top:2px solid var(--text-bg-color);margin-top:2rem;padding-top:2rem}.image-uploader-section h3{color:var(--text-color);margin:0 0 1.5rem;font-size:1.1rem;font-weight:600}.info-message{border:1px solid var(--text-bg-color);text-align:center;background:#b3a9d71a;border-radius:6px;padding:1rem}.info-message p{color:var(--text-color);opacity:.7;margin:0;font-size:.9rem}.image-uploader{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;margin-bottom:2rem;padding:1.5rem}.image-uploader .upload-error{color:#dc2626;background:#ef44441a;border:1px solid #ef4444;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.image-uploader .upload-error strong{font-weight:600}.image-uploader .upload-error .error-close{color:#dc2626;cursor:pointer;background:0 0;border:none;flex-shrink:0;width:24px;height:24px;padding:0;font-size:1.5rem;line-height:1}.image-uploader .upload-error .error-close:hover{color:#991b1b}.image-uploader .upload-progress{border:1px solid var(--main-color);color:var(--main-color);text-align:center;background:#0596691a;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500}.image-uploader .uploader-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.image-uploader .uploader-header h4{color:var(--text-color);text-transform:capitalize;margin:0;font-size:1rem;font-weight:600}.image-uploader .uploader-header .image-count{color:var(--text-color);opacity:.7;font-size:.875rem}.image-uploader .upload-area{border:2px dashed var(--text-bg-color);text-align:center;background:var(--background-color);border-radius:8px;padding:2rem;transition:all .3s}.image-uploader .upload-area.drag-over{border-color:var(--main-color);background:#0596690d}.image-uploader .upload-area.uploading{opacity:.5;pointer-events:none}.image-uploader .upload-area .upload-button{background:var(--main-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.9rem;transition:all .2s}.image-uploader .upload-area .upload-button:hover:not(:disabled){background:#048560;transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.image-uploader .upload-area .upload-button:disabled{background:var(--text-bg-color);cursor:not-allowed}.image-uploader .upload-area .upload-info{color:var(--text-color);opacity:.6;margin-top:.75rem;font-size:.875rem}.image-uploader .images-list{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.image-uploader .image-item{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;gap:1rem;padding:1rem;transition:all .2s;display:flex}.image-uploader .image-item:hover{border-color:var(--main-color);box-shadow:0 2px 8px #0000001a}.image-uploader .image-item .image-thumbnail{background:var(--text-bg-color);border-radius:6px;flex-shrink:0;width:120px;height:120px;overflow:hidden}.image-uploader .image-item .image-thumbnail img{object-fit:cover;width:100%;height:100%}.image-uploader .image-item .image-details{flex-direction:column;flex:1;gap:.75rem;display:flex}.image-uploader .image-item .image-details .image-text-input{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:4px;padding:.5rem;font-size:.875rem}.image-uploader .image-item .image-details .image-text-input:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 3px #0596691a}.image-uploader .image-item .image-details .image-checkbox{align-items:center;gap:.5rem;display:flex}.image-uploader .image-item .image-details .image-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--main-color)}.image-uploader .image-item .image-details .image-checkbox label{color:var(--text-color);cursor:pointer;user-select:none;margin:0;font-size:.875rem}.image-uploader .image-item .image-details .image-metadata{color:var(--text-color);opacity:.6;gap:1rem;font-size:.8rem;display:flex}.image-uploader .image-item .image-details .image-metadata span:not(:last-child):after{content:"•";margin-left:1rem}.image-uploader .image-item .image-actions{align-items:center;display:flex}.image-uploader .image-item .image-actions .delete-button{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.image-uploader .image-item .image-actions .delete-button:hover{color:#fff;background:#ef4444}@media (width<=768px){.image-uploader .image-item{flex-direction:column}.image-uploader .image-item .image-thumbnail{width:100%;height:200px}.image-uploader .image-item .image-actions{justify-content:center}.image-uploader .image-item .image-actions .delete-button{width:100%}}[data-theme=dark] .image-uploader .upload-area{background:#1f1f1f}[data-theme=dark] .image-uploader .upload-area.drag-over{background:#0596691a}[data-theme=dark] .image-uploader .image-item{background:#1f1f1f}[data-theme=dark] .image-uploader .image-item .image-thumbnail{background:#2a2a2a}.website-settings{max-width:900px}.website-settings__fields{border:0;min-width:0;margin:0;padding:0}.website-settings .form-section input,.website-settings .form-section textarea{box-sizing:border-box;vertical-align:middle;width:100%;min-height:var(--field-height);padding:var(--space-1) var(--space-2);border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);background:var(--surface-card);color:var(--text-strong);font:var(--weight-book) var(--size-small)/1.4 var(--font-sans)}.website-settings .form-section input:where(:not(textarea)),.website-settings .form-section textarea:where(:not(textarea)){height:var(--field-height)}.website-settings .form-section input::placeholder,.website-settings .form-section textarea::placeholder{color:var(--text-muted)}.website-settings .form-section input:hover:not(:disabled),.website-settings .form-section textarea:hover:not(:disabled){border-color:var(--line-strong)}.website-settings .form-section input:focus-visible,.website-settings .form-section textarea:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0;border-color:var(--line-strong)}.website-settings .form-section input:disabled,.website-settings .form-section textarea:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}.website-settings .form-section input,.website-settings .form-section textarea{margin-bottom:var(--space-2)}.website-settings .form-section>:is(input,textarea){margin-bottom:0}.website-settings .form-section textarea{resize:vertical}.website-settings .name-input-group{gap:.5rem;margin-bottom:1rem;display:flex}.website-settings .name-input-group input{flex:1;margin-bottom:0}.website-settings .names-list{padding:0;list-style:none}.website-settings .names-list li{padding:var(--row-pad) 0;border-bottom:var(--border-hair) solid var(--line);justify-content:space-between;align-items:center;display:flex}.website-settings .ui-callout{margin-bottom:var(--space-3)}.website-settings .block-list{flex-direction:column;gap:.75rem;display:flex}.website-settings .block-card{border:1px solid var(--text-bg-color,#333);border-radius:6px;padding:.75rem}.website-settings .block-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.website-settings .block-header .block-type-badge{text-transform:uppercase;opacity:.7;border:1px solid;border-radius:3px;padding:1px 5px;font-size:.7rem}.website-settings .block-header .block-title{flex:1;min-width:8rem}.website-settings .block-header .block-published{white-space:nowrap;align-items:center;gap:.25rem;font-size:.8rem;display:flex}.website-settings .action-btn{border:1px solid color-mix(in srgb, var(--text-color) 15%, transparent);color:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:2px 6px}.website-settings .action-btn:disabled{opacity:.4;cursor:default}.website-settings .action-btn.action-btn-danger:hover{color:#e57373;border-color:#ff505066}.website-settings .block-richtext{width:100%}.website-settings .event-row{margin-bottom:.4rem}.website-settings .event-row .event-fields{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.website-settings .gallery-grid{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.website-settings .gallery-grid .gallery-item{flex-direction:column;gap:.25rem;width:140px;display:flex}.website-settings .gallery-grid .gallery-thumb{object-fit:cover;background:color-mix(in srgb, var(--text-color) 5%, transparent);border-radius:4px;width:140px;height:90px}.website-settings .gallery-grid .input-required{border-color:var(--warning-color,#f0a030)}.website-settings .block-add{gap:.5rem;margin-top:.5rem;display:flex}.weekly-details-table-container{margin-top:3rem}.weekly-details-table-container .weekly-details-header{border-bottom:2px solid var(--text-bg-color);margin-bottom:1.5rem;padding-bottom:1rem}.weekly-details-table-container .weekly-details-header .weekly-details-title-row{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.weekly-details-table-container .weekly-details-header h3{color:var(--text-color);margin:0;font-size:1.25rem;font-weight:600}.weekly-details-table-container .weekly-details-header .ui-filter-bar{margin-top:var(--space-4)}.weekly-details-table-container .table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.weekly-details-table-container .weekly-details-table thead th.week-col{width:80px}.weekly-details-table-container .weekly-details-table thead th.details-col{width:35%}.weekly-details-table-container .weekly-details-table thead th.amount-col{text-align:right;width:100px}.weekly-details-table-container .weekly-details-table thead th.cashflow-col{text-align:right;width:120px}.weekly-details-table-container .weekly-details-table tbody .week-row{transition:background-color .5s}.weekly-details-table-container .weekly-details-table tbody .week-row:hover{background:var(--text-bg-color)}.weekly-details-table-container .weekly-details-table tbody .week-row.week-row-highlight{background:#3b82f61a;animation:2s ease-out week-highlight-fade}@keyframes week-highlight-fade{0%{background:#3b82f640}to{background:#3b82f60d}}.weekly-details-table-container .weekly-details-table tbody td{vertical-align:top}.weekly-details-table-container .weekly-details-table tbody .week-label .week-number{margin-bottom:.25rem}.weekly-details-table-container .weekly-details-table tbody .week-label .week-dates{color:var(--text-muted)}.weekly-details-table-container .weekly-details-table tbody .details-cell .empty-text{color:var(--text-color);opacity:.4;font-style:italic}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-list{flex-direction:column;gap:.5rem;display:flex}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item{background:var(--text-bg-color);border-radius:4px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:all .2s;display:flex}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item:hover{transform:translate(2px);box-shadow:0 2px 4px #0000000d}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item.prognose{background:#8b5cf60d;border-left:3px solid #8b5cf6}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-icon{cursor:help;white-space:nowrap;border-radius:3px;flex-shrink:0;padding:.15rem .4rem;font-size:.65rem;font-weight:500}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-icon.status-expected{color:#6b7280;background-color:#f3f4f6}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-icon.status-sent{color:#1d4ed8;background-color:#dbeafe}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-icon.status-delayed{color:#d97706;background-color:#fef3c7}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-icon.status-overdue{color:#dc2626;background-color:#fee2e2}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-icon.status-paid{color:#059669;background-color:#d1fae5}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-button{background:var(--main-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:3px;flex-shrink:0;padding:.15rem .4rem;font-size:.65rem;font-weight:500;transition:all .2s}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-button:hover{background:var(--main-dark-color);transform:scale(1.05)}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-button:active{transform:scale(.95)}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-name{color:var(--text-color);flex:1;align-items:center;gap:.5rem;min-width:0;font-size:.75rem;display:flex}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-name .entry-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-badge{border:1px solid var(--text-color);color:var(--text-color);opacity:.35;background:0 0;border-radius:2px;padding:.1rem .4rem;font-size:.6rem;font-weight:400;display:inline-block}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-badge.prognose{color:#fff;opacity:1;background:#8b5cf6;border:none}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-amount{white-space:nowrap;margin-left:1rem;font-size:.65rem;font-weight:600}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-amount.positive{color:#22c55e}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-amount.negative{color:#ef4444}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-amount .eigenanteil-badge{color:#0ea58a;opacity:.85;margin-left:.3rem;font-size:.6rem;font-weight:500}.weekly-details-table-container .weekly-details-table tbody .amount-total{text-align:right;font-size:.65rem;font-weight:700}.weekly-details-table-container .weekly-details-table tbody .amount-total.positive{color:#22c55e}.weekly-details-table-container .weekly-details-table tbody .amount-total.negative{color:#ef4444}.weekly-details-table-container .weekly-details-table tbody .amount-total .eigenanteil-sum{color:#0ea58a;opacity:.85;font-size:.6rem;font-weight:500;display:block}.weekly-details-table-container .weekly-details-table tbody .amount-total .prognose-sum{opacity:.7;font-size:.6rem;font-style:italic;font-weight:500;display:block}.weekly-details-table-container .weekly-details-table tbody .cashflow-value{text-align:right;font-weight:700}.weekly-details-table-container .weekly-details-table tbody .cashflow-value .cashflow-amount{margin-bottom:.25rem;font-size:.65rem}.weekly-details-table-container .weekly-details-table tbody .cashflow-value .cashflow-eigenanteil{color:#0ea58a;opacity:.85;margin-bottom:.15rem;font-size:.6rem;font-weight:500}.weekly-details-table-container .weekly-details-table tbody .cashflow-value .cashflow-change{opacity:.7;font-size:.65rem}.weekly-details-table-container .weekly-details-table tbody .cashflow-value.positive,.weekly-details-table-container .weekly-details-table tbody .cashflow-value.positive .cashflow-amount{color:#22c55e}.weekly-details-table-container .weekly-details-table tbody .cashflow-value.negative,.weekly-details-table-container .weekly-details-table tbody .cashflow-value.negative .cashflow-amount{color:#ef4444}@media (width<=1200px){.weekly-details-table-container .weekly-details-table thead th.details-col{width:30%}}@media (width<=768px){.weekly-details-table-container{margin-top:2rem;padding:1rem}.weekly-details-table-container .weekly-details-header h3{font-size:1.1rem}.weekly-details-table-container .table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.weekly-details-table-container .weekly-details-table{min-width:800px}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item{flex-direction:column;align-items:flex-start;gap:.25rem;padding:.4rem .6rem}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-name{font-size:.65rem}.weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-amount{margin-left:0;font-size:.85rem}.weekly-details-table-container .weekly-details-table tbody .amount-total{font-size:.9rem}.weekly-details-table-container .weekly-details-table tbody .cashflow-value .cashflow-amount{font-size:1rem}.weekly-details-table-container .weekly-details-table tbody .cashflow-value .cashflow-change{font-size:.75rem}}@media print{.weekly-details-table-container{box-shadow:none;page-break-inside:avoid;border:1px solid #000}.weekly-details-table-container .weekly-details-table thead{background:#f0f0f0!important}.weekly-details-table-container .weekly-details-table thead th{border:1px solid #000;color:#000!important}.weekly-details-table-container .weekly-details-table tbody tr{page-break-inside:avoid}.weekly-details-table-container .weekly-details-table tbody td{border:1px solid #ddd}.weekly-details-table-container .weekly-details-table tbody .entry-item{border:1px solid #ddd;background:0 0!important}}[data-theme=dark] .weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item:hover{box-shadow:0 2px 4px #ffffff1a}[data-theme=dark] .weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-icon.status-expected{color:#9ca3af;background-color:#374151}[data-theme=dark] .weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-icon.status-sent{color:#93c5fd;background-color:#1e3a8a}[data-theme=dark] .weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-icon.status-delayed{color:#fcd34d;background-color:#78350f}[data-theme=dark] .weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-icon.status-overdue{color:#fca5a5;background-color:#7f1d1d}[data-theme=dark] .weekly-details-table-container .weekly-details-table tbody .details-cell .entry-item .entry-status-icon.status-paid{color:#6ee7b7;background-color:#065f46}.weekly-details-header{border-bottom:2px solid var(--text-bg-color);margin-bottom:1.5rem;padding-bottom:1rem}.weekly-details-header h3{color:var(--text-color);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.weekly-details-header .monthly-average{color:var(--text-color);opacity:.7;margin:0;font-size:.9rem}.phase-waterfall-container{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:8px;width:100%;margin-bottom:2rem;position:relative;overflow-x:auto}.phase-waterfall-empty{text-align:center;color:var(--text-color);opacity:.6;padding:2rem}.waterfall-header{border-bottom:2px solid var(--text-bg-color);background:var(--background-color);z-index:10;display:flex;position:sticky;top:0}.phase-names-column{border-right:2px solid var(--text-bg-color);background:var(--background-color);z-index:11;flex-shrink:0;width:150px;min-width:150px;position:sticky;left:0}.phase-names-column .header-cell{color:var(--text-color);text-align:center;justify-content:center;align-items:center;height:100%;padding:.5rem;font-size:.75rem;font-weight:600;display:flex}.timeline-header{flex-direction:column;flex:1;min-width:0;display:flex}.timeline-header .year-row{border-bottom:1px solid var(--text-bg-color);background:var(--main-color);width:100%;display:flex}.timeline-header .year-row .year-cell{text-align:center;color:#fff;background:var(--main-color);border-right:1px solid #fff3;flex-shrink:0;padding:.5rem;font-size:.875rem;font-weight:700}.timeline-header .year-row .year-cell:last-child{border-right:none}.timeline-header .month-row{border-bottom:1px solid var(--text-bg-color);background:var(--second-color);width:100%;display:flex}.timeline-header .month-row .month-cell{text-align:center;color:var(--text-color);border-right:1px solid var(--text-bg-color);background:var(--second-color);flex-shrink:0;padding:.4rem .25rem;font-size:.75rem;font-weight:600}.timeline-header .month-row .month-cell:last-child{border-right:none}.timeline-header .week-row{background:var(--background-color);width:100%;display:flex}.timeline-header .week-row .week-cell{text-align:center;width:20px;min-width:20px;max-width:20px;color:var(--text-color);border-right:1px solid var(--text-bg-color);cursor:pointer;background:var(--background-color);flex-shrink:0;justify-content:center;align-items:center;padding:.25rem 0;font-size:.5rem;transition:all .15s;display:flex;position:relative}.timeline-header .week-row .week-cell .week-number{writing-mode:vertical-rl;text-orientation:mixed;font-size:.5rem}.timeline-header .week-row .week-cell:hover{background:var(--text-bg-color)}.timeline-header .week-row .week-cell.current-week{background:var(--main-color);color:#fff;font-weight:600}.waterfall-body{flex-direction:column;width:100%;display:flex;position:relative}.phase-row{border-bottom:1px solid var(--text-bg-color);width:100%;min-height:40px;display:flex;position:relative}.phase-row:hover{background:var(--text-bg-color)}.phase-row .phase-name{border-right:2px solid var(--text-bg-color);cursor:pointer;background:var(--background-color);z-index:5;flex-shrink:0;align-items:center;width:150px;min-width:150px;max-width:150px;padding:.5rem;transition:all .15s;display:flex;position:sticky;left:0}.phase-row .phase-name:hover{background:var(--second-color);color:var(--main-color)}.phase-row .phase-name:hover .phase-tooltip{display:block}.phase-row .phase-name .phase-name-text{color:var(--text-color);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:500;overflow:hidden}.phase-row .phase-name .phase-tooltip{background:var(--main-color);color:#fff;white-space:nowrap;z-index:20;border-radius:6px;margin-left:.5rem;padding:.5rem .75rem;font-size:.7rem;display:none;position:absolute;top:50%;left:100%;transform:translateY(-50%);box-shadow:0 2px 8px #0003}.phase-row .phase-name .phase-tooltip:before{content:"";border:6px solid #0000;border-right-color:var(--main-color);position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.phase-row .timeline-body{flex:1;width:100%;min-width:0;display:flex;position:relative}.phase-row .timeline-body .week-slot{border-right:1px solid var(--text-bg-color);flex-shrink:0;width:20px;min-width:20px;max-width:20px;height:40px;position:relative}.phase-row .timeline-body .week-slot .phase-bar{background:var(--main-color);height:24px;transition:all .15s;position:absolute;top:8px;left:0;right:0}.phase-row .timeline-body .week-slot .phase-bar.bar-start{border-top-left-radius:3px;border-bottom-left-radius:3px}.phase-row .timeline-body .week-slot .phase-bar.bar-end{border-top-right-radius:3px;border-bottom-right-radius:3px}.phase-row .timeline-body .week-slot .phase-bar:hover{z-index:2;transform:scaleY(1.15);box-shadow:0 2px 8px #0003}.phase-row .timeline-body .current-week-line{background:var(--main-color);z-index:3;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.phase-row .timeline-body .current-week-line:before{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:6px solid var(--main-color);width:0;height:0;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.payments-row{background:var(--text-bg-color);border-top:2px solid var(--text-bg-color)}.payments-row .phase-name{background:var(--text-bg-color);font-weight:600}.payments-row .payment-slot{justify-content:center;align-items:center;display:flex}.payments-row .payment-slot .payment-marker{cursor:pointer;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.payments-row .payment-slot .payment-marker .payment-diamond{background:#fbbf24;width:12px;height:12px;transition:all .15s;transform:rotate(45deg);box-shadow:0 2px 4px #0003}.payments-row .payment-slot .payment-marker .payment-diamond:hover{transform:rotate(45deg)scale(1.3);box-shadow:0 3px 6px #0000004d}.payments-row .payment-slot .payment-marker:hover:after{content:attr(title);color:#fff;white-space:nowrap;z-index:10;background:#1f2937;border-radius:4px;margin-bottom:.25rem;padding:.25rem .5rem;font-size:.7rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}[data-theme=dark] .phase-waterfall-container{background:#1a1a1a;border-color:#333}[data-theme=dark] .waterfall-header{background:#1a1a1a;border-bottom-color:#333}[data-theme=dark] .phase-names-column{background:#1a1a1a;border-right-color:#333}[data-theme=dark] .timeline-header .month-row{background:#0596691a;border-bottom-color:#333}[data-theme=dark] .timeline-header .month-row .month-cell,[data-theme=dark] .timeline-header .week-row .week-cell{border-right-color:#333}[data-theme=dark] .timeline-header .week-row .week-cell:hover{background:#262626}[data-theme=dark] .phase-row{border-bottom-color:#333}[data-theme=dark] .phase-row:hover{background:#262626}[data-theme=dark] .phase-row .phase-name{background:#1a1a1a;border-right-color:#333}[data-theme=dark] .phase-row .phase-name:hover{background:#0596691a}[data-theme=dark] .phase-row .timeline-body .week-slot{border-right-color:#333}@media (width<=768px){.phase-names-column{width:120px;min-width:120px;max-width:120px}.phase-row .phase-name{width:120px;min-width:120px;max-width:120px;padding:.5rem .25rem}.phase-row .phase-name .phase-name-text{font-size:.7rem}.timeline-header .year-row .year-cell{padding:.4rem .25rem;font-size:.75rem}.timeline-header .month-row .month-cell{padding:.3rem .2rem;font-size:.7rem}}.cost-estimation-modal{background:var(--background-color);border:1px solid var(--text-bg-color);border-radius:12px;flex-direction:column;width:95vw;max-width:1600px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000004d}:where(:root:not([data-theme=dark])) .cost-estimation-modal{box-shadow:0 20px 40px #0000001a}.modal-controls{border-bottom:1px solid var(--text-bg-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.modal-controls .phase-selector{align-items:center;gap:.5rem;display:flex}.modal-controls .phase-selector label{color:var(--text-color);font-weight:500}.modal-controls .phase-selector select{border:1px solid var(--main-color);background:var(--background-color);color:var(--text-color);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.modal-controls .phase-selector select:hover{border-color:var(--main-color);background:var(--second-color)}.modal-controls .phase-selector select:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #0596691a}.modal-controls .phase-selector input{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:6px;padding:.5rem 1rem;font-size:.9rem}.modal-controls .phase-selector input:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #0596691a}.modal-controls .phase-selector button{border:1px solid var(--main-color);background:var(--main-color);color:#fff;cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-weight:500;transition:all .2s}.modal-controls .phase-selector button:hover:not(:disabled){background:#059669cc}.modal-controls .phase-selector button:disabled{opacity:.5;cursor:not-allowed}.modal-controls .object-selector{align-items:center;gap:.5rem;display:flex}.modal-controls .object-selector label{color:var(--text-color);font-weight:500}.modal-controls .object-selector select{border:1px solid var(--main-color);background:var(--background-color);color:var(--text-color);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.modal-controls .object-selector select:hover{border-color:var(--main-color);background:var(--second-color)}.modal-controls .object-selector select:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #0596691a}.modal-controls .object-manage-button{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);cursor:pointer;border-radius:6px;padding:.3rem .6rem;font-size:.85rem;transition:all .2s}.modal-controls .object-manage-button:hover{background:var(--second-color);border-color:var(--main-color)}.modal-controls .add-object-button{border:1px dashed var(--text-bg-color);color:var(--text-color);cursor:pointer;background:0 0;border-radius:6px;padding:.4rem .8rem;font-size:.85rem;transition:all .2s}.modal-controls .add-object-button:hover{background:var(--second-color);border-color:var(--main-color)}.modal-controls .object-name-badge{background:var(--main-color);color:#fff;vertical-align:middle;border-radius:4px;margin-left:.5rem;padding:.15rem .5rem;font-size:.75rem;font-weight:500}.object-item{border-radius:4px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.3rem;display:flex}.object-item:hover{background:var(--second-color)}.object-item .delete-button{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #dc2626;border-radius:4px;padding:.2rem .5rem;font-size:.8rem}.object-item .delete-button:hover{color:#fff;background:#dc2626}.level-switcher{background:var(--second-color);border-radius:8px;gap:.5rem;padding:.25rem;display:flex}.level-switcher .level-button{color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:500;transition:all .2s}.level-switcher .level-button:hover{background:var(--background-color)}.level-switcher .level-button.active{background:var(--main-color);color:#fff}.project-total{flex-direction:column;gap:.25rem;display:flex}.project-total .total-main{color:var(--text-color);font-size:1.1rem}.project-total .total-main strong{color:var(--main-color);font-size:1.3rem;font-weight:700}.project-total .total-vat{color:var(--text-color);opacity:.7;font-size:.85rem}.saving-indicator{background:var(--third-color);color:#fff;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;animation:1.5s ease-in-out infinite pulse}.error-message{color:#fff;background:#ef4444;border-radius:6px;padding:.5rem 1rem;font-size:.9rem}.modal-content{flex-direction:column;flex:1;padding:.5rem 1.5rem 1.5rem;display:flex;overflow:hidden}.table-wrapper{padding:0}.table-wrapper::-webkit-scrollbar{width:10px;height:10px}.table-wrapper::-webkit-scrollbar-track{background:var(--background-color)}.table-wrapper::-webkit-scrollbar-thumb{background:var(--text-bg-color);border-radius:5px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--main-color)}.switch{width:44px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch input:checked+.slider{background-color:var(--main-color)}.switch input:checked+.slider:before{transform:translate(20px)}.switch input:disabled+.slider{opacity:.5;cursor:not-allowed}.switch input:focus+.slider{box-shadow:0 0 0 2px var(--main-color)}.switch .slider{cursor:pointer;background-color:var(--text-bg-color);border-radius:24px;transition:all .3s;position:absolute;inset:0}.switch .slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.add-button{border:1px solid var(--main-color);background:var(--background-color);width:2rem;height:2rem;color:var(--main-color);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;transition:all .2s;display:flex}.add-button:hover:not(:disabled){background:var(--main-color);color:#fff}.add-button:disabled{opacity:.5;cursor:not-allowed}.add-button:focus{outline:2px solid var(--main-color);outline-offset:2px}.delete-button{border:1px solid var(--main-color);background:var(--background-color);color:#dc2626;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.5rem;font-weight:700;line-height:1;transition:all .2s;display:flex}.delete-button:hover:not(:disabled){color:#fff;background:#dc2626}.delete-button:disabled{opacity:.5}.delete-button:focus{outline-offset:2px;outline:2px solid #dc2626}@media (width<=768px){.cost-estimation-modal{border-radius:0;width:100vw;max-width:100vw;max-height:100vh}.modal-controls{flex-direction:column;align-items:stretch;gap:.5rem}.level-switcher{width:100%}.level-switcher .level-button{flex:1}}.disabled{color:var(--text-bg-color);cursor:pointer}.disabled input,.disabled select{color:var(--text-bg-color);cursor:not-allowed}.grayed{color:var(--text-bg-color)}.filter-button{border:1px solid var(--main-color);background:var(--background-color);color:var(--main-color);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-weight:500;transition:all .2s}.filter-button:hover:not(:disabled){background:var(--main-color);color:#fff}.filter-button:disabled{opacity:.5;cursor:not-allowed}.level-switcher>.save-button{border:1px solid var(--main-color);background:var(--main-color);color:#fff;cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-weight:500;transition:all .2s}.level-switcher>.save-button:hover:not(:disabled){opacity:.85}.level-switcher>.save-button:disabled{opacity:.4;cursor:not-allowed}.search-bar{align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 0;display:flex}.search-bar input{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:6px;flex:1;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.search-bar input:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #0596691a}.search-bar input::placeholder{color:var(--text-color);opacity:.5}.search-bar .clear-search{border:1px solid var(--text-bg-color);background:var(--background-color);width:2rem;height:2rem;color:var(--text-color);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;transition:all .2s;display:flex}.search-bar .clear-search:hover{background:var(--text-bg-color);color:#dc2626;border-color:#dc2626}.collapse-toggle{border:1px solid var(--text-bg-color);cursor:pointer;color:var(--text-color);background:0 0;border-radius:4px;padding:4px 8px;font-size:.85rem;font-weight:500;transition:all .2s}.collapse-toggle:hover{border-color:var(--main-color);background:var(--second-color)}.collapse-toggle:focus{outline:2px solid var(--main-color);outline-offset:2px}.filter-sums-toggle{border:var(--border-hair) solid var(--line);cursor:pointer;background:0 0;border-radius:4px;align-items:center;padding:6px 8px;transition:all .2s;display:flex}.filter-sums-toggle:disabled{opacity:.3;cursor:not-allowed}.filter-sums-toggle:not(:disabled):hover{background:var(--surface-sunken)}.filter-sums-toggle.active{background:#2c5282;border-color:#2c5282}.filter-sums-toggle.active svg{stroke:#fff}.export-button{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:4px;padding:.5rem .75rem;font-size:1rem}.export-button:hover{background:#059669}.name-content{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.note-indicators{flex-shrink:0;gap:.25rem;display:flex}.note-indicator,.risk-indicator,.nuessli-indicator{cursor:pointer;border-radius:2px;flex-shrink:0;width:8px;height:8px}.note-indicator:hover,.risk-indicator:hover,.nuessli-indicator:hover{opacity:.7}.note-indicator{background-color:#3b82f6}.risk-indicator{background-color:#ef4444}.nuessli-indicator{background-color:#f59e0b}.cost-estimation-page{box-sizing:border-box;flex-direction:column;width:100%;height:calc(100vh - 60px);padding:2rem;transition:margin-right .2s ease-out;display:flex}.cost-estimation-page.sidebar-open{margin-right:320px}.cost-estimation-page .modal-controls{z-index:100;background:var(--background-color);border-bottom:1px solid var(--text-bg-color);flex-shrink:0;margin-bottom:0;padding:1rem 0}.cost-estimation-page .content-area{flex:1;width:100%;max-width:95vw;min-height:0;overflow:auto}.filter-tag{background:var(--main-color);color:var(--text-color);border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:.9em;display:inline-flex}.filter-tag .remove-filter{color:#fff;cursor:pointer;background:0 0;border:none;padding:0 4px;font-weight:700}.filter-tag .remove-filter:hover{color:var(--error-color)}.context-menu{background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:150px;overflow:hidden;box-shadow:0 4px 12px #00000026}.context-menu .context-menu-item{text-align:left;cursor:pointer;color:#374151;background:0 0;border:none;width:100%;padding:.75rem 1rem;font-size:.9rem;transition:background-color .15s;display:block}.context-menu .context-menu-item:not(:last-child){border-bottom:1px solid #e5e7eb}.variant-name-section{margin-bottom:1.5rem}.variant-name-section label{color:#374151;margin-bottom:.5rem;font-weight:500;display:block}.variant-name-section .variant-combo-input{gap:.5rem;display:flex}.variant-name-section .variant-combo-input input[type=text]{border:1px solid #d1d5db;border-radius:6px;flex:1;padding:.75rem 1rem;font-size:.95rem}.variant-name-section .variant-combo-input input[type=text]:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #0596691a}.variant-name-section .variant-combo-input .variant-dropdown{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:180px;padding:.75rem 1rem;font-size:.95rem}.variant-name-section .variant-combo-input .variant-dropdown:focus{border-color:var(--main-color);outline:none}.variant-positions-section{border:1px solid #e5e7eb;border-radius:6px;margin-bottom:1.5rem;overflow:hidden}.add-position-section{margin-bottom:1rem}.add-position-section .add-position-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px dashed #d1d5db;border-radius:6px;width:100%;padding:.75rem 1rem;font-size:.9rem;transition:all .15s}.add-position-section .add-position-btn:hover{border-color:var(--main-color);color:var(--main-color);background:#0596690d}.variant-group-section{margin-top:1rem}.variant-group-section label{color:#374151;margin-bottom:.5rem;font-weight:500;display:block}.variant-group-section select{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem 1rem;font-size:.95rem}.variant-group-section select:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #0596691a}.variant-manager-button{border:1px solid var(--main-color);background:var(--background-color);color:var(--main-color);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;transition:all .2s;display:flex}.variant-manager-button:hover:not(:disabled){background:var(--main-color);color:#fff}.variant-manager-button .variant-count-badge{background:var(--main-color);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;font-weight:600;display:inline-flex}.variant-manager-button:hover .variant-count-badge{color:var(--main-color);background:#fff}.scenario-button{border:1px solid var(--main-color);background:var(--background-color);color:var(--main-color);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;transition:all .2s;display:flex}.scenario-button:hover:not(:disabled){background:var(--main-color);color:#fff}.scenario-button .scenario-active-dot{background:#22c55e;border-radius:50%;width:8px;height:8px}.add-scenario-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px dashed #d1d5db;border-radius:6px;width:100%;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;transition:all .15s}.add-scenario-btn:hover{border-color:var(--main-color);color:var(--main-color);background:#0596690d}.scenario-list{flex-direction:column;gap:.75rem;display:flex}.no-scenarios,.no-variants{color:#6b7280;text-align:center;padding:2rem;font-style:italic}.scenario-name-section{margin-bottom:1.5rem}.scenario-name-section label{color:#374151;margin-bottom:.5rem;font-weight:500;display:block}.scenario-name-section input{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem 1rem;font-size:.95rem}.scenario-name-section input:focus{border-color:var(--main-color);outline:none;box-shadow:0 0 0 2px #0596691a}.scenario-variants-section label{color:#374151;margin-bottom:.75rem;font-weight:500;display:block}.variants-checklist{border:1px solid #e5e7eb;border-radius:6px;flex-direction:column;gap:.5rem;max-height:300px;padding:.5rem;display:flex;overflow-y:auto}.variant-indicator{color:#fff;cursor:pointer;background:#8b5cf6;border-radius:3px;justify-content:center;align-items:center;width:16px;height:16px;font-size:.65rem;font-weight:700;display:inline-flex}.variant-indicator:hover{background:#7c3aed}.has-variant{background:#8b5cf614!important}.has-variant:hover{background:#8b5cf626!important}.variant-value{color:#8b5cf6;align-items:center;gap:.25rem;font-weight:600;display:inline-flex}.variant-indicator-small{color:#8b5cf6;cursor:help;justify-content:center;align-items:center;margin-left:.25rem;font-size:.6rem;font-weight:700;display:inline-flex}.variant-override{background:#8b5cf614!important}.variant-override:hover{background:#8b5cf626!important}.parent-override{background:#f59e0b14!important}.parent-override-indicator{color:#f59e0b;cursor:help;justify-content:center;align-items:center;margin-left:.25rem;font-size:.75rem;font-weight:700;display:inline-flex}.conflict-warning{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.conflict-warning strong{color:#78350f;margin-bottom:.25rem;display:block}.conflict-warning ul{margin:.5rem 0 0;padding-left:1.25rem}.conflict-warning ul li{margin-bottom:.25rem}.tag-display{flex-wrap:wrap;align-items:center;gap:3px;min-height:1.5rem;display:flex}.tag-chip{background:var(--main-color);color:#fff;white-space:nowrap;border-radius:3px;align-items:center;gap:2px;padding:1px 6px;font-size:.75rem;font-weight:500;line-height:1.4;display:inline-flex}.tag-chip.tag-chip-readonly{cursor:default}.tag-chip .tag-remove{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 1px;font-size:.85rem;font-weight:700;line-height:1}.tag-chip .tag-remove:hover{opacity:1}.tag-input-wrapper{border:1px solid var(--main-color);background:var(--background-color);cursor:text;border-radius:4px;flex-wrap:wrap;align-items:center;gap:3px;min-height:2rem;padding:2px;display:flex}.tag-input-wrapper .tag-input{min-width:40px;color:var(--text-color);outline:none;flex:1;margin:0;font-size:.8rem;background:0 0!important;border:none!important;height:auto!important;padding:1px 4px!important}.tag-input-wrapper .tag-input::placeholder{color:var(--text-bg-color);font-size:.75rem}.collapse-toggle-group{align-items:center;gap:4px;display:flex}.custom-column-header{white-space:nowrap;text-overflow:ellipsis;max-width:120px;overflow:hidden}.custom-field-cell{min-width:80px;max-width:150px}.custom-field-cell input{box-sizing:border-box;width:100%}.column-settings-overlay{z-index:10002;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.column-settings-modal{background:var(--background-color);color:var(--text-color);border:1px solid var(--text-bg-color);border-radius:12px;flex-direction:column;width:450px;max-height:80vh;display:flex;box-shadow:0 10px 30px #0006}.column-settings-modal .column-settings-header{border-bottom:1px solid var(--text-bg-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.column-settings-modal .column-settings-header h3{color:var(--text-color);margin:0;font-size:1.1rem}.column-settings-modal .column-settings-header>button{cursor:pointer;color:var(--text-color);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1.4rem;line-height:1}.column-settings-modal .column-settings-header>button:hover{background:var(--text-bg-color)}.column-settings-modal .column-settings-list{flex:1;min-height:60px;padding:.5rem;overflow-y:auto}.column-settings-modal .column-settings-row{border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex}.column-settings-modal .column-settings-row:hover{background:var(--text-bg-color)}.column-settings-modal .column-settings-row.hidden-column{opacity:.5}.column-settings-modal .column-reorder-buttons{flex-direction:column;gap:1px;display:flex}.column-settings-modal .column-reorder-buttons button{border:1px solid var(--text-bg-color);cursor:pointer;color:var(--text-color);background:0 0;border-radius:3px;padding:0 3px;font-size:.6rem;line-height:1}.column-settings-modal .column-reorder-buttons button:disabled{opacity:.3;cursor:default}.column-settings-modal .column-reorder-buttons button:hover:not(:disabled){background:var(--text-bg-color)}.column-settings-modal .column-name-edit{flex:1;min-width:0}.column-settings-modal .column-name-edit span{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;color:var(--text-color);border-radius:4px;padding:2px 4px;display:block;overflow:hidden}.column-settings-modal .column-name-edit span:hover{background:var(--text-bg-color)}.column-settings-modal .column-name-edit input{border:1px solid var(--main-color);width:100%;font-size:inherit;box-sizing:border-box;background:var(--background-color);color:var(--text-color);border-radius:4px;padding:2px 4px}.column-settings-modal .column-type-badge{background:var(--main-color);color:#fff;white-space:nowrap;border-radius:8px;padding:1px 6px;font-size:.7rem}.column-settings-modal .column-visibility-toggle{cursor:pointer;color:var(--text-color);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:.9rem}.column-settings-modal .column-visibility-toggle:hover{background:var(--text-bg-color)}.column-settings-modal .column-visibility-toggle.is-hidden{opacity:.4}.column-settings-modal .column-delete-button{cursor:pointer;color:#ef4444;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:1.1rem;line-height:1}.column-settings-modal .column-delete-button:hover{background:#ef444426}.column-settings-modal .column-settings-add{border-top:1px solid var(--text-bg-color);align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.column-settings-modal .column-settings-add input{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:6px;flex:1;padding:.4rem .6rem;font-size:.85rem}.column-settings-modal .column-settings-add input:focus{border-color:var(--main-color);outline:none}.column-settings-modal .column-settings-add input::placeholder{color:var(--text-bg-color)}.column-settings-modal .column-settings-add select{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:6px;padding:.4rem .5rem;font-size:.85rem}.column-settings-modal .column-settings-add button{background:var(--main-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.4rem .8rem;font-size:.85rem}.column-settings-modal .column-settings-add button:disabled{opacity:.5;cursor:default}.column-settings-modal .column-settings-add button:hover:not(:disabled){opacity:.9}.control-delete-summary{margin:.5rem 0 .75rem;font-size:.85rem}.control-delete-option{cursor:pointer;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.85rem;display:flex}.control-delete-target{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:4px;margin:0 0 .5rem 1.6rem;padding:.3rem .4rem;font-size:.85rem}.control-delete-warning{color:#f87171;margin:0 0 .5rem 1.6rem;font-size:.8rem}.context-menu-item-danger{color:#dc2626}.variant-manager-sidebar{background:var(--background-color,#fff);border-left:1px solid var(--text-bg-color,#e5e7eb);z-index:1000;flex-direction:column;width:320px;height:100vh;animation:.2s ease-out slideIn;display:flex;position:fixed;top:0;right:0;box-shadow:-4px 0 12px #0000001a}[data-theme=dark] .variant-manager-sidebar{background:#1f2937;border-left-color:#374151}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.sidebar-header{background:var(--main-color,#059669);color:#fff;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.sidebar-header h3{margin:0;font-size:1.1rem;font-weight:600}.sidebar-header .close-sidebar-btn{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1.5rem;line-height:1;display:flex}.sidebar-header .close-sidebar-btn:hover{opacity:1;background:color-mix(in srgb, var(--text-color) 10%, transparent)}.sidebar-content{flex:1;padding:0;overflow-y:auto}.sidebar-section{border-bottom:1px solid var(--text-bg-color,#e5e7eb);padding:1rem}[data-theme=dark] .sidebar-section{border-bottom-color:#374151}.section-header{margin-bottom:.75rem}.section-header h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-color,#374151);opacity:.7;margin:0;font-size:.85rem;font-weight:600}.scenarios-section .scenario-select{margin-bottom:.75rem}.scenarios-section .scenario-select select{border:1px solid var(--text-bg-color,#d1d5db);background:var(--background-color,#fff);width:100%;color:var(--text-color,#374151);cursor:pointer;border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.scenarios-section .scenario-select select:focus{border-color:var(--main-color,#059669);outline:none}[data-theme=dark] .scenarios-section .scenario-select select{color:#f9fafb;background:#374151;border-color:#4b5563}.scenarios-section .scenario-actions{gap:.5rem;margin-bottom:.75rem;display:flex}.scenarios-section .scenario-actions button{border:1px solid var(--text-bg-color,#d1d5db);background:var(--background-color,#fff);color:var(--text-color,#374151);cursor:pointer;border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.8rem;transition:all .15s}.scenarios-section .scenario-actions button:hover{border-color:var(--main-color,#059669);color:var(--main-color,#059669)}[data-theme=dark] .scenarios-section .scenario-actions button{color:#f9fafb;background:#374151;border-color:#4b5563}.scenarios-section .scenario-actions .save-scenario-btn{background:var(--main-color,#059669);color:#fff;border-color:var(--main-color,#059669)}.scenarios-section .scenario-actions .save-scenario-btn:hover{color:#fff;background:#047857}.scenarios-section .scenario-list{flex-direction:column;gap:.25rem;display:flex}.groups-section .empty-message{color:var(--text-color,#6b7280);text-align:center;padding:1rem;font-size:.85rem;font-style:italic}.variant-group{border:1px solid var(--text-bg-color,#e5e7eb);border-radius:6px;margin-bottom:.5rem;overflow:hidden}.variant-group.ungrouped{opacity:.8;border-style:dashed}[data-theme=dark] .variant-group{border-color:#4b5563}.group-header{background:var(--second-color,#f9fafb);cursor:pointer;user-select:none;align-items:center;gap:.5rem;padding:.625rem .75rem;transition:background-color .15s;display:flex}.group-header:hover{background:var(--text-bg-color,#f3f4f6)}.group-header .expand-icon{text-align:center;width:16px;color:var(--text-color,#6b7280);font-size:1rem;font-weight:600}.group-header .group-name{color:var(--text-color,#374151);flex:1;font-size:.9rem;font-weight:500}.group-header .group-name-input{border:1px solid var(--main-color,#059669);background:var(--background-color,#fff);color:var(--text-color,#374151);border-radius:4px;flex:1;padding:.25rem .5rem;font-size:.9rem}.group-header .group-name-input:focus{outline:none}.group-header .variant-count{color:var(--text-color,#6b7280);opacity:.7;font-size:.8rem}.group-header .group-actions{opacity:0;gap:.25rem;transition:opacity .15s;display:flex}.group-header:hover .group-actions{opacity:1}[data-theme=dark] .group-header{background:#374151}[data-theme=dark] .group-header:hover{background:#4b5563}.group-variants{background:var(--background-color,#fff);padding:.5rem .75rem}.group-variants .empty-variants{color:var(--text-color,#6b7280);margin:.5rem 0;font-size:.8rem;font-style:italic}[data-theme=dark] .group-variants{background:#1f2937}.variant-item{border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:.25rem;padding:.5rem .625rem;transition:background-color .1s;display:flex}.variant-item:hover{background:var(--second-color,#f9fafb)}.variant-item.active{background:#0596691a}.variant-item.active .variant-name{color:var(--main-color,#059669);font-weight:600}.variant-item.default-variant{border-bottom:1px dashed var(--text-bg-color,#e5e7eb);margin-bottom:.5rem;padding-bottom:.625rem}.variant-item.default-variant .default-name{color:var(--text-color,#6b7280);font-style:italic}.variant-item.default-variant.active .default-name{color:var(--main-color,#059669);font-style:normal}.variant-item .variant-radio{cursor:pointer;flex:1;align-items:center;gap:.5rem;display:flex}.variant-item .variant-radio input[type=radio]{cursor:pointer;width:16px;height:16px;accent-color:var(--main-color,#059669)}.variant-item .variant-name{color:var(--text-color,#374151);font-size:.875rem}.variant-item .main-badge{color:#1e40af;text-transform:uppercase;background:#dbeafe;border-radius:3px;margin-left:.5rem;padding:.1rem .35rem;font-size:.65rem;font-weight:600;display:inline-block}.variant-item .variant-item-actions{opacity:0;gap:.25rem;transition:opacity .15s;display:flex}.variant-item:hover .variant-item-actions{opacity:1}[data-theme=dark] .variant-item:hover{background:#374151}[data-theme=dark] .variant-item.active{background:#05966933}.add-variant-btn{border:1px dashed var(--text-bg-color,#d1d5db);width:100%;color:var(--text-color,#6b7280);cursor:pointer;background:0 0;border-radius:4px;margin-top:.5rem;padding:.5rem;font-size:.8rem;transition:all .15s}.add-variant-btn:hover{border-color:var(--main-color,#059669);color:var(--main-color,#059669);background:#0596690d}.add-group-section{gap:.5rem;margin-top:1rem;display:flex}.add-group-section input{border:1px solid var(--text-bg-color,#d1d5db);background:var(--background-color,#fff);color:var(--text-color,#374151);border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.85rem}.add-group-section input:focus{border-color:var(--main-color,#059669);outline:none}.add-group-section input::placeholder{color:var(--text-color,#9ca3af)}[data-theme=dark] .add-group-section input{color:#f9fafb;background:#374151;border-color:#4b5563}.add-group-section .add-group-btn{border:1px solid var(--main-color,#059669);background:var(--main-color,#059669);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;padding:.5rem .75rem;font-size:.85rem;font-weight:500;transition:all .15s}.add-group-section .add-group-btn:hover:not(:disabled){background:#047857}.add-group-section .add-group-btn:disabled{opacity:.5;cursor:not-allowed}.edit-btn,.delete-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.9rem;transition:all .15s;display:flex}.edit-btn{color:var(--text-color,#6b7280)}.edit-btn:hover{background:var(--second-color,#f3f4f6);color:var(--main-color,#059669)}.delete-btn{color:var(--text-color,#6b7280)}.delete-btn:hover{color:#dc2626;background:#fee2e2}.header-actions{align-items:center;gap:.5rem;display:flex}.compare-mode-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;padding:.35rem .75rem;font-size:.8rem;transition:all .15s}.compare-mode-btn:hover{background:#fff3;border-color:#fff}.compare-checkbox{width:18px;height:18px;accent-color:var(--main-color,#059669);cursor:pointer;flex-shrink:0}.compare-checkbox-label{cursor:pointer;flex:1;align-items:center;gap:.5rem;display:flex}.selected-for-compare{border-left:3px solid var(--main-color,#059669);background:#05966926!important}.compare-mode-footer{background:var(--second-color,#f9fafb);border-top:1px solid var(--text-bg-color,#e5e7eb);flex-direction:column;gap:.75rem;padding:1rem;display:flex}[data-theme=dark] .compare-mode-footer{background:#374151;border-top-color:#4b5563}.selection-count{color:var(--text-color,#374151);text-align:center;font-size:.9rem}.selection-count strong{color:var(--main-color,#059669);font-size:1.1rem}.compare-actions{gap:.5rem;display:flex}.compare-actions button{cursor:pointer;border-radius:6px;flex:1;padding:.625rem 1rem;font-size:.9rem;font-weight:500;transition:all .15s}.compare-actions .start-compare-btn{background:var(--main-color,#059669);color:#fff;border:1px solid var(--main-color,#059669)}.compare-actions .start-compare-btn:hover:not(:disabled){background:#047857}.compare-actions .start-compare-btn:disabled{opacity:.5;cursor:not-allowed}.compare-actions .cancel-compare-btn{background:var(--background-color,#fff);color:var(--text-color,#374151);border:1px solid var(--text-bg-color,#d1d5db)}.compare-actions .cancel-compare-btn:hover{color:#dc2626;border-color:#dc2626}[data-theme=dark] .compare-actions .cancel-compare-btn{color:#f9fafb;background:#1f2937;border-color:#4b5563}@media (width<=768px){.variant-manager-sidebar{width:100%;max-width:100vw}}.project-summary{gap:var(--space-6) var(--space-7);grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;display:grid}@media (width<=1024px){.project-summary{grid-template-columns:minmax(0,1fr)}}.project-summary__lead{max-width:62ch;margin:0 0 var(--space-6);font-size:var(--size-lead);color:var(--text-body);white-space:pre-line;line-height:1.45}.project-summary__note{padding:var(--space-4) 0;font-size:var(--size-body);color:var(--text-muted);margin:0}.project-summary__phases{margin:0;padding:0;list-style:none}.project-summary__phase{align-items:baseline;gap:var(--space-3);padding:calc(var(--row-pad) + 2px) 0;grid-template-columns:minmax(0,1fr) 96px 88px 88px;display:grid}.project-summary__phase+.project-summary__phase{border-top:var(--border-hair) solid var(--line)}.project-summary__phase-name{font-size:var(--size-lead);font-weight:var(--weight-bold);color:var(--text-strong)}.project-summary__phase-years{font-size:var(--size-meta);color:var(--text-muted);white-space:nowrap}.project-summary__phase-budget{font-size:var(--size-body);font-variant-numeric:tabular-nums;text-align:right;color:var(--text-body)}.project-summary__tags-heading{margin-top:var(--space-5)}.project-tags{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.project-tags__tag{padding:0 var(--space-2);border:var(--border-hair) solid var(--line);font-size:var(--size-eyebrow);letter-spacing:var(--tracking-chip);white-space:nowrap}.project-tags__swatch{background:var(--text-faint);vertical-align:baseline;width:8px;height:8px;margin-right:6px;display:inline-block}.settings-section__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.settings-section__status{font-size:var(--size-small);color:var(--text-muted)}.settings-section__empty{font-size:var(--size-meta);color:var(--text-muted);margin:0}.settings-section__parts{gap:var(--rhythm-block);flex-wrap:wrap;display:flex}.settings-section__part{flex:100%;min-width:0}.settings-section__part--half{flex-basis:calc(50% - var(--rhythm-block))}.settings-section__part>*+*{margin-top:var(--rhythm-field)}.settings-section__part .form-row{margin-bottom:0}.settings-section__part-label{font:inherit;font-size:var(--size-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);text-align:start;margin:0}.new-project>.ui-tabs+*{margin-top:var(--rhythm-section)}.project-grunddaten__compact-row>.ui-field:not(:first-child){flex:none}.project-grunddaten__compact-row input[type=number]{width:calc(var(--field-height) * 2)}.settings-website__text{max-width:72ch;margin-top:var(--space-3)}.settings-website__text p{margin:var(--space-1) 0 0;white-space:pre-line}.project-tags-picker{gap:var(--space-3);display:grid}.project-tags-picker__add{gap:var(--space-2);display:flex;position:relative}.project-tags-picker__add .ui-input{flex:1}.project-tags-picker__suggestions{top:calc(var(--field-height) + var(--space-1));z-index:10;padding:var(--space-1) 0;border:var(--border-hair) solid var(--line-strong);background:var(--surface-card);margin:0;list-style:none;position:absolute;left:0;right:0}.project-tags-picker__suggestion{padding:var(--space-1) var(--space-3);font-size:var(--size-body);color:var(--text-strong);cursor:pointer}.project-tags-picker__suggestion:hover{background:var(--surface-sunken)}.project-tags-picker__chips{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.project-tags-picker__chip{border:var(--border-hair) solid var(--line);font-size:var(--size-meta);color:var(--text-strong);cursor:pointer;background:0 0;padding:3px 7px}.project-tags-picker__chip:hover:not(:disabled){border-color:var(--line-strong)}.project-tags-picker__chip:disabled{color:var(--text-muted);cursor:default}.objekt-erste-phase{gap:var(--space-3);display:grid}.objekt-erste-phase>button{justify-self:start}.objekt-links__chips{gap:var(--space-2);margin:0 0 var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.objekt-links__chip{align-items:center;gap:var(--space-2);padding:2px var(--space-2);border:var(--border-hair) solid var(--line-strong);font-size:var(--size-meta);display:inline-flex}.objekt-links__kind{color:var(--text-muted)}.project-phases__switches>label{font-size:var(--size-body);color:var(--text-body)}.phase-timeline{padding-top:calc(var(--size-meta) * 3.6);position:relative}.phase-timeline__axis{pointer-events:none;position:absolute;inset:0}.phase-timeline__year{padding-left:var(--space-1);font-size:var(--size-meta);color:var(--text-strong);white-space:nowrap;font-weight:600;position:absolute;top:0}.phase-timeline__month{top:calc(var(--size-meta) * 1.8);padding-left:var(--space-1);border-left:var(--border-hair) solid var(--line);font-size:var(--size-meta);color:var(--text-muted);white-space:nowrap;position:absolute;bottom:0}.phase-timeline__grid{top:calc(var(--size-meta) * 1.8);border-left:var(--border-hair) solid var(--line-faint);position:absolute;bottom:0}.phase-timeline__row{height:calc(var(--size-meta) * 2);margin-bottom:var(--space-1);position:relative}.phase-timeline__bar{background:var(--accent-tint);border:var(--border-hair) solid var(--accent-strong);min-width:2px;position:absolute;top:0;bottom:0;overflow:hidden}.phase-timeline__label{padding:0 var(--space-1);font-size:var(--size-meta);line-height:calc(var(--size-meta) * 2);color:var(--text-strong);white-space:nowrap;display:block}.phase-quarter-input{gap:var(--space-1);display:inline-flex}.phase-quarter-input>input{width:7ch}.tool-list__code{font:inherit;font-variant-numeric:tabular-nums;color:var(--text-strong);cursor:pointer;background:0 0;border:0;padding:0}.tool-list__code:hover{color:var(--accent);text-decoration:underline}.project-budget__totals{margin-top:var(--space-4)}.project-budget__definitions{margin:var(--space-4) 0 0;font-size:var(--size-meta);font-variant-numeric:tabular-nums;color:var(--text-muted)}.project-budget__phase{font:inherit;color:var(--link);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.project-budget__phase:hover{color:var(--link-hover)}.project-budget__open{align-items:flex-end;gap:var(--space-1);color:var(--text-muted);flex-direction:column;display:inline-flex}.project-modalitaeten__scope{margin-bottom:var(--space-5)}.project-modalitaeten__scope+*{margin-top:0}.project-modalitaeten__toggle{align-items:center;gap:var(--space-2);font-size:var(--size-body);color:var(--text-body);display:flex}.project-modalitaeten__actions{justify-content:flex-end;display:flex}.project-phase-terms tbody tr.is-selected{background:var(--surface-sunken)}.project-phase-terms__origin{font-size:var(--size-meta);color:var(--text-muted);white-space:nowrap}.apply-to-existing{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.apply-to-existing label{align-items:center;gap:var(--space-2);display:flex}.apply-to-existing__note{margin:var(--space-2) 0 0;font-size:var(--size-meta);color:var(--text-muted)}.res{gap:var(--space-3);flex-direction:column;display:flex}.res__lead{font-size:var(--size-meta);color:var(--text-muted);margin:0}.res__controls{align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.res__summary{font-size:var(--size-meta);color:var(--text-muted);white-space:nowrap;margin-left:auto}.res__scroll{margin-top:var(--space-4);overflow-x:auto}.res__grid{font-variant-numeric:tabular-nums;width:auto}.res__grid th,.res__grid td{width:52px;min-width:52px}.res__grid--months th,.res__grid--months td{width:78px;min-width:78px}.res__grid .res__label{z-index:1;background:var(--surface-page);text-align:left;width:184px;min-width:184px;position:sticky;left:0}.res__grid .ui-table__row--group>.res__label{background:var(--surface-sunken)}.res__label-name{display:block}.res__meta{font-size:var(--size-eyebrow);color:var(--text-muted);display:block}.res__grid .res__period.is-current{background:var(--signal);color:var(--on-signal)}.res__grid .res__period.is-past{opacity:.6}.res__period-label{font-size:var(--size-small);font-weight:var(--weight-bold);display:block}.res__period-sub{font-size:var(--size-eyebrow);color:inherit;display:block}.res__chart-row th,.res__chart-row td{height:164px}.res__bar{flex-direction:column-reverse;width:58%;margin:0 auto;display:flex}.res__bar-segment{width:100%;display:block}.res__total{padding:var(--space-1) 0 var(--space-2);font-size:var(--size-eyebrow);color:var(--text-muted);display:block}.res__row th,.res__row td{height:48px}.res__subrow th,.res__subrow td{height:32px}.res__subrow--total th,.res__subrow--total td{font-weight:600}.res__cell.is-over{background:var(--accent-tint)}.res__toggle{color:var(--text-body);font:inherit;font-weight:var(--weight-book);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.res__input{box-sizing:border-box;border:var(--border-hair) solid var(--line);width:100%;height:30px;color:var(--text-strong);font:inherit;font-size:var(--size-small);text-align:center;background:0 0}.res__input[aria-invalid=true]{border-color:var(--state-error)}.res__legend{gap:var(--space-2) var(--space-4);margin:var(--space-4) 0 0;font-size:var(--size-eyebrow);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.res__legend-item{align-items:center;gap:var(--space-2);display:flex}.res__legend-swatch{flex:none;width:12px;height:12px}.project-team{flex-direction:column;display:flex}.project-team__person{align-items:center;gap:var(--space-2);display:inline-flex}.project-team__rights{gap:var(--space-1);flex-wrap:wrap;display:flex}.project-team__right,.project-team__access{padding:0 var(--space-2);border:var(--border-hair) solid var(--line);font-size:var(--size-eyebrow);letter-spacing:var(--tracking-chip);white-space:nowrap}.project-team__rate--project{color:var(--text-muted)}.project-team__contact{padding-left:var(--space-4);color:var(--text-muted)}.project-team__visibility{align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.project-team__toggle{align-items:center;gap:var(--space-2);color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;display:inline-flex}.project-team__toggle--leaf{cursor:default;padding-left:calc(14px + var(--space-2))}.project-team__count{color:var(--text-muted)}.stakeholder-add__persons{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.zeit-screen>.zeit-figures,.zeit-screen>.ui-callout{margin-bottom:var(--space-3)}.zeit-week{gap:var(--space-2);margin-top:var(--space-5);flex-direction:column;display:flex}.zeit-week__scroll{overflow-x:auto}.zeit-week__grid{min-width:640px}.zeit-table__cell{vertical-align:top}.zeit-table__input{width:100%;min-width:3.5em;padding:var(--space-1) var(--space-2);border:var(--border-hair) solid transparent;color:var(--text-body);font:inherit;text-align:right;font-variant-numeric:tabular-nums;background:0 0}.zeit-table__input:hover:not([readonly]){border-color:var(--line)}.zeit-table__input:focus{border-color:var(--focus-ring);background:var(--surface-card);outline:none}.zeit-table__input[readonly]{color:var(--text-muted)}.zeit-table__cell--refused .zeit-table__input,.zeit-table__cell--refused .zeit-table__day-toggle{border-color:var(--state-error)}.zeit-table__day-toggle{width:100%;min-width:3.5em;min-height:2em;padding:var(--space-1) var(--space-2);border:var(--border-hair) dashed var(--line);color:var(--text-body);font:inherit;text-align:right;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0}.zeit-table__day-toggle[aria-pressed=true]{background:var(--surface-card);border-style:solid}.zeit-table__day-toggle:focus-visible{border-color:var(--focus-ring);outline:none}.zeit-table__day-toggle:disabled{cursor:progress;color:var(--text-muted)}.zeit-table__group-toggle{margin-right:var(--space-2);color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.zeit-table__message{padding:0 var(--space-2) var(--space-1);color:var(--state-error);font-size:var(--size-small);text-align:left;display:block}.zeit-table__add{align-items:center;gap:var(--space-2);display:flex}.zeit-week__grid tfoot .zeit-table__muted th,.zeit-week__grid tfoot .zeit-table__muted td{color:var(--text-muted)}.zeit-auswertung{gap:var(--space-4);margin-top:var(--space-5);flex-direction:column;display:flex}.zeit-auswertung__filters{gap:var(--space-2);display:grid}.zeit-auswertung__range{gap:var(--space-2);font-size:var(--size-small);color:var(--text-muted);flex-wrap:wrap;align-items:center;display:flex}.zeit-auswertung__range input[type=date]{width:10rem}.zeit-auswertung__balances{flex-direction:column;display:flex}.zeit-auswertung__balances-note{font-size:var(--size-small);color:var(--text-muted);margin:0}.zeit-auswertung__result{flex-direction:column;display:flex}.zeit-auswertung__stale{gap:var(--space-2);flex-direction:column;display:flex}.zeit-auswertung__stale>:not(.zeit-auswertung__updating){opacity:.45}.zeit-auswertung__updating{font-size:var(--size-small);color:var(--text-muted);margin:0}.zeit-choice{gap:var(--space-3);flex-direction:column;max-width:40rem;display:flex}.zeit-choice h3,.zeit-choice p{margin:0}.zeit-choice p{color:var(--text-muted)}.hr-member-screens{gap:var(--space-3);margin-top:var(--space-4);flex-direction:column;display:flex}.hr-member-screens h4{margin:0}.hr-member-screen{justify-content:space-between;align-items:flex-end;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--line-faint);flex-wrap:wrap;display:flex}.hr-member-screen__who{gap:var(--space-1);flex-direction:column;min-width:12rem;display:flex}.hr-member-screen__who span{color:var(--text-muted);font-size:var(--size-small)}.hr-member-screen__editor{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.hr-page>.ui-callout{margin-bottom:var(--rhythm-field)}.hr-add-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.hr-add-row>.ui-input{flex:1}.hr-betriebsferien-mode{gap:var(--space-2);margin-top:var(--rhythm-field);display:grid}.zahlungsplan-overview{gap:var(--space-4);flex-direction:column;display:flex}.zahlungsplan-overview__tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.zahlungsplan-page{gap:var(--space-4);flex-direction:column;display:flex}.zahlungsplan-navbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.zahlungsplan-navbar__error{color:var(--state-error)}.zp-modal-overlay{background:var(--scrim);backdrop-filter:blur(2px);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.zp-modal{background:var(--surface-page);width:95vw;max-width:1800px;height:90vh;box-shadow:var(--shadow-overlay);border:1px solid var(--line-faint);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.zp-modal .ui-legend{padding:0 1.5rem}.zp-inline{flex-direction:column;display:flex}.zp-inline .ui-legend{margin-bottom:var(--space-3)}.zp-inline .zp-modal-body{flex:none}.zp-inline .zp-table-container{height:auto;max-height:max(70vh,320px)}.zp-inline .zp-modal-header{justify-content:flex-end}.zp-inline .zp-headline{border-bottom-color:var(--line)}.zp-headline{align-items:center;column-gap:var(--rhythm-block);border-bottom:var(--border-hair) solid var(--line-faint);flex-wrap:wrap;flex-shrink:0;display:flex}.zp-headline>.zp-figures,.zp-headline>.ui-callout{flex:auto}.zp-headline>.zp-figures{border-bottom:none}.zp-headline>.zp-modal-header{padding:var(--rhythm-field) 0;border-bottom:none;margin-left:auto}.zp-modal .zp-headline{padding-inline:var(--space-5)}.zp-modal-header{border-bottom:1px solid var(--line-faint);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.zp-modal-header h2{margin:0;font-size:1.1rem;font-weight:600}.zp-modal-header .zp-modal-header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.zp-global-settings{border-bottom:1px solid var(--line-faint);background:var(--surface-page);flex-wrap:wrap;flex-shrink:0;gap:1.5rem;padding:.75rem 1.5rem;display:flex}.zp-global-settings .zp-setting{align-items:center;gap:.4rem;display:flex}.zp-global-settings .zp-setting label{color:var(--text-strong);opacity:.7;white-space:nowrap;font-size:.75rem}.zp-global-settings .zp-setting .ui-input{width:70px}.zp-global-settings .zp-setting .ui-input--select{width:auto}.zp-global-settings>.ui-filter-bar{flex-basis:100%}.zp-modal-body{flex:1;position:relative;overflow:hidden}.zp-empty-state{height:100%;color:var(--text-strong);opacity:.6;justify-content:center;align-items:center;font-size:.9rem;display:flex}.zp-table-container{height:100%;overflow:auto}.zp-header-row .zp-th{z-index:10;background:var(--surface-page);text-align:center;position:sticky;top:0}.zp-header-row .zp-th-kw{z-index:12;width:55px;min-width:55px;position:sticky;left:0}.zp-header-row .zp-th-date{z-index:12;width:75px;min-width:75px;position:sticky;left:55px}.zp-header-row .zp-th-data{width:120px;min-width:120px}.zp-header-row .zp-th-data .zp-th-content{justify-content:center;align-items:center;gap:.3rem;display:flex}.zp-header-row .zp-th-data .zp-col-label{text-overflow:ellipsis;overflow:hidden}.zp-header-row .zp-th-data .zp-col-type-label{letter-spacing:.02em;border-radius:3px;margin-top:2px;padding:1px 6px;font-size:.58rem;font-weight:600;line-height:1.3;display:block}.zp-header-row .zp-th-data .zp-col-type-label.einnahmen{color:var(--tag-neutral-text);background:var(--tag-neutral-fill)}.zp-header-row .zp-th-data .zp-col-type-label.ausgaben{color:var(--tag-muted-text);background:var(--tag-muted-fill)}.zp-header-row .zp-th-data .zp-expand-toggle{border:1px solid var(--line-strong);cursor:pointer;color:var(--text-strong);opacity:.6;background:0 0;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:.55rem;line-height:1;transition:all .15s}.zp-header-row .zp-th-data .zp-expand-toggle:hover{opacity:1;background:var(--surface-sunken)}.zp-header-row .zp-th-data .zp-expand-toggle.expanded{opacity:.9;background:var(--surface-sunken);border-color:var(--line-strong)}.zp-header-row .zp-th-data.einnahmen{z-index:10;position:sticky;top:0}.zp-header-row .zp-th-data.einnahmen.has-dropdown{overflow:visible}.zp-header-row .zp-th-data.ausgaben{background-color:var(--surface-sunken)}.zp-row:hover td{background:var(--surface-sunken)}.zp-row.current-week{font-weight:inherit;background-color:#0000}.zp-row.current-week .zp-td-kw{box-shadow:inset 4px 0 0 var(--signal)}.zp-td{height:30px}.zp-td-kw{z-index:5;background:var(--surface-page);width:55px;min-width:55px;position:sticky;left:0}.zp-td-date{z-index:5;background:var(--surface-page);color:var(--text-muted);width:75px;min-width:75px;position:sticky;left:55px}.zp-td-data{background:var(--surface-page);width:120px;min-width:120px}.zp-td-sum{text-align:right;font-variant-numeric:tabular-nums;background:var(--surface-sunken);padding:.15rem .3rem;font-weight:600}.zp-th-sum{background:var(--surface-sunken)}.zp-sum--pinned{z-index:5;box-shadow:inset 1px 0 0 var(--line-strong);position:sticky;right:0}.zp-sum--pinned.zp-th{z-index:12}.zp-footer-row .zp-sum--pinned{z-index:7}.zp-cell{cursor:pointer;width:100%;height:100%;min-height:28px;color:var(--text-strong);justify-content:flex-end;align-items:center;padding:.15rem .3rem;transition:background-color .15s;display:flex}.zp-cell.has-entry[draggable=true]{cursor:grab}.zp-cell.has-entry[draggable=true]:active{cursor:grabbing}.zp-cell.empty:hover{background:var(--accent-tint)}.zp-cell.empty:hover:after{content:"+";color:var(--accent);opacity:.6;font-size:.85rem}.zp-cell.drag-over{background:var(--accent-tint);outline:2px dashed var(--accent);outline-offset:-2px}.zp-cell--fakturiert{background:var(--surface-ink);color:var(--text-on-ink)}.zp-cell--offen,.zp-cell--ueberfaellig{background:var(--accent-tint);outline:var(--border-hair) dashed var(--line-strong);outline-offset:-2px}.zp-cell--ueberfaellig{color:var(--state-error);outline-color:var(--state-error)}.zp-cell--geplant{background:var(--surface-sunken)}.zp-cell--mwst-pruefen{position:relative}.zp-cell--mwst-pruefen:before{content:"";border-top:.6rem solid var(--state-warning);border-right:.6rem solid #0000;position:absolute;top:0;left:0}.zp-cell--dimmed{opacity:.35}.zp-cell .zp-cell-multi-badge{background:var(--surface-page);color:var(--text-strong);vertical-align:middle;border-radius:999px;margin-left:.3rem;padding:0 .3rem;font-size:.62rem;font-weight:600;display:inline-block}.zp-cell .zp-cell-amount{font-variant-numeric:tabular-nums;white-space:nowrap;color:inherit;font-size:.72rem;font-weight:500}.zp-cell .zp-cell-amount.negative{color:var(--state-error)}.zp-cell .zp-cell-input{background:var(--accent-tint);text-align:right;font-variant-numeric:tabular-nums;width:100%;color:var(--text-strong);border:none;border-radius:2px;outline:none;padding:.15rem .3rem;font-size:.72rem}.zp-cell .zp-cell-input:focus{box-shadow:0 0 0 2px var(--accent)}.zp-cell .zp-cell-input[aria-invalid=true]{box-shadow:0 0 0 2px var(--state-error)}.zp-footer-row td{background:var(--surface-page);bottom:var(--footer-bottom,0);z-index:6;position:sticky}.zp-footer-row .zp-footer-label{left:0;bottom:var(--footer-bottom,0);z-index:8;background:var(--surface-page);position:sticky}.zp-footer-row .zp-footer-label .bold{font-weight:700}.zp-footer-row .zp-footer-label .zp-expand-toggle{border:1px solid var(--line-faint);cursor:pointer;color:var(--text-strong);opacity:.6;vertical-align:middle;background:0 0;border-radius:3px;padding:1px 4px;font-size:.5rem;line-height:1;transition:all .15s}.zp-footer-row .zp-footer-label .zp-expand-toggle:hover{opacity:1;background:var(--surface-sunken)}.zp-footer-row .zp-footer-label .zp-expand-toggle.expanded{opacity:.9;background:var(--accent-tint);border-color:var(--line-strong)}.zp-footer-row .zp-footer-cell{text-align:right;min-height:24px}.zp-footer-row .zp-footer-cell .zp-footer-value{font-variant-numeric:tabular-nums}.zp-footer-row .zp-footer-cell .zp-footer-value.bold{font-weight:700}.zp-footer-row .zp-footer-cell .zp-footer-value.negative{color:var(--state-error)}.zp-footer-row .zp-footer-cell .zp-footer-value.positive{color:var(--text-strong)}.zp-footer-row .zp-footer-cell .zp-footer-value.zp-budget-editable{cursor:pointer;border-bottom:1px dashed var(--line-strong);padding-bottom:1px}.zp-footer-row .zp-footer-cell .zp-footer-value.zp-budget-editable:hover{border-bottom-color:var(--accent);color:var(--accent)}.zp-footer-row .zp-footer-cell .zp-budget-input{background:var(--accent-tint);text-align:right;font-variant-numeric:tabular-nums;width:100%;color:var(--text-strong);box-sizing:border-box;border:none;border-radius:2px;outline:none;padding:.15rem .3rem;font-size:.72rem}.zp-footer-row .zp-footer-cell .zp-budget-input:focus{box-shadow:0 0 0 2px var(--accent)}.zp-footer-row .zp-footer-cell .zp-budget-input[aria-invalid=true]{box-shadow:0 0 0 2px var(--state-error)}.zp-context-menu{background:var(--surface-page);border:1px solid var(--line-faint);box-shadow:var(--shadow-overlay);z-index:1100;border-radius:8px;min-width:180px;padding:.25rem;overflow:hidden}.zp-context-menu .zp-context-menu-header{color:var(--text-strong);opacity:.6;border-bottom:1px solid var(--line-faint);margin-bottom:.25rem;padding:.4rem .75rem;font-size:.7rem}.zp-context-menu .zp-context-menu-divider{background:var(--line-faint);height:1px;margin:.25rem 0}.zp-context-menu .zp-context-menu-item{cursor:pointer;width:100%;color:var(--text-strong);text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.8rem;display:flex}.zp-context-menu .zp-context-menu-item:hover{background:var(--surface-sunken)}.zp-context-menu .zp-context-menu-item .zp-status-dot{border:1px solid var(--line);border-radius:50%;width:10px;height:10px}.zp-add-partner-btn{border:1px dashed var(--line-strong);cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:.65rem;font-weight:700;line-height:1.2;transition:all .15s}.zp-add-partner-btn:hover{background:var(--surface-sunken);border-color:var(--text-strong);color:var(--text-strong);border-style:solid}.zp-partner-search-dropdown{text-transform:none;letter-spacing:normal;background:var(--surface-page);border:1px solid var(--line-faint);width:240px;box-shadow:var(--shadow-overlay);z-index:20;border-radius:8px;margin-top:2px;padding:.5rem;font-weight:400;position:absolute;top:100%;left:50%;transform:translate(-50%)}.zp-partner-search-input{border:1px solid var(--line-faint);background:var(--surface-page);width:100%;color:var(--text-strong);box-sizing:border-box;border-radius:4px;padding:.4rem .5rem;font-size:.8rem}.zp-partner-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.zp-partner-suggestions{max-height:180px;margin:.3rem 0 0;padding:0;list-style:none;overflow-y:auto}.zp-partner-suggestion{cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:.4rem;padding:.35rem .5rem;font-size:.78rem;display:flex}.zp-partner-suggestion:hover{background:var(--accent-tint)}.zp-partner-suggestion .zp-partner-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.zp-partner-suggestion .zp-partner-role{opacity:.5;white-space:nowrap;flex-shrink:0;font-size:.65rem}.zp-partner-no-results{color:var(--text-strong);opacity:.6;flex-direction:column;gap:.3rem;padding:.4rem .3rem;font-size:.75rem;display:flex}.zp-partner-no-results .zp-partner-create-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;text-align:left;background:0 0;border-radius:4px;padding:.3rem .5rem;font-size:.75rem}.zp-partner-no-results .zp-partner-create-btn:hover{background:var(--accent-tint)}.zp-detail-popover{background:var(--surface-page);border:1px solid var(--line-faint);box-shadow:var(--shadow-overlay);z-index:1100;border-radius:10px;width:320px;overflow:hidden}.zp-detail-popover .zp-detail-header{border-bottom:1px solid var(--line-faint);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.zp-detail-popover .zp-detail-header h4{margin:0;font-size:.85rem}.zp-detail-popover .zp-detail-header .zp-detail-close{cursor:pointer;color:var(--text-strong);opacity:.5;background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1}.zp-detail-popover .zp-detail-header .zp-detail-close:hover{opacity:1}.zp-detail-popover .zp-detail-body{flex-direction:column;gap:.6rem;max-height:350px;padding:.75rem 1rem;display:flex;overflow-y:auto}.zp-detail-popover .zp-detail-field{flex-direction:column;gap:.2rem;display:flex}.zp-detail-popover .zp-detail-field label{opacity:.7;font-size:.68rem;font-weight:500}.zp-detail-popover .zp-detail-field input,.zp-detail-popover .zp-detail-field select{border:1px solid var(--line-faint);background:var(--surface-page);color:var(--text-strong);border-radius:4px;padding:.35rem .5rem;font-size:.8rem}.zp-detail-popover .zp-detail-field input:focus,.zp-detail-popover .zp-detail-field select:focus{border-color:var(--accent);outline:none}.zp-detail-popover .zp-detail-field .zp-detail-value{padding:.35rem 0;font-size:.8rem}.zp-detail-popover .zp-detail-actions{border-top:1px solid var(--line-faint);justify-content:space-between;padding:.75rem 1rem;display:flex}.zp-beleg-dialog-overlay{background:var(--scrim);z-index:1200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.zp-beleg-dialog{background:var(--surface-page);border:1px solid var(--line-faint);width:480px;max-width:92vw;max-height:80vh;box-shadow:var(--shadow-overlay);border-radius:10px;flex-direction:column;display:flex}.zp-beleg-dialog .zp-beleg-dialog-header{border-bottom:1px solid var(--line-faint);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.zp-beleg-dialog .zp-beleg-dialog-header h4{margin:0;font-size:.95rem}.zp-beleg-dialog .zp-beleg-dialog-close{cursor:pointer;color:var(--text-strong);opacity:.5;background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1}.zp-beleg-dialog .zp-beleg-dialog-close:hover{opacity:1}.zp-beleg-dialog .zp-beleg-option{border:1px solid var(--line-faint);cursor:pointer;text-align:left;color:var(--text-strong);background:0 0;border-radius:6px;padding:.5rem .75rem;font-size:.82rem;transition:all .15s}.zp-beleg-dialog .zp-beleg-option:hover:not(:disabled){border-color:var(--accent);background:var(--accent-tint)}.zp-beleg-dialog .zp-beleg-option:disabled{opacity:.5;cursor:default}.zp-beleg-dialog .zp-beleg-back{color:var(--text-strong);opacity:.5;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:.3rem 0;font-size:.75rem}.zp-beleg-dialog .zp-beleg-back:hover:not(:disabled){opacity:.8}.zp-beleg-dialog .zp-beleg-dialog-body{flex-direction:column;gap:.6rem;padding:.85rem 1rem;display:flex;overflow-y:auto}.zp-beleg-dialog .zp-beleg-dialog-body p{margin:0;font-size:.82rem;line-height:1.45}.zp-beleg-dialog .zp-beleg-dialog-entry{border:1px solid var(--line-faint);background:var(--surface-sunken);border-radius:6px;padding:.4rem .6rem;font-size:.78rem}.zp-beleg-dialog .zp-beleg-dialog-error{color:var(--state-error);font-size:.78rem}.zp-beleg-dialog .zp-beleg-dialog-info{color:var(--state-success);font-size:.78rem}.zp-beleg-dialog .zp-beleg-dialog-empty{opacity:.6}.zp-beleg-dialog .zp-beleg-dialog-options,.zp-beleg-dialog .zp-beleg-dialog-list{flex-direction:column;gap:.35rem;display:flex}.zp-beleg-dialog .zp-beleg-dialog-list{max-height:260px;overflow-y:auto}.zp-beleg-dialog .zp-beleg-file-name{font-weight:500;display:block}.zp-beleg-dialog .zp-beleg-file-meta{opacity:.6;font-size:.72rem;display:block}.zp-beleg-dialog .zp-beleg-dialog-actions{justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}.zp-beleg-dropzone{border:2px dashed var(--line-faint);text-align:center;color:var(--text-strong);opacity:.8;cursor:pointer;border-radius:8px;padding:2rem 1rem;font-size:.82rem;transition:all .15s}.zp-beleg-dropzone:hover,.zp-beleg-dropzone.drag-active{border-color:var(--accent);background:var(--accent-tint);opacity:1}.zp-beleg-dropzone.busy{cursor:wait;opacity:.6}.zp-beleg-candidate{border:1px solid var(--line-faint);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.78rem;display:flex}.zp-beleg-candidate:hover{border-color:var(--accent)}.zp-beleg-candidate input[type=checkbox]{flex-shrink:0}.zp-beleg-candidate .zp-beleg-candidate-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.zp-beleg-candidate .zp-beleg-candidate-status{opacity:.6;flex-shrink:0;font-size:.68rem}.zp-beleg-candidate .zp-beleg-candidate-amount{font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:500}.mwst-rate-field{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.mwst-rate-field .ui-input[type=number]{width:6em}.mwst-rate-field__error{font-size:var(--size-small);color:var(--state-error);flex-basis:100%}.zp-list-table :where(th,td){white-space:nowrap}.zp-figures{align-items:baseline;gap:var(--space-2) var(--space-5);padding:var(--space-3) 0;border-bottom:1px solid var(--line-faint);flex-wrap:wrap;display:flex}.zp-figures__item{gap:var(--space-1);flex-direction:column;display:flex}.zp-figures__label{color:var(--text-muted);font-size:var(--size-meta)}.zp-figures__value{font-variant-numeric:tabular-nums;font-weight:600}.zp-figures__note{color:var(--text-faint);font-size:var(--size-meta);margin-left:auto}.expense-list__tags,.expense-list__average{color:var(--text-muted);font-size:var(--size-meta)}.expense-list__beleg{color:var(--text-muted);display:inline-flex}.expense-form__tags{gap:var(--space-1);margin:var(--space-1) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.expense-form__tag-suggestions{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.expense-form__tag{padding:0 var(--space-2);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-body);font-size:var(--size-meta);cursor:pointer}.expense-form__tag:hover,.expense-form__tag:focus-visible{border-color:var(--accent)}.expense-tags-settings__add{gap:var(--space-2);max-width:24rem;display:flex}.expenses-panel{gap:var(--space-3);display:grid}.expenses-panel__excluded{color:var(--text-muted);font-size:var(--size-meta);margin:0}.expenses-panel__unlinked{gap:var(--space-2);display:grid}.expenses-panel__unlinked-title{font-size:var(--size-meta);color:var(--text-muted);margin:0}.references-container{max-width:1600px}.references-toolbar .references-search{width:min(480px,100%)}.references-back{flex-wrap:wrap;align-items:center;gap:2rem;margin-bottom:2rem;display:flex}.references-back .back-button{background:var(--background-color);border:1px solid var(--text-bg-color);color:var(--text-color);cursor:pointer;border-radius:6px;padding:.75rem 1.5rem;font-size:.9rem;transition:all .2s}.references-back .back-button:hover{background:var(--text-bg-color);border-color:var(--main-color)}.references-back .selected-project-title{flex-direction:column;flex:1;gap:.25rem;display:flex}.references-back .selected-project-title .project-office{color:var(--main-color);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:500}.references-back .selected-project-title .project-location-header{color:var(--text-color);opacity:.6;margin-left:.5rem;font-size:.8rem;font-weight:400}.references-back .selected-project-title .project-name{color:var(--text-color);font-size:1.5rem;font-weight:600}.references-back .delete-collection-btn{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:4px;padding:.5rem 1rem;font-size:.8rem;transition:all .2s}.references-back .delete-collection-btn:hover{color:#fff;background:#ef4444}.references-detail .project-info{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.references-detail .project-info .project-location{color:var(--text-color);opacity:.8;font-size:.9rem}.references-detail .project-info .project-tags{flex-wrap:wrap;gap:.5rem;display:flex}.references-detail .project-info .project-tags .tag{background:var(--main-color);color:#fff;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.references-detail .project-info .project-tags .tag.clickable{cursor:pointer;transition:background .2s,transform .2s}.references-detail .project-info .project-tags .tag.clickable:hover{background:var(--text-color);transform:scale(1.05)}.references-detail .project-info .project-codes-section{border-top:1px solid var(--text-bg-color);flex-flow:wrap;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.75rem;display:flex}.references-detail .project-info .project-codes-section .codes-label{color:var(--text-color);opacity:.7;font-size:.75rem;font-weight:500}.references-detail .project-info .project-codes-section .project-code-tag{color:#fff;background:#c44536;border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.references-detail .project-info .project-codes-section .project-code-tag .code-text.clickable{cursor:pointer;transition:opacity .2s}.references-detail .project-info .project-codes-section .project-code-tag .code-text.clickable:hover{opacity:.85}.references-detail .project-info .project-codes-section .project-code-tag .remove-project-code{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:.15rem;padding:0;font-size:.7rem;transition:background .2s;display:flex}.references-detail .project-info .project-codes-section .project-code-tag .remove-project-code:hover:not(:disabled){background:#fff6}.references-detail .project-info .project-codes-section .project-code-tag .remove-project-code:disabled{opacity:.5;cursor:not-allowed}.references-detail .project-info .project-codes-section .project-code-input-field{border:1px solid var(--text-bg-color);background:var(--background-color);max-width:200px;color:var(--text-color);border-radius:4px;padding:.35rem .6rem;font-size:.75rem;transition:border-color .2s}.references-detail .project-info .project-codes-section .project-code-input-field::placeholder{color:var(--text-color);opacity:.5}.references-detail .project-info .project-codes-section .project-code-input-field:focus{border-color:var(--main-color);outline:none}.references-detail .project-info .project-codes-section .project-code-input-field:disabled{opacity:.5}.references-detail .project-info .project-codes-section .add-project-code-btn{background:var(--main-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.35rem .75rem;font-size:.75rem;font-weight:500;transition:opacity .2s}.references-detail .project-info .project-codes-section .add-project-code-btn:hover:not(:disabled,[aria-disabled=true]){opacity:.9}.references-detail .project-info .project-codes-section .add-project-code-btn:disabled,.references-detail .project-info .project-codes-section .add-project-code-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.source-urls-section{border-top:1px solid var(--text-bg-color);margin-top:3rem;padding-top:2rem}.source-urls-section .source-urls-header{color:var(--text-color);margin:0 0 1rem;font-size:1rem;font-weight:600}.source-urls-section .source-urls-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.source-urls-section .source-url-item{background:var(--text-bg-color);border-radius:4px;align-items:center;gap:.75rem;padding:.5rem .75rem;transition:background .2s;display:flex}.source-urls-section .source-url-item:hover{background:#b3a9d726}.source-urls-section .source-type-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:3px;flex-shrink:0;padding:.15rem .5rem;font-size:.65rem;font-weight:600}.source-urls-section .source-type-badge.web{color:#fff;background:#3b82f6}.source-urls-section .source-type-badge.sharepoint{color:#fff;background:#0078d4}.source-urls-section .source-url-link{color:var(--main-color);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;text-decoration:none;transition:color .2s;overflow:hidden}.source-urls-section .source-url-link:hover{color:var(--text-color);text-decoration:underline}.references-overview{flex-direction:column;gap:2rem;display:flex}.references-section .section-header{color:var(--text-color);border-bottom:1px solid var(--text-bg-color);margin-bottom:1rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}.references-section.individual-images-section{border-top:2px solid var(--text-bg-color);margin-top:1rem;padding-top:1rem}.references-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;display:grid}.project-card{background:var(--background-color);cursor:pointer;border-radius:4px;transition:transform .2s,box-shadow .2s;overflow:hidden}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.project-card:hover .project-image img{transform:scale(1.05)}.project-card .project-image{aspect-ratio:4/3;background:var(--text-bg-color);position:relative;overflow:hidden}.project-card .project-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card .project-image .no-image{height:100%;color:var(--text-color);opacity:.5;justify-content:center;align-items:center;font-size:.9rem;display:flex}.project-card .project-image .image-count{color:#fff;background:#000000b3;border-radius:4px;padding:.25rem .75rem;font-size:.7rem;font-weight:500;position:absolute;bottom:.75rem;right:.75rem}.project-card .project-image .delete-project-btn{color:#fff;cursor:pointer;opacity:0;background:#0009;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;transition:opacity .2s,background .2s;position:absolute;top:.5rem;right:.5rem}.project-card .project-image .delete-project-btn:hover{background:#ef4444}.project-card:hover .delete-project-btn{opacity:1}.project-card .project-details{flex-direction:column;gap:.15rem;padding:.6rem .75rem;display:flex}.project-card .project-details .project-header{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.project-card .project-details .office-name{color:var(--main-color);text-transform:uppercase;letter-spacing:.3px;font-size:.65rem;font-weight:500}.project-card .project-details .location-separator{color:var(--text-color);opacity:.4;font-size:.6rem}.project-card .project-details .project-location{color:var(--text-color);opacity:.6;font-size:.6rem}.project-card .project-details .project-name{color:var(--text-color);font-size:.75rem;font-weight:500;line-height:1.3}.project-card .project-details .image-description{color:var(--text-color);opacity:.7;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.65rem;font-style:italic;line-height:1.4;display:-webkit-box;overflow:hidden}.project-card .project-details .project-tags-row{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.project-card .project-details .project-tags-row .project-tag{background:var(--text-bg-color);color:var(--text-color);opacity:.7;border-radius:3px;padding:.1rem .35rem;font-size:.55rem;display:inline-block}.project-card .project-details .project-tags-row .project-tag.clickable{cursor:pointer;transition:background .2s,opacity .2s}.project-card .project-details .project-tags-row .project-tag.clickable:hover{background:var(--main-color);color:#fff;opacity:1}.project-card .project-details .project-tags-row .project-tag.more{opacity:.5;background:0 0}.images-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;display:grid}.images-grid.detail-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.image-card{background:var(--background-color);cursor:pointer;border-radius:4px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.image-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.image-card:hover img{transform:scale(1.02)}.image-card:hover .delete-image-btn{opacity:1}.image-card .delete-image-btn{z-index:10;color:#fff;cursor:pointer;opacity:0;background:#0009;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;transition:opacity .2s,background .2s;position:absolute;top:.5rem;right:.5rem}.image-card .delete-image-btn:hover{background:#ef4444}.image-card img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .3s}.image-card .no-image{aspect-ratio:4/3;background:var(--text-bg-color);color:var(--text-color);opacity:.5;justify-content:center;align-items:center;font-size:.9rem;display:flex}.image-card .image-info{background:0 0;padding:.5rem .75rem}.image-card .image-info .image-info-row{align-items:center;gap:.5rem;display:flex}.image-card .image-info .file-name{color:var(--text-color);opacity:.8;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.75rem;overflow:hidden}.image-card .image-info .project-code-input{width:70px;color:var(--text-color);background:#ffffff1a;border:1px solid #0000;border-radius:4px;padding:.25rem .5rem;font-size:.7rem;transition:all .2s}.image-card .image-info .project-code-input::placeholder{color:var(--text-color);opacity:.4}.image-card .image-info .project-code-input:focus{border-color:var(--main-color);background:#ffffff26;outline:none}.image-card .image-info .project-code-input:disabled{opacity:.5}.image-card .image-project-codes{flex-wrap:wrap;gap:.25rem;margin-top:.35rem;display:flex}.image-code{color:#fff;background:#c44536;border-radius:3px;align-items:center;gap:.25rem;padding:.1rem .4rem;font-size:.65rem;font-weight:500;display:inline-flex}.image-code .remove-code{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;margin-left:.1rem;padding:0;font-size:.8rem;transition:opacity .2s}.image-code .remove-code:hover{opacity:1}.image-code .remove-code:disabled{opacity:.3;cursor:not-allowed}.no-results{padding:var(--space-6) 0;color:var(--text-muted);grid-column:1/-1}.individual-image-card .image-codes-section{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.individual-image-card .image-codes-section .image-project-codes{flex-wrap:wrap;gap:.35rem;display:flex}.individual-image-card .image-codes-section .image-code{background:var(--main-color);color:#fff;cursor:pointer;border-radius:4px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.65rem;font-weight:500;transition:opacity .2s;display:inline-flex}.individual-image-card .image-codes-section .image-code:hover{opacity:.9}.individual-image-card .image-codes-section .image-code .remove-code{color:#fff;cursor:pointer;background:#ffffff4d;border:none;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;margin-left:.15rem;padding:0;font-size:.6rem;transition:background .2s;display:inline-flex}.individual-image-card .image-codes-section .image-code .remove-code:hover{background:#ffffff80}.individual-image-card .image-codes-section .project-code-input{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:4px;padding:.35rem .5rem;font-size:.7rem}.individual-image-card .image-codes-section .project-code-input:focus{border-color:var(--main-color);outline:none}.individual-image-card .image-codes-section .project-code-input::placeholder{color:var(--text-color);opacity:.5}.description-modal{background:var(--background-color);border-radius:8px;width:100%;max-width:500px;box-shadow:0 8px 32px #0000004d}.description-modal .modal-header{border-bottom:1px solid var(--text-bg-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.description-modal .modal-header h3{color:var(--text-color);margin:0;font-size:1rem;font-weight:600}.description-modal .modal-header .modal-close{color:var(--text-color);cursor:pointer;opacity:.6;background:0 0;border:none;padding:0;font-size:1.5rem;transition:opacity .2s}.description-modal .modal-header .modal-close:hover{opacity:1}.description-modal .modal-body{padding:1.25rem}.description-modal .modal-body .description-textarea{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);resize:vertical;border-radius:6px;min-height:100px;padding:.75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.description-modal .modal-body .description-textarea::placeholder{color:var(--text-color);opacity:.5}.description-modal .modal-body .description-textarea:focus{border-color:var(--main-color);outline:none}.description-modal .modal-footer{border-top:1px solid var(--text-bg-color);justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}.description-modal .modal-footer .modal-btn{cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.description-modal .modal-footer .modal-btn.cancel{border:1px solid var(--text-bg-color);color:var(--text-color);background:0 0}.description-modal .modal-footer .modal-btn.cancel:hover{background:var(--text-bg-color)}.description-modal .modal-footer .modal-btn.save{background:var(--main-color);border:1px solid var(--main-color);color:#fff}.description-modal .modal-footer .modal-btn.save:hover{opacity:.9}.description-modal .modal-footer .modal-btn.delete{color:#fff;background:#ef4444;border:1px solid #ef4444}.description-modal .modal-footer .modal-btn.delete:hover{background:#dc2626;border-color:#dc2626}.description-modal .modal-footer .modal-btn.delete:disabled{opacity:.6;cursor:not-allowed}.description-modal p{color:var(--text-color);margin:0;line-height:1.6}.description-modal p strong{color:var(--main-color)}body.lightbox-open{overflow:hidden}.lightbox-overlay{z-index:1000;background:#000000e6;justify-content:center;align-items:center;padding:2rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lightbox-nav{cursor:pointer;z-index:1001;justify-content:center;align-items:center;width:100px;transition:background .2s;display:flex;position:absolute;top:0;bottom:0}.lightbox-nav:hover{background:#ffffff0d}.lightbox-nav:hover .nav-arrow{opacity:1}.lightbox-nav .nav-arrow{color:#fff;opacity:.5;user-select:none;font-size:4rem;transition:opacity .2s}.lightbox-nav.lightbox-nav-left{left:0}.lightbox-nav.lightbox-nav-right{right:0}.lightbox-content{z-index:1002;flex-direction:column;align-items:center;max-width:calc(90vw - 220px);max-height:90vh;display:flex;position:relative}.lightbox-content .lightbox-image-container{justify-content:center;align-items:center;max-width:100%;max-height:calc(90vh - 160px);display:flex;overflow:hidden}.lightbox-content .lightbox-image-container.zoomed{cursor:grab}.lightbox-content .lightbox-image-container.zoomed:active{cursor:grabbing}.lightbox-content .lightbox-image-container img{object-fit:contain;user-select:none;border-radius:4px;max-width:100%;max-height:calc(90vh - 160px);transition:transform .1s ease-out;box-shadow:0 8px 32px #00000080}.lightbox-content .lightbox-zoom-controls{z-index:10;background:#0009;border-radius:4px;align-items:center;gap:.5rem;padding:.25rem .5rem;display:flex;position:absolute;top:-2.5rem;left:50%;transform:translate(-50%)}.lightbox-content .lightbox-zoom-controls .zoom-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.2rem;transition:all .2s;display:flex}.lightbox-content .lightbox-zoom-controls .zoom-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff80}.lightbox-content .lightbox-zoom-controls .zoom-btn:disabled{opacity:.3;cursor:not-allowed}.lightbox-content .lightbox-zoom-controls .zoom-level{text-align:center;color:#fff;cursor:pointer;border-radius:4px;min-width:50px;padding:.25rem;font-size:.8rem;transition:background .2s}.lightbox-content .lightbox-zoom-controls .zoom-level:hover{background:#ffffff1a}.lightbox-content img{object-fit:contain;border-radius:4px;max-width:100%;max-height:calc(90vh - 160px);box-shadow:0 8px 32px #00000080}.lightbox-content .lightbox-close{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;padding:.5rem;font-size:2.5rem;transition:opacity .2s;position:absolute;top:-2.5rem;right:-1rem}.lightbox-content .lightbox-close:hover{opacity:1}.lightbox-content .lightbox-delete{color:#fff;cursor:pointer;opacity:.7;background:#00000080;border:1px solid #fff3;border-radius:4px;padding:.25rem .75rem;font-size:1rem;transition:all .2s;position:absolute;top:-2.25rem;left:-1rem}.lightbox-content .lightbox-delete:hover{opacity:1;background:#ef4444;border-color:#ef4444}.lightbox-content .lightbox-info{text-align:center;color:#fff;margin-top:1rem}.lightbox-content .lightbox-info .file-name{margin-bottom:.25rem;font-size:.9rem;display:block}.lightbox-content .lightbox-info .location{opacity:.7;font-size:.8rem;display:block}.lightbox-content .lightbox-info .lightbox-counter{opacity:.5;margin-top:.5rem;font-size:.75rem;display:block}.lightbox-content .lightbox-project-codes{flex-direction:column;align-items:center;gap:.75rem;min-width:300px;margin-top:1rem;display:flex}.lightbox-content .lightbox-project-codes .codes-list{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.lightbox-content .lightbox-project-codes .codes-list .image-code{padding:.2rem .5rem;font-size:.75rem}.lightbox-content .lightbox-project-codes .code-input-row{align-items:center;gap:.5rem;display:flex}.lightbox-content .lightbox-project-codes .code-input-row .lightbox-code-input{color:#fff;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;width:200px;padding:.5rem .75rem;font-size:.85rem;transition:all .2s}.lightbox-content .lightbox-project-codes .code-input-row .lightbox-code-input::placeholder{color:#ffffff80}.lightbox-content .lightbox-project-codes .code-input-row .lightbox-code-input:focus{border-color:var(--main-color);background:#ffffff26;outline:none}.lightbox-content .lightbox-project-codes .code-input-row .lightbox-code-input:disabled{opacity:.5}.lightbox-content .lightbox-project-codes .code-input-row .add-code-btn{background:var(--main-color);color:#fff;cursor:pointer;border:1px solid #ffffff4d;border-radius:4px;padding:.5rem .75rem;font-size:1rem;transition:all .2s}.lightbox-content .lightbox-project-codes .code-input-row .add-code-btn:hover:not(:disabled,[aria-disabled=true]){background:var(--main-color);opacity:.9}.lightbox-content .lightbox-project-codes .code-input-row .add-code-btn:disabled,.lightbox-content .lightbox-project-codes .code-input-row .add-code-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}.sync-sharepoint-btn{color:#0078d4;cursor:pointer;background:0 0;border:1px solid #0078d4;border-radius:4px;padding:.5rem 1rem;font-size:.8rem;font-weight:500;transition:all .2s}.sync-sharepoint-btn:hover,.sync-sharepoint-btn.active{color:#fff;background:#0078d4}.sync-sharepoint-btn:disabled{opacity:.5;cursor:not-allowed}.sync-toolbar{background:#0078d414;border:1px solid #0078d433;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.sync-toolbar .sync-toolbar-left{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.sync-toolbar .sync-select-all,.sync-toolbar .sync-deselect-all{border:1px solid var(--text-bg-color);color:var(--text-color);cursor:pointer;background:0 0;border-radius:4px;padding:.35rem .75rem;font-size:.75rem;transition:all .2s}.sync-toolbar .sync-select-all:hover,.sync-toolbar .sync-deselect-all:hover{background:var(--text-bg-color)}.sync-toolbar .sync-count{color:var(--text-color);opacity:.7;font-size:.8rem}.sync-toolbar .sync-upload-btn{color:#fff;cursor:pointer;background:#0078d4;border:none;border-radius:4px;padding:.5rem 1.25rem;font-size:.8rem;font-weight:500;transition:all .2s}.sync-toolbar .sync-upload-btn:hover:not(:disabled){background:#006cbe}.sync-toolbar .sync-upload-btn:disabled{opacity:.5;cursor:not-allowed}.image-card.sync-selectable{cursor:pointer;position:relative}.image-card.sync-selectable:hover{box-shadow:0 0 0 2px #0078d4}.image-card.sync-selectable.sync-selected{box-shadow:0 0 0 3px #0078d4}.image-card.sync-selectable.sync-selected:after{content:"";pointer-events:none;z-index:1;background:#0078d41a;position:absolute;inset:0}.image-card.synced{border:var(--border-rule) solid var(--line-strong)}.synced-badge{background:var(--tag-ink-fill);color:var(--tag-ink-text);border-radius:var(--radius-0);font-size:var(--size-eyebrow);font-weight:var(--weight-bold);letter-spacing:var(--tracking-chip);text-transform:uppercase;z-index:5;padding:3px 7px;position:absolute;top:.5rem;left:.5rem}.sync-checkbox{z-index:10;background:#ffffffe6;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:.5rem;right:.5rem;box-shadow:0 1px 4px #0003}.sync-checkbox input[type=checkbox]{cursor:pointer;accent-color:#0078d4;width:16px;height:16px}.sync-progress-overlay{z-index:3000}.sync-progress-dialog{background:var(--background-color);text-align:center;border-radius:8px;width:100%;max-width:400px;padding:2rem;box-shadow:0 8px 32px #0000004d}.sync-progress-dialog h3{color:var(--text-color);margin:0 0 1rem;font-size:1.1rem}.sync-progress-dialog .sync-progress-text{color:var(--text-color);margin:.5rem 0;font-size:.9rem}.sync-progress-dialog .sync-progress-file{color:var(--text-color);opacity:.6;white-space:nowrap;text-overflow:ellipsis;margin:.25rem 0 1rem;font-size:.8rem;overflow:hidden}.sync-progress-dialog .sync-progress-bar{background:var(--text-bg-color);border-radius:3px;width:100%;height:6px;margin-top:.5rem;overflow:hidden}.sync-progress-dialog .sync-progress-bar .sync-progress-fill{background:#0078d4;border-radius:3px;height:100%;transition:width .3s}.sync-error-list{max-height:200px;margin:.5rem 0 0;padding:0;list-style:none;overflow-y:auto}.sync-error-list li{color:#ef4444;border-bottom:1px solid var(--text-bg-color);padding:.35rem 0;font-size:.8rem}.sync-error-list li:last-child{border-bottom:none}@media (width<=1200px){.references-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}}@media (width<=768px){.sync-toolbar{flex-direction:column;align-items:flex-start}.sync-toolbar .sync-upload-btn{width:100%}.references-back{flex-direction:column;align-items:flex-start;gap:1rem}.references-grid,.images-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.images-grid.detail-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.project-card .project-details{padding:.75rem}.project-card .project-details .office-name{font-size:.7rem}.project-card .project-details .project-name{font-size:.9rem}.lightbox-nav{width:60px}.lightbox-nav .nav-arrow{font-size:2.5rem}.lightbox-content{max-width:calc(90vw - 140px)}.lightbox-content .lightbox-close{font-size:2rem;top:-2rem;right:0}.lightbox-content .lightbox-zoom-controls{padding:.15rem .35rem;top:-2rem}.lightbox-content .lightbox-zoom-controls .zoom-btn{width:24px;height:24px;font-size:1rem}.lightbox-content .lightbox-zoom-controls .zoom-level{min-width:40px;font-size:.7rem}.lightbox-content .lightbox-project-codes{width:100%;min-width:auto}.lightbox-content .lightbox-project-codes .code-input-row .lightbox-code-input{width:150px}}@media (width<=480px){.references-grid,.images-grid,.images-grid.detail-grid{grid-template-columns:1fr}.lightbox-nav{width:40px}.lightbox-nav .nav-arrow{font-size:2rem}.lightbox-content{max-width:calc(100vw - 100px)}.lightbox-content img{max-height:calc(70vh - 100px)}.lightbox-content .lightbox-project-codes .code-input-row{flex-direction:column;width:100%}.lightbox-content .lightbox-project-codes .code-input-row .lightbox-code-input,.lightbox-content .lightbox-project-codes .code-input-row .add-code-btn{width:100%}}.nc-upload-project-btn{color:#0082c9;cursor:pointer;background:0 0;border:1px solid #0082c9;border-radius:4px;padding:.5rem 1rem;font-size:.8rem;font-weight:500;transition:all .2s}.nc-upload-project-btn:hover{color:#fff;background:#0082c9}.nc-upload-project-btn:disabled{opacity:.5;cursor:not-allowed}.image-card .nc-upload-btn,.image-card .nc-copy-path-btn{z-index:10;cursor:pointer;opacity:0;border:none;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:500;transition:opacity .2s,background .2s;position:absolute;bottom:.5rem;right:.5rem}.image-card .nc-upload-btn{color:#fff;background:#0082c9d9}.image-card .nc-upload-btn:hover{background:#0082c9}.image-card .nc-upload-btn:disabled{opacity:.5;cursor:not-allowed}.image-card .nc-copy-path-btn{color:#fff;background:#22c55ed9}.image-card .nc-copy-path-btn:hover{background:#16a34a}.image-card:hover .nc-upload-btn,.image-card:hover .nc-copy-path-btn{opacity:1}.dashboard-container{flex-direction:column;display:flex}.dashboard-container>.ui-callout{margin-bottom:var(--space-4)}.dashboard-loading{text-align:center;color:var(--text-color);padding:2rem}.dashboard-tabs{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.tabs-left{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.dashboard-tab{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);padding:0 0 var(--space-1);border:0;border-bottom:var(--border-rule) solid transparent;cursor:pointer;background:0 0}.dashboard-tab:hover{color:var(--text-strong)}.dashboard-tab:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0}.dashboard-tab{user-select:none}.dashboard-tab.active{color:var(--text-strong);border-bottom-color:var(--text-strong)}.tab-rename-input{background:var(--background-color);border:1px solid var(--main-color);color:var(--text-color);border-radius:3px;outline:none;width:8rem;padding:.125rem .25rem;font-size:.875rem}.dashboard-btn{border:1px solid var(--text-bg-color);color:var(--text-color);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:.4rem .75rem;font-size:.8rem;transition:all .15s}.dashboard-btn:hover{background:var(--text-bg-color)}.dashboard-btn.primary{background:var(--main-color);color:#fff;border-color:var(--main-color)}.dashboard-btn.primary:hover{opacity:.85}.dashboard-btn.danger{color:#dc2626;border-color:#dc2626}.dashboard-btn.danger:hover{background:#dc26261a}.dashboard-grid{grid-template-columns:repeat(12,1fr);align-content:start;gap:1rem;display:grid}.dashboard-widget{border:var(--border-hair) solid var(--line);background:var(--surface-card);flex-direction:column;min-height:200px;transition:border-color .15s;display:flex;position:relative}.dashboard-widget.editable{cursor:grab;border-style:dashed}.dashboard-widget.editable:active{cursor:grabbing}.dashboard-widget.drag-over{border-color:var(--main-color);border-width:2px}.dashboard-widget.resizing-active{cursor:default;user-select:none}.widget-header{border-bottom:var(--border-hair) solid var(--line);justify-content:space-between;align-items:center;min-height:2.25rem;padding:.5rem .75rem;display:flex}.widget-title{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.widget-controls{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.widget-remove-btn{border:1px solid var(--text-bg-color);color:var(--text-color);cursor:pointer;background:0 0;border-radius:4px;padding:.1rem .4rem;font-size:.75rem;line-height:1}.widget-remove-btn:hover{color:#dc2626;background:#dc26261a;border-color:#dc2626}.widget-body{flex:1;padding:.5rem;overflow:auto}.widget-content-scroll{overflow:auto}.widget-placeholder{text-align:center;color:var(--text-color);opacity:.6;padding:1rem;font-size:.875rem}.resize-handle{z-index:10;opacity:0;transition:opacity .15s;position:absolute}.editable:hover .resize-handle,.resize-handle:hover{opacity:1}.resize-handle.resize-right{cursor:col-resize;background:linear-gradient(to left, var(--main-color), transparent);width:6px;height:100%;top:0;right:0}.resize-handle.resize-bottom{cursor:row-resize;background:linear-gradient(to top, var(--main-color), transparent);width:100%;height:6px;bottom:0;left:0}.resize-handle.resize-corner{cursor:nwse-resize;background:var(--main-color);opacity:0;border-radius:4px 0 8px;width:14px;height:14px;bottom:0;right:0}.editable:hover .resize-handle.resize-corner,.resize-handle.resize-corner:hover{opacity:.6}body.dashboard-resizing{cursor:col-resize!important;user-select:none!important}body.dashboard-resizing *{cursor:inherit!important;user-select:none!important}body.dashboard-resizing.resize-row{cursor:row-resize!important}body.dashboard-resizing.resize-corner{cursor:nwse-resize!important}.dashboard-empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:3rem 1rem}.dashboard-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dashboard-dialog{background:var(--background-color);border:1px solid var(--text-bg-color);min-width:320px;max-width:90vw;max-height:80vh;color:var(--text-color);border-radius:12px;padding:1.5rem;overflow-y:auto}.dashboard-dialog h3{margin-bottom:1rem;font-size:1.1rem}.dashboard-input{border:1px solid var(--text-bg-color);background:var(--background-color);width:100%;color:var(--text-color);border-radius:6px;outline:none;margin-bottom:1rem;padding:.5rem .75rem;font-size:.9rem}.dashboard-input:focus{border-color:var(--main-color)}.dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.widget-picker{min-width:480px}.widget-picker-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.widget-picker-item{border:1px solid var(--text-bg-color);color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem;transition:all .15s;display:flex}.widget-picker-item:hover{background:var(--text-bg-color);border-color:var(--main-color)}.widget-picker-label{font-size:.85rem;font-weight:500}.widget-picker-size{opacity:.6;font-size:.75rem}@media (width<=1024px){.dashboard-widget{grid-column:span 6!important}.widget-picker{min-width:auto}}@media (width<=768px){.dashboard-widget{grid-column:span 12!important}.dashboard-tabs{flex-direction:column;align-items:stretch}.tabs-left{justify-content:flex-start}.widget-picker-grid{grid-template-columns:1fr}}.project-rates{max-width:100%}.project-rates.loading-state{min-height:200px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.project-rates .rates-subtitle{max-width:72ch;margin:0 0 var(--space-5);color:var(--text-muted);line-height:1.5}.project-rates .ui-callout{margin-bottom:var(--space-4)}.project-rates .rates-table-wrapper{margin-bottom:var(--space-4);overflow-x:auto}.project-rates .rates-table th,.project-rates .rates-table td{white-space:nowrap;vertical-align:middle}.project-rates .rates-table .person-name{color:var(--text-strong);display:block}.project-rates .rates-table .person-category{font-size:var(--size-meta);color:var(--text-muted);display:block}.project-rates .rates-table .rate-col{min-width:100px}.project-rates .rates-table .phase-dates{font-size:var(--size-meta);color:var(--text-muted);font-weight:400;display:block}.project-rates .rates-table .rate-input-wrapper{justify-content:flex-end;align-items:center;gap:4px;min-height:32px;display:inline-flex}.project-rates .rates-table .rate-input{box-sizing:border-box;vertical-align:middle;width:100%;min-height:var(--field-height);padding:var(--space-1) var(--space-2);border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);background:var(--surface-card);color:var(--text-strong);font:var(--weight-book) var(--size-small)/1.4 var(--font-sans)}.project-rates .rates-table .rate-input:where(:not(textarea)){height:var(--field-height)}.project-rates .rates-table .rate-input:hover:not(:disabled){border-color:var(--line-strong)}.project-rates .rates-table .rate-input:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0;border-color:var(--line-strong)}.project-rates .rates-table .rate-input:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}.project-rates .rates-table .rate-input{text-align:right;width:80px;padding:6px 8px}.project-rates .rates-table .rate-input::placeholder{color:var(--text-faint)}.project-rates .rates-table .rate-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.project-rates .rates-table .rate-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.project-rates .rates-table .rate-input{-moz-appearance:textfield}.project-rates .rates-table .remove-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:18px}.project-rates .rates-table .remove-btn:hover{color:var(--state-error)}.project-rates .project-rates__rate--inherited{color:var(--text-faint)}.project-rates .add-person-section{margin-top:8px}.project-rates .add-person-section .add-person-dropdown{background:var(--surface-card);border:var(--border-hair) solid var(--line);max-width:350px;padding:12px}.project-rates .add-person-section .add-person-dropdown .search-input{margin-bottom:8px}.project-rates .add-person-section .add-person-dropdown .person-list{max-height:240px;margin-bottom:8px;overflow-y:auto}.project-rates .add-person-section .add-person-dropdown .person-list .no-results{text-align:center;color:var(--text-muted);font-size:var(--size-meta);padding:12px}.project-rates .add-person-section .add-person-dropdown .person-list .person-option{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;display:flex}.project-rates .add-person-section .add-person-dropdown .person-list .person-option:hover,.project-rates .add-person-section .add-person-dropdown .person-list .person-option:focus-visible{background:var(--accent-tint)}.project-rates .add-person-section .add-person-dropdown .person-list .person-option .person-name{color:var(--text-strong)}.project-rates .add-person-section .add-person-dropdown .person-list .person-option .person-category{font-size:var(--size-meta);color:var(--text-muted)}.estimate-list th.sortable{cursor:pointer;user-select:none}.estimate-list th.sortable:hover,.estimate-list th.sortable.active{color:var(--text-strong)}.estimate-list .team-controls{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.estimate-list .cell-updated{white-space:nowrap}.estimate-list .cell-updated .editor-avatars{vertical-align:middle;gap:2px;margin-left:6px;display:inline-flex}.estimate-list .cell-updated .editor-avatar{color:#96c8ffe6;letter-spacing:.5px;cursor:default;background:#64a0ff33;border:1px solid #64a0ff26;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.5rem;font-weight:700;display:inline-flex}.estimate-list .cell-updated .editor-avatar.editor-avatar-more{background:color-mix(in srgb, var(--text-color) 8%, transparent);color:color-mix(in srgb, var(--text-color) 50%, transparent);font-size:.45rem}.estimate-list .rename-input{background:color-mix(in srgb, var(--text-color) 10%, transparent);border:1px solid color-mix(in srgb, var(--text-color) 30%, transparent);width:100%;color:inherit;font:inherit;border-radius:3px;padding:1px 4px}.estimate-list .rename-input:focus{border-color:#24773399;outline:none}.estimate-list .cell-actions{white-space:nowrap}.estimate-list .cell-actions .action-btn{border:1px solid color-mix(in srgb, var(--text-color) 10%, transparent);color:color-mix(in srgb, var(--text-color) 50%, transparent);cursor:pointer;background:0 0;border-radius:4px;margin-left:4px;padding:2px 6px;font-size:.8rem}.estimate-list .cell-actions .action-btn:hover{background:color-mix(in srgb, var(--text-color) 8%, transparent);color:color-mix(in srgb, var(--text-color) 80%, transparent)}.estimate-list .cell-actions .action-btn.action-btn-danger:hover{color:#e57373;background:#ff505026;border-color:#ff50504d}.modal-content.estimate-modal{background:var(--background-color,#1a1a2e);border:1px solid var(--text-bg-color,#333);border-radius:8px;width:100%;max-width:500px;box-shadow:0 8px 32px #0006}.modal-content.estimate-modal .modal-header{border-bottom:1px solid var(--text-bg-color,#333);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-content.estimate-modal .modal-header h3{color:var(--text-color,#eee);margin:0;font-size:1rem}.modal-content.estimate-modal .modal-header .modal-close{color:var(--text-color,#eee);cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.modal-content.estimate-modal .modal-header .modal-close:hover{opacity:1}.modal-content.estimate-modal .modal-body{padding:1.5rem}.modal-content.estimate-modal .modal-body .error-message{color:#ff6b6b;background:#dc354526;border-radius:4px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.85rem}.modal-content.estimate-modal .modal-body .form-group{margin-bottom:1rem}.modal-content.estimate-modal .modal-body .form-group label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-color,#eee);opacity:.7;margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.modal-content.estimate-modal .modal-body .form-group input,.modal-content.estimate-modal .modal-body .form-group select{border:1px solid var(--text-bg-color,#333);background:var(--background-color,#1a1a2e);width:100%;color:var(--text-color,#eee);box-sizing:border-box;border-radius:4px;padding:.5rem .75rem;font-size:.875rem}.modal-content.estimate-modal .modal-body .form-group input:focus,.modal-content.estimate-modal .modal-body .form-group select:focus{border-color:#24773399;outline:none}.modal-content.estimate-modal .modal-footer{border-top:1px solid var(--text-bg-color,#333);justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;display:flex}.content-area.fullscreen{z-index:9999;border:none;height:100dvh;margin:0;padding:0;position:fixed;top:0;left:0;width:100%!important}.ui-shell:has(.estimate-editor-layout){height:100dvh;overflow:hidden}.ui-shell:has(.estimate-editor-layout) .ui-shell__main{min-height:0;padding-bottom:var(--space-4);flex-direction:column;display:flex;overflow:auto}.ui-shell:has(.estimate-editor-layout) .content-area:has(.estimate-editor-layout){flex-direction:column;flex:1;min-height:0;display:flex}.estimate-editor-layout{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.estimate-editor-main{flex-direction:column;flex:1;min-width:0;padding:0;display:flex;overflow:hidden}.estimate-editor{flex-direction:column;flex:1;min-height:0;display:flex}.estimate-search-bar{gap:var(--space-2);flex-direction:column;flex:auto;min-width:0;display:flex}.estimate-search-bar__row{align-items:flex-start;gap:var(--space-3) var(--space-5);min-width:0;display:flex}.estimate-search-bar__row--phone{flex-wrap:wrap;align-items:center}.estimate-search-bar__row--phone .estimate-search-bar__end{flex-wrap:wrap;flex:auto;min-width:0}.estimate-search-bar__main{align-items:center;gap:var(--space-2) var(--space-4);min-width:0;min-height:var(--field-height-compact);flex-wrap:wrap;flex:auto;display:flex}.estimate-search-bar__main .estimate-search-bar__input{min-height:var(--field-height-compact);height:var(--field-height-compact);padding:2px 6px}.estimate-search-bar__main .filter-sums-btn{width:var(--field-height-compact);height:var(--field-height-compact)}.estimate-search-bar__region:not([hidden]){display:contents}.estimate-search-bar__end{align-items:center;gap:var(--space-3);min-height:var(--field-height-compact);flex:none;margin-left:auto;display:flex}@media (width<=900px){.estimate-search-bar__row{flex-wrap:wrap}.estimate-search-bar__end{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;min-width:0}}.estimate-search-bar__search{align-items:center;gap:var(--space-2);flex:0 320px;min-width:200px;display:flex}.estimate-search-bar__input{flex:auto;min-width:0}.ui-filter-bar__panel .estimate-search-bar__search{flex:none;min-width:0}.filter-sums-btn{border:1px solid var(--text-bg-color,#333);width:30px;height:30px;color:var(--text-color,#eee);cursor:pointer;opacity:.5;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:700;transition:all .15s;display:flex}.filter-sums-btn:hover{opacity:.8;background:#2477331a}.filter-sums-btn.active{opacity:1;background:#24773340;border-color:#24773380}.active-filters{flex-wrap:wrap;gap:4px;margin-top:.4rem;display:flex}.active-filters .filter-tag{color:var(--text-color,#eee);background:#24773326;border:1px solid #24773359;border-radius:3px;align-items:center;gap:3px;padding:2px 6px;font-size:.7rem;display:inline-flex}.active-filters .filter-tag .filter-remove{color:var(--text-color,#eee);cursor:pointer;opacity:.5;background:0 0;border:none;padding:0;font-size:.8rem;line-height:1}.active-filters .filter-tag .filter-remove:hover{opacity:1}.editor-header{border-bottom:1px solid var(--text-bg-color,#333);background:var(--background-color,#1a1a2e);z-index:10;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex;position:sticky;top:0}.editor-header .total-label{color:var(--text-color,#eee);font-size:.95rem;font-weight:600}.editor-header .total-label .filtered-total-hint{opacity:.5;font-size:.7rem;font-weight:400}.fullscreen-btn{border:1px solid var(--text-bg-color,#333);color:var(--text-color,#eee);cursor:pointer;background:0 0;border-radius:4px;padding:4px 8px;font-size:.9rem;line-height:1;transition:background .15s}.fullscreen-btn:hover{background:#24773326}.unsaved-indicator{color:#e8a838;font-size:.8rem;font-weight:500}.save-failed-indicator{color:var(--error-color);font-weight:600}.saved-indicator{color:var(--text-color,#eee);opacity:.5;font-size:.75rem}.empty-hint{text-align:center;color:var(--text-color,#eee);opacity:.5;padding:2rem;font-size:.9rem}.empty-hint--elsewhere{opacity:1}.empty-hint--elsewhere .link-button{font:inherit;color:var(--accent-color);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.bkp-table-container{--sticky-header:30px;--sticky-row-h:28px;--sticky-bg:var(--surface-sunken);--sticky-hover-bg:var(--accent-tint);--hover-bg:var(--accent-tint);min-height:calc(6 * var(--sticky-row-h));flex:1;padding:0 .5rem;overflow:auto}.bkp-table{border-collapse:separate;border-spacing:0;table-layout:fixed;isolation:isolate}.bkp-table thead:first-of-type th{z-index:20;height:var(--sticky-header);background:var(--sticky-bg,#1a1a1a);position:sticky;top:0}.bkp-table .sticky-breadcrumb .breadcrumb-row{z-index:19;cursor:pointer;height:var(--sticky-row-h);position:sticky}.bkp-table .sticky-breadcrumb .breadcrumb-row td{background:var(--sticky-bg,#1a1a1a)!important}.bkp-table .sticky-breadcrumb .breadcrumb-row:hover td{background:var(--sticky-hover-bg,#222)!important}.bkp-table .sticky-breadcrumb .breadcrumb-row:last-child td{box-shadow:0 2px 4px #0006}.bkp-table .sticky-breadcrumb .breadcrumb-row-0{top:var(--sticky-header);z-index:19}.bkp-table .sticky-breadcrumb .breadcrumb-row-1{top:calc(var(--sticky-header) + var(--sticky-row-h));z-index:18}.bkp-table .sticky-breadcrumb .breadcrumb-row-2{top:calc(var(--sticky-header) + var(--sticky-row-h) * 2);z-index:17}.bkp-table .sticky-breadcrumb .breadcrumb-row-3{top:calc(var(--sticky-header) + var(--sticky-row-h) * 3);z-index:16}.bkp-table th{position:relative}.bkp-table .col-resize-handle{cursor:col-resize;z-index:21;width:6px;height:100%;position:absolute;top:0;right:-3px}.bkp-table .col-resize-handle:hover,.bkp-table .col-resize-handle:active{background:color-mix(in srgb, var(--text-color) 20%, transparent)}.bkp-table .custom-col-header{position:relative}.bkp-table .custom-col-header .col-header-name{cursor:default}.bkp-table .custom-col-header .col-rename-input{background:color-mix(in srgb, var(--text-color) 10%, transparent);border:1px solid color-mix(in srgb, var(--text-color) 30%, transparent);width:100%;color:inherit;border-radius:3px;padding:1px 4px;font-size:.75rem}.bkp-table .custom-col-header .col-delete-btn{color:color-mix(in srgb, var(--text-color) 30%, transparent);cursor:pointer;background:0 0;border:none;padding:0 3px;font-size:.7rem;line-height:1;position:absolute;top:2px;right:2px}.bkp-table .custom-col-header .col-delete-btn:hover{color:#e57373}.bkp-table .add-col-header{width:100px;min-width:80px}.bkp-table .add-col-header .add-col-input{border:1px dashed color-mix(in srgb, var(--text-color) 15%, transparent);width:100%;color:inherit;background:0 0;border-radius:3px;padding:2px 4px;font-size:.7rem}.bkp-table .add-col-header .add-col-input::placeholder{color:color-mix(in srgb, var(--text-color) 30%, transparent)}.bkp-table .add-col-header .add-col-input:focus{border-color:color-mix(in srgb, var(--text-color) 40%, transparent);background:color-mix(in srgb, var(--text-color) 5%, transparent);outline:none}.bkp-table .action-col{width:50px}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row{transition:background-color .1s}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row td{z-index:0;white-space:nowrap;text-overflow:ellipsis;position:relative;overflow:hidden}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row:not(.ui-table__row--group) td{background:var(--background-color,#000)}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row:hover td{background:var(--hover-bg,#0a0a0a)}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row.disabled{opacity:.5}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row.inactive-row{opacity:.7}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .expand-cell{text-align:center}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .expand-cell .expand-button{color:var(--text-color,#eee);cursor:pointer;opacity:.6;background:0 0;border:none;padding:2px 4px;font-size:.65rem}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .expand-cell .expand-button:hover{opacity:1}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .code-cell{opacity:.7}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .name-cell .name-content{align-items:center;gap:4px;display:flex}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .name-cell .note-indicators{gap:2px;display:flex}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .name-cell .note-indicator{background:#3498db;border-radius:50%;width:6px;height:6px;display:inline-block}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .name-cell .risk-indicator{background:#e74c3c;border-radius:50%;width:6px;height:6px;display:inline-block}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .editable{cursor:pointer}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .editable:hover{background:#24773314}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .disabled{cursor:default;opacity:.4}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .grayed{opacity:.3}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .number-cell{text-align:right;font-variant-numeric:tabular-nums}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .unit-cell{text-align:center}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .total-cell{text-align:right;font-variant-numeric:tabular-nums}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .total-cell.inactive{opacity:.3}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell{cursor:pointer;white-space:normal;min-width:120px}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell .tag-cell-content{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell .tag-badge{color:var(--text-color,#eee);background:#24773326;border:1px solid #24773359;border-radius:3px;align-items:center;gap:2px;padding:1px 5px;font-size:.7rem;line-height:1.3;display:inline-flex}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell .tag-badge .tag-remove{color:var(--text-color,#eee);cursor:pointer;opacity:.5;background:0 0;border:none;padding:0;font-size:.8rem;line-height:1}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell .tag-badge .tag-remove:hover{opacity:1}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell .tag-input-wrapper{display:inline-block;position:relative}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell .tag-input-wrapper .tag-input{background:var(--background-color,#1a1a2e);width:70px;color:var(--text-color,#eee);box-sizing:border-box;border:1px solid #24773366;border-radius:2px;padding:1px 4px;font-size:.7rem}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell .tag-input-wrapper .tag-input:focus{border-color:#247733b3;outline:none}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell .tag-input-wrapper .tag-suggestions{z-index:200;background:var(--background-color,#1a1a2e);border:1px solid var(--text-bg-color,#333);border-radius:4px;min-width:120px;max-height:150px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell .tag-input-wrapper .tag-suggestions .tag-suggestion{cursor:pointer;color:var(--text-color,#eee);padding:4px 8px;font-size:.75rem}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell .tag-input-wrapper .tag-suggestions .tag-suggestion:hover,.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .tag-cell .tag-input-wrapper .tag-suggestions .tag-suggestion.active{background:#24773326}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .action-cell{text-align:center;white-space:nowrap}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .action-cell .add-button,.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .action-cell .delete-button{border:1px solid var(--text-bg-color,#333);color:var(--text-color,#eee);cursor:pointer;opacity:.5;background:0 0;border-radius:3px;margin:0 1px;padding:0 4px;font-size:.8rem;transition:opacity .15s}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .action-cell .add-button:hover:not(:disabled),.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .action-cell .delete-button:hover:not(:disabled){opacity:1}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .action-cell .add-button:disabled,.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .action-cell .delete-button:disabled{cursor:default;opacity:.2}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row .action-cell .delete-button{color:#e74c3c;border-color:#e74c3c4d}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row input,.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row select{background:var(--background-color,#1a1a2e);width:100%;color:var(--text-color,#eee);box-sizing:border-box;border:1px solid #24773366;border-radius:2px;padding:2px 4px;font-size:.8rem}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row input:focus,.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row select:focus{border-color:#247733b3;outline:none}.bkp-table tbody:not(.sticky-breadcrumb) .bkp-row input[inputmode=decimal]{text-align:right}.bkp-table tbody:not(.sticky-breadcrumb) .comment-row td{background:var(--background-color,#000)}.bkp-table tbody:not(.sticky-breadcrumb) .comment-row .comment-cell{overflow-wrap:break-word;color:var(--text-color,#eee);opacity:.85;font-style:italic}.bkp-table tbody:not(.sticky-breadcrumb) .comment-row .comment-cell.editable{cursor:pointer}.bkp-table tbody:not(.sticky-breadcrumb) .comment-row .comment-cell.editable:hover{background:#24773314}.bkp-table tbody:not(.sticky-breadcrumb) .comment-row .comment-cell input{background:var(--background-color,#1a1a2e);width:100%;color:var(--text-color,#eee);box-sizing:border-box;border:1px solid #24773366;border-radius:2px;padding:2px 4px;font-size:.8rem;font-style:italic}.bkp-table tbody:not(.sticky-breadcrumb) .comment-row .comment-cell input:focus{border-color:#247733b3;outline:none}.variant-conflict-warning{color:var(--state-error);border:1px solid var(--state-error);margin:0;padding:.3rem .5rem}.variant-badge{color:#3498db;vertical-align:middle;background:#3498db26;border:1px solid #3498db66;border-radius:2px;margin-right:3px;padding:0 2px;font-size:.55rem;font-weight:700;line-height:1.2;display:inline-block}.variant-indicator{color:#3498db;background:#3498db26;border:1px solid #3498db66;border-radius:2px;padding:0 2px;font-size:.55rem;font-weight:700;line-height:1.2;display:inline-block}.variant-override{position:relative;background:#3498db0a!important}.conflict-row{border-left:2px solid #e74c3c66;background:#e74c3c0a!important}.context-menu{z-index:1000;background:var(--background-color,#1a1a2e);border:1px solid var(--text-bg-color,#333);border-radius:6px;min-width:200px;position:fixed;overflow:hidden;box-shadow:0 4px 12px #0000004d}.context-menu .context-menu-header{color:var(--text-color,#eee);opacity:.6;border-bottom:1px solid var(--text-bg-color,#333);text-transform:uppercase;letter-spacing:.5px;padding:.4rem .75rem;font-size:.7rem;font-weight:600}.context-menu .context-menu-item-group{border-bottom:1px solid color-mix(in srgb, var(--text-color) 3%, transparent)}.context-menu .context-menu-item-group:last-child{border-bottom:none}.context-menu .context-menu-item{width:100%;color:var(--text-color,#eee);text-align:left;cursor:pointer;background:0 0;border:none;padding:.5rem .75rem;font-size:.8rem;transition:background .1s;display:block}.context-menu .context-menu-item:hover{background:#2477331a}.context-menu .context-menu-item.context-menu-item-danger{color:#e74c3c}.context-menu .context-menu-item.context-menu-item-danger:hover{background:#e74c3c1a}.override-modal{max-width:400px}.override-modal .form-group{margin-bottom:.75rem}.override-modal .form-group label{color:var(--text-color,#eee);opacity:.7;margin-bottom:.3rem;font-size:.8rem;font-weight:600;display:block}.override-modal .form-group input,.override-modal .form-group select{border:1px solid var(--text-bg-color,#333);background:var(--background-color,#1a1a2e);width:100%;color:var(--text-color,#eee);box-sizing:border-box;border-radius:4px;padding:.4rem .5rem;font-size:.85rem}.override-modal .form-group input:focus,.override-modal .form-group select:focus{border-color:#24773399;outline:none}.import-preview-modal{background:var(--background-color,#1a1a2e);border:1px solid var(--text-bg-color,#333);border-radius:8px;flex-direction:column;width:95vw;max-width:1400px;max-height:90vh;display:flex;box-shadow:0 8px 32px #0009}.import-preview-modal .modal-body{flex:1;min-height:0;overflow-y:auto}.import-preview-modal .import-meta-form{margin-bottom:1rem}.import-preview-modal .import-meta-form .import-meta-row{gap:1rem;display:flex}.import-preview-modal .import-meta-form .import-meta-row .form-group{flex:1}.import-preview-modal .import-meta-form .import-meta-row .form-group label{opacity:.7;margin-bottom:.25rem;font-size:.75rem;display:block}.import-preview-modal .import-meta-form .import-meta-row .form-group select,.import-preview-modal .import-meta-form .import-meta-row .form-group input{background:color-mix(in srgb, var(--text-color) 7%, transparent);border:1px solid color-mix(in srgb, var(--text-color) 15%, transparent);width:100%;color:inherit;border-radius:4px;padding:.35rem .5rem;font-size:.8rem}.import-preview-modal .import-meta-form .import-meta-info{opacity:.5;margin-top:.5rem;font-size:.75rem}.import-preview-modal .import-custom-columns{background:color-mix(in srgb, var(--text-color) 3%, transparent);border:1px solid color-mix(in srgb, var(--text-color) 8%, transparent);border-radius:6px;margin-bottom:1rem;padding:.75rem}.import-preview-modal .import-custom-columns h4{margin:0 0 .5rem;font-size:.8rem;font-weight:600}.import-preview-modal .import-custom-columns .import-col-mapping-list{flex-direction:column;gap:.4rem;display:flex}.import-preview-modal .import-custom-columns .import-col-mapping-row{align-items:center;gap:.75rem;display:flex}.import-preview-modal .import-custom-columns .import-col-mapping-row .import-col-name{flex:1;min-width:0}.import-preview-modal .import-custom-columns .import-col-mapping-row .import-col-name strong{font-size:.8rem;display:block}.import-preview-modal .import-custom-columns .import-col-mapping-row .import-col-name .import-col-sample{opacity:.5;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;display:block;overflow:hidden}.import-preview-modal .import-custom-columns .import-col-mapping-row select{background:color-mix(in srgb, var(--text-color) 7%, transparent);border:1px solid color-mix(in srgb, var(--text-color) 15%, transparent);width:220px;color:inherit;border-radius:4px;padding:.3rem .5rem;font-size:.75rem}.import-preview-modal .import-preview-info{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:flex}.import-preview-modal .import-preview-info .import-preview-hint{opacity:.5;font-size:.7rem;font-weight:400}.import-preview-modal .import-table-container{border:1px solid color-mix(in srgb, var(--text-color) 8%, transparent);border-radius:4px;max-height:45vh;overflow:auto}.import-preview-modal .import-table-container .import-preview-table .import-active-col{width:30px}.import-preview-modal .import-table-container .import-preview-table .import-active-cell{text-align:center}.import-preview-modal .import-table-container .import-preview-table .import-active-cell input[type=checkbox]{cursor:pointer;accent-color:#4caf50}.import-preview-modal .import-table-container .import-preview-table .code-cell{white-space:nowrap}.import-preview-modal .import-table-container .import-preview-table td.editable{cursor:pointer}.import-preview-modal .import-table-container .import-preview-table td.editable:hover{background:color-mix(in srgb, var(--text-color) 6%, transparent)}.import-preview-modal .import-table-container .import-preview-table td.editable input{background:color-mix(in srgb, var(--text-color) 10%, transparent);width:100%;color:inherit;border:1px solid #64c86466;border-radius:2px;padding:1px 3px;font-size:.75rem}.import-preview-modal .import-table-container .import-preview-table td.total-cell.mismatch{color:#ff9800;position:relative}.import-preview-modal .import-table-container .import-preview-table .mismatch-icon{text-align:center;background:var(--signal);width:14px;height:14px;color:var(--on-signal);cursor:help;vertical-align:middle;border-radius:50%;margin-left:4px;font-size:.6rem;font-weight:700;line-height:14px;display:inline-block}.import-preview-modal .mismatch-summary{color:#ff9800;font-weight:600}.import-preview-modal .import-context-menu{z-index:1100;background:var(--background-color,#1a1a2e);border:1px solid color-mix(in srgb, var(--text-color) 15%, transparent);border-radius:6px;min-width:200px;padding:4px 0;position:fixed;box-shadow:0 4px 16px #00000080}.import-preview-modal .import-context-menu .context-menu-header{opacity:.5;border-bottom:1px solid color-mix(in srgb, var(--text-color) 8%, transparent);white-space:nowrap;text-overflow:ellipsis;max-width:280px;padding:6px 12px;font-size:.7rem;overflow:hidden}.import-preview-modal .import-context-menu .context-menu-item{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:.8rem;display:block}.import-preview-modal .import-context-menu .context-menu-item:hover{background:color-mix(in srgb, var(--text-color) 8%, transparent)}.dossier-switch-list,.variant-manage-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.variant-manage-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.variant-manage-actions{gap:var(--space-2);display:flex}.bkp-table .mwst-rate--default{color:var(--text-muted)}.bkp-table input[aria-invalid=true]{border-color:var(--state-error)}.cost-control-editor{min-height:0;color:var(--text-color);flex-direction:column;flex:1;display:flex}.cost-control-editor>.ui-tabs,.cost-control-editor>.ui-tabs>.ui-tabs__panel:not([hidden]){flex-direction:column;flex:1;min-height:0;display:flex}.cost-control-editor .contract-overview{flex:1;min-height:0;overflow:auto}.cost-control-editor .control-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .25rem;display:flex}.cost-control-editor .control-toolbar--end{justify-content:flex-end}.cost-control-editor .unsaved-indicator{color:var(--warning-color);font-size:.8rem}.cost-control-editor .saved-indicator{color:var(--muted-color);font-size:.8rem}.cost-control-editor .fullscreen-btn{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);cursor:pointer;border-radius:4px;padding:.25rem .5rem}.cost-control-editor .empty-hint{color:var(--text-color-secondary);padding:.75rem;font-style:italic}.cost-control-editor .control-table-loading{text-align:center;opacity:.6;padding:1.5rem}.cost-control-editor .control-table-container{border:1px solid var(--text-bg-color);border-radius:6px;flex:1;min-height:168px;overflow:auto}.control-detail-panel{border-top:2px solid var(--main-color);border-bottom:1px solid var(--text-bg-color);padding:.75rem 1rem}.control-detail-panel .control-detail-title{color:var(--text-color);margin-bottom:.5rem;font-weight:600}.control-detail-panel .control-detail-override{color:var(--warning-color);cursor:help;margin-left:.6rem;font-size:.8rem;font-weight:500}.control-detail-panel .control-detail-error{color:var(--error-color);margin-bottom:.5rem;font-size:.82rem}.control-detail-panel .control-detail-columns{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width<=900px){.control-detail-panel .control-detail-columns{grid-template-columns:1fr}}.control-detail-panel .control-detail-section-head{border-bottom:1px solid var(--text-bg-color);justify-content:space-between;align-items:baseline;margin-bottom:.35rem;padding-bottom:.2rem;font-size:.85rem;font-weight:600;display:flex}.control-detail-panel .control-detail-section-head .control-detail-sum{color:var(--text-color-secondary);font-size:.8rem;font-weight:500}.control-detail-panel .control-detail-empty{color:var(--text-color-secondary);padding:.25rem 0;font-size:.8rem;font-style:italic}.control-detail-panel .control-detail-joined .control-detail-left{vertical-align:top}.control-detail-panel .control-detail-joined .control-detail-right{border-left:1px solid var(--line)}.control-detail-panel .control-detail-joined .control-detail-none{color:var(--text-muted);font-style:italic}.control-detail-panel .control-detail-joined .control-detail-art{text-align:center;width:2.5rem}.control-detail-panel .control-detail-joined .control-detail-art abbr{cursor:default;text-decoration:none}.control-detail-panel .control-detail-joined .control-detail-regie{font-size:var(--size-meta);color:var(--text-muted)}.control-detail-panel .control-detail-joined .control-detail-regie--exceeded{color:var(--state-error)}.control-detail-panel .control-detail-joined .control-detail-sum{color:var(--text-muted);margin-left:.5rem;font-weight:500}.control-detail-panel .control-detail-list{margin-bottom:.4rem}.control-detail-panel .control-detail-list .control-detail-actions{text-align:right;white-space:nowrap}.control-detail-panel .control-detail-list .control-detail-actions .link-btn{color:var(--main-color);cursor:pointer;background:0 0;border:none;margin-left:.4rem;font-size:.78rem;text-decoration:underline}.control-detail-panel .control-detail-list .control-detail-actions .link-btn.danger{color:var(--error-color)}.control-detail-panel .control-detail-form{background:var(--fourth-color);border-radius:4px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.4rem;display:flex}.control-detail-panel .control-detail-form input,.control-detail-panel .control-detail-form select{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);border-radius:3px;padding:.25rem .4rem;font-size:.82rem}.control-detail-panel .control-detail-form input[type=text]{flex:160px}.control-detail-panel .control-detail-form .control-detail-form-actions{gap:.4rem;margin-left:auto;display:flex}.control-detail-panel .control-detail-add-row{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.control-detail-panel .control-detail-add-payments{gap:var(--space-2);margin-left:auto;display:flex}.contract-overview__vertrag{padding:var(--space-3) 0;border-top:1px solid var(--line)}.contract-overview__title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--size-body-l);flex-wrap:wrap;display:flex}.contract-overview__table{margin-bottom:var(--space-2)}.contract-overview__payments summary{cursor:pointer;color:var(--text-muted);font-size:var(--size-small)}.submitenten-table{width:100%}.submitenten-table .ui-input{min-width:8rem}.submission-dialog__add{margin-block:var(--space-3);max-width:24rem}.comparison-table{width:100%}.comparison-table .ui-input{text-align:end;min-width:7rem}.comparison-table__figure{color:var(--text-muted);font-size:var(--size-small);font-variant-numeric:tabular-nums;display:block}.submission-dialog__actions{justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.crm-inline-form{margin-block:var(--space-3);padding:var(--space-3);border:1px solid var(--line-faint)}.crm-inline-form__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.projektstand-modal{background:var(--background-color);border:1px solid var(--text-bg-color);z-index:1001;border-radius:6px;flex-direction:column;width:95vw;max-width:1500px;height:92vh;font-family:Arial,sans-serif;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 16px 64px #00000059}.projektstand-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.projektstand-header-left{flex:1;min-width:0}.projektstand-project-select{border:1px solid var(--text-bg-color);color:var(--text-color);cursor:pointer;background:0 0;border-radius:4px;width:100%;max-width:260px;padding:5px 8px;font-family:Arial,sans-serif;font-size:14px}.projektstand-project-select:focus{border-color:var(--main-color);outline:none}.projektstand-title{color:var(--text-color);opacity:.5;text-transform:uppercase;letter-spacing:1px;font-size:14px;font-weight:500}.projektstand-close-btn{cursor:pointer;color:var(--text-color);opacity:.4;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.projektstand-close-btn:hover{opacity:1}.projektstand-loading,.projektstand-empty{color:var(--text-color);opacity:.4;flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.projektstand-pages{scroll-snap-type:y proximity;scroll-behavior:smooth;flex:1;overflow-y:auto}.projektstand-page{scroll-snap-align:start;flex-direction:column;min-height:100%;display:flex}.projektstand-matrix{flex:1;min-height:0;padding:0 16px 10px;display:flex}.matrix-y-axis{flex-direction:column;flex-shrink:0;justify-content:space-around;width:20px;padding-right:10px;display:flex}.axis-label{color:var(--text-color);opacity:.7;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;font-size:11px;font-weight:500}.axis-label-top,.axis-label-bottom{writing-mode:vertical-lr;text-align:center;transform:rotate(180deg)}.matrix-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.matrix-x-axis{flex-shrink:0;grid-template-columns:1fr 1fr;padding-bottom:4px;display:grid}.matrix-x-axis .axis-label{text-align:center}.matrix-canvas{flex:1;min-height:0;position:relative;overflow:hidden}.matrix-canvas:before{content:"";background:var(--text-bg-color);pointer-events:none;z-index:0;width:1px;position:absolute;top:0;bottom:0;left:50%}.matrix-canvas:after{content:"";background:var(--text-bg-color);pointer-events:none;z-index:0;height:1px;position:absolute;top:50%;left:0;right:0}.projektstand-topic-card{cursor:grab;z-index:2;width:14%;min-width:100px;max-width:200px;padding:3px 6px;font-size:11px;transition:opacity .3s;position:absolute}.projektstand-topic-card:active{cursor:grabbing}.projektstand-topic-card.completing{opacity:.25;cursor:default;transition:opacity .5s}.projektstand-topic-card.completing .projektstand-status-icon{pointer-events:auto;cursor:pointer;opacity:1}.topic-card-header{align-items:center;gap:6px;display:flex}.projektstand-status-icon{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;transition:transform .15s;display:flex}.projektstand-status-icon:hover{transform:scale(1.15)}.topic-title{color:var(--text-color);cursor:text;word-break:break-word;flex:1;min-width:0;font-size:11px;font-weight:600;line-height:1.3}.topic-title-input{border:none;border-bottom:1px solid var(--main-color);color:var(--text-color);background:0 0;outline:none;flex:1;min-width:0;padding:0 0 2px;font-family:Arial,sans-serif;font-size:11px;font-weight:600}.topic-delete-btn{cursor:pointer;color:var(--text-color);opacity:0;background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;transition:opacity .15s;display:flex}.projektstand-topic-card:hover .topic-delete-btn,.completed-item:hover .topic-delete-btn,.ps-simple-row:hover .topic-delete-btn,.ps-risk-left:hover .topic-delete-btn{opacity:.3}.topic-delete-btn:hover{color:var(--second-color);opacity:1!important}.topic-card-body{cursor:text;padding-top:2px}.topic-card-body.editing{padding-top:6px}.topic-text{color:var(--text-color);opacity:.55;white-space:pre-wrap;word-break:break-word;font-size:10px;line-height:1.4}.topic-text-input{border:1px solid var(--text-bg-color);width:100%;color:var(--text-color);resize:vertical;background:0 0;border-radius:4px;outline:none;min-height:28px;padding:3px 5px;font-family:Arial,sans-serif;font-size:10px}.topic-text-input:focus{border-color:var(--main-color)}.topic-edit-actions{justify-content:flex-end;gap:4px;margin-top:4px;display:flex}.projektstand-completed{border-top:1px solid var(--text-bg-color);flex-shrink:0;max-height:160px;padding:8px 16px 10px;overflow-y:auto}.completed-header{color:var(--text-color);opacity:.4;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:12px;font-weight:500}.completed-list{flex-direction:column;gap:2px;display:flex}.completed-item{border-radius:4px;align-items:center;gap:8px;padding:3px 6px;font-size:13px;transition:background .1s;display:flex}.completed-item:hover{background:var(--text-bg-color)}.completed-title{color:var(--text-color);opacity:.4;cursor:pointer;flex-shrink:0;font-weight:500;text-decoration:line-through}.completed-title:hover{opacity:.7;text-decoration:none}.completed-text{color:var(--text-color);opacity:.25;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.completed-date{color:var(--text-color);opacity:.25;flex-shrink:0;font-size:11px}.projektstand-form{flex-direction:column;gap:36px;padding:24px 40px 40px;display:flex}.ps-form-section h3{color:var(--text-color);text-align:left;margin:0;font-size:14px;font-weight:600}.ps-section-header{border-bottom:1px solid var(--text-bg-color);align-items:center;gap:10px;margin-bottom:10px;padding-bottom:6px;display:flex}.ps-form-input{color:var(--text-color);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;flex:1;padding:4px 0;font-family:Arial,sans-serif;font-size:13px;transition:border-color .15s}.ps-form-input:focus{border-color:var(--main-color)}.ps-form-input::placeholder{color:var(--text-color);opacity:.3}.ps-simple-list{flex-direction:column;gap:0;padding-left:20px;display:flex}.ps-simple-row{align-items:center;gap:8px;padding:3px 0;display:flex}.ps-simple-row .ps-row-delete{opacity:0}.ps-simple-row:hover .ps-row-delete{opacity:.3}.ps-risk-list{flex-direction:column;gap:0;padding-left:20px;display:flex}.ps-risk-header-row{border-bottom:1px solid var(--text-bg-color);gap:16px;margin-bottom:4px;padding-bottom:4px;display:flex}.ps-risk-header-row .ps-risk-col-label{color:var(--text-color);opacity:.4;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:500}.ps-risk-header-row .ps-risk-col-label:first-child{flex-shrink:0;width:40%}.ps-risk-header-row .ps-risk-col-label:last-child{flex:1}.ps-risk-row{align-items:flex-start;gap:16px;padding:4px 0;display:flex}.ps-risk-deadline{flex-shrink:0;width:100px}.ps-risk-deadline .ps-form-input{text-align:center;font-size:12px}.ps-risk-left{flex-shrink:0;align-items:center;gap:6px;width:40%;display:flex}.ps-risk-left .ps-form-input{flex:1}.ps-risk-left .ps-row-delete{opacity:0}.ps-risk-left:hover .ps-row-delete{opacity:.3}.ps-risk-right{flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.ps-response-tag{background:var(--text-bg-color);color:var(--text-color);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}[data-theme=dark] .ps-response-tag{background:#ffffff1a}.ps-response-remove{color:var(--text-color);opacity:.4;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.ps-response-remove:hover{opacity:1;color:var(--second-color)}.ps-response-input{border:none;border-bottom:1px dashed var(--text-bg-color);color:var(--text-color);background:0 0;outline:none;width:100px;padding:2px 0;font-family:Arial,sans-serif;font-size:11px}.ps-response-input:focus{border-color:var(--main-color)}.ps-response-input::placeholder{color:var(--text-color);opacity:.3}.person-auswertung{gap:var(--rhythm-section);padding:var(--space-5);flex-direction:column;max-width:1200px;margin:0 auto;display:flex}.person-auswertung .person-auswertung-header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--line-faint);display:flex}.person-auswertung .person-auswertung-header__who{align-items:center;gap:var(--space-4);display:flex}.person-auswertung .person-auswertung-header__name{margin:0 0 var(--space-1);font-size:var(--size-h2);color:var(--text-strong)}.person-auswertung .person-auswertung-header__switcher{margin-bottom:var(--space-1);font-size:var(--size-h2);font-weight:600}.person-auswertung .person-avatar{object-fit:cover;border-radius:50%;width:56px;height:56px}.person-auswertung .ui-tabs__panel:not([hidden]){gap:var(--rhythm-block);flex-direction:column;display:flex}.person-auswertung .detail-table-wrapper{overflow-x:auto}.person-auswertung .detail-table td.positive{color:var(--success-color)}.person-auswertung .detail-table td.negative{color:var(--error-color)}.person-auswertung .detail-table .muted{color:var(--muted-color)}.person-auswertung .detail-table .ferien-planned{color:var(--muted-color);font-style:italic}.person-auswertung .detail-table .overtime-value{color:var(--warning-color)}.person-auswertung .detail-table tr.row-overtime{box-shadow:inset 3px 0 0 0 var(--warning-color);background:#c7770014}[data-theme=dark] .person-auswertung .detail-table tr.row-overtime{background:#f0a0301f}.person-auswertung .kiga-section{gap:var(--rhythm-block);flex-direction:column;display:flex}.person-auswertung .kiga-summary{margin-bottom:1.25rem}.person-auswertung .kiga-stats{margin-bottom:1rem}.person-auswertung .kiga-progress{margin-bottom:.75rem}.person-auswertung .kiga-progress-bar{background:var(--text-bg-color,#e5e7eb);border-radius:7px;height:14px;position:relative;overflow:hidden}[data-theme=dark] .person-auswertung .kiga-progress-bar{background:#333}.person-auswertung .kiga-progress-bar .kiga-progress-fill{background:var(--main-color);height:100%;transition:width .3s}.person-auswertung .kiga-progress-bar.status-warning .kiga-progress-fill{background:var(--warning-color)}.person-auswertung .kiga-progress-bar.status-error .kiga-progress-fill{background:var(--error-color)}.person-auswertung .kiga-progress-caption{color:var(--text-color);opacity:.8;margin-top:.3rem;font-size:.85rem}.person-auswertung .kiga-footnote{color:var(--muted-color);margin:0;font-size:.8rem;font-style:italic}.gantt-editor{flex-direction:column;height:100%;display:flex;overflow:hidden}.gantt-editor-header{border-bottom:1px solid var(--border-color,#e0e0e0);align-items:baseline;gap:1rem;padding:.75rem 1rem;display:flex}.gantt-editor-title{color:var(--text-color);margin:0;font-size:1.1rem;font-weight:600}.gantt-editor-status{color:var(--text-muted,#888);font-size:.8rem}.gantt-reloaded-banner{color:#1e40af;background:#dbeafe;border-bottom:1px solid #93c5fd;padding:.4rem 1rem;font-size:.85rem}[data-theme=dark] .gantt-reloaded-banner{color:#93c5fd;background:#1e3a5f;border-color:#2563eb}.gantt-toolbar{border-bottom:1px solid var(--border-color,#e0e0e0);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.gantt-toolbar-view-toggle{border:1px solid var(--border-color,#d0d0d0);border-radius:4px;display:flex;overflow:hidden}.gantt-toolbar-select{background:var(--btn-bg,#f5f5f5);color:var(--text-color);cursor:pointer;border:none;padding:.3rem .75rem;font-size:.85rem}.gantt-context-menu-overlay{z-index:40;position:fixed;inset:0}.gantt-context-menu{z-index:41;background:var(--card-bg,#fff);border:1px solid var(--border-color,#d0d0d0);border-radius:6px;min-width:140px;padding:.25rem;position:fixed;box-shadow:0 4px 16px #0000002e}.gantt-context-menu-item{text-align:left;width:100%;color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.4rem .6rem;font-size:.85rem;display:block}.gantt-context-menu-item:hover{background:var(--btn-hover-bg,#e8e8e8)}.gantt-context-menu-item--danger:hover{background:var(--danger-color,#dc2626);color:#fff}.gantt-toolbar-actions{gap:.4rem;margin-left:auto;display:flex}.gantt-row--dimmed{opacity:.25;transition:opacity .12s}.gantt-toolbar-btn{background:var(--btn-bg,#f5f5f5);color:var(--text-color);border:1px solid var(--border-color,#d0d0d0);cursor:pointer;border-radius:4px;padding:.3rem .75rem;font-size:.85rem;transition:background .15s}.gantt-toolbar-btn:hover{background:var(--btn-hover-bg,#e8e8e8)}.gantt-toolbar-btn--active{background:var(--main-color,#059669);color:#fff;border-color:var(--main-color,#059669)}.gantt-toolbar-btn--focus{background:var(--warning-color);color:#fff;border-color:var(--warning-color);margin-left:.5rem}.gantt-toolbar-view-toggle .gantt-toolbar-btn{border:none;border-right:1px solid var(--border-color,#d0d0d0);border-radius:0}.gantt-toolbar-view-toggle .gantt-toolbar-btn:last-child{border-right:none}[data-theme=dark] .gantt-toolbar-btn{color:#ddd;background:#333;border-color:#555}[data-theme=dark] .gantt-toolbar-btn:hover{background:#444}[data-theme=dark] .gantt-toolbar-btn--active{background:var(--main-color,#059669);color:#fff}.gantt-chart{flex:1;position:relative;overflow:auto}.gantt-axis{border-bottom:2px solid var(--border-color,#d0d0d0);background:var(--table-header-bg,#f8f8f8);user-select:none;display:flex}[data-theme=dark] .gantt-axis{background:#2a2a2a}.gantt-row-name{z-index:4;box-sizing:border-box;background:var(--card-bg,#fff);border-right:2px solid var(--border-color,#d0d0d0);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;flex:none;padding-right:.5rem;font-size:.78rem;line-height:28px;position:sticky;left:0;overflow:hidden}[data-theme=dark] .gantt-row-name{background:#1f1f1f}.gantt-axis-name{z-index:5;background:var(--table-header-bg,#f8f8f8);cursor:default}[data-theme=dark] .gantt-axis-name{background:#2a2a2a}.gantt-row-track{flex:none;height:100%;position:relative}.gantt-axis-col{color:var(--text-muted,#666);border-right:1px solid var(--border-color,#e0e0e0);white-space:nowrap;justify-content:center;align-items:center;font-size:.7rem;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.gantt-axis-col--nonworking{background:#94a3b82e}.gantt-body{position:relative}.gantt-row{border-bottom:1px solid var(--border-color,#f0f0f0);display:flex}.gantt-row:hover{background:#00000004}[data-theme=dark] .gantt-row:hover{background:#ffffff08}.gantt-group-header{background:var(--table-header-bg,#f8f8f8);border-bottom:1px solid var(--border-color,#e0e0e0);color:var(--text-muted,#555);font-size:.78rem;font-weight:600;display:flex}[data-theme=dark] .gantt-group-header{color:#aaa;background:#2a2a2a}.gantt-group-name{background:var(--table-header-bg,#f8f8f8);font-weight:600}[data-theme=dark] .gantt-group-name{background:#2a2a2a}.gantt-group-summary{pointer-events:none;cursor:move;background:#64748b8c;border-radius:3px;height:6px;position:absolute;top:50%;transform:translateY(-50%)}.gantt-today-marker{pointer-events:none;z-index:2;background:#ef4444;width:2px;position:absolute;top:0;bottom:0}.gantt-today-marker--body{height:100%}.gantt-bar{cursor:grab;user-select:none;z-index:1;border-radius:3px;align-items:center;height:20px;display:flex;position:absolute;top:4px;overflow:hidden;box-shadow:0 1px 3px #0003}.gantt-bar:active{cursor:grabbing}.gantt-bar-label{color:#fff;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;flex:1;min-width:0;padding:0 6px;font-size:.7rem;overflow:hidden}.gantt-bar-resize-handle{cursor:col-resize;background:#ffffff4d;flex-shrink:0;width:6px;height:100%}.gantt-bar--segmented{box-shadow:none;overflow:visible}.gantt-bar--segmented .gantt-bar-resize-handle{height:100%;position:absolute;top:0;right:0}.gantt-bar-segment{border-radius:3px;align-items:center;display:flex;position:absolute;top:0;bottom:0;overflow:hidden;box-shadow:0 1px 3px #0003}.gantt-bar-seglabel{color:#ffffffd9;pointer-events:none;margin:0 auto;font-size:.6rem}.gantt-milestone{cursor:pointer;z-index:1;background:#f59e0b;width:12px;height:12px;position:absolute;transform:rotate(45deg);box-shadow:0 1px 3px #00000040}.gantt-milestone:hover{filter:brightness(.9)}.gantt-bar--has-notes:after{content:"";pointer-events:none;background:#ffffffd9;border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:3px}.gantt-milestone--has-notes{outline-offset:1px;outline:1.5px solid #ffffffe6}.gantt-pendenzen-header{cursor:pointer;user-select:none}.gantt-milestone--pendenz{background:#6366f1}.gantt-milestone--pendenz.gantt-milestone--overdue{background:#ef4444}.gantt-arrows .gantt-arrow{stroke:#94a3b8;stroke-width:1.5px}.gantt-task-modal{min-width:340px;max-width:480px}.gantt-task-modal .ui-field,.gantt-group-modal .ui-field{margin-bottom:var(--space-4)}.gantt-task-modal .color-swatch-row input[type=color],.gantt-group-modal .color-swatch-row input[type=color]{width:var(--field-height);height:var(--field-height-compact);border:var(--border-hair) solid var(--line);background:var(--surface-card);padding:0}.gantt-task-modal .dep-row,.gantt-group-modal .dep-row{gap:var(--space-2);margin-bottom:var(--space-2);align-items:center;display:flex}.gantt-task-modal .dep-row .ui-input:first-child,.gantt-task-modal .dep-row .dep-predecessor-name,.gantt-group-modal .dep-row .ui-input:first-child,.gantt-group-modal .dep-row .dep-predecessor-name{flex:1}.gantt-task-modal .dep-row .ui-input:not(:first-child),.gantt-group-modal .dep-row .ui-input:not(:first-child){width:5rem}.gantt-task-modal .dep-row .dep-lag-unit,.gantt-group-modal .dep-row .dep-lag-unit{font-size:var(--size-meta);color:var(--text-muted)}.gantt-owners-modal .owner-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.color-swatch-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.color-swatch{cursor:pointer;border:1px solid #94a3b880;border-radius:4px;width:20px;height:20px;padding:0}.color-swatch--selected{outline-offset:1px;outline:2px solid #0f172a}@media print{.gantt-chart,.gantt-body,.gantt-axis{overflow:visible!important}.gantt-toolbar,.gantt-editor-status,.gantt-bar-resize-handle{display:none!important}.gantt-bar,.gantt-group-summary,.gantt-milestone{print-color-adjust:exact}@page{size:landscape;margin:1cm}}.pendenzen-list .pendenzen-row--overdue{color:#e57373;background:#dc35451f}.pendenzen-list .pendenzen-row--overdue:hover{background:#dc35452e}:where(:root:not([data-theme=dark])) .pendenzen-list .pendenzen-row--overdue{color:#b3261e;background:#dc354514}:where(:root:not([data-theme=dark])) .pendenzen-list .pendenzen-row--overdue:hover{background:#dc354524}.pendenzen-list .pendenzen-beschreibung-cell{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pendenzen-list .pendenzen-row--done{opacity:.55}.pendenzen-list .pendenzen-row--done .cell-beschreibung{text-decoration:line-through}.pendenzen-list .pendenzen-termin--overdue{font-weight:600}.pendenzen-list .pendenzen-typ-badge{text-align:center;color:#96c8ffe6;background:#64a0ff2e;border-radius:3px;min-width:1.2rem;padding:0 4px;font-size:.7rem;font-weight:600;display:inline-block}:where(:root:not([data-theme=dark])) .pendenzen-list .pendenzen-typ-badge{color:#1d4ed8;background:#3b82f61f}.pendenzen-list .pendenzen-person-chip{color:#aae1c8f2;white-space:nowrap;background:#78c8a02e;border-radius:10px;margin:1px 4px 1px 0;padding:1px 8px;font-size:.7rem;display:inline-block}:where(:root:not([data-theme=dark])) .pendenzen-list .pendenzen-person-chip{color:#047857;background:#10b9811f}.pendenzen-list .pendenzen-beschreibung-liste{margin:.2rem 0;padding-left:1.1rem;list-style:outside}.pendenzen-list .pendenzen-beschreibung-liste li{line-height:1.35}.pendenzen-list .pendenzen-category-chip{color:#96c8ffe6;white-space:nowrap;background:#64a0ff2e;border-radius:10px;padding:1px 8px;font-size:.7rem;display:inline-block}:where(:root:not([data-theme=dark])) .pendenzen-list .pendenzen-category-chip{color:#2563eb;background:#3b82f61f}.pendenzen-list .pendenzen-quick-capture-row>td>.ui-btn{display:flex}.pendenzen-list .pendenzen-quick-capture-cell{align-items:center;gap:var(--space-2);display:flex}.pendenzen-list .pendenzen-quick-capture-cell .ui-input:not(.ui-input--select){flex:1;min-width:10rem}.pendenzen-list .pendenzen-quick-capture-cell .ui-input--select{flex:none;width:auto}.pendenzen-modal{min-width:340px;max-width:480px;max-height:90vh;overflow-y:auto}.pendenzen-modal .ui-field{margin-bottom:var(--space-4)}.pendenzen-modal .form-group{margin-bottom:1rem}.pendenzen-modal .form-group label:where(:not(.ui-field__label)){color:var(--text-color);margin-bottom:.25rem;font-size:.85rem;display:block}.pendenzen-modal .form-group input,.pendenzen-modal .form-group select,.pendenzen-modal .form-group textarea{border:1px solid var(--border-color,#d0d0d0);background:var(--input-bg,#fff);width:100%;color:var(--text-color);box-sizing:border-box;border-radius:4px;padding:.4rem .6rem;font-size:.9rem}[data-theme=dark] .pendenzen-modal .form-group input,[data-theme=dark] .pendenzen-modal .form-group select,[data-theme=dark] .pendenzen-modal .form-group textarea{background:#333;border-color:#555}.pendenzen-modal .form-group input:disabled,.pendenzen-modal .form-group select:disabled,.pendenzen-modal .form-group textarea:disabled{opacity:.65;cursor:not-allowed}.pendenzen-modal .form-group textarea{resize:vertical;min-height:4rem}.pendenzen-modal .pendenzen-checkbox-group label{align-items:center;gap:.5rem;display:flex}.pendenzen-modal .pendenzen-checkbox-group label input[type=checkbox]{width:auto}.pendenzen-modal .pendenzen-checklist-row{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.pendenzen-modal .pendenzen-checklist-row input[type=checkbox]{width:auto}.pendenzen-modal .pendenzen-checklist-row span{flex:1}.pendenzen-modal .pendenzen-checklist-text--done{opacity:.6;text-decoration:line-through}.pendenzen-modal .pendenzen-checklist-add{gap:.4rem;margin-top:.4rem;display:flex}.pendenzen-modal .pendenzen-checklist-add input{flex:1}.pendenzen-modal .pendenzen-responsible-type-toggle{gap:1rem;display:flex}.pendenzen-modal .pendenzen-responsible-type-toggle label{align-items:center;gap:.35rem;display:flex}.pendenzen-modal .pendenzen-responsible-type-toggle input[type=radio]{width:auto}.pendenzen-picker-loading{font-size:var(--size-meta);color:var(--text-muted)}.pendenzen-picker-tags{gap:var(--space-1);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.pendenzen-picker-tag{border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);color:var(--text-body);font:var(--weight-book) var(--size-label)/1.2 var(--font-sans);letter-spacing:var(--tracking-chip);text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.pendenzen-picker-tag:hover{border-color:var(--line-strong)}.pendenzen-picker-tag:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.pendenzen-picker-tag{border-color:var(--surface-ink);background:var(--surface-ink);color:var(--text-on-ink);font-weight:var(--weight-bold);white-space:normal;max-width:100%}.pendenzen-picker-tag-remove{margin-left:var(--space-1);color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.pendenzen-picker-tag-remove:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.pendenzen-picker-footer{gap:var(--space-3);margin-top:var(--space-2);display:flex}.pendenzen-tabs{flex-wrap:wrap;gap:6px;width:fit-content;margin-bottom:1rem;display:flex}.pendenzen-tab-btn{border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);color:var(--text-body);font:var(--weight-book) var(--size-label)/1.2 var(--font-sans);letter-spacing:var(--tracking-chip);text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.pendenzen-tab-btn:hover{border-color:var(--line-strong)}.pendenzen-tab-btn:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.pendenzen-tab-btn--active{border-color:var(--surface-ink);background:var(--surface-ink);color:var(--text-on-ink);font-weight:var(--weight-bold)}.pendenzen-list .pendenzen-select-cell{text-align:center;width:2rem}.pendenzen-list .pendenzen-select-cell input[type=checkbox]{cursor:pointer}.pendenzen-list .pendenzen-thema-chip{color:#c8aaffe6;white-space:nowrap;background:#a078ff2e;border-radius:10px;padding:1px 8px;font-size:.7rem;display:inline-block}:where(:root:not([data-theme=dark])) .pendenzen-list .pendenzen-thema-chip{color:#7c3aed;background:#7c3aed1f}.pendenzen-board .pendenzen-board-controls{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.pendenzen-board .pendenzen-board-groupby{border:1px solid var(--border-color,#d0d0d0);border-radius:4px;display:flex;overflow:hidden}.pendenzen-board .pendenzen-board-add-column{gap:.4rem;display:flex}.pendenzen-board .pendenzen-board-add-column input{padding:.3rem .5rem;font-size:.85rem}.pendenzen-board .pendenzen-board-columns{align-items:flex-start;gap:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.pendenzen-board .pendenzen-board-column{border:1px solid var(--border-color,#d0d0d0);background:#80808014;border-radius:6px;flex:0 0 15rem;min-height:6rem;padding:.5rem}.pendenzen-board .pendenzen-board-column-header{justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.5rem;display:flex}.pendenzen-board .pendenzen-board-column-header input{width:100%;padding:.2rem .4rem;font-size:.85rem}.pendenzen-board .pendenzen-board-column-title{align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.pendenzen-board .pendenzen-board-column-count{opacity:.6;font-size:.75rem;font-weight:400}.pendenzen-board .pendenzen-board-column-actions{white-space:nowrap;align-items:center;gap:.2rem;display:flex}.pendenzen-board .pendenzen-board-column-add{cursor:pointer;color:inherit;opacity:.5;background:0 0;border:none;padding:0 .35rem;font-size:1rem;line-height:1;transition:opacity .15s}.pendenzen-board .pendenzen-board-column-add:hover,.pendenzen-board .pendenzen-board-column-add:focus-visible{opacity:1;color:var(--main-color)}.pendenzen-board .pendenzen-board-column-cards{flex-direction:column;gap:.5rem;display:flex}.pendenzen-board .pendenzen-board-card{background:var(--input-bg,#fff);border:1px solid var(--border-color,#d0d0d0);cursor:pointer;border-radius:4px;padding:.5rem;font-size:.82rem}[data-theme=dark] .pendenzen-board .pendenzen-board-card{background:#333;border-color:#555}.pendenzen-board .pendenzen-board-card[draggable=true]{cursor:grab}.pendenzen-board .pendenzen-board-card-head{opacity:.75;justify-content:space-between;align-items:center;margin-bottom:.25rem;font-size:.75rem;display:flex}.pendenzen-board .pendenzen-board-typ-badge{text-align:center;background:#64a0ff2e;border-radius:3px;min-width:1.2rem;padding:0 4px;font-weight:600;display:inline-block}.pendenzen-board .pendenzen-board-typ-badge--E{background:#ffb45040}.pendenzen-board .pendenzen-board-typ-badge--N{background:#8c8c8c40}.pendenzen-board .pendenzen-board-card-beschreibung{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:.3rem;display:-webkit-box;overflow:hidden}.pendenzen-board .pendenzen-board-card-verantwortlich{opacity:.75;margin-bottom:.3rem;font-size:.75rem}.pendenzen-board .pendenzen-board-card-foot{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.pendenzen-board .pendenzen-board-card-deadline{font-size:.75rem}.pendenzen-board .pendenzen-board-card-deadline--overdue{color:#e57373;font-weight:600}:where(:root:not([data-theme=dark])) .pendenzen-board .pendenzen-board-card-deadline--overdue{color:#b3261e}.pendenzen-board .pcard-plan-btn{border:1px solid var(--border-color,#d0d0d0);color:inherit;white-space:nowrap;cursor:pointer;opacity:.75;background:0 0;border-radius:10px;padding:1px 8px;font-size:.7rem;transition:opacity .15s,background .15s;display:inline-block}.pendenzen-board .pcard-plan-btn:hover,.pendenzen-board .pcard-plan-btn:focus-visible{opacity:1;background:var(--surface-sunken)}.pendenzen-board .pendenzen-status-chip{white-space:nowrap;background:#8c8c8c33;border-radius:10px;padding:1px 8px;font-size:.7rem;display:inline-block}.pendenzen-board .pendenzen-status-chip--in-bearbeitung{background:#64a0ff38}.pendenzen-board .pendenzen-status-chip--kritisch{background:#dc354540}.pendenzen-board .pendenzen-status-chip--erledigt{background:#3cb46e40}.pendenzen-themen-input .pendenzen-themen-chips{flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem;display:flex}.pendenzen-themen-input .pendenzen-themen-chip{background:#a078ff2e;border-radius:10px;align-items:center;gap:.25rem;padding:1px 8px;font-size:.75rem;display:inline-flex}:where(:root:not([data-theme=dark])) .pendenzen-themen-input .pendenzen-themen-chip{color:#7c3aed;background:#7c3aed1f}.pendenzen-themen-input .pendenzen-themen-chip-remove{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-size:.85rem;line-height:1}.pendenzen-multiedit-modal .pendenzen-multiedit-optin{align-items:center;gap:.5rem;display:flex}.pendenzen-multiedit-modal .pendenzen-multiedit-optin input[type=checkbox]{width:auto}.pendenzen-multiedit-modal .pendenzen-multiedit-bool{align-items:center;gap:.5rem;display:flex}.pendenzen-multiedit-modal .pendenzen-multiedit-bool input[type=checkbox]{width:auto}.pendenzen-meine .pendenzen-meine-group{margin-bottom:1.5rem}.pendenzen-meine .pendenzen-meine-project-label{margin:0 0 .4rem;font-size:.9rem}.pendenzen-meine .pendenzen-meine-empty{text-align:center;opacity:.6;padding:2rem}.pendenzen-public-page{max-width:960px;margin:2rem auto;padding:0 1rem}.pendenzen-public-page h2{margin-bottom:1rem}.pendenzen-sitzungsmodus-bar{border:1px solid var(--main-color,#059669);background:color-mix(in srgb, var(--main-color,#059669) 8%, transparent);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.5rem .75rem;display:flex}.pendenzen-sitzungsmodus-bar .pendenzen-sitzungsmodus-info{font-weight:600}.pendenzen-sitzungsmodus-bar .pendenzen-sitzungsmodus-actions{flex-wrap:wrap;gap:.4rem;margin-left:auto;display:flex}.pendenzen-plan-ansicht{padding:.5rem 0}.pendenzen-plan-ansicht .pendenzen-plan-picker{max-width:28rem;margin-bottom:.75rem}.pendenzen-planview{align-items:flex-start;gap:1rem;display:flex}.pendenzen-planview-main{flex:1;min-width:0}.pendenzen-planview-toolbar{gap:.4rem;margin-bottom:.5rem;display:flex}.pendenzen-planview-viewer{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.pendenzen-planview-viewer .loading,.pendenzen-planview-viewer .access-denied,.pendenzen-planview-viewer .pendenzen-plan-empty{padding:2rem}.pendenzen-planview-list{border:1px solid var(--line);border-radius:var(--radius-sm);flex-shrink:0;width:320px;overflow-y:auto}.pendenzen-planview-list ul{margin:0;padding:0;list-style:none}.pendenzen-planview-list-header{border-bottom:1px solid var(--line);padding:.5rem .75rem;font-weight:600}.pendenzen-planview-list-empty{opacity:.6;padding:1rem .75rem}.pendenzen-planview-entry{border-bottom:1px solid var(--line)}.pendenzen-planview-entry--active{background:color-mix(in srgb, var(--accent) 12%, transparent)}.pendenzen-planview-entry-row{cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.pendenzen-planview-entry-row:hover{background:var(--surface-sunken)}.pendenzen-planview-entry-nr{font-variant-numeric:tabular-nums;opacity:.6;flex-shrink:0}.pendenzen-planview-entry-edit{margin-left:auto}.pendenzen-planview-entry-body{cursor:pointer;padding:0 .75rem .4rem}.pendenzen-planview-entry-text{white-space:pre-line;overflow-wrap:anywhere;margin:0}.pendenzen-planview-entry-more{color:var(--link);cursor:pointer;background:0 0;border:0;margin-left:.35rem;padding:0;text-decoration:underline}.pendenzen-planview-entry-more:hover,.pendenzen-planview-entry-more:focus-visible{color:var(--link-hover)}.pendenzen-planview-entry-meta{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.25rem .4rem;padding:0 .75rem .5rem;font-size:.85rem;display:flex}.pendenzen-planview-entry-status{color:var(--text-muted);margin-left:auto}.pendenzen-row--done .pendenzen-planview-entry-text{text-decoration:line-through}.pendenzen-planview-entry-details{flex-direction:column;gap:.25rem;padding:0 .75rem .75rem;font-size:.85rem;display:flex}.pendenzen-planview-entry-checklist{flex-direction:column;gap:.15rem;display:flex}.pendenzen-assign-modal{min-width:420px;max-width:560px}.pendenzen-assign-empty{opacity:.6;padding:.5rem}.pendenzen-plan-empty{text-align:center;opacity:.6;padding:2rem}.pendenz-panel{gap:var(--space-4);padding:var(--space-4) var(--space-5);border-top:var(--border-hair) solid var(--line-strong);border-bottom:var(--border-hair) solid var(--line-strong);display:grid}.pendenz-panel__grid{gap:var(--space-3) var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.pendenz-panel__field{gap:var(--space-1);align-content:start;display:grid}.pendenz-panel__field--wide{grid-column:1/-1}.pendenz-panel__field>label,.pendenz-panel__field>.pendenz-panel__label{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.pendenz-panel__value{font-variant-numeric:tabular-nums}.pendenz-panel__check{gap:var(--space-2);align-items:center;display:inline-flex}.pendenz-panel__check input{width:auto}.pendenz-panel__actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.pendenz-panel__spacer{flex:1}.pendenz-checklist__check,.pendenz-checklist__remove{white-space:nowrap;width:1%}.pendenz-checklist__check input,.pendenz-checklist__remove input{width:auto}.pendenz-checklist__row--done .pendenz-checklist__text{color:var(--text-muted);text-decoration:line-through}.plaene-list__actions{gap:var(--space-2);align-items:center;display:flex}.plaene-list .cell-actions{align-items:center;gap:.4rem;display:flex}.plaene-list__nummer{color:var(--text-muted);font-size:var(--size-small)}.plaene-list__index{gap:var(--space-2);align-items:center;display:inline-flex}.plaene-list__no-file{color:var(--text-muted);font-size:var(--size-small)}.plaene-tree__name{padding-left:calc(var(--space-5) * var(--tree-depth,0));display:inline-block}.plaene-tree__drop--into>:where(th,td){background:var(--accent-tint)}.plaene-tree__drop--before>:where(th,td),.bilder-table__drop>:where(th,td){box-shadow:inset 0 var(--border-rule) 0 var(--line-strong)}.plan-versions{margin:0;padding:0;list-style:none}.plan-versions__row{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:var(--border-hair) solid var(--line-faint);grid-template-columns:8rem 7rem minmax(10rem,1fr) 6rem auto;align-items:center;display:grid}.plan-versions__index{gap:var(--space-2);font-weight:var(--weight-bold);align-items:center;display:inline-flex}.plan-versions__file{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.plan-versions__actions{gap:var(--space-1);justify-content:flex-end;display:flex}.plan-viewer-overlay{align-items:stretch}.plan-viewer-modal{flex-direction:column;width:92vw;max-width:none;height:90vh;display:flex}.plan-viewer-modal-body{flex:1;min-height:0;padding:0;display:flex}.plan-viewer-main{flex-direction:column;flex:1;min-width:0;display:flex}.plan-marker-list{border-left:1px solid var(--border-color,#ddd);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow-y:auto}.plan-marker-list .plan-marker-list-header{border-bottom:1px solid var(--border-color,#ddd);padding:.5rem .75rem;font-weight:600}.plan-marker-list .plan-marker-list-empty{opacity:.6;padding:1rem .75rem}.plan-marker-list ul{margin:0;padding:0;list-style:none}.plan-marker-list .plan-marker-list-item{text-align:left;border:none;border-bottom:1px solid var(--border-color,#eee);cursor:pointer;width:100%;color:inherit;background:0 0;align-items:center;gap:.4rem;padding:.5rem .75rem;display:flex}.plan-marker-list .plan-marker-list-item:hover{background:var(--second-color,#0000000d)}.plan-marker-list .plan-marker-list-item--active{background:#1971c233}.plan-marker-list .plan-marker-list-nr{font-variant-numeric:tabular-nums;opacity:.6;flex-shrink:0}.plan-marker-list .plan-marker-list-desc{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.plan-marker-list .plan-marker-list-page{opacity:.6;flex-shrink:0;font-size:.75rem}.plan-marker-list .plan-marker-pruefen-dot{background:#f08c00;border-radius:50%;flex-shrink:0;width:8px;height:8px}.plan-viewer{flex-direction:column;height:100%;display:flex}.plan-viewer-toolbar{border-bottom:1px solid var(--border-color,#ddd);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.plan-viewer-zoom{font-variant-numeric:tabular-nums;text-align:right;min-width:3.5rem}.plan-viewer-pages{align-items:center;gap:.4rem;margin-left:auto;display:flex}.plan-viewer-stage-container{background:var(--second-color,#2a2a2a);cursor:grab;touch-action:none;flex:1;min-height:0;position:relative;overflow:hidden}.plan-viewer-stage-container:active{cursor:grabbing}.plan-viewer-stage{transform-origin:50%;will-change:transform;position:absolute;top:50%;left:50%;translate:-50% -50%}.plan-viewer-content{line-height:0;display:inline-block;position:relative}.plan-viewer-scroll{accent-color:var(--accent);opacity:.75;cursor:default;margin:0;position:absolute}.plan-viewer-scroll:hover,.plan-viewer-scroll:focus-visible{opacity:1}.plan-viewer-scroll--x{left:var(--space-2);bottom:var(--space-1);width:calc(100% - var(--space-2) * 4)}.plan-viewer-scroll--y{top:var(--space-2);right:var(--space-1);height:calc(100% - var(--space-2) * 4);writing-mode:vertical-lr}.plan-viewer-canvas,.plan-viewer-image{max-width:none;display:block;box-shadow:0 0 12px #0006}.plan-marker-layer{position:absolute;top:0;left:0;overflow:visible}.plan-marker__label{fill:var(--text-color,#1f2937);stroke:var(--card-bg,#fff);stroke-width:3px;paint-order:stroke fill;font-size:.75rem;font-weight:600}.plan-measure-layer{cursor:crosshair;position:absolute;top:0;left:0}.plan-measure-path{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 1px var(--surface-card)) drop-shadow(0 0 2px var(--surface-card))}.plan-measure-vertex{fill:var(--accent);stroke:var(--surface-card);stroke-width:2px}.plan-viewer-measure{align-items:center;gap:.5rem;margin-left:auto;display:flex}.plan-draw-layer{cursor:crosshair;position:absolute;top:0;left:0}.plan-draw-path{fill:none;stroke:var(--main-color,#059669);stroke-width:2px}.plan-draw-fill{fill:color-mix(in srgb, var(--main-color,#059669) 18%, transparent);stroke:none}.plan-draw-rubber{stroke:var(--main-color,#059669);stroke-width:1.5px;stroke-dasharray:5 4;opacity:.7}.plan-draw-vertex{fill:var(--main-color,#059669);stroke:#fff;stroke-width:1.5px}.plan-viewer-tools,.plan-viewer-draw{align-items:center;gap:.35rem;display:inline-flex}.plan-viewer-measure-readout{font-variant-numeric:tabular-nums;white-space:nowrap}.plan-marker{--marker-color:#e8590c}.plan-marker--point{fill:var(--marker-color);stroke:#fff;stroke-width:2px}.plan-marker--line{fill:none;stroke:var(--marker-color);stroke-width:3px}.plan-marker--area{fill:color-mix(in srgb, var(--marker-color) 25%, transparent);stroke:var(--marker-color);stroke-width:2px}.plan-marker--arrow{fill:none;stroke:var(--marker-color);stroke-width:3px}.plan-marker--selected{--marker-color:#1971c2}.plan-marker--pruefen{--marker-color:#f08c00;stroke-dasharray:4 3}.plan-viewer-header-tools{align-items:center;gap:.5rem;display:flex}.plan-marker-selected-bar{border-bottom:1px solid var(--border-color,#ddd);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.plan-marker-selected-bar>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.plan-marker-pruefen-badge{color:#fff;background:#f08c00;border-radius:3px;margin-right:.5rem;padding:.1rem .4rem;font-size:.75rem;display:inline-block}.plan-upload-modal .ui-field{margin-bottom:var(--space-4)}.plan-marker-assign-modal .plan-marker-assign-create{gap:.5rem;display:flex}.plan-marker-assign-modal .plan-marker-assign-create .ui-input{flex:1}.plan-marker-assign-modal .plan-marker-assign-list{max-height:40vh;margin:0;padding:0;list-style:none;overflow-y:auto}.plan-marker-assign-modal .plan-marker-assign-item{text-align:left;border:none;border-top:1px solid var(--border-color,#ddd);cursor:pointer;width:100%;color:inherit;background:0 0;gap:.5rem;padding:.5rem;display:flex}.plan-marker-assign-modal .plan-marker-assign-item:hover{background:var(--second-color,#0000000d)}.plan-marker-assign-modal .plan-marker-assign-nr{font-variant-numeric:tabular-nums;opacity:.6}.plan-viewer-stage--stale{opacity:.45;transition:opacity .15s}.plan-measure-preview{stroke-dasharray:6 4;pointer-events:none}.bilder-page{gap:var(--space-6);flex-direction:column;display:flex}.bilder-thumb{object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-sunken);width:80px;height:56px;display:block}.bilder-thumb-button{cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.bilder-lightbox__image{object-fit:contain;max-width:100%;max-height:78vh;margin:0 auto;display:block}.bilder-lightbox__stage{position:relative}.bilder-lightbox__zone{background:0 0;border:0;width:50%;padding:0;position:absolute;top:0;bottom:0}.bilder-lightbox__zone--previous{cursor:w-resize;left:0}.bilder-lightbox__zone--next{cursor:e-resize;right:0}.bilder-lightbox__credit{margin:var(--space-2) 0 0;text-align:center;color:var(--text-muted);font-size:var(--size-meta)}.bilder-thumb--video{color:var(--text-muted);font-size:var(--size-meta);justify-content:center;align-items:center;display:flex}.bilder-decorative,.bilder-website{gap:var(--space-2);align-items:center;display:flex}.bilder-office-kuerzel{gap:var(--space-2);align-items:flex-end;display:flex}.bilder-upload-drop{padding:var(--space-3);border:1px dashed var(--line);border-radius:var(--radius-sm)}.bilder-upload-drop--active{border-color:var(--accent);background:var(--accent-tint)}.bilder-upload-camera{gap:var(--space-2);margin-top:var(--space-3);align-items:center;display:inline-flex;position:relative}.bilder-upload-files{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.bilder-upload-files li{gap:var(--space-2);justify-content:space-between;align-items:center;min-width:0;display:flex}.bilder-upload-files span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bilder-tags{gap:var(--space-3);display:grid}.sitzung-modal .ui-field{margin-bottom:var(--space-4)}.sitzung-modal .sitzung-form-row{gap:var(--space-4);display:flex}.sitzung-modal .sitzung-form-row>.ui-field{flex:1}.sitzung-modal .sitzung-nr-group{flex:none;max-width:6rem}.anwesende-picker{gap:var(--space-3);display:grid}.anwesende-picker .anwesende-list td:first-child{width:40%}.sitzung-protokoll{border-top:1px solid var(--border-color,#ddd);align-items:center;gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex}.sitzung-protokoll .sitzung-protokoll-label{font-weight:600}.research-tool{gap:var(--section-gap);flex-direction:column;display:flex}.research-tool__project-title{margin:0 0 var(--space-2);font-size:var(--size-h2);color:var(--text-strong)}.research-tool__project-description{color:var(--muted-color);margin:0 0 .75rem}.research-tool__select,.research-tool__input{box-sizing:border-box;vertical-align:middle;width:100%;min-height:var(--field-height);padding:var(--space-1) var(--space-2);border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);background:var(--surface-card);color:var(--text-strong);font:var(--weight-book) var(--size-small)/1.4 var(--font-sans)}.research-tool__select:where(:not(textarea)),.research-tool__input:where(:not(textarea)){height:var(--field-height)}.research-tool__select::placeholder,.research-tool__input::placeholder{color:var(--text-muted)}.research-tool__select:hover:not(:disabled),.research-tool__input:hover:not(:disabled){border-color:var(--line-strong)}.research-tool__select:focus-visible,.research-tool__input:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0;border-color:var(--line-strong)}.research-tool__select:disabled,.research-tool__input:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}.research-tool__select,.research-tool__input{width:auto}.research-tool__input{min-width:14rem}.research-tool__section-title{color:var(--text-color);margin:0 0 .5rem;font-size:1rem}.research-tool__kind{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-color);font-size:.75rem}.research-tool__count{color:var(--muted-color);font-weight:400}.research-tool__form-actions{gap:.5rem;margin-top:.75rem;display:flex}.research-tool__hint{color:var(--muted-color);margin:.5rem 0}.research-tool__error{border:1px solid var(--error-color);color:var(--error-color);background:color-mix(in srgb, var(--error-color) 12%, transparent);border-radius:4px;margin:0 0 1rem;padding:.6rem .8rem}.research-tool__plain-button{text-align:left;font:inherit;color:var(--text-color);cursor:pointer;background:0 0;border:none;flex:1;padding:0}.research-tool__plain-button:hover{color:var(--main-color)}.research-tool__rows{margin:0;padding:0;list-style:none}.research-tool__row{padding:var(--row-pad) 0;border-bottom:var(--border-hair) solid var(--line);align-items:center;gap:.75rem;display:flex}.research-tool__row-body{flex:1;min-width:0}.research-tool__row-title{color:var(--text-color);overflow-wrap:anywhere;margin:0;font-weight:600}.research-tool__row-note{color:var(--muted-color);margin:.3rem 0 0;font-size:.8rem}.research-tool__tabs{gap:var(--space-5);margin:var(--space-4) 0 0;flex-wrap:wrap;display:flex}.research-tool__tab{font-size:var(--size-eyebrow);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);padding:0 0 var(--space-1);border:0;border-bottom:var(--border-rule) solid transparent;cursor:pointer;background:0 0}.research-tool__tab:hover{color:var(--text-strong)}.research-tool__tab:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0}.research-tool__tab--active{color:var(--text-strong);border-bottom-color:var(--text-strong)}.research-tool__workspace{grid-template-columns:minmax(16rem,22rem) 1fr;gap:1.5rem;margin-top:1rem;display:grid}@media (width<=900px){.research-tool__workspace{grid-template-columns:1fr}}.research-tool__entries-head{justify-content:flex-end;margin-bottom:.5rem;display:flex}.research-projects__new,.research-projects__rename{align-items:center;gap:.5rem;display:flex}.research-projects__list{margin:0;padding:0;list-style:none}.research-projects__item{padding:var(--row-pad) 0;border-bottom:var(--border-hair) solid var(--line);align-items:center;gap:.75rem;display:flex}.research-projects__item--selected{box-shadow:inset 3px 0 0 var(--accent);padding-left:var(--space-3)}.research-projects__meta{color:var(--muted-color);font-size:.85rem}.research-chapters__list{margin:0;padding:0;list-style:none}.research-chapters__node .research-chapters__list{padding-inline-start:1rem}.research-chapters__row{border-radius:4px;align-items:center;gap:.4rem;padding:.3rem .4rem;display:flex}.research-chapters__row--selected{background:color-mix(in srgb, var(--main-color) 12%, transparent)}.research-chapters__new{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.research-chapters__rename{flex:1;align-items:center;gap:.4rem;display:flex}.research-entries__list{margin:0;padding:0;list-style:none}.research-entries__entry{border:1px solid var(--text-bg-color);background:var(--background-color);border-radius:6px;margin-bottom:.4rem;padding:.5rem .75rem}.research-entries__head{align-items:baseline;gap:.6rem;display:flex}.research-entries__title{color:var(--text-color);flex:1;margin:0;font-size:.95rem;font-weight:600}.research-entries__meta{color:var(--muted-color);font-size:.8rem}.research-entries__preview{color:var(--muted-color);margin:.35rem 0 0;font-size:.85rem}.research-entries__actions{gap:.4rem;margin-top:.5rem;display:flex}.research-sources,.research-files{margin-top:1rem}.research-sources__header,.research-files__header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.research-sources__form{border-top:1px solid var(--text-bg-color);margin-top:1.5rem;padding-top:1rem}.research-sources__form-title{color:var(--text-color);margin:0 0 .75rem;font-size:.95rem}.research-sources__fields{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.5rem;display:grid}.research-sources__notes{border:1px solid var(--text-bg-color);background:var(--background-color);color:var(--text-color);font:inherit;resize:vertical;border-radius:4px;grid-column:1/-1;padding:.4rem .6rem}.research-files__picker{color:var(--text-color)}.research-editor,.research-editor-panel{border:1px solid var(--text-bg-color);background:var(--background-color);border-radius:6px}.research-editor__toolbar{border-bottom:1px solid var(--text-bg-color);flex-wrap:wrap;gap:.25rem;padding:.35rem;display:flex}.research-editor__area{min-height:9rem;color:var(--text-color);overflow-wrap:anywhere;padding:.6rem .75rem}.research-editor__area:focus{outline:2px solid var(--main-color);outline-offset:-2px}.research-editor__area blockquote{border-inline-start:3px solid var(--text-bg-color);color:var(--muted-color);margin:.5rem 0;padding-inline-start:.75rem}.research-editor-panel{margin-bottom:1rem;padding:.75rem}.research-editor-panel__head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.research-editor-panel__fields{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}.research-editor-panel__title{grid-column:1/-1}.research-mindmap__toolbar{gap:.5rem;margin-bottom:.75rem;display:flex}.research-mindmap__stage{border:1px solid var(--text-bg-color);background:var(--background-color);border-radius:6px;max-height:70vh;overflow:auto}.research-mindmap__canvas{min-width:max-content;padding:1rem 4rem 1rem .5rem;position:relative}.research-mindmap__edges{pointer-events:none;fill:none;stroke:var(--text-bg-color);stroke-width:1.5px;position:absolute;inset:0}.research-mindmap__node{align-items:center;display:flex;position:relative}.research-mindmap__kids{flex-direction:column;gap:.4rem;margin-left:2.5rem;display:flex}.research-mindmap__label{border:1px solid var(--text-bg-color);background:var(--background-color);max-width:22rem;color:var(--text-color);font:inherit;text-align:left;cursor:pointer;border-radius:6px;align-items:baseline;gap:.5rem;padding:.3rem .6rem;display:inline-flex}.research-mindmap__label:disabled{cursor:default}.research-mindmap__label--root{border-color:var(--main-color);background:color-mix(in srgb, var(--main-color) 18%, transparent);font-weight:600}.research-mindmap__label--chapter{border-color:var(--second-color);background:color-mix(in srgb, var(--second-color) 12%, transparent);font-weight:600}.research-mindmap__label--quote{border-left:3px solid var(--muted-color);font-style:italic}.research-mindmap__count{color:var(--muted-color);font-variant-numeric:tabular-nums;font-size:.8rem}.research-mindmap__toggle{color:var(--muted-color);font-size:.7rem}.zugriffe{gap:var(--space-5);flex-direction:column;display:flex}.zugriffe__tab{gap:var(--space-4);flex-direction:column;display:flex}.zugriffe__actions{justify-content:flex-end;display:flex}.zugriffe__tags{gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.zugriffe__lead{max-width:64ch;color:var(--text-muted);font-size:var(--size-body);margin:0}.zugriffe__person{align-items:center;gap:var(--space-3);min-width:0;display:inline-flex}.zugriffe__person-text{flex-direction:column;min-width:0;display:flex}.zugriffe__person-name{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zugriffe__person-email{color:var(--text-muted);font-size:var(--size-small);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zugriffe__panel-head{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.zugriffe__panel-meta{color:var(--text-faint);font-size:var(--size-meta)}.zugriffe__panel-section{align-items:flex-start;gap:var(--space-3);padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--line-faint);flex-direction:column;display:flex}.zugriffe__project{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line-faint);flex-direction:column;display:flex}.zugriffe__project-head{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.zugriffe__right{gap:var(--space-1);font-size:var(--size-meta);color:var(--text-faint);flex-direction:column;display:flex}.zugriffe__roles{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));margin:0;display:grid}.zugriffe__role{padding:var(--space-4);background:var(--surface-card);border:1px solid var(--line-faint);border-radius:var(--radius-0)}.zugriffe__role-name{margin-bottom:var(--space-2);color:var(--text-strong);font-size:var(--size-label);font-weight:600}.zugriffe__role-text{color:var(--text-body);font-size:var(--size-body);margin:0;line-height:1.5}.btn{justify-content:center;align-items:center;gap:var(--space-2);box-sizing:border-box;vertical-align:middle;min-height:var(--field-height);padding:0 var(--space-4);border:var(--border-hair) solid transparent;border-radius:var(--radius-0);color:var(--text-strong);font:var(--weight-bold) var(--size-label)/1.2 var(--font-sans);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);background:0 0;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.45}.btn:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:2px}.btn{border-color:var(--line);color:var(--text-body);background:0 0}.btn:hover:not(:disabled){border-color:var(--line-strong);color:var(--text-strong)}.btn svg{width:1rem;height:1rem}.btn-primary{background:var(--surface-ink);color:var(--text-on-ink);border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--accent);color:var(--text-on-ink)}.btn-secondary{border-color:var(--line-strong);color:var(--text-strong);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--fill-brand);color:var(--on-fill-brand)}.btn-secondary.active{background:var(--surface-ink);color:var(--text-on-ink);border-color:#0000}.btn-danger{border-color:var(--state-error);color:var(--state-error);background:0 0}.btn-danger:hover:not(:disabled){background:var(--state-error);color:var(--on-state-error)}.btn-link{color:var(--text-muted);background:0 0;border-color:#0000}.btn-link:hover:not(:disabled){color:var(--accent)}.btn-sm,.btn-small,.btn-xs{min-height:var(--field-height-compact);padding:0 9px}.btn-sm svg,.btn-small svg,.btn-xs svg{width:.875rem;height:.875rem}.modal-overlay{z-index:1000;background:var(--scrim);justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}@media (width<=768px){.modal-overlay{padding:.5rem}}.modal-overlay>:where(.modal-content){border:var(--border-hair) solid var(--line-strong);border-radius:var(--radius-0);background:var(--surface-card);color:var(--text-strong);box-shadow:var(--shadow-overlay)}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:var(--border-hair) solid var(--line);color:var(--text-strong);background:0 0;display:flex}.modal-header h2,.modal-header h3{font-size:var(--size-h2);font-weight:var(--weight-bold);letter-spacing:-.015em;color:var(--text-strong);margin:0;line-height:1.15}@media (width<=768px){.modal-header{padding:var(--space-4)}.modal-header h2,.modal-header h3{font-size:var(--size-lead)}}.close-button,.modal-close{border:var(--border-hair) solid transparent;border-radius:var(--radius-0);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;flex:none;place-items:center;padding:0;display:inline-grid}.close-button:hover:not(:disabled),.modal-close:hover:not(:disabled){border-color:var(--line);color:var(--text-strong)}.close-button:disabled,.modal-close:disabled{opacity:.45;cursor:not-allowed}.close-button:focus-visible,.modal-close:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0}.close-button svg,.modal-close svg{width:1rem;height:1rem}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:var(--border-hair) solid var(--line);background:0 0;display:flex}@media (width<=768px){.modal-footer{padding:var(--space-4);flex-direction:column}.modal-footer .btn{width:100%}}.search-input,.form-input{box-sizing:border-box;vertical-align:middle;width:100%;min-height:var(--field-height);padding:var(--space-1) var(--space-2);border:var(--border-hair) solid var(--line);border-radius:var(--radius-0);background:var(--surface-card);color:var(--text-strong);font:var(--weight-book) var(--size-small)/1.4 var(--font-sans)}.search-input:where(:not(textarea)),.form-input:where(:not(textarea)){height:var(--field-height)}.search-input::placeholder,.form-input::placeholder{color:var(--text-muted)}.search-input:hover:not(:disabled),.form-input:hover:not(:disabled){border-color:var(--line-strong)}.search-input:focus-visible,.form-input:focus-visible{outline:var(--border-rule) solid var(--focus-ring);outline-offset:0;border-color:var(--line-strong)}.search-input:disabled,.form-input:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-color);background:var(--surface-page);line-height:1.6;transition:background-color .3s,color .3s}#app-root{background:var(--surface-page);min-height:100vh;transition:background-color .3s}.app-container{flex-direction:column;height:100vh;min-height:100vh;display:flex;overflow:hidden}.loading,.login-required{text-align:center;color:var(--text-color);padding:2rem}.login-required h2{color:var(--main-color);margin-bottom:1rem}.login-required a{background:var(--main-color);color:#fff;border-radius:6px;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s;display:inline-block}.login-required a:hover{background:var(--second-color);transform:translateY(-1px)}.access-denied-page{min-height:100vh;padding:var(--space-6);background:var(--surface-page);justify-content:center;align-items:center;display:flex}.access-denied-container{max-width:440px;padding:var(--space-7);background:var(--surface-card);border:1px solid var(--line-faint);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);color:var(--text-body)}.access-denied-container h2{margin:0 0 var(--space-3);font-size:var(--size-h2);color:var(--text-strong)}.access-denied-icon{margin-bottom:var(--space-4);color:var(--text-muted)}.access-denied-message{margin:0 0 var(--space-3);font-size:var(--size-body)}.access-denied-email{margin:0 0 var(--space-3);padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-sm);font-size:var(--size-small)}.access-denied-email strong{color:var(--text-strong)}.access-denied-help{margin:0 0 var(--space-5);color:var(--text-muted);font-size:var(--size-small)}.access-denied-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}
/*$vite$:1*/