/* 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: 12px; padding: 0 16px 0 0; height: 44px; flex: 0 0 auto; position: relative; z-index: 20; } .ribbon-title { margin-left: auto; font-weight: 700; font-size: 15px; letter-spacing: .2px; } .ribbon-tabs { display: flex; gap: 2px; height: 100%; } .app-menu-button { width: 54px; height: 44px; border: 0; background: var(--ol-blue-dark); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; } .app-menu-button:hover, .app-menu-button[aria-expanded="true"] { background: #00365f; } .tab { display: flex; align-items: center; gap: 8px; padding: 0 16px; height: 100%; color: #eaf3fb; text-decoration: none; border-bottom: 3px solid transparent; background: transparent; border-left: 0; border-right: 0; border-top: 0; font: inherit; cursor: pointer; } .tab:hover { background: var(--ol-blue-dark); color: #fff; } .tab.active { background: #fff; color: var(--ol-blue); border-bottom-color: #fff; } .ribbon-menu { position: relative; height: 100%; } .ribbon-menu-button::after { content: ""; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; } .ribbon-dropdown { position: absolute; top: 44px; left: 0; min-width: 238px; background: #fff; color: var(--ol-text); border: 1px solid var(--ol-border); box-shadow: 0 7px 18px rgba(0, 0, 0, .18); display: none; z-index: 25; } .ribbon-menu.open .ribbon-dropdown { display: block; } .ribbon-dropdown-item { display: block; padding: 9px 13px; color: var(--ol-text); text-decoration: none; border-left: 3px solid transparent; } .ribbon-dropdown-item:hover { background: #eef6fd; } .ribbon-dropdown-item.active { color: var(--ol-blue-dark); background: var(--ol-sel); border-left-color: var(--ol-blue); font-weight: 600; } .mail-logo { position: relative; width: 17px; height: 12px; border: 2px solid currentColor; border-radius: 2px; display: inline-block; flex: 0 0 auto; } .mail-logo::before, .mail-logo::after { content: ""; position: absolute; top: 1px; width: 10px; height: 2px; background: currentColor; } .mail-logo::before { left: -1px; transform: rotate(32deg); transform-origin: left center; } .mail-logo::after { right: -1px; transform: rotate(-32deg); transform-origin: right center; } .backstage-menu { position: fixed; top: 44px; left: 0; bottom: 22px; width: 216px; z-index: 18; background: var(--ol-blue); color: #fff; padding: 10px 0; transform: translateX(-100%); transition: transform .16s ease-out; box-shadow: 8px 0 18px rgba(0, 0, 0, .16); } .backstage-open .backstage-menu { transform: translateX(0); } .backstage-item { display: block; padding: 11px 22px; color: #fff; text-decoration: none; border-left: 3px solid transparent; } .backstage-item:hover { background: var(--ol-blue-dark); } .backstage-item.active { background: #fff; color: var(--ol-blue); border-left-color: #fff; } .backstage-item.transfer-sub { padding-left: 38px; font-size: 12px; } .backstage-shade { position: fixed; inset: 44px 0 22px 0; z-index: 17; border: 0; background: transparent; display: none; cursor: default; } .backstage-open .backstage-shade { display: block; } /* 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; } .archive-head { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; } .archive-select-form { margin: 0; min-width: 0; } .archive-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; } /* Konten-Verwaltung */ .accounts-page { flex: 1 1 auto; min-height: 0; overflow: auto; background: #fff; } .notice { padding: 8px 16px; border-bottom: 1px solid var(--ol-border); background: #f8fbfd; } .account-layout { display: grid; grid-template-columns: minmax(520px, 1fr) minmax(460px, 560px); min-height: 100%; } .account-list, .account-form-panel { min-width: 0; border-right: 1px solid var(--ol-border); background: #fff; } .account-form-panel { border-right: 0; } .archive-page { background: #fff; } .transfer-page { background: #fff; } .email-box-page { background: #fff; } .email-box-view { grid-template-columns: 220px 6px 340px 6px minmax(300px, 1fr); } .email-box-target-view { grid-template-columns: minmax(300px, 1fr) 6px minmax(340px, 1fr) 6px 260px; } .email-box-target-view .pane-tree { border-right: 0; border-left: 1px solid var(--ol-border); } .archive-page-layout { display: grid; grid-template-columns: minmax(520px, 1fr) minmax(360px, 460px); min-height: 100%; } .transfer-layout { display: grid; grid-template-columns: minmax(380px, 1fr) minmax(380px, 1fr); min-height: 100%; } .archive-list-panel, .archive-form-panel, .transfer-panel { min-width: 0; border-right: 1px solid var(--ol-border); background: #fff; } .archive-form-panel, .transfer-panel:last-child { border-right: 0; } .account-table { width: 100%; border-collapse: collapse; table-layout: fixed; } .account-table th, .account-table td { padding: 8px 10px; border-bottom: 1px solid #ececec; text-align: left; vertical-align: middle; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .account-table .actions-col, .account-table .row-actions { width: 204px; min-width: 204px; overflow: visible; } .account-table th { color: var(--ol-muted); font-weight: 600; background: #fafafa; } .account-table tr.selected { background: var(--ol-sel); } .account-table a { color: var(--ol-blue-dark); font-weight: 600; text-decoration: none; } .row-actions { display: flex; gap: 4px; justify-content: flex-end; white-space: nowrap; } .row-actions form { margin: 0; } .account-form { padding: 14px; } .form-section { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: end; margin-bottom: 14px; } .form-columns { display: grid; grid-template-columns: 1fr; gap: 14px; } .account-form fieldset { border: 1px solid var(--ol-border); padding: 12px; margin: 0; min-width: 0; } .account-form legend { color: var(--ol-blue-dark); font-weight: 700; padding: 0 4px; } .field-row { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; } .check-row { display: flex; gap: 7px; align-items: center; color: var(--ol-text); min-height: 28px; } .check-row input { width: auto; } .form-actions { display: flex; gap: 8px; margin-top: 14px; } .form-actions a { text-decoration: none; } .btn.danger { color: #8a1f11; } .archive-table { width: 100%; border-collapse: collapse; table-layout: fixed; } .archive-table th, .archive-table td { padding: 7px 8px; border-bottom: 1px solid #ececec; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .archive-table th { color: var(--ol-muted); font-weight: 600; background: #fafafa; } .archive-action { width: 90px; text-align: right; } .archive-action form { margin: 0; } .archive-create-panel { display: grid; gap: 12px; padding: 14px; border-bottom: 1px solid var(--ol-border); } .archive-create-panel .btn { justify-self: start; } .archive-help { padding: 14px; color: var(--ol-muted); line-height: 1.45; } .archive-help p { margin: 8px 0 0; } .archive-help-title { color: var(--ol-blue-dark); font-weight: 700; } .transfer-picker { padding: 14px; border-bottom: 1px solid var(--ol-border); } .email-box-list { padding: 8px 0; } .email-box-row { padding: 8px 14px; border-bottom: 1px solid #ececec; color: var(--ol-text); } .email-box-row:hover { background: #eef6fd; } .email-box-detail { padding: 18px; color: var(--ol-muted); } .muted { color: var(--ol-muted); } /* 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; } .account-layout, .archive-page-layout, .transfer-layout, .form-columns, .form-section { grid-template-columns: 1fr; } .account-table { min-width: 760px; } }