:root {
    --primary-color: #0f4c81; /* Corporate Blue */
    --secondary-color: #f4f5f7;
    --border-color: #d1d5db;
    --text-color: #333333;
    --bg-color: #e5e7eb;
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }

body { background-color: var(--bg-color); display: flex; flex-direction: column; height: 100vh; overflow: hidden; }

/* Top Menü */
.top-menu { background-color: var(--primary-color); color: white; display: flex; justify-content: space-between; padding: 10px 20px; align-items: center; }
.top-menu .logo { font-size: 1.2rem; font-weight: bold; }
.menu-items button { background: none; border: none; color: white; cursor: pointer; margin-left: 15px; font-size: 0.9rem; }
.menu-items button:hover { text-decoration: underline; }

/* Ribbon / Werkzeugleiste */
.toolbar { background-color: white; padding: 10px 20px; display: flex; flex-wrap: wrap; gap: 15px; border-bottom: 1px solid var(--border-color); box-shadow: 0 2px 5px rgba(0,0,0,0.05); z-index: 10; }
.tool-group { display: flex; gap: 5px; border-right: 1px solid var(--border-color); padding-right: 15px; align-items: center; }
.tool-group:last-child { border-right: none; }
.toolbar button { background: white; border: 1px solid transparent; padding: 5px 10px; cursor: pointer; border-radius: 4px; color: var(--text-color); }
.toolbar button:hover { background-color: var(--secondary-color); border: 1px solid var(--border-color); }
.toolbar select, .toolbar input[type="text"] { padding: 5px; border: 1px solid var(--border-color); border-radius: 4px; }
.toolbar input[type="color"] { border: none; width: 30px; height: 30px; cursor: pointer; }

/* Arbeitsbereich & A4 Seite */
.workspace { flex: 1; overflow-y: auto; padding: 40px 20px; display: flex; justify-content: center; }

.page {
    background-color: white;
    width: 210mm; /* A4 Breite */
    min-height: 297mm; /* A4 Höhe */
    padding: 2.5cm; /* Standard Seitenränder */
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    outline: none;
    line-height: 1.5;
    color: black;
    font-family: 'Arial', sans-serif;
    hyphens: auto; /* Silbentrennung */
    word-wrap: break-word;
}

/* Tabellen & Formate im Editor */
.page table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.page table, .page th, .page td { border: 1px solid black; padding: 8px; }
.page h1 { font-size: 24pt; margin-bottom: 12pt; }
.page h2 { font-size: 18pt; margin-bottom: 10pt; }

/* Statusleiste */
.statusbar { background-color: var(--secondary-color); border-top: 1px solid var(--border-color); padding: 5px 20px; display: flex; justify-content: space-between; font-size: 0.85rem; color: #555; }

/* Druckanpassung */
@media print {
    body, .workspace { background: white; padding: 0; display: block; overflow: visible; }
    .top-menu, .toolbar, .statusbar { display: none; }
    .page { box-shadow: none; width: 100%; min-height: auto; padding: 0; margin: 0; }
}