/* Outlook 2013 Look — flach, hellblau, Segoe UI, Dreispalter. Farben nach dem 2013er Flat-Design: Kopfband Outlook-Blau, helle Panes, dezente Rahmen, blaue Auswahlzeile. */ :root { --ol-blue: #005a9e; /* Outlook-2013 Kopfband, etwas dunkler */ --ol-blue-dark: #004578; --ol-bg: #f3f3f3; /* Fensterhintergrund */ --ol-pane: #ffffff; --ol-tree: #f0f0f0; /* linke Spalte etwas grau */ --ol-border: #d9d9d9; --ol-sel: #cde6f7; /* markierte Zeile */ --ol-sel-bd: #92c0e0; --ol-text: #262626; --ol-muted: #6b6b6b; --ol-unread: #003399; /* ungelesen = kraeftiges Blau, fett */ } * { box-sizing: border-box; } html, body { height: 100%; margin: 0; } body.ol2013 { font-family: "Segoe UI", "Segoe UI Web", Tahoma, sans-serif; font-size: 13px; color: var(--ol-text); background: var(--ol-bg); display: flex; flex-direction: column; } /* Ribbon / Kopfband */ .ribbon { background: var(--ol-blue); color: #fff; display: flex; align-items: center; gap: 24px; padding: 0 16px; height: 44px; flex: 0 0 auto; } .ribbon-title { margin-left: auto; font-weight: 700; font-size: 15px; letter-spacing: .2px; } .ribbon-tabs { display: flex; gap: 2px; height: 100%; } .tab { display: flex; align-items: center; padding: 0 16px; height: 100%; color: #eaf3fb; text-decoration: none; border-bottom: 3px solid transparent; } .tab:hover { background: var(--ol-blue-dark); color: #fff; } .tab.active { background: #fff; color: var(--ol-blue); border-bottom-color: #fff; } /* Viewer */ .three-pane, .four-pane { flex: 1 1 auto; display: grid; min-height: 0; /* erlaubt Scrollen in den Panes */ } .three-pane { grid-template-columns: 220px 6px 340px 6px minmax(300px, 1fr); } .four-pane { grid-template-columns: 220px 6px 340px 6px minmax(280px, 1fr) 6px minmax(280px, 1fr); } .pane { border-right: 1px solid var(--ol-border); background: var(--ol-pane); overflow-y: auto; min-height: 0; } .pane-resizer { background: #f7f7f7; border-right: 1px solid var(--ol-border); cursor: col-resize; min-height: 0; } .pane-resizer:hover, .pane-resizer.dragging { background: var(--ol-sel-bd); } body.resizing { cursor: col-resize; user-select: none; } .pane-tree { background: var(--ol-tree); } .pane-target { border-right: 0; } .pane-head { position: sticky; top: 0; background: #eef3f8; border-bottom: 1px solid var(--ol-border); padding: 6px 12px; font-weight: 600; color: var(--ol-muted); text-transform: none; } .target-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; } .mode-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; } .mode-label { min-width: 44px; color: var(--ol-muted); font-weight: 700; } .target-select-form { margin: 0; min-width: 0; } .target-select { width: 100%; height: 24px; padding: 2px 6px; color: var(--ol-text); background: #fff; } .searchbar { position: sticky; top: 30px; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; padding: 8px; background: #fff; border-bottom: 1px solid var(--ol-border); } .search-input { min-width: 0; } .search-btn { padding-left: 10px; padding-right: 10px; } /* Ordnerbaum */ .tree-node { padding: 4px 12px 4px 24px; cursor: pointer; white-space: nowrap; } a.tree-node { display: block; color: inherit; text-decoration: none; } .tree-node.folder { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; } .tree-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; } .tree-count { color: var(--ol-muted); font-size: 11px; } .tree-node.account { padding-left: 12px; font-weight: 600; color: var(--ol-blue-dark); } .tree-node:hover { background: #e5eff8; } .tree-node.active { background: var(--ol-sel); box-shadow: inset 2px 0 0 var(--ol-blue); } /* Nachrichtenliste */ .msg-row { padding: 8px 12px; border-bottom: 1px solid #ececec; cursor: pointer; display: flex; flex-direction: column; gap: 2px; } .msg-row:hover { background: #eef6fd; } .msg-row.dragging { opacity: .55; } .msg-row.active { background: var(--ol-sel); border-left: 3px solid var(--ol-blue); padding-left: 9px; } .msg-from { font-weight: 600; } .msg-subject { color: var(--ol-text); } .msg-date { color: var(--ol-muted); font-size: 11px; } .msg-row.unread .msg-from, .msg-row.unread .msg-subject { color: var(--ol-unread); font-weight: 700; } /* Lesebereich */ .read-body { padding: 16px 20px; } .read-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; } .read-head { border-bottom: 1px solid var(--ol-border); padding-bottom: 10px; margin-bottom: 12px; } .read-subject { font-size: 17px; font-weight: 600; margin: 0 0 6px; } .read-meta { color: var(--ol-muted); font-size: 12px; } .read-pre { white-space: pre-wrap; word-break: break-word; font: 12px Consolas, "Courier New", monospace; line-height: 1.45; margin: 0; } .ef-empty { color: var(--ol-muted); padding: 24px; } .audit-note { padding: 10px 16px; border-bottom: 1px solid var(--ol-border); font-size: 12px; } .drop-zone { margin: 10px 16px 0; padding: 12px; border: 1px dashed var(--ol-sel-bd); background: #f6fbff; color: var(--ol-muted); text-align: center; } .drop-zone.drag-over { background: var(--ol-sel); color: var(--ol-text); border-color: var(--ol-blue); } /* Buttons / Formulare (flach, 2013er) */ .btn { background: var(--ol-blue); color: #fff; border: 0; padding: 6px 14px; cursor: pointer; font-size: 13px; } .btn:hover { background: var(--ol-blue-dark); } .btn.secondary { background: #e1e1e1; color: var(--ol-text); border: 1px solid var(--ol-border); } .btn.secondary:hover { background: #d5d5d5; } .btn.compact { padding: 3px 9px; } .btn.mode-toggle { width: 26px; height: 26px; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; line-height: 1; } .swap-icon { display: block; transform: translateY(-1px); } .input, select, textarea { border: 1px solid #abadb3; padding: 5px 7px; font: inherit; width: 100%; background: #fff; } .input:focus { border-color: var(--ol-blue); outline: none; } .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 16px; } .label { display: block; font-size: 12px; color: var(--ol-muted); margin-bottom: 3px; } /* Statusleiste */ .statusbar { flex: 0 0 auto; background: var(--ol-blue); color: #fff; padding: 4px 16px; font-size: 12px; } .ok { color: #107c10; } .bad { color: #d13438; } @media (max-width: 1180px) { .three-pane { grid-template-columns: 200px 6px 320px 6px minmax(300px, 1fr); } .four-pane { grid-template-columns: 200px 6px 320px 6px minmax(280px, 1fr) 6px minmax(280px, 1fr); } } @media (max-width: 820px) { .four-pane, .three-pane { grid-template-columns: 1fr; overflow-y: auto; } .pane { min-height: 220px; border-right: 0; border-bottom: 1px solid var(--ol-border); } .pane-resizer { display: none; } .pane-target { grid-column: auto; } .searchbar { top: 30px; } }