:root{--color-base-white: #ffffff;--color-base-black: #161616;--blue-10: #edf4ff;--blue-20: #c9deff;--blue-30: #97c1ff;--blue-40: #6ea6ff;--blue-50: #418cff;--blue-60: #0062ff;--blue-70: #054ada;--blue-80: #0530ad;--blue-90: #051b75;--blue-100: #051243;--gray-10: #f4f4f4;--gray-20: #e0e0e0;--gray-30: #c6c6c6;--gray-40: #a8a8a8;--gray-50: #8d8d8d;--gray-60: #6f6f6f;--gray-70: #525252;--gray-80: #393939;--gray-90: #262626;--gray-100: #161616;--color-bg-page: #F4F7FB;--color-bg-header: #051b75;--color-text-header: var(--color-base-white);--color-bg-secondary: var(--gray-20);--color-bg-card: rgba(255, 255, 255, .75);--color-card-bg: rgba(255, 255, 255, .75);--color-bg-card-soft: var(--color-base-white);--color-bg-field: #F8FAFC;--color-input-bg: #F8FAFC;--color-input-text: var(--gray-100);--color-bg-field-hover: #F1F5F9;--color-bg-modal: #F1F5F9;--color-bg-table-header: #CBD5E1;--color-table-header-text: #0F172A;--color-table-row-even: #F1F5F9;--color-table-row-odd: var(--color-base-white);--color-table-row-hover-bg: #E2E8F0;--color-table-row-hover-text: #0F172A;--color-table-row-selected-bg: rgba(79, 70, 229, .08);--color-table-row-selected-text: #1e1b4b;--color-table-row-selected-accent: #4F46E5;--color-table-col-divider: rgba(226, 232, 240, .8);--color-text-main: #1E293B;--color-text-secondary: #475569;--color-text-muted: #64748B;--color-text-disabled: #94A3B8;--color-text-inverted: var(--color-base-white);--color-border: #E2E8F0;--color-border-subtle: #F1F5F9;--color-border-strong: #94A3B8;--color-focus-outline: var(--blue-60);--color-accent: #4F46E5;--color-accent-soft: rgba(79, 70, 229, .25);--color-button-bg: var(--color-accent);--color-button-text: var(--color-text-inverted);--color-button-hover-bg: #4338CA;--color-icon-button-bg: transparent;--color-icon-button-hover-bg: var(--gray-20);--color-action-save: #24a148;--color-action-save-hover: #198038;--color-action-save-bg: #defbe6;--color-action-save-bg-hover: #a7f0ba;--color-action-delete: #da1e28;--color-action-delete-hover: #a2191f;--color-action-delete-bg: #fff1f1;--color-action-delete-bg-hover: #ffd7d9;--color-action-cancel: #eb6900;--color-action-cancel-hover: #c74600;--color-action-cancel-bg: #fff2e8;--color-action-cancel-bg-hover: #ffd3c2;--color-action-edit: var(--blue-60);--color-action-edit-hover: var(--blue-70);--color-action-edit-bg: var(--blue-10);--color-action-edit-bg-hover: var(--blue-20);--color-action-calendar: #d12771;--color-action-calendar-hover: #9f1853;--color-action-calendar-bg: #fff0f7;--color-action-calendar-bg-hover: #ffd6e8;--color-error-bg: #fff1f1;--color-error-border: #ffd7d9;--shadow-soft: 0 2px 8px rgba(0, 0, 0, .1);--font-family-base: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-base: 13px;--font-size-small: 12px;--font-size-heading: 22px;--radius-card: 16px;--radius-button: 8px;--space-page: 0px;--space-card: 16px 20px;font-family:var(--font-family-base);font-size:calc(var(--font-size-base) * var(--app-zoom-multiplier, 1));line-height:1.4;font-weight:400;min-height:100vh;color:var(--color-text-main);background-color:var(--color-bg-page);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--color-bg-page: #0A0F1C;--color-bg-header: #060B14;--color-text-header: var(--color-base-white);--color-bg-secondary: rgba(255, 255, 255, .05);--color-bg-card: rgba(20, 26, 40, .65);--color-card-bg: rgba(20, 26, 40, .65);--color-bg-card-soft: #141a28;--color-bg-field: #111827;--color-input-bg: #111827;--color-input-text: var(--gray-10);--color-bg-field-hover: #1F2937;--color-bg-modal: #0A0F1C;--color-bg-table-header: #020617;--color-table-header-text: #ffffff;--color-table-row-even: #1E293B;--color-table-row-odd: #0F172A;--color-table-row-hover-bg: #334155;--color-table-row-hover-text: var(--color-base-white);--color-table-row-selected-bg: rgba(99, 102, 241, .22);--color-table-row-selected-text: #E0E7FF;--color-table-row-selected-accent: #6366F1;--color-table-col-divider: rgba(255, 255, 255, .08);--color-text-main: var(--gray-10);--color-text-secondary: var(--gray-30);--color-text-muted: var(--gray-50);--color-text-disabled: var(--gray-70);--color-text-inverted: var(--color-base-white);--color-border: var(--gray-80);--color-border-subtle: var(--gray-90);--color-border-strong: var(--gray-10);--color-focus-outline: var(--blue-50);--color-accent: #818CF8;--color-accent-soft: rgba(129, 140, 248, .3);--color-button-bg: var(--color-accent);--color-button-text: #060B14;--color-button-hover-bg: #A5B4FC;--color-icon-button-bg: transparent;--color-icon-button-hover-bg: var(--gray-80);--color-action-save: #2daa4c;--color-action-save-hover: #24a148;--color-action-save-bg: rgba(45, 170, 76, .15);--color-action-save-bg-hover: rgba(45, 170, 76, .25);--color-action-delete: #fa4d56;--color-action-delete-hover: #da1e28;--color-action-delete-bg: rgba(250, 77, 86, .15);--color-action-delete-bg-hover: rgba(250, 77, 86, .25);--color-action-cancel: #ff832b;--color-action-cancel-hover: #eb6900;--color-action-cancel-bg: rgba(255, 131, 43, .15);--color-action-cancel-bg-hover: rgba(255, 131, 43, .25);--color-action-edit: #4589ff;--color-action-edit-hover: #6ea6ff;--color-action-edit-bg: rgba(69, 137, 255, .15);--color-action-edit-bg-hover: rgba(69, 137, 255, .25);--color-action-calendar: #ee5396;--color-action-calendar-hover: #ff7eb6;--color-action-calendar-bg: rgba(238, 83, 150, .15);--color-action-calendar-bg-hover: rgba(238, 83, 150, .25);--color-error-bg: #2d0709;--color-error-border: #fa4d56;--shadow-soft: 0 4px 12px rgba(0, 0, 0, .4)}button{cursor:pointer;border-radius:var(--radius-button);font-family:inherit;font-weight:500;border:none;background:none;transition:all .3s cubic-bezier(.25,1,.5,1)}button:active{transform:scale(.96)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg-page);color:var(--color-text-main);font-family:var(--font-family-base)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:600;color:var(--color-text-secondary)}button{border-radius:var(--radius-button);border:1px solid transparent;padding:.4em .9em;font-size:.9em;font-weight:500;font-family:inherit;background-color:var(--color-button-bg);color:var(--color-button-text);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}button:hover:not(:disabled){background-color:var(--color-button-hover-bg);box-shadow:0 4px 15px var(--color-accent-soft);transform:translateY(-1px)}button:disabled{opacity:.6;cursor:default}button:focus-visible{outline:2px solid var(--color-focus-outline);outline-offset:2px}input[type=text],input[type=email],input[type=number],input[type=search],input[type=date],input[type=password],textarea,select{width:100%;padding:.5rem .75rem;border-radius:10px;border:1px solid var(--color-border);font-size:.95rem;font-family:inherit;box-sizing:border-box;background-color:var(--color-bg-field);color:var(--color-input-text);box-shadow:inset 0 2px 4px #00000005;transition:all .2s ease-in-out}input[type=text]:hover,input[type=email]:hover,input[type=number]:hover,input[type=search]:hover,input[type=date]:hover,input[type=password]:hover,textarea:hover,select:hover{background-color:var(--color-bg-field-hover)}input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=date]:focus,input[type=password]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),0 0 12px var(--color-accent-soft);background-color:var(--color-bg-card-soft)}select option{background-color:var(--color-bg-card-soft);color:var(--color-input-text)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.75}input:disabled,input[disabled],textarea:disabled,textarea[disabled]{opacity:1!important;color:var(--color-text-muted)!important;-webkit-text-fill-color:var(--color-text-muted)!important;background-color:var(--color-bg-card)!important;cursor:not-allowed!important;border-color:var(--color-border-subtle)!important}input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-action-save);cursor:pointer}.status-badge{display:inline-block;padding:.25rem .6rem;border-radius:12px;font-size:.75rem;font-weight:500;text-align:center;white-space:nowrap}.status-badge.status-angefragt,.status-badge.status-beantragt{background-color:#eab30833;color:#a16207;border:1px solid #eab308}[data-theme=dark] .status-badge.status-angefragt,[data-theme=dark] .status-badge.status-beantragt{background-color:#facc1533;color:#fde047;border:1px solid #facc15}.status-badge.status-angenommen,.status-badge.status-genehmigt{background-color:#22c55e33;color:#15803d;border:1px solid #22c55e}[data-theme=dark] .status-badge.status-angenommen,[data-theme=dark] .status-badge.status-genehmigt{background-color:#22c55e33;color:#86efac;border:1px solid #22c55e}.status-badge.status-abgelehnt{background-color:#ef444433;color:#b91c1c;border:1px solid #ef4444}[data-theme=dark] .status-badge.status-abgelehnt{background-color:#f8717133;color:#fca5a5;border:1px solid #f87171}.status-badge.status-offen{background-color:#3b82f633;color:#1e40af;border:1px solid #3b82f6}[data-theme=dark] .status-badge.status-offen{background-color:#60a5fa33;color:#93c5fd;border:1px solid #60a5fa}.status-badge.status-abgerechnet,.status-badge.status-abgeschlossen{background-color:#c026d333;color:#a21caf;border:1px solid #c026d3}[data-theme=dark] .status-badge.status-abgerechnet,[data-theme=dark] .status-badge.status-abgeschlossen{background-color:#e879f933;color:#e879f9;border:1px solid #d946ef}.status-badge.status-freigegeben{background-color:#6b728026;color:#374151;border:1px solid #6b7280}[data-theme=dark] .status-badge.status-freigegeben{background-color:#9ca3af33;color:#d1d5db;border:1px solid #9ca3af}.status-badge.status-fakturiert{background-color:#16a34a26;color:#15803d;border:1px solid #16a34a}[data-theme=dark] .status-badge.status-fakturiert{background-color:#22c55e33;color:#22c55e;border:1px solid #22c55e}.app-shell{height:100vh;overflow:hidden;box-sizing:border-box;background-color:var(--color-bg-page);display:flex;flex-direction:column}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 1rem;height:48px;min-height:48px;background-color:var(--color-bg-header);border-bottom:1px solid var(--color-border-subtle);box-shadow:var(--shadow-soft);box-sizing:border-box;position:sticky;top:0;z-index:200}.topbar-right-actions{display:flex;align-items:center;gap:1.25rem;margin-left:auto}.nav-user-profile{display:flex;align-items:center;gap:.75rem;padding:0 .5rem;border-right:1px solid rgba(255,255,255,.1);margin-right:.5rem}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-size:.8rem;font-weight:600;color:#fff;line-height:1.1}.user-role{font-size:.65rem;font-weight:500;color:#ffffff80;text-transform:uppercase}.logout-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;cursor:pointer;transition:all .2s;padding:0}.logout-btn:hover{background:#ef444433;border-color:#ef4444;color:#ef4444}.theme-toggle{font-size:.8rem;padding:.25rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background-color:#ffffff14;color:#fff;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;box-shadow:none}.theme-toggle:hover{background-color:#ffffff26}.theme-toggle span:first-child{font-size:.9rem}.theme-toggle span:last-child{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.env-badge{padding:.25rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);font-size:.8rem;background-color:#ffffff14;color:#fff}.app-center{width:100%;flex:1;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.app-card{background-color:var(--color-bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-card);padding:var(--space-card);box-shadow:0 4px 24px -1px #0000000d,0 0 1px #0000001a;box-sizing:border-box;border:1px solid rgba(255,255,255,.5);border-right:1px solid rgba(255,255,255,.5);transition:transform .3s cubic-bezier(.25,1,.5,1),box-shadow .3s cubic-bezier(.25,1,.5,1)}[data-theme=dark] .app-card{border:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08);box-shadow:0 4px 24px -1px #0000004d,0 0 1px #ffffff0d}.app-header-card{display:none}.app-header-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.app-module-title{margin:0;font-size:1.1rem;font-weight:600;display:inline-block;padding:.35rem .85rem;border-radius:12px;background-color:var(--color-bg-card-soft);border:1px solid var(--color-border-strong);color:var(--color-text-secondary);box-shadow:0 1px 2px #0000000d}.burger-button{width:32px;height:32px;border-radius:6px;border:1px solid var(--color-border-strong);background-color:var(--color-bg-field);display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;padding:0}.burger-line{width:16px;height:2px;background-color:var(--color-text-inverted);margin:2px 0}.burger-button:hover{background-color:var(--color-bg-field-hover);border-color:var(--color-border-strong)}.app-header-menu{border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-bg-card);padding:.5rem .75rem;display:flex;flex-direction:column;gap:.25rem}.app-header-menu-item{padding:.25rem .5rem;border-radius:4px;font-size:.9rem}.app-header-menu-item.is-active{font-weight:600;background-color:var(--color-accent-soft)}.app-header-menu-item.is-disabled{color:var(--color-text-disabled)}.app-body-wrapper{flex:1;overflow:hidden;display:flex;flex-direction:column}.page-container{width:100%;flex:1;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.search-bar{padding:8px 16px;background-color:var(--color-bg-secondary, #edf0f7);border-bottom:2px solid var(--color-border-subtle);border-radius:0;display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;flex-shrink:0}.checkbox-inline{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--color-text-main)}.search-button-wrapper{margin-left:auto}.form-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.form-field{display:flex;flex-direction:column;gap:4px;min-width:160px}.form-label{font-size:.8rem;color:var(--color-text-muted)}.app-main-row{display:flex;gap:16px;align-items:stretch;flex:1;overflow:hidden}.partner-table-card{flex:1;background-color:var(--color-bg-card);overflow:hidden;display:flex;flex-direction:column}.actions-panel{width:60px;min-width:60px;max-width:60px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center;padding:16px 8px;flex-shrink:0}.actions-panel-title{font-size:.95rem;font-weight:600;margin-bottom:4px}.table-header-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 4px;border-bottom:1px solid var(--color-border-subtle);margin-bottom:0}.table-scroll-container{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-bg-card)}.resizable-table-body-scroll{flex:1;overflow-y:auto;overflow-x:auto}.col-resize-handle{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:col-resize;z-index:20;background:transparent;transition:background .15s ease}.col-resize-handle:hover,.col-resize-handle:active{background:#ffffff59;border-right:2px solid rgba(255,255,255,.7)}.table,.data-table{width:100%;margin:0 auto;border-collapse:collapse;font-size:calc(.82rem * var(--table-zoom, 1))}.table thead,.data-table thead{background-color:var(--color-bg-table-header)}.table thead th,.data-table thead th{position:sticky;top:0;z-index:10;background-color:var(--color-bg-table-header);color:var(--color-table-header-text);font-weight:700;font-size:calc(.76rem * var(--table-zoom, 1));text-transform:uppercase;letter-spacing:.06em;padding:calc(12px * var(--table-zoom, 1)) calc(14px * var(--table-zoom, 1));border-bottom:2px solid var(--color-accent);border-right:1px solid var(--color-table-col-divider)}.table th,.table td,.data-table th,.data-table td{padding:calc(11px * var(--table-zoom, 1)) calc(14px * var(--table-zoom, 1));text-align:left;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-table-col-divider);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .15s ease}.table th:last-child,.table td:last-child,.data-table th:last-child,.data-table td:last-child{border-right:none}.data-table th{font-weight:600;color:var(--color-table-header-text, var(--color-text-secondary))}.data-table tbody tr{cursor:pointer;background-color:var(--color-table-row-odd);position:relative;z-index:1;transition:all .2s cubic-bezier(.25,1,.5,1)}.data-table tbody tr:nth-child(2n){background-color:var(--color-table-row-even)}.data-table tbody tr:hover{background-color:var(--color-table-row-hover-bg);color:var(--color-table-row-hover-text);z-index:10;transform:scale(1.002);box-shadow:0 4px 12px #0000000d}.data-table tbody tr.is-selected{background-color:var(--color-table-row-selected-bg);color:var(--color-table-row-selected-text);box-shadow:inset 5px 0 0 var(--color-table-row-selected-accent, #60a5fa);font-weight:500}.data-table tbody tr.is-selected.status-genehmigt,.data-table tbody tr.is-selected.status-angenommen,.data-table tbody tr.is-selected.status-fakturiert{background-color:#22c55e14;color:#14532d;box-shadow:inset 5px 0 #22c55e}.data-table tbody tr.is-selected.status-offen{background-color:#3b82f614;color:#1e3a8a;box-shadow:inset 5px 0 #3b82f6}.data-table tbody tr.is-selected.status-angefragt,.data-table tbody tr.is-selected.status-beantragt{background-color:#eab30814;color:#713f12;box-shadow:inset 5px 0 #eab308}.data-table tbody tr.is-selected.status-abgelehnt,.data-table tbody tr.is-selected.status-storniert{background-color:#ef444414;color:#7f1d1d;box-shadow:inset 5px 0 #ef4444}.data-table tbody tr.is-selected.status-abgerechnet,.data-table tbody tr.is-selected.status-abgeschlossen{background-color:#c026d314;color:#701a75;box-shadow:inset 5px 0 #c026d3}.data-table tbody tr.is-selected.status-freigegeben{background-color:#6b728014;color:#374151;box-shadow:inset 5px 0 #6b7280}[data-theme=dark] .data-table tbody tr.is-selected.status-genehmigt,[data-theme=dark] .data-table tbody tr.is-selected.status-angenommen,[data-theme=dark] .data-table tbody tr.is-selected.status-fakturiert{background-color:#22c55e29!important;color:#86efac!important;box-shadow:inset 5px 0 #22c55e!important}[data-theme=dark] .data-table tbody tr.is-selected.status-offen{background-color:#60a5fa29!important;color:#93c5fd!important;box-shadow:inset 5px 0 #60a5fa!important}[data-theme=dark] .data-table tbody tr.is-selected.status-angefragt,[data-theme=dark] .data-table tbody tr.is-selected.status-beantragt{background-color:#facc1529!important;color:#fde047!important;box-shadow:inset 5px 0 #facc15!important}[data-theme=dark] .data-table tbody tr.is-selected.status-abgelehnt,[data-theme=dark] .data-table tbody tr.is-selected.status-storniert{background-color:#f8717129!important;color:#fca5a5!important;box-shadow:inset 5px 0 #f87171!important}[data-theme=dark] .data-table tbody tr.is-selected.status-abgerechnet,[data-theme=dark] .data-table tbody tr.is-selected.status-abgeschlossen{background-color:#e879f929!important;color:#e879f9!important;box-shadow:inset 5px 0 #d946ef!important}[data-theme=dark] .data-table tbody tr.is-selected.status-freigegeben{background-color:#9ca3af29!important;color:#d1d5db!important;box-shadow:inset 5px 0 #9ca3af!important}.data-table tbody tr.is-selected:hover{background-color:var(--color-table-row-selected-bg);filter:brightness(1.1)}.data-table tbody tr.is-selected a,.data-table tr.is-selected a{color:inherit}.checkbox-header{text-align:center}.checkbox-cell{text-align:center;vertical-align:middle}.icon-button{width:38px;height:38px;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-icon-button-bg);display:flex;align-items:center;justify-content:center;padding:0;color:var(--color-text-main);transition:all .15s ease}.icon-button:hover{background-color:var(--color-icon-button-hover-bg);border-color:var(--color-border-strong);transform:translateY(-1px)}.icon-button:disabled{opacity:.3;cursor:not-allowed;transform:none;filter:grayscale(100%)}.icon-button[title*=Hinzufügen],.icon-button[title*=hinzufügen],.icon-button[title*=Anlegen],.icon-button[title*=anlegen],.icon-button[title*=Neu],.icon-button[title*=neu],.icon-button[aria-label*=Hinzufügen],.icon-button[aria-label*=hinzufügen],.icon-button[aria-label*=Anlegen],.icon-button[aria-label*=anlegen],.icon-button[aria-label*=Neu],.icon-button[aria-label*=neu]{color:var(--color-action-save);background-color:var(--color-action-save-bg)}.icon-button[title*=Hinzufügen]:hover,.icon-button[title*=hinzufügen]:hover,.icon-button[title*=Anlegen]:hover,.icon-button[title*=anlegen]:hover,.icon-button[title*=Neu]:hover,.icon-button[title*=neu]:hover,.icon-button[aria-label*=Hinzufügen]:hover,.icon-button[aria-label*=hinzufügen]:hover,.icon-button[aria-label*=Anlegen]:hover,.icon-button[aria-label*=anlegen]:hover,.icon-button[aria-label*=Neu]:hover,.icon-button[aria-label*=neu]:hover{background-color:var(--color-action-save-bg-hover);color:var(--color-action-save-hover)}.icon-button[title*=Löschen],.icon-button[title*=löschen],.icon-button[aria-label*=Löschen],.icon-button[aria-label*=löschen]{color:var(--color-action-delete);background-color:var(--color-action-delete-bg)}.icon-button[title*=Löschen]:hover,.icon-button[title*=löschen]:hover,.icon-button[aria-label*=Löschen]:hover,.icon-button[aria-label*=löschen]:hover{background-color:var(--color-action-delete-bg-hover);color:var(--color-action-delete-hover)}.icon-button[title*=Bearbeiten],.icon-button[title*=bearbeiten],.icon-button[aria-label*=Bearbeiten],.icon-button[aria-label*=bearbeiten]{color:var(--color-action-edit);background-color:var(--color-action-edit-bg)}.icon-button[title*=Bearbeiten]:hover,.icon-button[title*=bearbeiten]:hover,.icon-button[aria-label*=Bearbeiten]:hover,.icon-button[aria-label*=bearbeiten]:hover{background-color:var(--color-action-edit-bg-hover);color:var(--color-action-edit-hover)}.icon-button[title*=Trainings],.icon-button[title*=trainings],.icon-button[aria-label*=Trainings],.icon-button[aria-label*=trainings]{color:var(--color-action-calendar);background-color:var(--color-action-calendar-bg)}.icon-button[title*=Trainings]:hover,.icon-button[title*=trainings]:hover,.icon-button[aria-label*=Trainings]:hover,.icon-button[aria-label*=trainings]:hover{background-color:var(--color-action-calendar-bg-hover);color:var(--color-action-calendar-hover)}.error-box{margin-bottom:.75rem;padding:.6rem;border:1px solid var(--color-error-border);background-color:var(--color-error-bg);border-radius:6px;font-size:.9rem}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:12px;box-shadow:var(--shadow-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.25rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;border:1px solid transparent;gap:.5rem}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-button-hover-bg);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-bg-field);color:var(--color-text-main);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-field-hover)}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-custom{transition:all .25s cubic-bezier(.16,1,.3,1)}.btn-custom:hover:not(:disabled){transform:translateY(-1px)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 15px var(--color-accent-soft)}.btn-save:hover:not(:disabled){box-shadow:0 4px 15px #24a14840}.btn-cancel:hover:not(:disabled){box-shadow:0 4px 15px #eb690040}.btn-secondary:hover:not(:disabled){box-shadow:0 4px 12px #0000000f}.app-modal div[style*="background-color: rgba("],.app-modal div[style*="background-color:rgba("],.app-modal form div[style*="background-color: rgba("],.app-modal form div[style*="background-color:rgba("]{background-color:var(--color-base-white)!important;border-radius:var(--radius-card)!important;box-shadow:0 4px 16px -1px #0000000a,0 0 0 1px #00000008!important;border-top:1px solid var(--color-border)!important;border-right:1px solid var(--color-border)!important;border-bottom:1px solid var(--color-border)!important;border-left:1px solid var(--color-border);transition:all .3s cubic-bezier(.25,1,.5,1)}[data-theme=dark] .app-modal div[style*="background-color: rgba("],[data-theme=dark] .app-modal div[style*="background-color:rgba("],[data-theme=dark] .app-modal form div[style*="background-color: rgba("],[data-theme=dark] .app-modal form div[style*="background-color:rgba("]{background-color:#1e293bb3!important;box-shadow:0 4px 20px -1px #0000004d,0 0 0 1px #ffffff0d!important;border-top:1px solid rgba(255,255,255,.08)!important;border-right:1px solid rgba(255,255,255,.08)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;border-left:1px solid rgba(255,255,255,.08)}.app-card:not(.partner-table-card):not(.table-card):not(.actions-panel){border-top:4px solid var(--color-accent)!important}.app-shell.module-seminars,.app-shell.module-trainings,.app-shell.module-calendar,.app-shell.module-accounting,.app-shell.module-planning-dashboard,.app-shell.module-measure-wizard{--color-accent: #10B981;--color-accent-soft: rgba(16, 185, 129, .1);--color-button-hover-bg: #059669;--color-bg-page: #F0FAF6;--color-bg-header: #064E3B}.app-shell.module-invoices,.app-shell.module-incoming-invoices,.app-shell.module-payments,.app-shell.module-funding-requests,.app-shell.module-accounting-tab{--color-accent: #D97706;--color-accent-soft: rgba(217, 119, 6, .1);--color-button-hover-bg: #B45309;--color-bg-page: #FAF6ED;--color-bg-header: #78350F}.app-shell.module-measures,.app-shell.module-funding-confirmations,.app-shell.module-measures-overview{--color-accent: #2563EB;--color-accent-soft: rgba(37, 99, 235, .1);--color-button-hover-bg: #1D4ED8;--color-bg-page: #EDF3FC;--color-bg-header: #1E3A8A}.app-shell.module-partners,.app-shell.module-schools,.app-shell.module-trainers,.app-shell.module-products,.app-shell.module-agencies{--color-accent: #DB2777;--color-accent-soft: rgba(219, 39, 119, .1);--color-button-hover-bg: #BE185D;--color-bg-page: #FAF0F6;--color-bg-header: #831843}.app-shell.module-settings{--color-accent: #0D9488;--color-accent-soft: rgba(13, 148, 136, .1);--color-button-hover-bg: #0F766E;--color-bg-page: #EDFAF8;--color-bg-header: #115E59}:root[data-theme=dark] .app-shell.module-seminars,:root[data-theme=dark] .app-shell.module-trainings,:root[data-theme=dark] .app-shell.module-calendar,:root[data-theme=dark] .app-shell.module-accounting,:root[data-theme=dark] .app-shell.module-planning-dashboard,:root[data-theme=dark] .app-shell.module-measure-wizard{--color-accent: #34D399;--color-accent-soft: rgba(52, 211, 153, .15);--color-button-hover-bg: #059669;--color-button-text: #060B14;--color-bg-page: #06110D;--color-bg-header: #083D2C}:root[data-theme=dark] .app-shell.module-invoices,:root[data-theme=dark] .app-shell.module-incoming-invoices,:root[data-theme=dark] .app-shell.module-payments,:root[data-theme=dark] .app-shell.module-funding-requests,:root[data-theme=dark] .app-shell.module-accounting-tab{--color-accent: #F59E0B;--color-accent-soft: rgba(245, 158, 11, .15);--color-button-hover-bg: #D97706;--color-button-text: #060B14;--color-bg-page: #100C05;--color-bg-header: #4C230A}:root[data-theme=dark] .app-shell.module-measures,:root[data-theme=dark] .app-shell.module-funding-confirmations,:root[data-theme=dark] .app-shell.module-measures-overview{--color-accent: #60A5FA;--color-accent-soft: rgba(96, 156, 250, .15);--color-button-hover-bg: #2563EB;--color-button-text: #060B14;--color-bg-page: #050A14;--color-bg-header: #122342}:root[data-theme=dark] .app-shell.module-partners,:root[data-theme=dark] .app-shell.module-schools,:root[data-theme=dark] .app-shell.module-trainers,:root[data-theme=dark] .app-shell.module-products,:root[data-theme=dark] .app-shell.module-agencies{--color-accent: #F472B6;--color-accent-soft: rgba(244, 114, 182, .15);--color-button-hover-bg: #DB2777;--color-button-text: #060B14;--color-bg-page: #10050C;--color-bg-header: #4D0E2E}:root[data-theme=dark] .app-shell.module-settings{--color-accent: #2DD4BF;--color-accent-soft: rgba(45, 212, 191, .15);--color-button-hover-bg: #0D9488;--color-button-text: #060B14;--color-bg-page: #051110;--color-bg-header: #0F4440}.app-shell.module-measures-overview .app-card,.app-shell.module-measures-overview .app-card:not(.partner-table-card):not(.table-card):not(.actions-panel){border-top:none!important}.app-shell.module-measures-overview .app-card:not(.table-card):not(.kpi-card){border-left:4px solid var(--color-accent)!important}.required-empty,input[required]:placeholder-shown,input[required]:invalid,select[required]:invalid{border-color:#ef444480!important;background-color:#ef444405!important}.required-empty:focus,input[required]:focus,select[required]:focus{border-color:var(--color-accent)!important;background-color:var(--color-bg-card-soft)!important;box-shadow:0 0 0 3px var(--color-accent-soft)!important}.navigation-menu{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%}.nav-items{display:flex;gap:.5rem;height:100%;align-items:center}.nav-item{background:transparent;border:none;color:#ffffffb3;padding:.5rem 1rem;font-size:.85rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;height:32px}.nav-item:hover{color:#fff;background-color:#ffffff14}.nav-item.is-active{color:#fff;background-color:#ffffff26;font-weight:600;box-shadow:inset 0 -2px 0 var(--color-accent)}.nav-user-profile{display:flex;align-items:center;gap:1.5rem;padding-right:1rem}.menu-section{position:relative;height:100%;display:flex;align-items:center}.menu-section-button{padding:0 1.5rem;height:48px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-header);font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;transition:background-color .2s,border-color .2s,color .2s;white-space:nowrap;border-radius:0;box-sizing:border-box}.menu-section-button:hover{background:#ffffff26;color:#fff}.menu-section-button.active{color:#fff;font-weight:600;border-bottom:2px solid #ffffff}[data-theme=dark] .menu-section-button:hover{background:#ffffff14}.sidebar-menu{display:flex;flex-direction:column;height:100%;background-color:var(--color-bg-page);border-right:1px solid var(--color-border-subtle);box-sizing:border-box;transition:width .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;overflow:visible;position:relative;z-index:90}.sidebar-menu.is-expanded{width:220px}.sidebar-menu.is-collapsed{width:64px}.sidebar-header-title{height:48px;display:flex;align-items:center;padding:0 1.25rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-subtle);white-space:nowrap;overflow:hidden}.sidebar-menu.is-collapsed .sidebar-header-title{padding:0;justify-content:center}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:.75rem 0;gap:.25rem;overflow-y:auto;overflow-x:visible}.sidebar-item-container{position:relative;padding:0 .75rem;box-sizing:border-box}.sidebar-menu.is-collapsed .sidebar-item-container{padding:0 .5rem}.sidebar-item-btn{width:100%;height:40px;display:flex;align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-button);color:var(--color-text-main);cursor:pointer;padding:0 .75rem;box-sizing:border-box;transition:background-color .15s ease,color .15s ease,transform .1s ease;white-space:nowrap;overflow:hidden}.sidebar-menu.is-collapsed .sidebar-item-btn{padding:0;justify-content:center}.sidebar-item-btn:hover:not(.is-disabled){background-color:var(--color-bg-field-hover);color:var(--color-text-main)}.sidebar-item-btn.is-active{background-color:var(--color-accent-soft);color:var(--color-accent);font-weight:600;border:1px solid var(--color-accent)}.sidebar-item-btn.is-disabled{color:var(--color-text-disabled);opacity:.45;cursor:not-allowed}.sidebar-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px}.sidebar-item-label{margin-left:.75rem;font-size:.85rem;font-weight:500;transition:opacity .15s ease}.sidebar-footer{padding:.75rem;display:flex;justify-content:flex-end;border-top:1px solid var(--color-border-subtle)}.sidebar-menu.is-collapsed .sidebar-footer{justify-content:center;padding:.75rem 0}.sidebar-toggle-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-field);border:1px solid var(--color-border);border-radius:var(--radius-button);color:var(--color-text-main);cursor:pointer;padding:0;transition:background-color .15s ease,transform .15s ease}.sidebar-toggle-btn:hover{background-color:var(--color-bg-field-hover);color:var(--color-accent)}.toggle-arrow-icon{font-size:.8rem}.sidebar-tooltip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) scale(.92);opacity:0;pointer-events:none;background:#212121e0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#fff;padding:6px 12px;border-radius:6px;font-size:.775rem;font-weight:500;white-space:nowrap;box-shadow:0 4px 16px #00000059;transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1);z-index:1000;display:flex;align-items:center;gap:.5rem}:root[data-theme=light] .sidebar-tooltip{background:#ffffffe6;border:1px solid rgba(0,0,0,.1);color:#161616;box-shadow:0 4px 16px #0000001f}.sidebar-tooltip-badge{background:var(--color-action-cancel-hover);color:#fff;font-size:.65rem;padding:1px 5px;border-radius:3px;font-weight:600;text-transform:uppercase}.sidebar-menu.is-collapsed .sidebar-item-container:hover .sidebar-tooltip{opacity:1;transform:translateY(-50%) scale(1)}.sidebar-menu.is-expanded .sidebar-tooltip{display:none}.date-picker{background-color:transparent;border-radius:8px;padding:1rem}.date-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.date-picker-title{font-size:1rem;font-weight:600;color:var(--color-text-main)}.date-picker-nav{background:none;border:none;color:var(--color-text-main);font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.date-picker-nav:hover{background-color:var(--color-table-row-hover-bg)}.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem;text-align:center;font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.date-picker-weekdays div{padding:.5rem}.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.date-picker-week-row{display:contents}.date-picker-day.in-work-week{background-color:var(--color-table-row-even)}.date-picker-day{aspect-ratio:1;border:none;background:none;cursor:pointer;font-size:.875rem;color:var(--color-text-main);transition:all .2s;display:flex;align-items:center;justify-content:center;position:relative}.date-picker-day:hover:not(:disabled){background-color:var(--color-table-row-hover-bg)!important;border-radius:50%!important}.date-picker-day.other-month{color:var(--color-text-disabled);cursor:default}.date-picker-day.today{background-color:var(--color-action-calendar)!important;color:#fff;font-weight:600;border-radius:50%!important;z-index:1}.date-picker-day.selected:not(.today){font-weight:600}[data-theme=dark] .date-picker{background-color:transparent}.calendar-container{display:flex;height:calc(100vh - 140px);gap:1rem;overflow:hidden}.calendar-sidebar{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:.5rem}.calendar-main{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg-card);border-radius:var(--radius-card);border:1px solid var(--color-border-subtle);overflow:hidden}.calendar-header{padding:1rem;border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;align-items:center}.calendar-grid{display:flex;flex:1;overflow-y:auto}.calendar-day-column{flex:1;border-right:1px solid var(--color-border-subtle);min-width:150px;display:flex;flex-direction:column}.calendar-day-column:last-child{border-right:none}.calendar-day-header{padding:.75rem;text-align:center;border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-action-calendar);color:#fff;position:sticky;top:0;z-index:10}.calendar-day-name{font-weight:600;font-size:.9rem}.calendar-day-date{font-size:.8rem;color:#ffffffe6}.calendar-day-content{padding:.5rem;flex:1}.calendar-badge{padding:.6rem;margin-bottom:.5rem;border-radius:6px;border:none;box-shadow:0 2px 4px #00000026;font-size:.75rem;cursor:pointer;transition:all .2s;line-height:1.4;color:#1f2937}.calendar-badge:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0003}.calendar-badge.status-offen{background-color:#93c5fd;color:#1e3a8a}.calendar-badge.status-angefragt,.calendar-badge.status-beantragt{background-color:#fde047;color:#713f12}.calendar-badge.status-angenommen,.calendar-badge.status-genehmigt{background-color:#86efac;color:#14532d}.calendar-badge.status-abgelehnt{background-color:#fca5a5;color:#7f1d1d}.calendar-badge.status-abgerechnet{background-color:#e9d5ff;color:#581c87}[data-theme=dark] .calendar-badge.status-offen{background-color:#60a5fa;color:#1e3a8a}[data-theme=dark] .calendar-badge.status-angefragt,[data-theme=dark] .calendar-badge.status-beantragt{background-color:#facc15;color:#713f12}[data-theme=dark] .calendar-badge.status-angenommen,[data-theme=dark] .calendar-badge.status-genehmigt{background-color:#28e025;color:#14532d}[data-theme=dark] .calendar-badge.status-abgelehnt{background-color:#f87171;color:#7f1d1d}[data-theme=dark] .calendar-badge.status-abgerechnet{background-color:#c084fc;color:#3b0764}.calendar-view-toggle{display:inline-flex;background-color:var(--color-bg-card-soft);padding:2px;border-radius:6px;border:1px solid var(--color-border-subtle)}.calendar-view-toggle-btn{padding:.35rem .8rem;font-size:.825rem;font-weight:500;color:var(--color-text-secondary);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.calendar-view-toggle-btn.active{background-color:var(--color-action-calendar);color:#fff}.calendar-grid-month{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:1;overflow-y:auto}.calendar-month-day-cell{border-right:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);min-height:120px;padding:.5rem;display:flex;flex-direction:column}.calendar-month-day-cell:nth-child(5n){border-right:none}.calendar-month-day-number{font-weight:600;font-size:.8rem;color:var(--color-text-secondary);margin-bottom:.5rem;text-align:right}.calendar-month-day-cell.other-month{background-color:var(--color-bg-card-soft);opacity:.5}.calendar-month-day-cell.today{background-color:rgba(var(--color-accent-rgb),.05);border-top:2px solid var(--color-action-calendar);padding-top:calc(.5rem - 2px)}.calendar-month-day-events{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.page-container{display:flex;flex-direction:column;gap:1.5rem;height:100%}.page-header{display:flex;justify-content:space-between;align-items:flex-start}.header-title h1{font-size:1.75rem;font-weight:800;margin:0;color:var(--color-text-main)}.header-title p{margin:.25rem 0 0;color:var(--color-text-secondary);font-size:.95rem}.filter-bar{display:flex;gap:1rem;background:var(--color-bg-card);padding:1rem;border-radius:12px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.search-wrapper{flex:1;position:relative;display:flex;align-items:center;gap:.75rem;padding:0 .5rem}.header-actions{display:flex;gap:.75rem}.btn-action{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.btn-delete{background-color:var(--color-action-delete);color:#fff}.btn-delete:hover{filter:brightness(1.1);box-shadow:0 4px 12px #c524384d}.table-card{flex:1;overflow:hidden;display:flex;flex-direction:column}.stat-card.premium{display:flex;flex-direction:row;align-items:center;padding:1.5rem!important;gap:1.25rem;border:1px solid var(--color-border);transition:transform .2s ease,box-shadow .2s ease}.stat-card.premium:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon-wrapper{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;flex-shrink:0}.stat-icon-wrapper.income{background-color:#0d68321a;color:var(--color-action-save)}.stat-icon-wrapper.expense{background-color:#c524381a;color:var(--color-action-delete)}.stat-icon-wrapper.balance-plus{background-color:var(--color-action-save);color:#fff}.stat-icon-wrapper.balance-minus{background-color:var(--color-action-delete);color:#fff}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.text-income{color:var(--color-action-save)}.text-expense{color:var(--color-action-delete)}.page-container{padding:2rem;overflow-y:auto;height:100%;display:flex;flex-direction:column}.filter-card-dashboard{padding:1.5rem!important;margin-bottom:2rem}.filter-grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.filter-grid-header h4{margin:0;color:var(--color-text-primary);font-size:1.1rem;font-weight:700}.filter-actions-main{display:flex;gap:.75rem}.search-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.5rem!important;font-weight:600}.reset-btn{padding:.6rem 1rem!important}.filter-grid-symmetric{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.module-planning-dashboard .app-card,.module-planning-dashboard .app-card:not(.partner-table-card):not(.table-card):not(.actions-panel){border-top:none!important}.module-planning-dashboard .app-card:not(.kpi-card){border-left:4px solid var(--color-accent)!important}.dashboard-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem}.kpi-card{display:flex;align-items:center;gap:1.5rem;padding:1.5rem!important}.kpi-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center}.status-grid{grid-template-columns:repeat(4,1fr)!important}.kpi-card.status-offen{border-left:4px solid #3b82f6!important;background:#3b82f60a!important}:root[data-theme=dark] .kpi-card.status-offen{border-left:4px solid #60a5fa!important;background:#60a5fa0f!important}.kpi-card.status-angefragt{border-left:4px solid #d97706!important;background:#d977060a!important}:root[data-theme=dark] .kpi-card.status-angefragt{border-left:4px solid #facc15!important;background:#facc150f!important}.kpi-card.status-angenommen{border-left:4px solid #10b981!important;background:#10b9810a!important}:root[data-theme=dark] .kpi-card.status-angenommen{border-left:4px solid #34d399!important;background:#34d3990f!important}.kpi-card.status-abgerechnet{border-left:4px solid #c026d3!important;background:#c026d30a!important}:root[data-theme=dark] .kpi-card.status-abgerechnet{border-left:4px solid #d946ef!important;background:#d946ef0f!important}.kpi-label{display:block;font-size:.85rem;color:var(--color-text-secondary);font-weight:600;text-transform:uppercase}.kpi-value{display:block;font-size:1.75rem;font-weight:800}.chart-card{padding:2rem!important}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2.5rem}.chart-title-group h3{margin:0;font-size:1.4rem;font-weight:800;color:var(--color-text-primary)}.chart-subtitle{font-size:.85rem;color:var(--color-text-secondary)}.chart-total-summary{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.total-item{text-align:right;background:var(--color-bg-page);padding:.75rem 1.25rem;border-radius:12px;border-left:4px solid var(--color-accent)}.total-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:.25rem}.total-amount{font-size:1.5rem;font-weight:800;color:var(--color-accent)}.chart-legend{margin-top:.25rem}.dot.revenue{width:10px;height:10px;border-radius:50%;background:var(--color-accent)}.dashboard-charts-row{display:flex;gap:1.5rem;align-items:stretch;margin-bottom:2rem}.line-chart-container{flex:2}.donut-chart-container{flex:1}.donut-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1rem}.donut-svg{max-width:220px;height:auto;overflow:visible}.donut-slice{transition:stroke-width .2s ease,opacity .2s ease;cursor:pointer}.donut-slice:hover{stroke-width:42;opacity:.9}.donut-legend{margin-top:1.5rem;width:100%;display:flex;flex-direction:column;gap:.75rem}.donut-legend-item{display:flex;align-items:center;gap:.75rem}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-info{flex:1;display:flex;justify-content:space-between;font-size:.85rem}.legend-name{color:var(--color-text-main);font-weight:500}.legend-percent{color:var(--color-text-secondary);font-weight:600}.custom-revenue-chart{width:100%;height:100%;overflow:visible}.chart-dot{transition:r .2s ease;cursor:pointer}.chart-dot:hover{r:6}.custom-select-wrapper{display:flex;flex-direction:column;gap:.5rem}.custom-select-wrapper label{font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.custom-select-wrapper select{padding:.6rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-main);font-size:.95rem;outline:none}.login-page{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:#05070f;position:relative;overflow:hidden;font-family:inherit}.grid-overlay{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;z-index:1}.glow-blob{position:absolute;border-radius:50%;filter:blur(130px);opacity:.4;pointer-events:none;z-index:0;mix-blend-mode:screen;animation:float-animation 24s infinite alternate ease-in-out}.blob-1{width:480px;height:480px;background:radial-gradient(circle,#4f46e5,#4f46e500 70%);top:-12%;left:8%}.blob-2{width:550px;height:550px;background:radial-gradient(circle,#a855f7,#a855f700 70%);bottom:-15%;right:3%;animation-delay:-6s}.blob-3{width:380px;height:380px;background:radial-gradient(circle,#06b6d4,#06b6d400 70%);top:35%;right:30%;animation-delay:-12s}@keyframes float-animation{0%{transform:translate(0) scale(1)}33%{transform:translate(4%,8%) scale(1.05)}66%{transform:translate(-6%,4%) scale(.95)}to{transform:translate(2%,-4%) scale(1.02)}}.login-card{background:#0a0e1a8c;padding:3rem;border-radius:24px;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 60px #0009,inset 0 1px #ffffff1a;width:100%;max-width:420px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:10;position:relative;animation:fadeInScale .6s cubic-bezier(.16,1,.3,1) both}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.login-header{text-align:center;margin-bottom:2.5rem}.brand-logo{width:64px;height:64px;background:linear-gradient(135deg,#4f46e5,#a855f7);color:#fff;font-size:2.2rem;font-weight:800;display:flex;align-items:center;justify-content:center;border-radius:18px;margin:0 auto 1.5rem;box-shadow:0 0 25px #4f46e559,inset 0 1px #ffffff40;border:1px solid rgba(255,255,255,.15);position:relative}.brand-logo:after{content:"";position:absolute;inset:-3px;border-radius:21px;background:linear-gradient(135deg,#4f46e5,#a855f7);z-index:-1;opacity:.65;filter:blur(8px)}.login-header h1{font-size:2.1rem;font-weight:800;color:#fff;margin-bottom:.5rem;letter-spacing:-.025em}.login-header p{color:#fff9;font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.85rem;font-weight:600;color:#fffc;letter-spacing:.02em}.input-group input{padding:.8rem 1.1rem;border-radius:12px;border:1px solid rgba(255,255,255,.12);font-size:1rem;transition:all .25s cubic-bezier(.16,1,.3,1);background:#ffffff08;color:#fff}.input-group input:hover{background:#ffffff0f;border-color:#fff3}.input-group input:focus{outline:none;border-color:#6366f1;background:#00000073;box-shadow:0 0 0 1px #6366f1,0 0 18px #6366f159}.input-group input::placeholder{color:#ffffff59}.login-submit{margin-top:1rem;padding:.9rem;border-radius:12px;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;border:1px solid rgba(255,255,255,.1);font-size:1.05rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 18px #6366f14d}.login-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #6366f173,0 0 12px #a855f759;filter:brightness(1.1)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.login-error{background:#ef44441a;color:#fca5a5;padding:.8rem 1.1rem;border-radius:10px;font-size:.9rem;border:1px solid rgba(239,68,68,.2);border-left:4px solid #ef4444}.login-footer{margin-top:3rem;text-align:center;font-size:.75rem;color:#ffffff73}
