/* DocuWare-naher Dark-Style – identische Palette wie die Optionsseite. */ :root { --bg: #11151b; --surface: #1a1f27; --surface-2: #222a34; --border: #2b3340; --border-strong: #38424f; --text: #e8edf2; --muted: #8c97a4; --accent: #2aa4df; --accent-hover: #3cb6f0; --accent-weak: rgba(42,164,223,.14); --ok: #46c98a; --err: #ec6b75; color-scheme: dark; /* native Datepicker/Scrollbars/Checkboxen im Dark-Mode */ } * { box-sizing: border-box; } body { font: 13px/1.45 "Segoe UI", "Helvetica Neue", system-ui, sans-serif; margin: 0; color: var(--text); background: var(--bg); display: flex; flex-direction: column; height: 100vh; -webkit-font-smoothing: antialiased; } /* Titel-Leiste */ .titlebar { background: #0f1318; color: var(--text); padding: 9px 16px; font-weight: 600; font-size: 13px; letter-spacing: .2px; border-bottom: 1px solid var(--border); box-shadow: 0 1px 0 rgba(42,164,223,.35); flex-shrink: 0; } header { padding: 14px 18px 8px; border-bottom: 1px solid var(--border); flex-shrink: 0; } header h1 { font-size: 16px; font-weight: 650; margin: 0 0 10px; } .toolbar { display: flex; align-items: center; gap: 14px; } .toolbar .spacer { flex: 1; } button { font: inherit; cursor: pointer; } button.link { background: none; border: 0; color: var(--muted); padding: 4px 2px; display: inline-flex; align-items: center; gap: 5px; } button.link:hover { color: var(--accent); } button.primary { border: 0; border-radius: 8px; padding: 8px 22px; font-weight: 650; color: #04222f; background: linear-gradient(180deg, var(--accent-hover), var(--accent)); box-shadow: 0 4px 14px rgba(42,164,223,.3); } button.primary:hover { filter: brightness(1.06); } button:disabled { opacity: .5; cursor: default; filter: none; } main { flex: 1; overflow-y: auto; padding: 16px 18px; } .target { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 10px; margin-bottom: 12px; } .target > label { text-align: right; color: var(--muted); font-weight: 500; } /* Indexfelder: rechtsbündiges Label links, Eingabe rechts */ .fields { display: flex; flex-direction: column; gap: 9px; } .field { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 10px; } .field > label { text-align: right; color: var(--muted); font-weight: 500; padding-top: 2px; } .field.full { grid-template-columns: 150px 1fr; align-items: start; } .field .req { color: var(--err); } select, input[type="text"], input[type="number"], input[type="date"], input[type="password"], textarea { width: 100%; padding: 8px 10px; color: var(--text); background: var(--surface-2); border: 1px solid var(--border-strong); border-radius: 8px; font: inherit; outline: none; transition: border-color .15s, box-shadow .15s; } select { appearance: none; padding-right: 30px; background-image: url("data:image/svg+xml;utf8,"); background-repeat: no-repeat; background-position: right 11px center; } select:focus, input:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-weak); } input::placeholder { color: #5f6b78; } textarea { resize: vertical; min-height: 60px; } /* Vorbefüllte (aus der Mail übernommene) Felder dezent kennzeichnen */ .field.prefilled input, .field.prefilled textarea, .field.prefilled select { background: rgba(42,164,223,.08); color: #bcc8d3; } .options { margin: 0; } .format { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 6px 0; } .format-label { font-weight: 550; } .format .radio { margin: 0; } .radio, .check { display: flex; align-items: center; gap: 8px; margin: 6px 0; font-weight: 400; } .radio input, .check input { width: 16px; height: 16px; accent-color: var(--accent); flex: none; } .att-list { list-style: none; margin: 6px 0 0 26px; padding: 0; max-height: 110px; overflow-y: auto; } .att-list li { display: flex; align-items: center; gap: 8px; font-size: 12px; padding: 2px 0; color: var(--muted); } /* Footer bleibt fix sichtbar, nur der Felderbereich (main) scrollt. */ footer { border-top: 1px solid var(--border); padding: 11px 18px; background: var(--surface); flex-shrink: 0; } .muted { color: var(--muted); font-size: 12px; } .err { color: var(--err); } .ok { color: var(--ok); } .field.invalid input, .field.invalid textarea, .field.invalid select { border-color: var(--err); } /* „Bereits abgelegt"-Banner */ .banner { display: flex; align-items: center; gap: 10px; background: rgba(70,201,138,.12); border: 1px solid rgba(70,201,138,.4); color: #8be0b4; border-radius: 8px; padding: 8px 11px; margin-bottom: 10px; font-size: 12px; } .banner[hidden] { display: none; } .banner .banner-text { flex: 1; } .banner .link { color: #8be0b4; text-decoration: underline; } .banner .link:hover { color: var(--ok); } /* Overlays: Passwort-Abfrage / Dubletten-Hinweis */ .overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, .55); display: flex; align-items: center; justify-content: center; z-index: 50; backdrop-filter: blur(2px); } .overlay[hidden] { display: none; } .overlay-box { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 20px 22px; width: 350px; box-shadow: 0 18px 50px rgba(0, 0, 0, .5); } .overlay-box h2 { font-size: 15px; font-weight: 650; margin: 0 0 8px; } .overlay-box input[type="password"] { margin-top: 8px; } .overlay-box .err { min-height: 1em; margin-top: 6px; } .overlay-actions { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 12px; } .overlay-box .pw-note { margin-top: 10px; }