@import "../node_modules/@syncfusion/ej2-base/styles/material.css"; @import "../node_modules/@syncfusion/ej2-buttons/styles/material.css"; @import "../node_modules/@syncfusion/ej2-calendars/styles/material.css"; @import "../node_modules/@syncfusion/ej2-dropdowns/styles/material.css"; @import "../node_modules/@syncfusion/ej2-inputs/styles/material.css"; @import "../node_modules/@syncfusion/ej2-lists/styles/material.css"; @import "../node_modules/@syncfusion/ej2-navigations/styles/material.css"; @import "../node_modules/@syncfusion/ej2-popups/styles/material.css"; @import "../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css"; @import "../node_modules/@syncfusion/ej2-react-schedule/styles/material.css"; @import "../node_modules/@syncfusion/ej2-kanban/styles/material.css"; @import "../node_modules/@syncfusion/ej2-notifications/styles/material.css"; @import "../node_modules/@syncfusion/ej2-react-filemanager/styles/material.css"; @import "../node_modules/@syncfusion/ej2-layouts/styles/material.css"; @import "../node_modules/@syncfusion/ej2-grids/styles/material.css"; @import "../node_modules/@syncfusion/ej2-icons/styles/material.css"; body { font-family: Inter, 'Segoe UI', Roboto, Arial, sans-serif; overflow: hidden; /* Verhindert den Scrollbalken auf der obersten Ebene */ } :root { --sidebar-bg: #e5d8c7; --sidebar-fg: #78591c; --sidebar-border: #d6c3a6; } /* Layout-Container für Sidebar und Content */ .layout-container { display: flex; position: relative; /* Wichtig für die absolute Positionierung des Inhalts */ height: 100vh; /* Feste Höhe auf die des Viewports setzen */ overflow: hidden; /* Verhindert, dass der Scrollbalken den gesamten Container betrifft */ } /* Sidebar fixieren, keine Scrollbalken */ .sidebar-theme { background-color: var(--sidebar-bg); color: var(--sidebar-fg); font-size: 1.15rem; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; flex-shrink: 0; overflow: hidden; z-index: 10; /* Stellt sicher, dass die Sidebar über dem Inhalt ist */ } .sidebar-theme .sidebar-link { text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .sidebar-theme .sidebar-logout { border: none; cursor: pointer; text-align: left; width: 100%; font-size: 1.15rem; } .sidebar-theme .sidebar-btn, .sidebar-theme .sidebar-link, .sidebar-theme .sidebar-logout { background-color: var(--sidebar-bg); color: var(--sidebar-fg); transition: background 0.2s, color 0.2s; font-weight: 500; } .sidebar-theme .sidebar-btn:hover, .sidebar-theme .sidebar-link:hover, .sidebar-theme .sidebar-logout:hover { background-color: var(--sidebar-fg); color: var(--sidebar-bg); } /* === START: ROBUSTES ABSOLUTE-POSITIONING-LAYOUT === */ /* Der Inhaltsbereich wird absolut positioniert, um den Rest des Bildschirms auszufüllen */ .content-area { position: absolute; inset: 0 0 0 16rem; /* Shorthand für top, right, bottom, left */ display: flex; flex-direction: column; transition: inset-inline-start 0.3s ease-in-out; /* Animiert die 'left' Eigenschaft */ } /* Anpassung für die eingeklappte Sidebar */ .content-area.collapsed { left: 5rem; /* Breite der eingeklappten Sidebar (w-20) */ } .content-header { flex-shrink: 0; /* Header soll nicht schrumpfen */ } .page-content { flex-grow: 1; /* Füllt den verbleibenden Platz */ overflow-y: auto; /* NUR dieser Bereich scrollt */ padding: 2rem; background-color: #f3f4f6; } /* === ENDE: ROBUSTES ABSOLUTE-POSITIONING-LAYOUT === */ /* Kanban-Karten im Sidebar-Style */ .e-kanban .e-card, .e-kanban .e-card .e-card-content, .e-kanban .e-card .e-card-header { background-color: var(--sidebar-bg) !important; color: var(--sidebar-fg) !important; } .e-kanban .e-card:hover, .e-kanban .e-card.e-selection, .e-kanban .e-card.e-card-active, .e-kanban .e-card:hover .e-card-content, .e-kanban .e-card.e-selection .e-card-content, .e-kanban .e-card.e-card-active .e-card-content, .e-kanban .e-card:hover .e-card-header, .e-kanban .e-card.e-selection .e-card-header, .e-kanban .e-card.e-card-active .e-card-header { background-color: var(--sidebar-fg) !important; color: var(--sidebar-bg) !important; } /* Optional: Fokus-Style für Tastatur-Navigation */ .e-kanban .e-card:focus { outline: 2px solid var(--sidebar-fg); outline-offset: 2px; } /* Kanban-Spaltenheader: Hintergrund und Textfarbe überschreiben */ .e-kanban .e-kanban-table .e-header-cells { background-color: color-mix(in srgb, var(--sidebar-bg) 80%, #fff 20%) !important; color: var(--sidebar-fg) !important; font-weight: 700; font-size: 1.08rem; border-bottom: 2px solid var(--sidebar-fg); box-shadow: 0 2px 6px 0 color-mix(in srgb, #78591c 8%, transparent); letter-spacing: 0.02em; } /* Header-Text noch spezifischer and mit !important */ .e-kanban .e-kanban-table .e-header-cells .e-header-text { color: color-mix(in srgb, var(--sidebar-fg) 85%, #000 15%) !important; } /* Entferne den globalen Scrollbalken von .main-content! */ .main-content { width: 100%; overflow-x: auto; /* Wiederherstellen des ursprünglichen Scroll-Verhaltens */ padding-bottom: 8px; }