160 lines
5.1 KiB
CSS
160 lines
5.1 KiB
CSS
@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;
|
|
}
|
|
|
|
|