:root {
  color-scheme: dark;
  --bg: #07101f;
  --bg-deep: #030712;
  --surface: rgba(17, 24, 39, .78);
  --surface-2: #111c31;
  --surface-3: #18243a;
  --border: rgba(148, 163, 184, .18);
  --border-strong: rgba(148, 163, 184, .32);
  --text: #f8fafc;
  --muted: #94a3b8;
  --muted-2: #64748b;
  --primary: #38bdf8;
  --primary-strong: #0ea5e9;
  --teal: #2dd4bf;
  --green: #4ade80;
  --red: #fb7185;
  --orange: #fb923c;
  --purple: #a78bfa;
  --yellow: #facc15;
  --shadow: 0 10px 30px rgba(0, 0, 0, .22);
  --radius: 12px;
  --radius-sm: 8px;
  --sidebar: 264px;
  --topbar: 60px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html[data-theme="light"] {
  color-scheme: light;
  --bg: #eef4fb;
  --bg-deep: #e2e8f0;
  --surface: rgba(255, 255, 255, .88);
  --surface-2: #ffffff;
  --surface-3: #f1f5f9;
  --border: rgba(51, 65, 85, .15);
  --border-strong: rgba(51, 65, 85, .28);
  --text: #0f172a;
  --muted: #526276;
  --muted-2: #64748b;
  --shadow: 0 24px 70px rgba(30, 41, 59, .13);
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
  min-height: 100vh;
  margin: 0;
  font-family: var(--font);
  color: var(--text);
  background: linear-gradient(160deg, var(--bg-deep), var(--bg));
  background-attachment: fixed;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
img { max-width: 100%; }
::selection { background: rgba(56,189,248,.35); }

body[data-authenticated="true"] .app-shell { opacity: 0; visibility: hidden; }
body[data-authenticated="true"].session-authorized .app-shell { opacity: 1; visibility: visible; transition: opacity .14s ease; }
.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  z-index: 40;
  inset: 0 auto 0 0;
  width: var(--sidebar);
  padding: 22px 18px;
  border-right: 1px solid var(--border);
  background: rgba(3, 7, 18, .82);
  backdrop-filter: blur(22px);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}
html[data-theme="light"] .sidebar { background: rgba(255,255,255,.85); }
.brand { display: flex; align-items: center; gap: 12px; padding: 2px 8px 24px; }
.brand-logo { width: 44px; height: 44px; border-radius: 14px; box-shadow: 0 12px 28px rgba(14,165,233,.25); }
.brand-copy strong { display: block; font-size: 1.05rem; letter-spacing: -.02em; }
.brand-copy span { color: var(--muted); font-size: .75rem; }
.nav-label { padding: 9px 12px 6px; color: var(--muted-2); font-size: .7rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.nav { display: grid; gap: 4px; }
.nav-link {
  min-height: 45px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--muted);
  font-weight: 650;
  transition: .18s ease;
}
.nav-link:hover { color: var(--text); background: rgba(148,163,184,.08); transform: translateX(2px); }
.nav-link.active { color: #fff; background: linear-gradient(135deg, rgba(14,165,233,.88), rgba(13,148,136,.86)); box-shadow: 0 10px 28px rgba(14,165,233,.17); }
.nav-icon { width: 24px; height: 24px; display: grid; place-items: center; font-size: 1.05rem; }
.nav-vault { margin-top: 4px; color: #d1d5db; background: linear-gradient(135deg, rgba(0,0,0,.5), rgba(15,23,42,.8)); border: 1px solid rgba(255,255,255,.08); }
.nav-vault.active { background: #030303; box-shadow: 0 0 0 1px rgba(250,204,21,.2), 0 14px 34px rgba(0,0,0,.45); color: #facc15; }
.sidebar-bottom { margin-top: auto; padding-top: 18px; }
.user-chip { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--border); border-radius: 14px; background: rgba(148,163,184,.05); }
.avatar { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--purple), var(--primary)); color: white; font-weight: 900; }
.user-chip small { display: block; color: var(--muted); }
.logout-form { margin: 10px 0 0; }

.main-wrap { min-height: 100vh; margin-left: var(--sidebar); }
.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  height: var(--topbar);
  padding: 0 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border);
  /* ⚠ Früher fest verdrahtet als rgba(7,16,31,.72). Damit blieb die Kopfzeile
     dunkel, egal welchen Hintergrund der Benutzer wählte — genau die Meldung
     «die oberste Zeile bleibt im Hintergrund dennoch dunkel» (11.08.2026). */
  background: color-mix(in srgb, var(--bg-deep) 72%, transparent);
  backdrop-filter: blur(22px);
}
html[data-theme="light"] .topbar { background: rgba(238,244,251,.82); }
.topbar-left, .topbar-actions { display: flex; align-items: center; gap: 10px; }
.topbar-left > div{display:grid;gap:7px}.topbar-subtitle{line-height:1.35}
.topbar-title { font-size: 1.06rem; font-weight: 800; letter-spacing: -.02em; }
.topbar-subtitle { color: var(--muted); font-size: .78rem; }
/* ⭐⭐⭐ Inter wird MITGELIEFERT, statt auf eine installierte zu hoffen.
   Gemessen am 10.08.2026 auf dem Rechner des Users: seine installierte Inter hatte
   nur ZWEI echte Schnitte (Regular und Bold). Firefox nahm für alles ab 600 den
   Bold — sauber. Edge erfand die fehlenden Schnitte, indem es den Bold künstlich
   verfettete: «verschwommen und dicker». Und wer Inter gar nicht installiert hat
   (die Freunde des Users), sah ohnehin eine ganz andere Schrift.
   ⭐ Die VARIABLE Fassung deckt 100–900 stufenlos ab; damit sind auch die
   Zwischenwerte der Gestaltung (550, 650, 750, 850) echte Schnitte — überall gleich.
   ⚠ Selbst gehostet, kein fremder Server: die Inhaltsrichtlinie erlaubt nur
   `font-src 'self' data:`, und eine Schrift von einem CDN würde still blockiert.
   Quelle: rsms.me/inter (Inter 4.1, Lizenz SIL OFL). */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/fonts/InterVariable.woff2') format('woff2');
}

.content { width: min(1550px, 100%); margin: 0 auto; padding: 30px; }
/* ⚠⚠ ZURÜCKGENOMMEN am 10.08.2026, noch am selben Abend: «es sieht nicht gut aus
   wenn bei allen seiten aufs vollbild geht also ohne ränder links und rechts.»
   Randlos bleiben NUR die zwei Seiten, die davon leben: Dokumente (eigene Regel,
   `.documents-explorer-page`) und «Nebeneinander» (`body.werkbank-page`).
   Überall sonst wird es beim Einklappen nur ETWAS breiter — 1550 → 1800px — und
   bleibt zentriert. ➤ Merksatz: mehr Platz heisst nicht randlos; lange Textzeilen
   ohne Rand lesen sich schlecht. */
html.sidebar-eingeklappt .content{max-width:1800px}

.page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.page-head h1 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.55rem); letter-spacing: -.055em; line-height: 1.08; }
.page-head p { margin: 8px 0 0; color: var(--muted); max-width: 780px; }
.page-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.eyebrow { margin-bottom: 7px; color: var(--teal); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }

.btn {
  min-height: 42px;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 9px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--surface-2);
  color: var(--text);
  font-weight: 750;
  cursor: pointer;
  transition: .16s ease;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-1px); border-color: var(--border-strong); filter: brightness(1.05); }
.btn:active { transform: translateY(0); }
.btn-primary { border-color: transparent; color: white; background: linear-gradient(135deg, var(--primary-strong), #0284c7); box-shadow: 0 10px 28px rgba(14,165,233,.22); }
.btn-teal { border-color: transparent; color: #021410; background: linear-gradient(135deg, #5eead4, #2dd4bf); }
.btn-danger { border-color: rgba(251,113,133,.28); color: #fecdd3; background: rgba(190,24,93,.17); }
html[data-theme="light"] .btn-danger { color: #9f1239; }
.btn-warning { border-color: rgba(250,204,21,.3); color: #fde68a; background: rgba(161,98,7,.2); }
html[data-theme="light"] .btn-warning { color: #854d0e; }
.btn-ghost { background: transparent; }
.btn-sm { min-height: 34px; padding: 6px 10px; border-radius: 9px; font-size: .82rem; }
.btn-icon { width: 42px; padding: 0; }
.btn-block { width: 100%; }
.link { color: var(--primary); font-weight: 700; }
.link:hover { text-decoration: underline; }

.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.grid-5 { grid-template-columns: repeat(5, minmax(0,1fr)); }
.grid-6 { grid-template-columns: repeat(6, minmax(0,1fr)); }
.span-2 { grid-column: span 2; }
.span-3 { grid-column: span 3; }
.card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 10px 35px rgba(0,0,0,.09);
  backdrop-filter: blur(14px);
}
.card-pad { padding: 21px; }
.card-head { min-height: 58px; padding: 17px 20px 12px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.card-head h2, .card-head h3 { margin: 0; font-size: 1.02rem; letter-spacing: -.025em; }
.card-head p { margin: 4px 0 0; color: var(--muted); font-size: .78rem; }
.card-body { padding: 0 20px 20px; }
.card-divider { border-top: 1px solid var(--border); }
.card-accent::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--primary); }

.kpi { min-height: 145px; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; }
.kpi-top { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: .79rem; font-weight: 750; }
.kpi-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: rgba(56,189,248,.12); color: var(--primary); }
.kpi-value { margin-top: 13px; font-size: clamp(1.35rem,2.3vw,2rem); font-weight: 900; letter-spacing: -.055em; }
.kpi-meta { margin-top: 6px; color: var(--muted); font-size: .78rem; }
.kpi-positive .kpi-value, .positive { color: var(--green) !important; }
.kpi-negative .kpi-value, .negative { color: var(--red) !important; }
.kpi-warning .kpi-value { color: var(--orange); }
.kpi-teal .kpi-icon { color: var(--teal); background: rgba(45,212,191,.12); }
.kpi-purple .kpi-icon { color: var(--purple); background: rgba(167,139,250,.12); }

.hero-card { padding: 25px; background: linear-gradient(125deg, rgba(14,165,233,.18), rgba(13,148,136,.08)), var(--surface); }
.hero-card::after { content: ""; position: absolute; width: 260px; height: 260px; right: -90px; top: -110px; border-radius: 50%; background: rgba(56,189,248,.11); filter: blur(1px); }
.hero-main { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
.hero-amount { font-size: clamp(2.1rem,5vw,4rem); font-weight: 950; letter-spacing: -.07em; line-height: 1; }
.hero-label { color: var(--muted); margin-bottom: 10px; }
.hero-meta { margin-top: 13px; display: flex; flex-wrap: wrap; gap: 10px 18px; color: var(--muted); font-size: .83rem; }

.chart-box { position: relative; width: 100%; min-height: 280px; padding: 4px 0; }
.chart-box canvas { width: 100%; height: 280px; display: block; }
.chart-box.chart-sm, .chart-box.chart-sm canvas { min-height: 210px; height: 210px; }
.chart-box.chart-md, .chart-box.chart-md canvas { min-height: 300px; height: 300px; }
.chart-box.chart-lg, .chart-box.chart-lg canvas { min-height: 340px; height: 340px; }
.chart-box.chart-xl, .chart-box.chart-xl canvas { min-height: 390px; height: 390px; }
.chart-empty { height: 220px; display: grid; place-items: center; color: var(--muted); text-align: center; }

.progress { height: 8px; border-radius: 99px; overflow: hidden; background: rgba(148,163,184,.13); }
.progress > span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,var(--primary),var(--teal)); transition: width .3s ease; }
.progress.danger > span { background: linear-gradient(90deg,var(--orange),var(--red)); }
.progress-row { display: grid; gap: 7px; }
.progress-label { display: flex; justify-content: space-between; gap: 12px; font-size: .8rem; }

.table-wrap { overflow-x: auto; border-top: 1px solid var(--border); }
table { width: 100%; border-collapse: collapse; min-width: 780px; }
th { padding: 11px 14px; text-align: left; color: var(--muted); font-size: .69rem; letter-spacing: .07em; text-transform: uppercase; border-bottom: 1px solid var(--border); white-space: nowrap; }
td { padding: 13px 14px; border-bottom: 1px solid rgba(148,163,184,.1); vertical-align: middle; font-size: .88rem; }
tbody tr { transition: background .15s ease; }
tbody tr:hover { background: rgba(148,163,184,.045); }
tbody tr:last-child td { border-bottom: 0; }
.td-main { font-weight: 750; }
.td-sub { margin-top: 3px; color: var(--muted); font-size: .75rem; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.table-empty { padding: 42px 20px; text-align: center; color: var(--muted); }
.mobile-cards { display: none; }

.badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); background: rgba(148,163,184,.07); font-size: .72rem; font-weight: 800; white-space: nowrap; }
.badge-green { color: #86efac; border-color: rgba(74,222,128,.25); background: rgba(22,101,52,.18); }
.badge-red { color: #fda4af; border-color: rgba(251,113,133,.25); background: rgba(159,18,57,.18); }
.badge-orange { color: #fdba74; border-color: rgba(251,146,60,.25); background: rgba(154,52,18,.18); }
.badge-blue { color: #7dd3fc; border-color: rgba(56,189,248,.25); background: rgba(3,105,161,.18); }
.badge-purple { color: #c4b5fd; border-color: rgba(167,139,250,.25); background: rgba(91,33,182,.18); }
.badge-black { color: #fde047; border-color: rgba(250,204,21,.2); background: #050505; }

.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.form-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.field { display: grid; gap: 7px; align-content: start; }
.field.full { grid-column: 1 / -1; }
label { color: var(--muted); font-size: .77rem; font-weight: 750; }
input, select, textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  color: var(--text);
  background: var(--surface-3);
  border: 1px solid var(--border);
  border-radius: 11px;
  outline: none;
  transition: .15s ease;
}
input:focus, select:focus, textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(56,189,248,.13); }
textarea { min-height: 94px; resize: vertical; }
input::placeholder, textarea::placeholder { color: var(--muted-2); }
.help { color: var(--muted-2); font-size: .72rem; }
.checkbox { display: flex; align-items: center; gap: 9px; min-height: 42px; color: var(--text); }
.checkbox input { width: 18px; min-height: 18px; accent-color: var(--primary); }
.form-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.inline-form { display: inline; }
.filterbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; padding: 16px 20px; border-top: 1px solid var(--border); }
.filterbar .field { min-width: 150px; flex: 1 1 160px; }
.search-field { position: relative; }
.search-field input { padding-left: 39px; }
.search-field::before { content: "⌕"; position: absolute; left: 13px; bottom: 10px; color: var(--muted); font-size: 1.2rem; }

.notice { padding: 14px 16px; display: flex; align-items: flex-start; gap: 11px; border: 1px solid var(--border); border-radius: 13px; background: rgba(148,163,184,.06); color: var(--muted); font-size: .84rem; }
.notice strong { color: var(--text); }
.notice-warning { border-color: rgba(250,204,21,.25); background: rgba(161,98,7,.12); }
.notice-danger { border-color: rgba(251,113,133,.25); background: rgba(159,18,57,.12); }
.notice-info { border-color: rgba(56,189,248,.25); background: rgba(3,105,161,.12); }

.flashes { position: fixed; z-index: 100; right: 22px; top: 90px; width: min(420px, calc(100vw - 30px)); display: grid; gap: 9px; }
.flash { padding: 13px 15px; border: 1px solid var(--border); border-radius: 13px; background: rgba(15,23,42,.94); box-shadow: var(--shadow); display: flex; align-items: flex-start; gap: 10px; animation: slide-in .25s ease; }
html[data-theme="light"] .flash { background: rgba(255,255,255,.96); }
.flash-success { border-color: rgba(74,222,128,.35); }
.flash-error { border-color: rgba(251,113,133,.4); }
.flash-warning { border-color: rgba(250,204,21,.35); }
.flash-content { flex: 1; font-size: .84rem; }
.flash-close { border: 0; background: transparent; color: var(--muted); cursor: pointer; }
@keyframes slide-in { from { opacity:0; transform: translateY(-8px); } }

.dialog { width: min(760px, calc(100vw - 30px)); max-height: calc(100vh - 40px); margin: auto; padding: 0; border: 1px solid var(--border-strong); border-radius: 20px; color: var(--text); background: var(--surface-2); box-shadow: var(--shadow); overflow: auto; }
.dialog::backdrop { background: rgba(1,4,10,.74); backdrop-filter: blur(8px); }
.dialog-sm { width: min(520px, calc(100vw - 30px)); }
.dialog-lg { width: min(1050px, calc(100vw - 30px)); }
.dialog-head { position: sticky; top: 0; z-index: 3; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--border); background: var(--surface-2); }
.dialog-head h2 { margin: 0; font-size: 1.12rem; }
.dialog-body { padding: 20px; }
.close-btn { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 10px; background: rgba(148,163,184,.09); cursor: pointer; }

.section { margin-top: 22px; }
.section-title { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 12px; }
.section-title h2 { margin: 0; font-size: 1.13rem; letter-spacing: -.025em; }
.section-title p { margin: 3px 0 0; color: var(--muted); font-size: .8rem; }
.stat-list { display: grid; gap: 12px; }
.stat-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.stat-row .label { color: var(--muted); }
.stat-row .value { font-weight: 800; font-variant-numeric: tabular-nums; }
.muted { color: var(--muted); }
.small { font-size: .78rem; }
.tiny { font-size: .7rem; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.divider { height: 1px; background: var(--border); margin: 17px 0; }
.stack { display: grid; gap: 12px; }
.flex { display: flex; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-8 { gap: 8px; }
.gap-12 { gap: 12px; }
.mt-0 { margin-top: 0; }
.mt-12 { margin-top: 12px; }
.mt-18 { margin-top: 18px; }
.mb-0 { margin-bottom: 0; }
.text-right { text-align: right; }


.report-hero { padding: 28px; background: linear-gradient(125deg, rgba(14,165,233,.16), rgba(167,139,250,.08), rgba(45,212,191,.08)), var(--surface); }
.report-hero::after { content:""; position:absolute; width:360px; height:360px; right:-145px; top:-185px; border-radius:50%; background:radial-gradient(circle,rgba(56,189,248,.18),transparent 68%); }
.report-hero-main { position:relative; z-index:1; display:grid; grid-template-columns:minmax(260px,.8fr) minmax(460px,1.2fr); align-items:center; gap:35px; }
.report-hero-value { font-size:clamp(2.4rem,5vw,4.7rem); line-height:.95; font-weight:950; letter-spacing:-.075em; }
.report-hero p { margin:10px 0 0; color:var(--muted); }
.report-hero-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.report-hero-grid > div { min-height:94px; padding:16px; border:1px solid var(--border); border-radius:14px; background:rgba(148,163,184,.055); display:flex; flex-direction:column; justify-content:space-between; }
.report-hero-grid span { color:var(--muted); font-size:.75rem; }
.report-hero-grid strong { margin-top:8px; font-size:1.2rem; letter-spacing:-.035em; }
.report-progress-row { padding:11px 0; border-bottom:1px solid rgba(148,163,184,.1); }
.report-progress-row:last-child { border-bottom:0; }
.insight-card { background:linear-gradient(145deg,rgba(167,139,250,.08),rgba(56,189,248,.04)),var(--surface); }
.insight-list { display:grid; gap:11px; }
.insight-item { padding:13px; display:flex; align-items:center; gap:12px; border:1px solid var(--border); border-radius:14px; background:rgba(148,163,184,.045); }
.insight-icon { width:39px; height:39px; flex:none; display:grid; place-items:center; border-radius:12px; background:rgba(56,189,248,.11); color:var(--primary); font-weight:900; }
.insight-item div { min-width:0; display:grid; gap:2px; }
.insight-item small { color:var(--muted); }
.insight-item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.insight-item div > span { color:var(--muted); font-size:.78rem; }
.auth-notice { margin:0 0 21px; }

.vault-stage {
  min-height: 420px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 28%, rgba(250,204,21,.08), transparent 15rem),
    repeating-radial-gradient(circle at 50% 48%, rgba(255,255,255,.025) 0 1px, transparent 2px 9px),
    linear-gradient(145deg, #020202, #090909 62%, #020202);
  box-shadow: inset 0 0 90px rgba(0,0,0,.8), 0 28px 80px rgba(0,0,0,.35);
  color: #f8fafc;
}
.vault-lock { width: min(470px, 100%); margin: 0 auto; padding: 45px 25px; text-align: center; }
.vault-door { width: 150px; height: 150px; margin: 0 auto 24px; border-radius: 50%; border: 9px solid #1f2937; background: radial-gradient(circle, #111827 0 24%, #020617 25% 34%, #374151 35% 38%, #030712 39% 100%); box-shadow: 0 0 0 7px #050505, 0 0 0 9px rgba(250,204,21,.15), inset 0 0 30px #000; display: grid; place-items: center; }
.vault-wheel { width: 70px; height: 70px; border: 6px solid #6b7280; border-radius: 50%; position: relative; }
.vault-wheel::before, .vault-wheel::after { content:""; position:absolute; left:50%; top:50%; background:#6b7280; transform:translate(-50%,-50%); }
.vault-wheel::before { width: 95px; height: 6px; }
.vault-wheel::after { width: 6px; height: 95px; }
.vault-lock h1 { margin: 0; font-size: 2rem; letter-spacing: -.045em; }
.vault-lock p { color: #9ca3af; }
.vault-panel { background: #050505; border-color: rgba(255,255,255,.09); box-shadow: 0 18px 60px rgba(0,0,0,.4); }
.vault-panel input, .vault-panel select, .vault-panel textarea { background: #0b0b0b; border-color: rgba(255,255,255,.13); color: white; }
.vault-kpi { background: linear-gradient(135deg,#050505,#101010); border-color: rgba(250,204,21,.15); }
.vault-kpi .kpi-value { color: #fde047; }
.vault-warning { color: #fde68a; }

.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 28px; position: relative; overflow: hidden; }
.auth-shell::before { content:""; position:absolute; width: 620px; height:620px; border-radius:50%; background: radial-gradient(circle, rgba(14,165,233,.18), transparent 68%); left:-240px; top:-260px; }
.auth-shell::after { content:""; position:absolute; width: 520px; height:520px; border-radius:50%; background: radial-gradient(circle, rgba(45,212,191,.12), transparent 68%); right:-220px; bottom:-250px; }
.auth-card { position: relative; z-index:2; width: min(1000px,100%); display:grid; grid-template-columns: 1fr 1fr; overflow:hidden; border:1px solid var(--border); border-radius:28px; background: rgba(10,18,32,.88); box-shadow: 0 40px 110px rgba(0,0,0,.42); backdrop-filter: blur(24px); }
html[data-theme="light"] .auth-card { background: rgba(255,255,255,.91); }
.auth-visual { min-height: 630px; padding: 46px; background: linear-gradient(145deg, rgba(14,165,233,.85), rgba(13,148,136,.82)), url('/static/icons/pattern.svg'); color:white; display:flex; flex-direction:column; justify-content:space-between; }
.auth-visual h1 { font-size: clamp(2.2rem,5vw,4rem); line-height: .98; letter-spacing: -.075em; margin: 25px 0 18px; }
.auth-visual p { max-width: 440px; color: rgba(255,255,255,.82); }
.auth-feature { display:flex; gap:12px; align-items:flex-start; margin-top:18px; }
.auth-feature span:first-child { width:34px; height:34px; border-radius:10px; background:rgba(255,255,255,.15); display:grid; place-items:center; flex:none; }
.auth-form { padding: 46px; display:flex; flex-direction:column; justify-content:center; }
.auth-form h2 { margin: 0; font-size: 1.8rem; letter-spacing: -.04em; }
.auth-form > p { color: var(--muted); margin: 8px 0 25px; }
.password-wrap { position: relative; }
.password-wrap input { padding-right: 46px; }
.password-toggle { position:absolute; right:7px; bottom:6px; width:34px; height:32px; border:0; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; }

.bottom-nav { display:none; }
.mobile-menu-btn { display:none; }
.fab { position: fixed; z-index:45; right:25px; bottom:25px; width:58px; height:58px; border:0; border-radius:18px; color:white; background:linear-gradient(135deg,var(--primary-strong),#0d9488); box-shadow:0 18px 45px rgba(14,165,233,.32); font-size:1.6rem; cursor:pointer; }

@media (max-width: 1250px) {
  .grid-5, .grid-6 { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 980px) {
  :root { --sidebar: 0px; }
  .sidebar { width: 278px; transform: translateX(-102%); transition: transform .22s ease; box-shadow: var(--shadow); }
  body.nav-open .sidebar { transform: translateX(0); }
  body.nav-open::after { content:""; position:fixed; z-index:35; inset:0; background:rgba(0,0,0,.6); backdrop-filter:blur(2px); }
  .main-wrap { margin-left:0; }
  .mobile-menu-btn { display:inline-flex; }
  .content { padding:24px 20px 95px; }
  .topbar { padding:0 20px; }
  .grid-3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .span-3 { grid-column: span 2; }
  .bottom-nav { position:fixed; z-index:42; left:10px; right:10px; bottom:10px; height:66px; padding:7px; display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--border); border-radius:20px; background:rgba(3,7,18,.91); backdrop-filter:blur(22px); box-shadow:0 18px 45px rgba(0,0,0,.36); }
  html[data-theme="light"] .bottom-nav { background:rgba(255,255,255,.93); }
  .bottom-link { display:grid; place-items:center; align-content:center; gap:2px; border-radius:13px; color:var(--muted); font-size:.63rem; font-weight:750; }
  .bottom-link span:first-child { font-size:1.1rem; }
  .bottom-link.active { background:rgba(56,189,248,.13); color:var(--primary); }
  /* ⚠ Die Zeile darüber reserviert mit ihren 95 px den Platz für diese
     Fussleiste (66 px hoch, 10 px vom Rand). Sie war jahrelang wirkungslos,
     weil eine Kurzschreibweise ohne Media-Query am Dateiende sie überschrieb
     — siehe die Erklärung bei `.content { padding-top: 22px … }` ganz unten.
     ⛔ Hier KEINE zweite Regel dazusetzen: Zwei Stellen, die dasselbe
       bestimmen, sind genau der Weg in denselben Fehler zurück. */
  .fab { right:21px; bottom:88px; }
}
@media (max-width: 900px) {
  .report-hero-main { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .topbar { padding-inline:10px; gap:8px; }
  .topbar-left { min-width:0; gap:8px; }
  .topbar-left > div { min-width:0; }
  .topbar-title { max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .topbar-actions { min-width:0; gap:4px; }
  .topbar-history-action, .topbar-history-button, .ai-topbar-link { display:none!important; }
  .topbar-actions > .btn-primary { width:36px; min-width:36px; padding:0; justify-content:center; }
  .topbar-actions > .btn-primary span:last-child { display:none; }
  .year-switch select { width:76px; min-width:76px; padding-inline:9px 24px; }
}
@media (max-width: 760px) {
  .grid-2, .grid-3, .grid-4, .grid-5, .grid-6 { grid-template-columns:1fr; }
  .span-2, .span-3 { grid-column:auto; }
  .page-head { display:grid; }
  .page-actions { justify-content:flex-start; }
  .hero-main { display:grid; align-items:start; }
  .hero-amount { font-size:2.45rem; }
  .form-grid, .form-grid-3 { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .desktop-table { display:none; }
  .mobile-cards { display:grid; gap:10px; padding:12px; border-top:1px solid var(--border); }
  .mobile-row { padding:14px; border:1px solid var(--border); border-radius:14px; background:rgba(148,163,184,.04); }
  .mobile-row-top { display:flex; justify-content:space-between; gap:12px; }
  .mobile-row-meta { margin-top:10px; display:grid; grid-template-columns:repeat(2,1fr); gap:8px; color:var(--muted); font-size:.75rem; }
  .report-hero { padding:20px; }
  .report-hero-grid { grid-template-columns:1fr 1fr; }
  .chart-box.chart-lg, .chart-box.chart-lg canvas, .chart-box.chart-xl, .chart-box.chart-xl canvas { min-height:300px; height:300px; }
  .auth-card { grid-template-columns:1fr; }
  .auth-visual { min-height:auto; padding:30px; }
  .auth-visual h1 { font-size:2.4rem; }
  .auth-visual .auth-features { display:none; }
  .auth-form { padding:30px; }
  .topbar-subtitle { display:none; }
  .content { padding-left:14px; padding-right:14px; }
  .card-head, .card-body { padding-left:15px; padding-right:15px; }
  .flashes { top:78px; right:15px; }
}
@media (max-width: 450px) {
  .topbar-title { max-width:96px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .topbar-actions .btn:not(.btn-icon) { padding:8px; }
  .page-head h1 { font-size:1.8rem; }
  .kpi { min-height:125px; }
  .dialog-body { padding:15px; }
  .report-hero-grid { grid-template-columns:1fr; }
  .report-hero-grid > div { min-height:78px; }
}

@media print {
  :root { color-scheme: light; --text:#111827; --muted:#475569; --surface:#fff; --surface-2:#fff; --border:#cbd5e1; }
  body { background:#fff; }
  .sidebar,.topbar,.bottom-nav,.fab,.page-actions,.btn,.flashes,.no-print { display:none !important; }
  .main-wrap { margin:0; }
  .content { width:100%; padding:0; }
  .card { break-inside:avoid; box-shadow:none; backdrop-filter:none; }
}

.tax-events { margin-top:8px; }
.tax-events summary { cursor:pointer; color:var(--primary); font-size:.76rem; font-weight:750; }
.tax-event-list { display:grid; gap:6px; margin-top:8px; min-width:360px; }
.tax-event-row { display:grid; grid-template-columns:90px 90px 110px minmax(90px,1fr); gap:8px; align-items:center; padding:7px 9px; border:1px solid var(--border); border-radius:9px; background:rgba(148,163,184,.045); font-size:.74rem; }
.tax-event-row strong { text-align:right; }
@media (max-width:760px) {
  .tax-event-list { min-width:0; }
  .tax-event-row { grid-template-columns:1fr auto; }
  .tax-event-row span:nth-child(3) { display:none; }
}

.tax-event-row small { display:block; color:var(--muted); font-size:.72rem; margin-top:2px; }

/* FinanzPilot Server 2.1 */
.workspace-switch select{min-width:150px;max-width:230px;padding:.58rem 2rem .58rem .8rem;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-weight:700}
.workspace-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 13%,transparent),transparent);border-radius:18px}
.workspace-hero h3{margin:.25rem 0 .35rem;font-size:1.35rem}.workspace-hero p{margin:0;color:var(--muted)}
.workspace-list-row,.member-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}
.workspace-list-row:last-child,.member-row:last-child{border-bottom:0}.inline-form,.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-form select{min-width:110px}
.sync-dialog .dialog-body{text-align:center}.sync-orbit{width:86px;height:86px;margin:2px auto 20px;position:relative}.sync-orbit span{position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:var(--primary);animation:fp-spin 1.15s linear infinite}.sync-orbit span:nth-child(2){inset:12px;border-top-color:var(--teal);animation-duration:.85s;animation-direction:reverse}.sync-orbit span:nth-child(3){inset:25px;border-top-color:var(--purple);animation-duration:.65s}@keyframes fp-spin{to{transform:rotate(360deg)}}
.progress-track{height:12px;border-radius:999px;background:var(--surface-3);overflow:hidden;border:1px solid var(--border)}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--teal));transition:width .35s ease}.progress-meta{display:flex;justify-content:space-between;gap:16px;margin-top:9px;color:var(--muted);font-size:.82rem;text-align:left}.progress-meta strong{color:var(--text)}
.qr-code{display:block;width:min(300px,100%);height:auto;margin:auto;background:#fff;padding:14px;border-radius:20px}.center-card{text-align:center}.narrow-card{max-width:760px;margin:0 auto}.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recovery-grid code{display:block;padding:12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);font-size:1.05rem;text-align:center;letter-spacing:.08em}.otp-input{font-size:1.35rem;letter-spacing:.18em;text-align:center}
.timeline{padding:6px 22px 24px}.timeline-item{display:grid;grid-template-columns:32px 1fr;gap:12px;position:relative;padding:16px 0}.timeline-item:before{content:"";position:absolute;left:15px;top:44px;bottom:-15px;width:1px;background:var(--border)}.timeline-item:last-child:before{display:none}.timeline-dot{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);border:1px solid var(--border-strong);color:var(--primary);font-weight:900}.timeline-content{min-width:0;padding:4px 0}.timeline-undone{opacity:.68}
.auth-card-compact{max-width:960px}.settings-grid{align-items:start}
.dialog form[data-draft-key] .help:after{content:" · Entwurf wird in diesem Browserfenster zwischengespeichert";color:var(--teal)}
@media(max-width:760px){.workspace-switch{display:none}.recovery-grid{grid-template-columns:1fr}.member-row{align-items:flex-start;flex-direction:column}.inline-form{width:100%}.inline-form select,.inline-form .btn{flex:1}.row-actions{width:100%}.row-actions>.btn,.row-actions>form{flex:1}.row-actions>form .btn{width:100%}.progress-meta{flex-direction:column;gap:4px}.timeline{padding-left:12px;padding-right:12px}}

.build-mark { display:flex; justify-content:space-between; gap:10px; margin-top:10px; padding:0 4px; color:var(--muted); font-size:10px; letter-spacing:.04em; opacity:.75; }

/* Automatic security lookup */
.security-lookup{margin-bottom:20px;padding:16px;border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 9%,transparent),color-mix(in srgb,var(--teal) 5%,transparent))}
.security-lookup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.security-lookup-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.security-lookup-controls input{width:100%}
.security-lookup-status{min-height:20px;margin-top:8px;color:var(--muted);font-size:.78rem}.security-lookup-status[data-kind="error"]{color:var(--danger)}.security-lookup-status[data-kind="success"]{color:var(--teal)}
.security-lookup-list{display:grid;gap:7px;margin-top:11px;max-height:270px;overflow:auto;padding-right:3px}
.security-lookup-result{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}
.security-lookup-result:hover,.security-lookup-result:focus-visible{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface-2));outline:none}
.security-lookup-main{min-width:0;display:grid;gap:3px}.security-lookup-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.security-lookup-main .mono{color:var(--primary);font-size:.77rem}
.security-lookup-meta{color:var(--muted);font-size:.75rem;text-align:right}
@media(max-width:600px){.security-lookup-controls{grid-template-columns:1fr}.security-lookup-controls .btn{width:100%}.security-lookup-result{grid-template-columns:1fr}.security-lookup-meta{text-align:left}}

/* FinanzPilot Server 2.2 – flexible data views */
.table-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 72%,transparent)}
.table-toolbar .field{min-width:145px}.table-toolbar .table-search-wide{flex:1;min-width:230px}.table-toolbar label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.table-toolbar input,.table-toolbar select{min-height:38px;padding:7px 10px;border-radius:10px}
.table-result-count{margin-left:auto;align-self:center;color:var(--muted);font-size:.77rem;font-weight:750;white-space:nowrap}
/* ⭐ 13.08.2026 (User, mehrere Orte): Der Sortierpfeil steht DIREKT neben dem
   Spaltenwort — vorher klebte er absolut am rechten Zellenrand und wirkte in
   breiten Spalten «verloren» (z. B. zwischen WÄHRUNG und BESTAND). */
/* ⭐ 14.08.2026 (User-Foto, in Playwright-Firefox BEWIESEN): Die LEERE
   Aktions-Kopfzelle richtet sich in Firefox an der Baseline aus, bleibt
   dadurch niedriger als die beschrifteten Nachbarzellen und malt ihre
   Unterlinie MITTEN in die Kopfzeile — das war der «lange Strich» rechts
   von «Betrag CHF» (Konten, Vorsorge, Schulden, …; in Chromium unsichtbar).
   ⭐ Nachtrag gleicher Tag: Ein nbsp allein blieb einen Tick ZU NIEDRIG —
   die Nachbarzellen tragen den ↕-Sortierpfeil als inline-block (.76rem),
   der ihre Textzeile leicht erhöht. Die leere Zelle bekommt darum denselben
   Pfeil UNSICHTBAR: identische Zeilenbox, Linie exakt auf gleicher Höhe. */
thead th:empty::after{content:"↕";display:inline-block;font-size:.76rem;visibility:hidden}
th.sortable{cursor:pointer;user-select:none;white-space:nowrap}th.sortable:after{content:"↕";display:inline-block;margin-left:5px;opacity:.35;font-size:.76rem}th.sortable.sort-asc:after{content:"↑";opacity:1;color:var(--primary)}th.sortable.sort-desc:after{content:"↓";opacity:1;color:var(--primary)}
/* Gruppierte Tabellen: Kopfzeile je Gruppe mit Anzahl und Zwischensumme. */
.table-group-row>td{background:var(--surface-2);border-top:2px solid var(--border);padding:9px 12px;position:sticky;left:0}
.table-group-toggle{display:inline-flex;align-items:center;gap:7px;background:none;border:0;color:var(--text);font:inherit;font-weight:800;cursor:pointer;padding:0}
.table-group-toggle:hover{color:var(--primary)}
.table-group-caret{display:inline-block;width:1em;color:var(--muted)}
.table-group-count{margin-left:10px;color:var(--muted);font-size:.77rem;font-weight:700}
.table-group-sum{margin-left:14px;color:var(--muted);font-size:.77rem;font-weight:750;font-variant-numeric:tabular-nums}
table.is-grouped tbody tr:not(.table-group-row)>td:first-child{padding-left:26px}
@media(max-width:760px){.table-group-sum{display:block;margin:2px 0 0}}
.smart-col-hidden{display:none!important}table[data-density="compact"] td{padding-top:7px;padding-bottom:7px;font-size:.81rem}table[data-density="compact"] th{padding-top:8px;padding-bottom:8px}
/* ⭐ 14.08.2026 (User): Sperroptionen-Panel direkt im Tresor. */
.vault-lock-panel{min-width:300px;padding:12px 13px}
.vault-lock-panel .vault-policy-quick{display:grid;gap:10px}
.vault-lock-panel label{display:grid;gap:5px;font-size:.78rem;font-weight:650;color:var(--muted)}
.vault-lock-panel select{width:100%}

/* ⭐ 14.08.2026 (User): Krypto-Werkzeugzeile — Suchfeld oben, die vier
   Auswahlfelder darunter als Zweierraster, Knöpfe in eigener Zeile. */
.crypto-filter-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;align-items:center}
.crypto-filter-toolbar .search-field{grid-column:1/-1;max-width:none}
.crypto-filter-toolbar select{width:100%;min-width:0}
.crypto-filter-toolbar .crypto-toolbar-actions{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.crypto-filter-toolbar .crypto-toolbar-actions .table-result-count{margin-left:auto}
.column-dialog{max-width:540px}.column-list{display:grid;gap:7px;margin:12px 0 20px}.column-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.column-list-row .checkbox{flex:1}.column-order-actions{display:flex;gap:4px}.column-order-actions .btn{width:32px;min-height:30px}
.input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.input-action .btn{min-height:44px}
.report-download-note{display:flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid color-mix(in srgb,var(--teal) 35%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--teal) 8%,transparent);color:var(--muted);font-size:.8rem}.report-download-note strong{color:var(--text)}
@media(max-width:760px){.table-toolbar{align-items:stretch}.table-toolbar .field,.table-toolbar .table-search-wide{min-width:calc(50% - 6px);flex:1}.table-result-count{width:100%;margin-left:0}.input-action{grid-template-columns:1fr}.input-action .btn{width:100%}}

/* Security/company logos are cached locally by the NAS backend. */
.security-cell { display: flex; align-items: center; gap: 11px; min-width: 0; }
.security-cell > div { min-width: 0; }
.security-title { display: flex; align-items: center; gap: 18px; min-width: 0; }
.security-logo {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(45,212,191,.2), rgba(59,130,246,.16));
  color: var(--text);
  font-weight: 800;
  letter-spacing: -.04em;
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
}
.security-logo img { width: 100%; height: 100%; object-fit: contain; display: block; padding: 5px; }
.security-logo-sm { width: 38px; height: 38px; border-radius: 12px; font-size: 12px; }
.security-logo-lg { width: 68px; height: 68px; border-radius: 20px; font-size: 20px; }
@media (max-width: 720px) {
  .security-title { gap: 12px; }
  .security-logo-lg { width: 52px; height: 52px; border-radius: 16px; }
}

/* FinanzPilot Server 2.3.2 – ICTax identifiers and historical FX */
.security-isin-candidates{display:grid;gap:7px;margin-top:10px;padding:10px;border:1px solid color-mix(in srgb,var(--orange) 35%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--orange) 7%,transparent)}
.security-isin-choice{justify-content:flex-start;text-align:left;white-space:normal;line-height:1.35}
.help[data-kind="loading"],.security-lookup-status[data-kind="loading"]{color:var(--primary)}
.help[data-kind="success"]{color:var(--teal)}
.help[data-kind="error"]{color:var(--danger)}
.checkbox-inline{margin-top:8px;font-size:.76rem}

/* FinanzPilot Server 2.4 – themes, settings hub and adaptive dashboard */
/* ⭐ «Business» (13.08.2026) — nüchterne Flächen ohne Farbverläufe und
   Leuchten, zurückhaltendes Blau (an Nextcloud angelehnt), Grautöne statt
   Türkis, weniger fette Schrift. Farben/Flächen bleiben preset-gebunden;
   die SCHRIFT-Regeln gelten seit 13.08.2026 für ALLE Designs (siehe unten). */
/* ⚠ User-Rückmeldung 13.08.2026: der dunkle Business-Modus war «zu grau» —
   darum tiefes Nachtblau statt neutralem Grau, Akzent eine Spur satter. */
html[data-theme-preset="business"] { --primary:#64a4e8; --primary-strong:#2f74bd; --teal:#7ea6cd; --bg:#1a2432; --bg-deep:#121a26; --surface-2:#202b3a; --surface-3:#293648; }
html[data-theme="light"][data-theme-preset="business"] { --bg:#f4f6f8; --bg-deep:#e9edf1; --surface-2:#fff; --surface-3:#f2f4f7; --primary:#0082c9; --primary-strong:#00639a; --teal:#5b7c99; }
/* ⭐ Vier weitere professionelle Designs (13.08.2026, User-Wunsch «mindestens
   noch 3») — gleiche nüchterne Machart wie Business (flach, weniger fett),
   je eine eigene, gedeckte Farbwelt. */
html[data-theme-preset="petrol"] { --primary:#45a8a0; --primary-strong:#2c7a75; --teal:#74b0aa; --bg:#16211f; --bg-deep:#0e1615; --surface-2:#1c2927; --surface-3:#253431; }
html[data-theme="light"][data-theme-preset="petrol"] { --bg:#f1f6f5; --bg-deep:#e4eeec; --surface-2:#fff; --surface-3:#ecf4f2; --primary:#21766f; --primary-strong:#175a55; --teal:#4a8f89; }
html[data-theme-preset="indigo"] { --primary:#7c8cd9; --primary-strong:#4c5cb8; --teal:#8f9ac9; --bg:#191c2a; --bg-deep:#11131d; --surface-2:#202436; --surface-3:#2a2f45; }
html[data-theme="light"][data-theme-preset="indigo"] { --bg:#f3f4f8; --bg-deep:#e8eaf2; --surface-2:#fff; --surface-3:#eef0f6; --primary:#3f51b5; --primary-strong:#32408f; --teal:#5c6bc0; }
html[data-theme-preset="burgund"] { --primary:#c97887; --primary-strong:#9a4356; --teal:#b3919a; --bg:#211b1d; --bg-deep:#171214; --surface-2:#2a2225; --surface-3:#352b2f; }
html[data-theme="light"][data-theme-preset="burgund"] { --bg:#f7f4f5; --bg-deep:#efe8ea; --surface-2:#fff; --surface-3:#f4eef0; --primary:#8c2f43; --primary-strong:#6e2434; --teal:#a35b6b; }
html[data-theme-preset="salbei"] { --primary:#8fb99d; --primary-strong:#5d8a6c; --teal:#a9c2ac; --bg:#181f1a; --bg-deep:#101511; --surface-2:#1f2821; --surface-3:#29342b; }
html[data-theme="light"][data-theme-preset="salbei"] { --bg:#f3f6f4; --bg-deep:#e8efe9; --surface-2:#fff; --surface-3:#eef4ef; --primary:#48755a; --primary-strong:#365c46; --teal:#6b8f77; }
/* ⭐ 13.08.2026 (Session 32, Aufgabe 41): zehn neue professionelle Designs. */
html[data-theme-preset="nordlicht"] { --primary:#6fc2e8; --primary-strong:#3b93c2; --teal:#8fd6b8; --bg:#0d1b26; --bg-deep:#071018; --surface-2:#14273a; --surface-3:#1c3450; }
html[data-theme="light"][data-theme-preset="nordlicht"] { --bg:#eef6fa; --bg-deep:#dfedf4; --surface-2:#fff; --surface-3:#ecf5f9; --primary:#1d7fae; --primary-strong:#14618a; --teal:#3d9a76; }
html[data-theme-preset="onyx"] { --primary:#a8b2c0; --primary-strong:#7c8898; --teal:#c9ac62; --bg:#101216; --bg-deep:#08090c; --surface-2:#171a20; --surface-3:#22262f; }
html[data-theme="light"][data-theme-preset="onyx"] { --bg:#f2f3f5; --bg-deep:#e6e8eb; --surface-2:#fff; --surface-3:#eff0f3; --primary:#4a5464; --primary-strong:#333b48; --teal:#a3822e; }
html[data-theme-preset="espresso"] { --primary:#c9a27a; --primary-strong:#a37b4f; --teal:#8fae8b; --bg:#191310; --bg-deep:#0e0a08; --surface-2:#241b15; --surface-3:#31251d; }
html[data-theme="light"][data-theme-preset="espresso"] { --bg:#f6f1ea; --bg-deep:#ede4d8; --surface-2:#fffdf9; --surface-3:#f3ece2; --primary:#8a6238; --primary-strong:#6b4a27; --teal:#5f7f5b; }
html[data-theme-preset="marine"] { --primary:#5f8fd0; --primary-strong:#33619f; --teal:#cfa54e; --bg:#101a2b; --bg-deep:#0a1120; --surface-2:#172438; --surface-3:#203049; }
html[data-theme="light"][data-theme-preset="marine"] { --bg:#eef2f8; --bg-deep:#e0e8f2; --surface-2:#fff; --surface-3:#ebf0f7; --primary:#2b568f; --primary-strong:#1d3f6d; --teal:#a37c22; }
html[data-theme-preset="smaragd"] { --primary:#46b884; --primary-strong:#2c8a60; --teal:#7cc9a8; --bg:#0e1b15; --bg-deep:#07110c; --surface-2:#15271e; --surface-3:#1d3528; }
html[data-theme="light"][data-theme-preset="smaragd"] { --bg:#eef7f2; --bg-deep:#dfefe7; --surface-2:#fff; --surface-3:#ebf5ef; --primary:#1e7a52; --primary-strong:#155c3d; --teal:#3f9a72; }
html[data-theme-preset="kupfer"] { --primary:#d08a5f; --primary-strong:#a86238; --teal:#7fa6a0; --bg:#191210; --bg-deep:#0f0a08; --surface-2:#241a15; --surface-3:#32241c; }
html[data-theme="light"][data-theme-preset="kupfer"] { --bg:#f7f1ec; --bg-deep:#efe4db; --surface-2:#fffdfb; --surface-3:#f4ebe4; --primary:#9c5a2c; --primary-strong:#7a441f; --teal:#4f7a74; }
html[data-theme-preset="flieder"] { --primary:#b294d6; --primary-strong:#8a63b8; --teal:#94b8d6; --bg:#161221; --bg-deep:#0c0a14; --surface-2:#201a30; --surface-3:#2c2442; }
html[data-theme="light"][data-theme-preset="flieder"] { --bg:#f4f1f8; --bg-deep:#eae4f2; --surface-2:#fff; --surface-3:#f1edf6; --primary:#6a4a99; --primary-strong:#513677; --teal:#4a7099; }
html[data-theme-preset="schiefer"] { --primary:#7d9db8; --primary-strong:#55758f; --teal:#9db8ad; --bg:#14181c; --bg-deep:#0c0f12; --surface-2:#1c2228; --surface-3:#262e36; }
html[data-theme="light"][data-theme-preset="schiefer"] { --bg:#f1f4f6; --bg-deep:#e5eaee; --surface-2:#fff; --surface-3:#eef1f4; --primary:#42586c; --primary-strong:#2f4252; --teal:#5c7a6e; }
html[data-theme-preset="bernstein"] { --primary:#d9a441; --primary-strong:#b07f22; --teal:#8fa68b; --bg:#191507; --bg-deep:#0f0d04; --surface-2:#251f0e; --surface-3:#332b15; }
html[data-theme="light"][data-theme-preset="bernstein"] { --bg:#f8f4ea; --bg-deep:#f0e8d6; --surface-2:#fffdf7; --surface-3:#f5efe1; --primary:#9a6f14; --primary-strong:#77550d; --teal:#5f7a5b; }
html[data-theme-preset="arktis"] { --primary:#70b8d9; --primary-strong:#4291b8; --teal:#9ecfd9; --bg:#0f1d24; --bg-deep:#081217; --surface-2:#162a33; --surface-3:#1f3a45; }
html[data-theme="light"][data-theme-preset="arktis"] { --bg:#edf6f9; --bg-deep:#deedf3; --surface-2:#fff; --surface-3:#eaf4f8; --primary:#22759c; --primary-strong:#175a7a; --teal:#3f8a9c; }
html:is([data-theme-preset="nordlicht"],[data-theme-preset="onyx"],[data-theme-preset="espresso"],[data-theme-preset="marine"],[data-theme-preset="smaragd"],[data-theme-preset="kupfer"],[data-theme-preset="flieder"],[data-theme-preset="schiefer"],[data-theme-preset="bernstein"],[data-theme-preset="arktis"]) body { background:linear-gradient(180deg,var(--bg-deep),var(--bg) 340px); }
html:is([data-theme-preset="nordlicht"],[data-theme-preset="onyx"],[data-theme-preset="espresso"],[data-theme-preset="marine"],[data-theme-preset="smaragd"],[data-theme-preset="kupfer"],[data-theme-preset="flieder"],[data-theme-preset="schiefer"],[data-theme-preset="bernstein"],[data-theme-preset="arktis"]) .btn-primary { background:var(--primary-strong); box-shadow:none; }
html:is([data-theme-preset="nordlicht"],[data-theme-preset="onyx"],[data-theme-preset="espresso"],[data-theme-preset="marine"],[data-theme-preset="smaragd"],[data-theme-preset="kupfer"],[data-theme-preset="flieder"],[data-theme-preset="schiefer"],[data-theme-preset="bernstein"],[data-theme-preset="arktis"]) .nav-link.active { background:color-mix(in srgb,var(--primary) 18%,var(--surface-3)); color:var(--text); box-shadow:none; }
html:is([data-theme-preset="business"],[data-theme-preset="petrol"],[data-theme-preset="indigo"],[data-theme-preset="burgund"],[data-theme-preset="salbei"]) body { background:linear-gradient(180deg,var(--bg-deep),var(--bg) 340px); }
html:is([data-theme-preset="business"],[data-theme-preset="petrol"],[data-theme-preset="indigo"],[data-theme-preset="burgund"],[data-theme-preset="salbei"]) .btn-primary { background:var(--primary-strong); box-shadow:none; }
html:is([data-theme-preset="business"],[data-theme-preset="petrol"],[data-theme-preset="indigo"],[data-theme-preset="burgund"],[data-theme-preset="salbei"]) .nav-link.active { background:color-mix(in srgb,var(--primary) 18%,var(--surface-3)); color:var(--text); box-shadow:none; }
html:is([data-theme-preset="business"],[data-theme-preset="petrol"],[data-theme-preset="indigo"],[data-theme-preset="burgund"],[data-theme-preset="salbei"]) .btn-teal { background:var(--teal); }
/* Weniger fette Schrift — auf User-Wunsch (13.08.2026) in ALLEN Designs:
   überall die professionelleren, weicheren Business-Schriften. html:root
   (statt der früheren Preset-Gruppe business/petrol/…/midnight) hält die
   Spezifität bei (0,2,1), damit weiterhin exakt dieselben Regeln gewinnen
   wie vorher in Business. !important ist bewusst: Dutzende Einzelregeln
   setzen 700–900, und diese vier sollen sie ALLE überstimmen, ohne jede
   einzeln anzufassen. */
html:root :is(h1,h2,h3,h4,strong,b,.topbar-title,.kpi-value,.td-main,dt) { font-weight:600 !important; }
html:root :is(.btn,.nav-link,.segmented span,.badge,.eyebrow,.tab,.pill) { font-weight:550 !important; }
html:root th { font-weight:600 !important; }
html:root :is(.settings-hub-icon,.module-switch-icon,.security-logo) { font-weight:650 !important; }
html[data-theme-preset="midnight"] { --primary:#38bdf8; --primary-strong:#0ea5e9; --teal:#2dd4bf; }
html[data-theme-preset="graphite"] { --primary:#a3b3c7; --primary-strong:#64748b; --teal:#94a3b8; --bg:#111827; --bg-deep:#030712; --surface-2:#151e2d; --surface-3:#202b3d; }
html[data-theme-preset="ocean"] { --primary:#60a5fa; --primary-strong:#2563eb; --teal:#22d3ee; --bg:#071a2d; --bg-deep:#020b18; --surface-2:#0d2238; --surface-3:#14314c; }
html[data-theme-preset="alpine"] { --primary:#5eead4; --primary-strong:#0f766e; --teal:#86efac; --bg:#071a18; --bg-deep:#020b0a; --surface-2:#102723; --surface-3:#18372f; }
html[data-theme-preset="aurora"] { --primary:#c084fc; --primary-strong:#7c3aed; --teal:#22d3ee; --bg:#160b2a; --bg-deep:#070311; --surface-2:#21143a; --surface-3:#30204d; }
html[data-theme-preset="ruby"] { --primary:#fb7185; --primary-strong:#be123c; --teal:#fb923c; --bg:#260a13; --bg-deep:#0f0307; --surface-2:#35121d; --surface-3:#4a1c2a; }
html[data-theme-preset="custom"] { --primary:var(--user-primary,#38bdf8); --primary-strong:color-mix(in srgb,var(--user-primary,#38bdf8) 78%,#0369a1); --teal:var(--user-secondary,#2dd4bf); }
html[data-theme="light"][data-theme-preset="graphite"] { --bg:#edf1f5; --bg-deep:#dfe5ec; --surface-2:#fff; --surface-3:#f2f5f8; --primary:#475569; --primary-strong:#334155; --teal:#64748b; }
html[data-theme="light"][data-theme-preset="ocean"] { --bg:#edf7ff; --bg-deep:#dbeafe; --surface-2:#fff; --surface-3:#eaf5ff; --primary:#2563eb; --primary-strong:#1d4ed8; --teal:#0891b2; }
html[data-theme="light"][data-theme-preset="alpine"] { --bg:#effcf8; --bg-deep:#dff7ef; --surface-2:#fff; --surface-3:#e7f8f2; --primary:#0f766e; --primary-strong:#115e59; --teal:#16a34a; }
html[data-theme="light"][data-theme-preset="aurora"] { --bg:#faf5ff; --bg-deep:#f3e8ff; --surface-2:#fff; --surface-3:#f7efff; --primary:#7c3aed; --primary-strong:#6d28d9; --teal:#0891b2; }
html[data-theme="light"][data-theme-preset="ruby"] { --bg:#fff1f2; --bg-deep:#ffe4e6; --surface-2:#fff; --surface-3:#fff7ed; --primary:#be123c; --primary-strong:#9f1239; --teal:#ea580c; }
body { background: radial-gradient(circle at 8% 0%, color-mix(in srgb,var(--primary) 18%,transparent), transparent 28rem), radial-gradient(circle at 92% 18%, color-mix(in srgb,var(--teal) 12%,transparent), transparent 24rem), linear-gradient(145deg,var(--bg-deep),var(--bg)); }
.nav-link.active { background:linear-gradient(135deg,var(--primary-strong),color-mix(in srgb,var(--teal) 76%,#0f172a)); box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 18%,transparent); }
.btn-primary { background:linear-gradient(135deg,var(--primary-strong),color-mix(in srgb,var(--primary) 74%,#0369a1)); box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 25%,transparent); }
.btn-teal { background:linear-gradient(135deg,color-mix(in srgb,var(--teal) 68%,white),var(--teal)); }
.grid-auto-kpi { grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); }
.grid-auto-cards { grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); }
.settings-hub { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 24px;position:sticky;top:calc(var(--topbar) + 8px);z-index:20;padding:10px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 92%,transparent);backdrop-filter:blur(18px);box-shadow:0 12px 36px rgba(0,0,0,.12); }
.settings-hub a { display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border-radius:12px;color:var(--muted);transition:.16s ease; }
.settings-hub a:hover { color:var(--text);background:color-mix(in srgb,var(--primary) 9%,var(--surface-3)); }
.settings-hub-icon { width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:color-mix(in srgb,var(--primary) 14%,var(--surface-3));color:var(--primary);font-weight:900; }
.settings-hub strong,.settings-hub small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.settings-hub small{font-size:.68rem;color:var(--muted);margin-top:1px}.settings-hub strong{font-size:.8rem;color:var(--text)}
.module-switch-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.module-switch { position:relative;display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);cursor:pointer;transition:.16s ease; }
.module-switch:hover { border-color:var(--border-strong);transform:translateY(-1px); }.module-switch.is-active{border-color:color-mix(in srgb,var(--teal) 50%,var(--border));background:color-mix(in srgb,var(--teal) 7%,var(--surface-2))}.module-switch input{position:absolute;right:12px;top:12px;accent-color:var(--teal)}
.module-switch-icon { width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--primary) 13%,var(--surface-3));color:var(--primary);font-size:1.05rem;font-weight:900; }.module-switch strong,.module-switch small{display:block;padding-right:23px}.module-switch small{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.35}
.segmented { display:grid;grid-template-columns:repeat(2,1fr);padding:4px;border:1px solid var(--border);border-radius:13px;background:var(--surface-3); }.segmented label{position:relative;cursor:pointer}.segmented input{position:absolute;opacity:0}.segmented span{display:block;padding:9px 12px;text-align:center;border-radius:9px;color:var(--muted);font-weight:750}.segmented input:checked+span{background:var(--surface-2);color:var(--text);box-shadow:0 4px 16px rgba(0,0,0,.14)}
.theme-preset-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }.theme-preset-card{position:relative;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2);cursor:pointer}.theme-preset-card input{position:absolute;opacity:0}.theme-preset-card:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent)}.theme-preset-card strong,.theme-preset-card small{display:block}.theme-preset-card small{font-size:.68rem;color:var(--muted)}
.theme-swatch{width:42px;height:32px;border-radius:9px;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.theme-swatch-business{background:linear-gradient(135deg,#f4f6f8 0 40%,#0082c9 41% 70%,#37474f 71%)}.theme-swatch-petrol{background:linear-gradient(135deg,#16211f 0 40%,#2c7a75 41% 70%,#74b0aa 71%)}.theme-swatch-indigo{background:linear-gradient(135deg,#191c2a 0 40%,#4c5cb8 41% 70%,#8f9ac9 71%)}.theme-swatch-burgund{background:linear-gradient(135deg,#211b1d 0 40%,#9a4356 41% 70%,#b3919a 71%)}.theme-swatch-salbei{background:linear-gradient(135deg,#181f1a 0 40%,#5d8a6c 41% 70%,#a9c2ac 71%)}.theme-swatch-midnight{background:linear-gradient(135deg,#07101f 42%,#38bdf8 43% 68%,#2dd4bf 69%)}.theme-swatch-graphite{background:linear-gradient(135deg,#111827 42%,#94a3b8 43% 68%,#475569 69%)}.theme-swatch-ocean{background:linear-gradient(135deg,#071a2d 42%,#2563eb 43% 68%,#22d3ee 69%)}.theme-swatch-alpine{background:linear-gradient(135deg,#071a18 42%,#0f766e 43% 68%,#86efac 69%)}.theme-swatch-aurora{background:linear-gradient(135deg,#160b2a 42%,#7c3aed 43% 68%,#22d3ee 69%)}.theme-swatch-ruby{background:linear-gradient(135deg,#260a13 42%,#be123c 43% 68%,#fb923c 69%)}.theme-swatch-custom{background:linear-gradient(135deg,var(--user-primary) 0 50%,var(--user-secondary) 50%)}.theme-swatch-lcars{background:linear-gradient(90deg,#f59e0b 0 28%,#d946ef 28% 48%,#111827 48% 66%,#60a5fa 66%)}.theme-swatch-federation{background:radial-gradient(circle at 28% 50%,#f8fafc 0 8%,transparent 9%),linear-gradient(135deg,#071a36 45%,#3b82f6 46% 68%,#f59e0b 69%)}.theme-swatch-starfleet{background:linear-gradient(135deg,#030712 42%,#ef4444 43% 56%,#f59e0b 57% 70%,#64748b 71%)}.theme-swatch-ferengi{background:linear-gradient(135deg,#1f1208 40%,#d97706 41% 64%,#a855f7 65%)}.theme-swatch-borg{background:repeating-linear-gradient(90deg,#06110b 0 7px,#16a34a 7px 9px,#111827 9px 16px)}.theme-swatch-sgc{background:radial-gradient(circle,#38bdf8 0 7%,#374151 8% 18%,#0f172a 19% 28%,#64748b 29% 34%,#111827 35%)}.theme-swatch-atlantis{background:radial-gradient(circle at 50% 50%,#e0f2fe 0 6%,#22d3ee 7% 17%,#075985 18% 40%,#071827 41%)}.theme-swatch-ancient{background:linear-gradient(135deg,#f5e7bd 35%,#d4a762 36% 53%,#5eead4 54% 66%,#172554 67%)}.theme-swatch-goauld{background:radial-gradient(circle at 70% 30%,#fef3c7 0 7%,transparent 8%),linear-gradient(135deg,#22070b 35%,#d4af37 36% 65%,#7f1d1d 66%)}.theme-swatch-asgard{background:linear-gradient(135deg,#e2e8f0 35%,#94a3b8 36% 53%,#60a5fa 54% 70%,#111827 71%)}
/* Logos: larger and deliberately light so dark/transparent marks stay readable. */
.security-logo { border:1px solid rgba(148,163,184,.38);background:#f8fafc;color:#0f172a;box-shadow:0 9px 25px rgba(0,0,0,.2),inset 0 0 0 1px rgba(15,23,42,.04); }
.security-logo img { padding:3px;filter:none; }.security-logo-sm{width:56px;height:56px;border-radius:16px;font-size:16px}.security-logo-lg{width:96px;height:96px;border-radius:24px;font-size:26px}.security-cell{gap:15px}
.crypto-symbol { width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 22%,var(--surface-3)),color-mix(in srgb,var(--teal) 18%,var(--surface-2)));border:1px solid var(--border-strong);color:var(--text);font-weight:900;letter-spacing:-.04em;box-shadow:0 8px 22px rgba(0,0,0,.16) }.crypto-symbol-lg{width:76px;height:76px;font-size:1.25rem}
@media(max-width:1100px){.settings-hub{grid-template-columns:repeat(3,minmax(0,1fr));position:static}.settings-feature-grid{grid-template-columns:1fr}.grid-auto-cards{grid-template-columns:1fr}}
@media(max-width:720px){.settings-hub{grid-template-columns:repeat(2,minmax(0,1fr))}.module-switch-grid,.theme-preset-grid{grid-template-columns:1fr}.security-logo-sm{width:48px;height:48px}.security-logo-lg{width:72px;height:72px}.grid-auto-cards{grid-template-columns:1fr}.grid-auto-kpi{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.grid-auto-kpi{grid-template-columns:1fr}.settings-hub{grid-template-columns:1fr 1fr}.settings-hub small{display:none}}

/* FinanzPilot Server 2.4.1 – persistent sessions and dashboard refinement */
/* Table-toolbar padding is declared later than the generic search style. Keep
   enough room for the magnifier so icon and placeholder can never overlap. */
.table-toolbar .search-field input { padding-left: 43px; }
.table-toolbar .search-field::before { pointer-events: none; z-index: 1; }

/* Module and dashboard switches: the native checkbox stays compact and is
   anchored at the far right instead of inheriting the global 100% input width. */
.module-switch { grid-template-columns:auto minmax(0,1fr); padding-right:52px; min-height:82px; }
.module-switch input[type="checkbox"] {
  position:absolute;
  right:15px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  min-height:22px;
  margin:0;
  padding:0;
  appearance:auto;
  accent-color:var(--teal);
  background:initial;
  border:initial;
  box-shadow:none;
}
.module-switch-copy { min-width:0; }
.module-switch-copy strong,.module-switch-copy small { display:block; padding-right:0; }
.module-switch:has(input[type="checkbox"]:checked) {
  border-color:color-mix(in srgb,var(--teal) 50%,var(--border));
  background:color-mix(in srgb,var(--teal) 7%,var(--surface-2));
}
.module-switch:has(input[type="checkbox"]:focus-visible) { box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent); }
.module-switch:has(input[type="checkbox"]:disabled) { cursor:not-allowed; opacity:.7; transform:none; }

.dashboard-section { display:grid; gap:12px; }
.dashboard-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.dashboard-section-head h2 { margin:0; font-size:1.2rem; letter-spacing:-.03em; }
.dashboard-section-head p { margin:4px 0 0; color:var(--muted); font-size:.8rem; }
.dashboard-kpi-cluster { display:grid; grid-template-columns:minmax(0,2fr) minmax(290px,1fr); gap:18px; align-items:start; }
.dashboard-kpi-cluster.is-single { grid-template-columns:1fr; }
.dashboard-kpi-subgroup { min-width:0; padding:14px; border:1px solid var(--border); border-radius:18px; background:color-mix(in srgb,var(--surface-2) 62%,transparent); }
.dashboard-subgroup-title { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 2px 11px; }
.dashboard-subgroup-title strong { font-size:.82rem; letter-spacing:.035em; text-transform:uppercase; }
.dashboard-subgroup-title span { color:var(--muted); font-size:.72rem; }
.dashboard-kpi-subgroup .grid-auto-kpi { grid-template-columns:repeat(auto-fit,minmax(205px,1fr)); gap:12px; }
.dashboard-kpi-results .grid-auto-kpi { grid-template-columns:1fr; }
.dashboard-budget-kpis { grid-template-columns:repeat(auto-fit,minmax(260px,430px)); gap:14px; }
.dashboard-widget-settings { display:grid; gap:20px; }
.dashboard-widget-settings-group { display:grid; gap:4px; }
.dashboard-widget-settings-group + .dashboard-widget-settings-group { padding-top:18px; border-top:1px solid var(--border); }
.dashboard-widget-switch small { line-height:1.4; }

@media(max-width:1180px){
  .dashboard-kpi-cluster { grid-template-columns:1fr; }
  .dashboard-kpi-results .grid-auto-kpi { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
}
@media(max-width:720px){
  .dashboard-section-head { align-items:flex-start; flex-direction:column; }
  .dashboard-kpi-subgroup { padding:11px; }
  .dashboard-budget-kpis { grid-template-columns:1fr; }
  .dashboard-widget-settings .module-switch-grid { grid-template-columns:1fr; }
}

/* Dashboard 2.5: a freely ordered 12-column canvas below the fixed hero. */
.dashboard-free-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:stretch}
.dashboard-free-widget{position:relative;min-width:0;overflow:hidden}
.dashboard-free-widget.dashboard-size-small{grid-column:span 4}
.dashboard-free-widget.dashboard-size-medium{grid-column:span 6}
.dashboard-free-widget.dashboard-size-large{grid-column:span 12}
.dashboard-free-widget.kpi{min-height:170px;padding-top:40px}
.dashboard-widget-group{position:absolute;top:13px;left:18px;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dashboard-free-widget .card-head{padding-top:38px}
.dashboard-free-widget .dashboard-chart{min-height:230px}
.dashboard-free-widget.dashboard-size-large .dashboard-chart{min-height:320px}
.dashboard-free-widget.dashboard-size-small .dashboard-chart{min-height:190px}
.dashboard-layout-list{display:grid;gap:10px}
.dashboard-layout-item{display:grid;grid-template-columns:auto minmax(240px,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2);transition:border-color .16s ease,transform .16s ease,opacity .16s ease}
.dashboard-layout-item.is-dragging{opacity:.55;transform:scale(.99)}
.dashboard-layout-item.drag-over{border-color:var(--primary)}
.dashboard-drag-handle{cursor:grab;color:var(--muted);font-size:1.35rem;line-height:1}
.dashboard-layout-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;cursor:pointer;min-width:0}
.dashboard-layout-toggle>input{width:18px;height:18px;accent-color:var(--primary)}
.dashboard-layout-toggle .module-switch-icon{display:none}
.dashboard-size-choice{display:flex;align-items:center;padding:3px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.dashboard-size-choice label{cursor:pointer}
.dashboard-size-choice input{position:absolute;opacity:0;pointer-events:none}
.dashboard-size-choice span{display:block;padding:7px 9px;border-radius:9px;color:var(--muted);font-size:.72rem;font-weight:750}
.dashboard-size-choice input:checked+span{background:var(--primary);color:#06101f}
.dashboard-order-buttons{display:flex;gap:4px}
.pwa-steps{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none;counter-reset:pwa}
.pwa-steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;color:var(--muted)}
.pwa-steps li:before{counter-increment:pwa;content:counter(pwa);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:800}
@media(max-width:1050px){.dashboard-free-widget.dashboard-size-small{grid-column:span 6}}
@media(max-width:720px){.dashboard-free-grid{grid-template-columns:1fr}.dashboard-free-widget.dashboard-size-small,.dashboard-free-widget.dashboard-size-medium,.dashboard-free-widget.dashboard-size-large{grid-column:1}.dashboard-layout-item{grid-template-columns:auto minmax(0,1fr) auto}.dashboard-size-choice{grid-column:2/-1;justify-self:start}.dashboard-order-buttons{grid-row:1;grid-column:3}.dashboard-drag-handle{display:none}.dashboard-free-widget.dashboard-size-large .dashboard-chart{min-height:240px}}

/* FinanzPilot 2.6 · Buchhaltung, Dokumente und Krypto-Details */
.dialog-wide{width:min(1080px,calc(100vw - 32px));max-width:1080px}.transaction-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.transaction-form-grid .full{grid-column:1/-1}.form-subhead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0 4px;border-bottom:1px solid var(--border)}.form-subhead span{font-weight:800}.form-subhead small{color:var(--muted)}.calculated-field{background:color-mix(in srgb,var(--surface-2) 82%,transparent);font-weight:800;color:var(--teal)}.input-with-action{display:flex;gap:8px}.input-with-action input{min-width:0;flex:1}.bookkeeping-filter{grid-template-columns:repeat(6,minmax(130px,1fr));align-items:end}.filter-actions{grid-column:1/-1;justify-content:flex-end}.compact-card{padding-bottom:18px}.template-chip-row{display:flex;flex-wrap:wrap;gap:9px}.template-chip{display:flex;gap:10px;align-items:center;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:9px 12px;border-radius:999px;cursor:pointer}.template-chip:hover{border-color:var(--primary);transform:translateY(-1px)}.template-chip strong{font-size:.78rem;color:var(--muted)}.row-actions{display:flex;gap:3px;justify-content:flex-end;margin-top:5px}.icon-action{width:31px;height:31px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;display:inline-grid;place-items:center}.icon-action:hover{background:var(--surface-2);color:var(--text)}.actions-cell{white-space:nowrap;text-align:right}.row-muted{opacity:.72}.document-mini-list{display:flex;align-items:center;gap:5px}.document-mini{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--surface-2);color:var(--primary);text-decoration:none}.split-editor{border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 70%,transparent);padding:14px}.split-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.split-head strong,.split-head small{display:block}.split-head small{color:var(--muted);margin-top:2px}.split-rows{display:grid;gap:10px;margin-top:12px}.split-row{display:grid;grid-template-columns:1.3fr 1.2fr .7fr 1fr auto;gap:10px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.split-row .field{margin:0}.split-remove{margin-bottom:2px}.split-summary{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:10px;color:var(--muted);font-size:.83rem}.split-summary strong{color:var(--text);margin-right:8px}.bookkeeping-reconciliation .sub-card{padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.crypto-search-icon{width:34px;height:34px;border-radius:50%;object-fit:contain;flex:0 0 auto;background:var(--surface-2)}.crypto-lookup-main{display:flex!important;align-items:center;gap:10px}.crypto-search-labels{display:grid;gap:2px}.crypto-asset-icon{width:42px;height:42px;border-radius:50%;object-fit:contain;background:var(--surface-2);box-shadow:0 0 0 1px var(--border)}.crypto-asset-icon-lg{width:64px;height:64px}.crypto-title-row{display:flex;align-items:center;gap:14px}

.sync-dialog.sync-complete .sync-orbit span,.sync-dialog.sync-failed .sync-orbit span{animation:none;border-color:transparent;opacity:0}.sync-dialog.sync-complete .sync-orbit,.sync-dialog.sync-failed .sync-orbit{display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--teal) 14%,var(--surface-2));border:2px solid color-mix(in srgb,var(--teal) 60%,transparent)}.sync-dialog.sync-complete .sync-orbit::after{content:'✓';font-size:42px;font-weight:900;color:var(--teal)}.sync-dialog.sync-failed .sync-orbit{background:color-mix(in srgb,var(--danger) 12%,var(--surface-2));border-color:color-mix(in srgb,var(--danger) 60%,transparent)}.sync-dialog.sync-failed .sync-orbit::after{content:'!';font-size:42px;font-weight:900;color:var(--danger)}

.document-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px}.document-sidebar{position:sticky;top:92px;align-self:start}.folder-list{display:grid;gap:6px}.folder-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:11px;color:var(--text);text-decoration:none}.folder-link:hover,.folder-link.active{background:var(--surface-2);color:var(--primary)}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.document-card{display:flex;flex-direction:column;gap:12px}.document-card-head{display:flex;gap:12px;align-items:flex-start}.document-type-icon{width:42px;height:42px;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;color:var(--primary);font-weight:900}.document-title{min-width:0}.document-title strong,.document-title small{display:block;overflow:hidden;text-overflow:ellipsis}.document-title small{color:var(--muted);margin-top:3px}.document-meta{display:flex;flex-wrap:wrap;gap:6px}.document-actions{display:flex;gap:7px;margin-top:auto}.storage-meter{height:7px;background:var(--surface-2);border-radius:999px;overflow:hidden}.storage-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--teal))}

.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-summary-list{display:grid;gap:8px}.report-summary-row{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--border)}.report-summary-row:last-child{border-bottom:0}.report-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:14px}.report-section-title h3{margin:0}.report-export-box{display:grid;gap:12px}.account-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:7px;max-height:260px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:12px}

@media(max-width:1050px){.transaction-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bookkeeping-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.split-row{grid-template-columns:1fr 1fr}.split-remove{justify-self:end}.report-grid{grid-template-columns:1fr}}
@media(max-width:760px){.transaction-form-grid,.bookkeeping-filter{grid-template-columns:1fr}.split-row{grid-template-columns:1fr}.document-layout{grid-template-columns:1fr}.document-sidebar{position:static}.form-subhead{align-items:flex-start;flex-direction:column;gap:3px}.dialog-wide{width:calc(100vw - 14px)}.template-chip-row{flex-wrap:nowrap;overflow:auto;padding-bottom:4px}}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.section-heading h2{margin:.2rem 0 .35rem}.section-heading p{margin:0;color:var(--muted)}.section-heading .actions{display:flex;gap:8px;flex-wrap:wrap}.settings-hub{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.crypto-logo{overflow:hidden;padding:0;background:var(--surface-2)}.crypto-logo img{width:100%;height:100%;object-fit:contain;display:block;border-radius:inherit}.field input[readonly][data-investment-gross],.field input[readonly][data-investment-net],.field input[readonly][data-investment-fee-chf]{background:color-mix(in srgb,var(--surface-2) 84%,transparent);color:var(--teal);font-weight:800}.sidebar-divider{height:1px;background:var(--border);margin:10px 0}.quick-periods,.inline-report-actions{display:flex;gap:7px;flex-wrap:wrap}.report-total{font-weight:900;border-top:2px solid var(--border-strong)}
@media(max-width:760px){.section-heading{align-items:flex-start;flex-direction:column}.section-heading .actions,.section-heading .actions .btn{width:100%}}


/* Buchhaltungsberichte: kompakter Vorjahresvergleich */
.report-comparison {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 18px;
  margin: 12px 18px 18px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-2) 78%, transparent);
  font-size: .88rem;
}
.report-comparison strong { text-align: right; }
.field-action { align-self: end; }
.field-action .btn { width: 100%; }


/* FinanzPilot 2.8 · professionellere Navigation und Typografie */
:root{--sidebar-breite:272px;--sidebar-width:var(--sidebar-breite)}
/* Linke Leiste einfahren (Wunsch des Users, 10.08.2026: «oben ein Symbol zum
   Einklappen»). ⚠ Nur ab 981px: darunter IST die Leiste schon eine Schublade
   (body.nav-open), beides zusammen wuerde sich gegenseitig stoeren.
   ⭐ Eingeklappt wird die VARIABLE auf 0 gesetzt statt margin-left — nur so
   greift es auch dort, wo eine Regel den Rand mit !important schreibt
   (.documents-explorer-page .main-wrap). Die Leiste selbst behaelt ihre Breite
   und faehrt seitlich hinaus, sonst wuerde ihr Inhalt beim Einfahren zerquetscht. */
@media (min-width:981px){
  .sidebar{transition:transform .18s ease}
  .main-wrap{transition:margin-left .18s ease}
  .topbar{transition:left .18s ease}
  html.sidebar-eingeklappt{--sidebar-width:0px}
  html.sidebar-eingeklappt .sidebar{width:var(--sidebar-breite);transform:translateX(-101%);visibility:hidden}
}
/* Werkzeugseiten im Bereich «Tools» (ZIP-Cleaner, PDF-Werkzeuge).
   ⚠ Korrektur nach Rückmeldung des Users (10.08.2026): Die Karte darf 1550px
   breit werden, dadurch waren Ablagefläche, Felder und Modusauswahl über den
   ganzen Bildschirm gezerrt und der Knopf trieb allein am rechten Rand. Der
   Inhalt bekommt darum eine LESBARE Spaltenbreite; die Karte selbst bleibt,
   wie sie ist, damit sich nichts am übrigen Seitenaufbau ändert. */
.tools-card{display:block;text-decoration:none;color:inherit}
.tools-card h2{margin:0 0 8px;font-size:1.1rem}
/* ⚠⚠ ZWEITE Korrektur, nach nochmaliger Rückmeldung des Users: beim ersten
   Anlauf hatte ich nur den INHALT auf 820px begrenzt — die Karte selbst lief
   weiter über die volle Breite. Ergebnis: ein riesiger leerer Bereich rechts
   IN der Karte, was noch schlechter aussah als vorher. Die Begrenzung gehört
   an die KARTE. */
/* ⚠⚠⚠ DRITTE Korrektur — und hier lag die eigentliche Ursache, die ich zweimal
   übersehen habe: **`.card` hat in Cockpit KEINEN Innenabstand.** Die übrigen
   Seiten holen ihn sich über `.card-head`, Tabellen oder eigene Listen. Wer ein
   nacktes `<form>` in eine `.card` legt, dessen Inhalt klebt am Kartenrand —
   die gestrichelte Ablagefläche sass genau auf der Linie. Weder die Breite des
   Inhalts noch die der Karte war das Problem.
   ➜ Merksatz für jede neue Seite: `.card` + eigener Inhalt = eigenes `padding`. */
.zipcleaner-karte,.pdfwerkzeug-karte{max-width:880px;padding:24px 26px}
.zipcleaner-drop,.pdfwerkzeug-drop{display:block;padding:20px 22px;border:2px dashed var(--border);border-radius:14px;text-align:center;cursor:pointer;transition:.18s ease}
.zipcleaner-drop:hover,.zipcleaner-drop.is-drag,.pdfwerkzeug-drop:hover,.pdfwerkzeug-drop.is-drag{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}
.zipcleaner-drop strong,.pdfwerkzeug-drop strong{display:block;font-size:.97rem;margin-bottom:3px}
.zipcleaner-drop span,.pdfwerkzeug-drop span{display:block;color:var(--muted);font-size:.82rem}
.zipcleaner-filename,.pdfwerkzeug-dateiname{font-weight:700;color:var(--primary);word-break:break-all}
.zipcleaner-titel{margin:20px 0 8px;font-size:.98rem;font-weight:700}
.zipcleaner-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.zipcleaner-mode{display:block;border:1px solid var(--border);border-radius:11px;padding:11px 13px;cursor:pointer}
.zipcleaner-mode:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,transparent)}
.zipcleaner-mode b{margin-left:6px;font-size:.9rem}
.zipcleaner-mode small{display:block;margin-top:5px;color:var(--muted);line-height:1.35}
.zipcleaner-aktionen,.pdfwerkzeug-aktionen{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.zipcleaner-aktionen .muted,.pdfwerkzeug-aktionen .muted{font-size:.8rem}
.zipcleaner-progress{margin-top:20px}
.zipcleaner-bar{height:14px;border-radius:999px;background:color-mix(in srgb,var(--border) 60%,transparent);overflow:hidden}
.zipcleaner-bar>div{height:100%;width:0;background:var(--primary);transition:width .3s ease}
.zipcleaner-result{margin-top:16px;padding:13px 15px;border-radius:11px;border:1px solid var(--border)}
.zipcleaner-result.ok{border-color:color-mix(in srgb,#16a34a 55%,var(--border));background:color-mix(in srgb,#16a34a 10%,transparent)}
.zipcleaner-result.fehler{border-color:color-mix(in srgb,#dc2626 55%,var(--border));background:color-mix(in srgb,#dc2626 10%,transparent)}
.zipcleaner-result .btn{margin-top:10px}
.zipcleaner-fuss{margin-top:16px;font-size:.8rem;line-height:1.5}
/* PDF-Werkzeuge: die Schritte sind Zwischenüberschriften, keine Seitentitel. */
.pdfwerkzeug-schritt{display:flex;align-items:center;gap:9px;margin:22px 0 9px;font-size:.98rem;font-weight:700}
.pdfwerkzeug-schritt:first-of-type{margin-top:0}
.pdfwerkzeug-schritt>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);font-size:.76rem}
.pdfwerkzeug-quelle{display:grid;gap:10px}
.pdfwerkzeug-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pdfwerkzeug-auswahl{width:100%;max-width:420px}
.pdfwerkzeug-erklaerung{margin:10px 0 12px;color:var(--muted);font-size:.86rem;line-height:1.5}
.pdfwerkzeug-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.pdfwerkzeug-raster .field{min-width:0}
.pdfwerkzeug-schalter{display:flex;align-items:center;gap:7px;min-height:38px}
.pdfwerkzeug-schalter input{width:auto}
/* Ein mehrzeiliges Feld (Ersetzungen, Formularwerte) braucht die ganze Zeile —
   im Raster von 190px waere es unbrauchbar schmal. */
.pdfwerkzeug-raster .field-breit{grid-column:1/-1}
/* Beilage: Datei vom Rechner ODER ein Dokument aus Cockpit. */
.pdfwerkzeug-beilage{display:grid;gap:6px}
.pdfwerkzeug-beilage input[type=file]{min-width:0}
.pdfwerkzeug-beilage small{word-break:break-all}
.pdfwerkzeug-farbe{display:flex;align-items:center;gap:8px;min-height:38px}
.pdfwerkzeug-farbe input[type=color]{width:46px;height:32px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}
.pdfwerkzeug-farbe code{font-size:.78rem;color:var(--muted)}
.pdfwerkzeug-schieber{display:flex;align-items:center;gap:9px;min-height:38px}
.pdfwerkzeug-schieber input[type=range]{flex:1;min-width:0}
.pdfwerkzeug-schieber output{min-width:44px;text-align:right;font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}
/* Die gewaehlten Quelldateien, damit man bei zehn Stueck den Ueberblick behaelt. */
.pdfwerkzeug-liste{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.pdfwerkzeug-liste li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 11px;border:1px solid var(--border);border-radius:10px;font-size:.86rem}
.pdfwerkzeug-liste li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Schritt 3: das Ergebnis wird gezeigt, bevor irgendetwas gespeichert wird. */
.pdfwerkzeug-ergebnis{margin-top:26px;padding-top:20px;border-top:1px solid var(--border)}
.pdfwerkzeug-vorschauen{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:14px 0}
.pdfwerkzeug-vorschau{margin:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface-2)}
.pdfwerkzeug-vorschau img{display:block;width:100%;height:190px;object-fit:contain;object-position:top;background:#fff}
.pdfwerkzeug-keinbild{display:grid;place-items:center;height:190px;color:var(--muted);font-size:.8rem;text-align:center;padding:10px}
.pdfwerkzeug-vorschau figcaption{padding:8px 10px;font-size:.79rem;display:grid;gap:2px}
.pdfwerkzeug-vorschau figcaption a{word-break:break-all}
.pdfwerkzeug-ergebnisaktionen{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pdfwerkzeug-ergebnisaktionen select{max-width:220px}
/* Werkbank: zwei Dokumente nebeneinander (Bereich Tools).
   ⚠ Feste Hoehe statt `height:100%`: die Flaechen enthalten iframes, und ein
   iframe ohne bemessene Hoehe fiele auf 150px zusammen. */
.werkbank{display:grid;grid-template-columns:1fr 14px 1fr;gap:0;height:calc(100vh - 210px);min-height:420px}
.werkbank.is-ziehen iframe{pointer-events:none}
.werkbank-flaeche{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}
.werkbank-kopf{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 70%,transparent)}
.werkbank-kopf strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}
.werkbank-knoepfe{display:flex;align-items:center;gap:5px;flex-shrink:0}
.werkbank-buehne{position:relative;flex:1;min-height:0}
.werkbank-buehne iframe{width:100%;height:100%;border:0;display:block;background:var(--surface)}
.werkbank-leer{display:grid;place-content:center;gap:5px;height:100%;padding:20px;text-align:center}
.werkbank-leer p{margin:0;font-size:.88rem}
/* ⚠⚠ GEMESSENER FEHLER (User: «ohne Dokument kann ich die Trennlinie nicht
   packen»): Sie hatte `margin:0 4px` in einer 6px-Spalte — 6 minus 8 ergibt eine
   Breite von NULL. Sie war damit NIE greifbar, mit oder ohne Dokument; die Lücke,
   die man sah, war die Gitterspalte selbst. Jetzt 14px Spur ohne Rand, mit einem
   sichtbaren Strich in der Mitte. Gemessen nach der Korrektur: 14px, und der
   Punkt in der Mitte trifft wirklich den Teiler. */
/* ⭐⭐ «Viel Platz fürs Dokument» — Wunsch des Users vom 10.08.2026. Sobald ein
   Dokument geladen ist, verschwindet die Einleitung, die Ränder schrumpfen und die
   Flächen wachsen auf die volle Höhe. Alles nur über EINE Klasse am Körper, damit
   sich der Zustand mit einem Knopf zurücknehmen lässt. */
/* ⚠⚠ `.content` ist auf `min(1550px,100%)` begrenzt UND zentriert (Zeile ~127).
   Ohne diese Aufhebung blieben links und rechts breite schwarze Streifen stehen —
   genau das hat der User am 10.08.2026 gemeldet («GANZ nach links und GANZ nach
   rechts, bis zum Rand»). Breite UND Aussenabstand müssen weg, nicht nur eines. */
/* ⭐ Zweiter Auslöser: eingeklappte Seitenleiste. Dann gilt die volle Fläche auch
   OHNE geöffnetes Dokument (Wunsch des Users vom 10.08.2026). */
html.sidebar-eingeklappt body.werkbank-page .werkbank-einleitung{display:none}
html.sidebar-eingeklappt body.werkbank-page .werkbank-kopfzeile{margin:0 0 6px;min-height:0}
html.sidebar-eingeklappt body.werkbank-page .werkbank{height:calc(100vh - 104px)}
html.sidebar-eingeklappt body.werkbank-page .content{padding:6px 6px 8px}
body.werkbank-maximal .content{width:100%;max-width:none;margin:0;padding:6px 6px 8px}
/* ⭐⭐ «GANZ nach links, bis zum Rand»: die EINGEKLAPPTE Leiste ist immer noch eine
   ~100px breite Spur. Solange sie eingefahren ist UND die Werkbank Platz braucht,
   verschwindet sie ganz. Klappt der Benutzer sie über das Symbol oben wieder aus,
   greift diese Regel nicht mehr — sie hängt an `html.sidebar-eingeklappt`. */
html.sidebar-eingeklappt body.werkbank-page .sidebar{display:none}
html.sidebar-eingeklappt body.werkbank-page .main-wrap{margin-left:0}
body.werkbank-maximal .werkbank-einleitung{display:none}
body.werkbank-maximal .werkbank-kopfzeile{margin:0 0 6px;min-height:0}
body.werkbank-maximal .werkbank-kopfzeile .page-actions{margin-left:auto}
body.werkbank-maximal .werkbank{height:calc(100vh - 104px)}
@media (max-width:700px){body.werkbank-maximal .werkbank{height:auto}}
.werkbank-teiler{position:relative;cursor:col-resize;background:transparent;touch-action:none}
.werkbank-teiler::before{content:"";position:absolute;inset:0 5px;border-radius:3px;background:var(--border)}
.werkbank-teiler:hover::before,.werkbank-teiler:focus-visible::before{background:var(--primary);inset:0 4px}
/* ⭐ Umschaltgrenze 700px, NICHT 900: bei 900 stellte sich auch ein iPad im
   Hochformat (768px) untereinander — auf dem Gerät konnte «Nebeneinander» also
   nichts nebeneinander zeigen. 700px ist in Cockpit ohnehin die Telefon-Grenze
   (dort verschwindet auch die untere Leiste zugunsten des Hamburgers). */
@media (max-width:700px){.werkbank{grid-template-columns:1fr!important;height:auto}.werkbank-flaeche{height:70vh}.werkbank-teiler{display:none}}
@media (max-width:700px){.zipcleaner-modes,.pdfwerkzeug-raster{grid-template-columns:1fr}}
.sidebar-collapse-btn{display:inline-flex;font-size:1.05rem;line-height:1}
@media (max-width:980px){.sidebar-collapse-btn{display:none}}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:15px;letter-spacing:0}
h1,h2,h3,.kpi-value,.hero-value{letter-spacing:-.025em}
h1{font-weight:760}h2,h3{font-weight:700}.eyebrow{letter-spacing:.075em;font-weight:700}.card{border-radius:15px}.btn{border-radius:10px;font-weight:650}.field label{font-weight:650}
.sidebar{width:var(--sidebar-width);padding:20px 14px 16px;background:color-mix(in srgb,var(--surface) 96%,var(--bg-deep));border-right:1px solid var(--border)}
.brand{margin:0 4px 23px;padding:7px 6px}.brand-copy strong{font-size:1.03rem;font-weight:760}.brand-copy span{font-size:.72rem;letter-spacing:.02em}
.nav-label{margin:18px 12px 6px;color:var(--muted);font-size:.64rem;line-height:1.2;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.nav{gap:3px}.nav-link{min-height:42px;padding:9px 11px;gap:11px;border-radius:10px;font-size:.86rem;font-weight:590;line-height:1.15}.nav-link:hover{transform:none}.nav-link.active{font-weight:700}.nav-link-compact span{white-space:nowrap;font-size:.84rem}.nav-icon{width:20px}.nav-svg{width:19px;height:19px;stroke-width:1.75;flex:0 0 auto;opacity:.82}.nav-link.active .nav-svg{opacity:1}
.main-wrap{margin-left:var(--sidebar-width)}.topbar{left:var(--sidebar-width)}.topbar-title{font-weight:720}.topbar-subtitle{font-size:.74rem}.topbar-actions .btn-primary span{font-size:.82rem}.year-switch select{min-width:110px}
.fab{text-decoration:none}
@media(max-width:980px){.sidebar{width:min(292px,86vw)}.main-wrap{margin-left:0}.topbar{left:0}}

/* FinanzPilot 2.8 · Settings-Orientierung */
.settings-section-heading{scroll-margin-top:94px;margin:38px 0 14px;padding:0 2px}.settings-section-heading:first-of-type{margin-top:24px}.settings-section-heading h2{margin:4px 0 5px;font-size:1.35rem}.settings-section-heading p{margin:0;color:var(--muted);max-width:760px}.settings-hub-icon{font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:800;letter-spacing:.04em}
.fiscal-years-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px}.fiscal-year-list{display:grid;gap:8px}.fiscal-year-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.fiscal-year-row strong,.fiscal-year-row small{display:block}.fiscal-year-row small{margin-top:3px;color:var(--muted)}.fiscal-year-row form{display:inline-flex}.fiscal-year-create{align-self:start;padding:18px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.fiscal-year-create h3{margin:0 0 14px}.email-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.email-config-grid>div{padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.email-config-grid span,.email-config-grid strong{display:block}.email-config-grid span{font-size:.72rem;color:var(--muted);margin-bottom:4px}.email-config-grid strong{font-size:.87rem;overflow-wrap:anywhere}.inline-test-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px}.inline-test-form .field{margin:0}
@media(max-width:840px){.fiscal-years-layout,.email-config-grid{grid-template-columns:1fr}.fiscal-year-row{align-items:flex-start;flex-direction:column}.inline-test-form{grid-template-columns:1fr}.inline-test-form .btn{width:100%}}

/* FinanzPilot 2.8 · Buchhaltung als zentrale Direkterfassung */
.booking-composer{scroll-margin-top:90px;padding:0;overflow:hidden}.booking-composer>.card-head{padding:22px 24px 18px;border-bottom:1px solid var(--border)}.booking-composer>form{padding:22px 24px 24px}.booking-template-row{padding:13px 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 72%,transparent)}
.booking-editor{display:grid;gap:22px}.booking-kind-fieldset{margin:0;padding:0;border:0}.booking-kind-fieldset legend{margin-bottom:10px;font-size:.76rem;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.booking-kind-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.booking-kind-selector label{position:relative;cursor:pointer}.booking-kind-selector input{position:absolute;opacity:0;pointer-events:none}.booking-kind-selector span{display:block;height:100%;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.booking-kind-selector strong,.booking-kind-selector small{display:block}.booking-kind-selector strong{font-size:.84rem;color:var(--text)}.booking-kind-selector small{margin-top:4px;color:var(--muted);font-size:.7rem;line-height:1.35}.booking-kind-selector input:checked+span{border-color:color-mix(in srgb,var(--primary) 68%,var(--border));background:color-mix(in srgb,var(--primary) 9%,var(--surface-2));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}
.booking-kind-selector input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}.booking-editor [hidden]{display:none!important}.booking-submit{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.booking-submit .btn{min-width:190px}.bookkeeping-table-wrap{margin-top:18px}.compact-filters{grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;align-items:end}.compact-filters .filter-search{grid-column:span 2}.compact-filters .filter-actions{grid-column:1/-1;justify-content:flex-end;margin-top:2px}.bookkeeping-reconciliation-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.reconciliation-form{padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.reconciliation-form .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bookkeeping-reconciliation-stack>.sub-card{padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}
.transaction-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}.transaction-form-grid .form-subhead{margin-top:3px}.transaction-form-grid input.calculated-field{font-variant-numeric:tabular-nums;font-weight:760;color:var(--teal);background:color-mix(in srgb,var(--teal) 6%,var(--surface-2))}
@media(max-width:1180px){.booking-kind-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.transaction-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reconciliation-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.booking-composer>.card-head,.booking-composer>form,.booking-template-row{padding-left:15px;padding-right:15px}.booking-kind-selector,.compact-filters,.transaction-form-grid,.reconciliation-form .form-grid{grid-template-columns:1fr}.compact-filters .filter-search,.compact-filters .filter-actions{grid-column:auto}.booking-submit .btn{width:100%}.booking-kind-selector span{padding:12px}}

/* FinanzPilot 2.8 · professionelle Berichtsseite */
.report-grid{grid-template-columns:1fr;gap:18px}.report-grid>.card{padding:0 22px 22px;overflow:hidden}.report-grid>.card>.card-head{margin:0 -22px 14px;padding:20px 22px 15px;border-bottom:1px solid var(--border)}.report-grid>.card.report-export-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-grid>.card.report-export-box>.card-head{grid-column:1/-1}.report-grid>.card.report-export-box>form{padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.report-section-title{padding:0 2px}.report-summary-list{padding:0 2px}.report-summary-row{padding:11px 2px}.report-summary-row span small{display:block;margin-top:4px;color:var(--muted);font-size:.7rem;line-height:1.35}.report-total{display:flex;justify-content:space-between;gap:20px;margin-top:14px;padding:14px 2px 0}.account-collection-form{padding:0 20px 20px}.account-select-all{margin-bottom:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--primary) 7%,var(--surface-2))}.account-check-groups{display:grid;gap:12px}.account-check-group{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface-2)}.account-check-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-3) 78%,transparent)}.account-check-group>header strong{font-size:.82rem}.account-check-group>header span{font-size:.68rem;color:var(--muted)}.account-check-list{display:grid;gap:0}.account-check-list .checkbox{padding:10px 13px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}.account-check-list .checkbox:last-child{border-bottom:0}.account-check-list .checkbox span{display:block}.account-check-list .checkbox strong{display:inline-block;min-width:52px;font-variant-numeric:tabular-nums}.report-period-filter{padding:4px}
@media(max-width:760px){.report-grid>.card{padding-left:15px;padding-right:15px}.report-grid>.card>.card-head{margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px}.report-grid>.card.report-export-box{grid-template-columns:1fr}.account-collection-form{padding-left:15px;padding-right:15px}}

/* Server administration overview */
.admin-workspace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.admin-workspace-card{position:relative;display:grid;gap:12px;min-height:176px;padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.admin-workspace-card.is-current{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 18%,transparent)}.admin-workspace-card h3{margin:4px 0 5px;font-size:1rem}.admin-workspace-card p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.45}.admin-workspace-meta{display:grid;gap:4px;color:var(--muted);font-size:.72rem}.admin-workspace-card form{margin-top:auto}.admin-workspace-card .badge{justify-self:start}


/* FinanzPilot 2.8 · kompakte Kontenfilter */
.account-filter-toolbar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(125px,1fr));gap:9px;align-items:center;padding:13px 16px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 72%,transparent)}
.account-filter-toolbar .smart-search{min-width:0;width:100%}.account-filter-toolbar>select{min-width:0;width:100%;min-height:38px;padding:7px 10px;border-radius:10px}.account-filter-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.account-filter-actions select{width:auto;min-width:145px;min-height:36px;padding:6px 9px;border-radius:9px}.account-filter-actions .table-result-count{margin-left:4px}.account-filter-toolbar+.table-wrap table th,.account-filter-toolbar+.table-wrap table td{padding-left:12px;padding-right:12px}.account-filter-toolbar+.table-wrap table th:last-child,.account-filter-toolbar+.table-wrap table td:last-child{width:174px}.account-filter-toolbar+.table-wrap td>.actions{flex-wrap:nowrap}
@media(max-width:1120px){.account-filter-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.account-filter-toolbar .smart-search{grid-column:1/-1}.account-filter-actions{justify-content:flex-start;flex-wrap:wrap}.account-filter-actions .table-result-count{margin-left:auto}}
@media(max-width:640px){.account-filter-toolbar{grid-template-columns:1fr;padding:12px}.account-filter-toolbar .smart-search{grid-column:auto}.account-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.account-filter-actions select{grid-column:1/-1;width:100%}.account-filter-actions .table-result-count{grid-column:1/-1;margin:0}.account-filter-actions .btn{width:100%}}

/* FinanzPilot 2.8 · eindeutiges Suchsymbol mit sicherem Textabstand */
.search-wrap{position:relative;min-width:0}.search-wrap input{padding-left:39px}.search-wrap .search-icon{position:absolute;z-index:2;left:13px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:var(--muted);font-size:0;line-height:0;pointer-events:none}.search-wrap .search-icon:before{content:"";position:absolute;left:1px;top:1px;width:9px;height:9px;border:1.6px solid currentColor;border-radius:50%}.search-wrap .search-icon:after{content:"";position:absolute;left:10px;top:11px;width:6px;height:1.6px;border-radius:999px;background:currentColor;transform:rotate(45deg);transform-origin:left center}

/* FinanzPilot 2.8 · kompakte Filterleisten */
.filter-grid{display:grid;gap:10px;padding:16px 20px 18px;align-items:end}.filter-grid .field{margin:0;min-width:0}.filter-grid .form-actions{margin:0;align-self:end}.filter-grid .search-field>span{display:none}
.bookkeeping-filter.compact-filters{grid-template-columns:repeat(7,minmax(105px,1fr))}.bookkeeping-filter.compact-filters .filter-search{grid-column:span 2}.bookkeeping-filter.compact-filters .filter-actions{grid-column:1/-1;justify-content:flex-end}
.report-period-filter{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(270px,auto) auto}.report-period-filter .quick-periods{align-self:end;min-height:44px;align-items:center}.report-period-filter .form-actions{justify-content:flex-end}
.document-filter{grid-template-columns:minmax(260px,2fr) minmax(150px,.7fr) auto}.document-filter .form-actions{justify-content:flex-end}
@media(max-width:1180px){.bookkeeping-filter.compact-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.bookkeeping-filter.compact-filters .filter-search{grid-column:span 2}.report-period-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.report-period-filter .quick-periods{grid-column:1/-1}.report-period-filter .form-actions{grid-column:1/-1}}
@media(max-width:720px){.filter-grid,.bookkeeping-filter.compact-filters,.report-period-filter,.document-filter{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.bookkeeping-filter.compact-filters .filter-search,.bookkeeping-filter.compact-filters .filter-actions,.report-period-filter .quick-periods,.report-period-filter .form-actions{grid-column:auto}.filter-grid .form-actions,.filter-grid .quick-periods{width:100%}.filter-grid .form-actions .btn,.filter-grid .quick-periods .btn{flex:1}}

/* Native hidden semantics must not be overridden by component display rules. */
[hidden]{display:none!important}
@media(min-width:900px){.account-summary-grid .kpi-value,.grid-auto-kpi .kpi-value{font-size:clamp(1.25rem,2vw,1.8rem);white-space:nowrap}}

/* 2.8 history controls */
.topbar-history-action{display:inline-flex;margin:0}.topbar-actions .btn[disabled]{opacity:.35;cursor:not-allowed}.history-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.history-current{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);margin-bottom:14px}.history-current span{color:var(--muted);font-size:.88rem}.history-buttons{display:flex;flex-wrap:wrap;gap:8px}.history-buttons form{margin:0}@media(max-width:850px){.history-control-grid{grid-template-columns:1fr}.topbar-history-action{display:none}}

/* 2.8 bookkeeping relationships and bulk changes */
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label-row label{margin:0}.field-link{font-size:.78rem;color:var(--primary);text-decoration:none;white-space:nowrap}.field-link:hover{text-decoration:underline}.link-strong{font-weight:700}.check-col{width:42px;text-align:center}.check-col input{width:18px;height:18px}.bulk-mutation{display:contents}.bulk-mutation-bar{display:none;position:sticky;top:72px;z-index:8;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin:0 0 12px;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--primary) 6%);box-shadow:0 12px 30px rgba(0,0,0,.18)}.bulk-mutation.has-selection .bulk-mutation-bar{display:flex}.bulk-mutation-bar label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted)}.bulk-mutation-bar input:not([type=checkbox]),.bulk-mutation-bar select{min-height:34px;max-width:190px;padding:6px 8px}.bulk-mutation-bar input[type=checkbox]{width:16px;height:16px}@media(max-width:900px){.bulk-mutation-bar{position:static}.bulk-mutation-bar label{width:100%}.bulk-mutation-bar input:not([type=checkbox]),.bulk-mutation-bar select{max-width:none;flex:1}}

/* 2.8 report workspace */
.report-subnav{display:flex;gap:6px;overflow-x:auto;padding:6px;border:1px solid var(--border);border-radius:16px;background:var(--surface);margin-bottom:18px}.report-subnav a{padding:10px 14px;border-radius:11px;color:var(--muted);font-weight:700;font-size:.86rem;white-space:nowrap;text-decoration:none}.report-subnav a:hover{color:var(--text);background:var(--surface-soft)}.report-subnav a.active{color:var(--text);background:color-mix(in srgb,var(--primary) 18%,var(--surface-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 42%,transparent)}.report-period-card{padding-top:16px;padding-bottom:16px}.report-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:22px;text-decoration:none;color:var(--text);transition:.18s ease}.report-choice:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:0 18px 36px rgba(0,0,0,.15)}.report-choice h2{margin:0 0 6px;font-size:1.05rem}.report-choice p{margin:0;color:var(--muted);line-height:1.45}.report-choice-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--primary) 16%,var(--surface-soft));font-size:1.3rem}.report-choice-wide{grid-column:1/-1}.report-title-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:22px 0 12px}.report-title-row h2{margin:3px 0 0}.statement-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.financial-statement{display:flex;flex-direction:column;gap:14px}.statement-group{border:1px solid var(--border);border-radius:13px;overflow:hidden}.statement-group>header{padding:10px 14px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.statement-lines{display:flex;flex-direction:column}.statement-line,.statement-subtotal,.statement-grand-total{display:flex;justify-content:space-between;gap:18px;align-items:baseline}.statement-line{padding:9px 14px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.statement-line:last-of-type{border-bottom:0}.statement-account{min-width:0}.statement-subtotal{padding:10px 14px;background:color-mix(in srgb,var(--surface-soft) 82%,transparent);font-weight:700}.statement-grand-total{padding:14px 16px;border-radius:13px;background:color-mix(in srgb,var(--primary) 13%,var(--surface-soft));font-size:1rem}.statement-grand-total strong{font-size:1.13rem}.net-assets-box,.result-banner{display:flex;flex-direction:column;gap:5px;padding:18px;border-radius:14px;background:color-mix(in srgb,var(--secondary) 12%,var(--surface-soft));margin-top:16px}.net-assets-box strong,.result-banner strong{font-size:1.65rem}.net-assets-box small,.result-banner small{color:var(--muted)}.result-banner{margin-top:0}.cashflow-stack{display:flex;flex-direction:column}.cashflow-row{display:flex;justify-content:space-between;gap:20px;padding:15px 6px;border-bottom:1px solid var(--border)}.cashflow-total{font-size:1.08rem;border-bottom:0;background:color-mix(in srgb,var(--primary) 11%,transparent);padding:16px;border-radius:12px;margin-top:10px}.complete-report-card{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;padding:28px}.complete-report-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:color-mix(in srgb,var(--primary) 18%,var(--surface-soft));font-size:2rem}.complete-report-card h2{margin:4px 0 8px}.complete-report-card p{max-width:850px;color:var(--muted);line-height:1.55}.complete-report-sections{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.complete-report-sections span{padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);font-size:.8rem}@media(max-width:900px){.report-choice-grid,.statement-two-column{grid-template-columns:1fr}.report-choice-wide{grid-column:auto}.report-title-row{align-items:flex-start;flex-direction:column}.complete-report-card{grid-template-columns:1fr}.complete-report-icon{width:56px;height:56px}}

.clickable-card,
.clickable-row { cursor: pointer; }
.clickable-card:hover { border-color: color-mix(in srgb, var(--primary) 44%, var(--border)); transform: translateY(-1px); }
.clickable-card:focus-visible,
.clickable-row:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

.onlyoffice-shell { overflow: hidden; min-height: calc(100vh - 190px); }
.onlyoffice-editor { height: calc(100vh - 190px); min-height: 680px; width: 100%; }
.document-breadcrumbs { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.document-folder-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin-bottom:18px; }
.document-folder-card { display:flex; align-items:center; gap:12px; padding:14px 16px; text-decoration:none; color:inherit; }
.document-folder-card .folder-symbol { font-size:1.7rem; }
.document-preview { width:100%; min-height:65vh; border:0; background:#fff; }
.document-browser .card-body { padding-bottom: 16px; }
.document-folder-card small { display:block; color:var(--muted); margin-top:4px; }
.document-folder-card .folder-arrow { margin-left:auto; font-size:1.4rem; color:var(--muted); }
.document-versions { border-top:1px solid var(--border); padding-top:12px; margin-top:12px; }
.document-version-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent); }
.document-version-row small { display:block; color:var(--muted); margin-top:3px; }
.document-version-row .actions { display:flex; align-items:center; gap:6px; }
.dialog-xl { width:min(1280px,96vw); }
.no-pad { padding:0 !important; }
.kpi-value-sm { font-size:clamp(1.25rem,2vw,2rem) !important; }

/* FinanzPilot Cloud / ONLYOFFICE */
.onlyoffice-page .content{width:100%;max-width:none;padding:18px 18px 0;overflow:hidden}
.onlyoffice-page .topbar{box-shadow:none}
.onlyoffice-page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px}
.onlyoffice-page-head h1{font-size:clamp(1.45rem,2vw,2rem);line-height:1.05;letter-spacing:-.035em;margin:3px 0 0}
.onlyoffice-page-head p{margin:7px 0 0;color:var(--muted)}
.onlyoffice-shell{position:relative;width:100%;height:calc(100vh - 164px);min-height:620px;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#0b1220;box-shadow:var(--shadow)}
.onlyoffice-editor{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.onlyoffice-editor>iframe,.onlyoffice-editor iframe{width:100%!important;height:100%!important;border:0!important;display:block}
.onlyoffice-loading,.onlyoffice-error{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;text-align:center;background:linear-gradient(145deg,#0b1424,#111b2f)}
.onlyoffice-loading[hidden],.onlyoffice-error[hidden]{display:none}
.onlyoffice-loading span,.onlyoffice-error p{color:var(--muted);max-width:680px;margin:0}
/* ⛔⛔ 15.08.2026 (User mit Bildschirmfoto: «bei hellerem Modus und hellen
   Designs kann man nicht lesen, was links von ‹Dokument schliessen› steht»):
   Der Hintergrund stand FEST auf `rgba(10,18,32,.65)` — einem dunklen Blau,
   unabhängig vom Design. Die Schrift kommt aber aus `var(--muted)`, und die
   ist im Hellmodus dunkelgrau. Ergebnis: dunkel auf dunkel, der Text war
   unsichtbar. Im Dunkelmodus fiel es nie auf, weil dort zufällig beides passte.
   ➤ Merksatz (schon zweimal in diesem Projekt gelernt): Steht die SCHRIFT auf
   einer Designvariablen, muss die FLÄCHE darunter es auch. Ein fester
   Farbwert neben einer variablen ist eine Zeitbombe, die genau ein Design
   trifft — und zwar das, in dem man selbst nicht arbeitet. */
/* ⚠ Die Fläche wird ERZWUNGEN DECKEND: deckende Grundfarbe, darüber die
   Designfläche als Bild. Ein schlichtes `var(--surface-2)` genügt nicht —
   bei den Glas-Designs trägt schon `--surface-2` Alpha, und die Pille wurde
   dort so durchsichtig, dass der Kontrast auf 2,2:1 fiel (gemessen). So
   bleibt sie in JEDEM der 29 Designs undurchsichtig. */
.office-state{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:7px 11px;border:1px solid var(--border);border-radius:999px;color:color-mix(in srgb,var(--muted) 45%,var(--text));font-size:.8rem;background-color:var(--bg-deep);background-image:linear-gradient(var(--surface-2),var(--surface-2))}
.office-state-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.12)}
.office-state-ready .office-state-dot{background:#2dd4bf;box-shadow:0 0 0 4px rgba(45,212,191,.14)}
.office-state-saving .office-state-dot,.office-state-loading .office-state-dot{background:#38bdf8;animation:pulse-dot 1.1s infinite}
.office-state-warning .office-state-dot{background:#f59e0b}
.office-state-error .office-state-dot{background:#fb7185}
@keyframes pulse-dot{50%{opacity:.35;transform:scale(.78)}}
@media(max-width:980px){.onlyoffice-page .content{padding:12px 10px 0}.onlyoffice-page-head{align-items:flex-start;flex-direction:column}.onlyoffice-shell{height:calc(100vh - 230px);min-height:520px;border-radius:12px}.office-state{display:none}}

/* FinanzPilot Cloud */
.section-tabs{display:flex;gap:8px;overflow:auto;padding:4px;margin:-8px 0 22px;scrollbar-width:thin}
.section-tab{white-space:nowrap;padding:10px 14px;border:1px solid var(--border);border-radius:11px;color:var(--muted);font-weight:700;background:var(--panel)}
.section-tab:hover,.section-tab.active{color:var(--text);border-color:color-mix(in srgb,var(--primary) 65%,var(--border));background:color-mix(in srgb,var(--primary) 12%,var(--panel))}
.cloud-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cloud-search-form{display:grid;grid-template-columns:minmax(300px,1fr) minmax(150px,210px) auto;gap:14px;align-items:end}
.cloud-index-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:var(--muted);font-size:.82rem}
.cloud-file-list{display:grid;gap:12px}
.cloud-file-row{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:16px;align-items:start;padding:17px}
.cloud-file-icon{display:flex;align-items:center;justify-content:center;width:54px;height:62px;border-radius:12px;border:1px solid var(--border);background:var(--panel-2);font-size:.72rem;font-weight:850;letter-spacing:.04em;color:var(--muted)}
.cloud-file-icon.pdf{color:#fda4af;background:rgba(244,63,94,.08);border-color:rgba(244,63,94,.25)}
.cloud-file-icon.office{color:#7dd3fc;background:rgba(14,165,233,.08);border-color:rgba(14,165,233,.25)}
.cloud-file-title{display:flex;flex-direction:column;gap:4px}.cloud-file-title strong{font-size:1.02rem}.cloud-file-title small{color:var(--muted);overflow-wrap:anywhere}
.cloud-file-meta{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:10px;color:var(--muted);font-size:.78rem}
.cloud-file-meta span:not(:last-child)::after{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--border-strong);margin-left:12px;vertical-align:middle}
.cloud-file-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:310px}.cloud-file-actions form{display:inline-flex}
.search-snippet{margin-top:10px;padding:10px 12px;border-left:3px solid var(--primary);border-radius:5px;background:var(--panel-2);color:var(--muted);font-size:.84rem;line-height:1.55}.search-snippet mark{background:rgba(250,204,21,.25);color:var(--text);border-radius:3px;padding:0 2px}
.index-state{font-weight:700}.index-indexed{color:var(--success)}.index-pending{color:var(--warning)}.index-error{color:var(--danger)}
.document-folder-card-wrap{position:relative;padding:0}.document-folder-card-wrap .document-folder-card{border:0;background:transparent;box-shadow:none}.document-folder-card-wrap form{position:absolute;right:8px;top:8px}.icon-action{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:1.2rem}.icon-action:hover{color:var(--danger)}
.settings-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}.settings-nav-card{position:sticky;top:90px;padding:10px;display:grid;gap:4px}.settings-nav-card a{padding:10px 12px;border-radius:8px;color:var(--muted);font-weight:700}.settings-nav-card a:hover{background:var(--panel-2);color:var(--text)}.settings-content-stack{display:grid;gap:18px}.settings-content-stack>.card>.card-body{padding:20px}
.cloud-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.subcard{padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--panel-2)}.subcard h3{margin:0 0 8px}.subcard p{color:var(--muted)}
.copy-row{display:flex;gap:8px;margin-top:8px}.copy-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 14px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}
.status-list{display:grid;gap:0}.status-list>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--border)}.status-list span{color:var(--muted)}
.duplicate-group{margin-bottom:14px}.tag-line{margin-top:8px;color:var(--primary);font-size:.78rem}.ml-auto{margin-left:auto}

/* PDF reader */
.pdf-reader-page .content{width:100%;max-width:none;padding:18px 18px 0}.pdf-reader-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.pdf-reader-head h1{margin:3px 0 0;font-size:clamp(1.4rem,2vw,2rem)}.pdf-reader-head p{margin:7px 0 0;color:var(--muted)}
/* Betrachter fuer Bilder, Videos und Text (09.08.2026). Bewusst eine
   gewoehnliche Karte statt einer Vollbildbuehne wie beim PDF-Leser: die
   Cockpit-Kopfleiste soll sichtbar bleiben — genau deren Fehlen war die
   Beschwerde. Der schwebende KI-Knopf kommt aus base.html. */
/* Bankvorlage, die an einem echten Auszug nachgerechnet wurde (09.08.2026).
   Der Unterschied muss sichtbar sein: alles ohne Haken ist ein Startpunkt aus
   Erfahrungswerten und an keiner echten Datei belegt. */
.chip.chip-ok{border-color:color-mix(in srgb,var(--positive,#1a7f4b) 45%,var(--border));color:var(--positive,#1a7f4b);font-weight:650}
.document-viewer-stage{display:flex;align-items:center;justify-content:center;min-height:320px;padding:8px}
.document-viewer-image{max-width:100%;max-height:calc(100vh - 300px);border-radius:12px;box-shadow:0 10px 34px rgba(0,0,0,.28);object-fit:contain}
.document-viewer-video{max-width:100%;max-height:calc(100vh - 300px);border-radius:12px;background:#000}
.document-viewer-text{width:100%;max-height:calc(100vh - 300px);margin:0;overflow:auto;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
/* ⭐ 15.08.2026: Tonwiedergabe. Der Abspieler des Browsers, mittig und mit dem
   Dateinamen darueber — bei Ton gibt es nichts zu zeigen ausser dem Namen. */
.document-viewer-audio{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:640px;padding:26px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.document-viewer-audio strong{font-size:1rem;text-align:center;overflow-wrap:anywhere}
.document-viewer-audio audio{width:100%}
@media(max-width:700px){.document-viewer-image,.document-viewer-video,.document-viewer-text{max-height:none}}
.pdf-reader-shell{height:calc(100vh - 166px);min-height:620px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:17px;overflow:hidden;background:#060b14}
.pdf-reader-toolbar{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.pdf-page-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem}.pdf-page-control input{width:70px;padding:7px;text-align:center}.toolbar-divider{height:24px;width:1px;background:var(--border);margin:0 3px}
.pdf-stage{position:relative;flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:28px;background:radial-gradient(circle at top,#152038,#070c15 65%)}.pdf-stage img{display:block;max-width:none;box-shadow:0 16px 50px rgba(0,0,0,.5);background:white}.pdf-page-loading{position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:2;padding:9px 13px;border-radius:999px;background:rgba(8,15,27,.9);color:var(--muted);font-size:.8rem}.pdf-page-loading[hidden]{display:none}.pdf-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}

/* External share */
.external-share-page{min-height:100vh;background:radial-gradient(circle at top,#15213a,#070d18 60%);color:var(--text);padding:34px 16px}.external-share-shell{width:min(820px,100%);margin:0 auto}.external-share-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.external-share-brand img{width:42px;height:42px;border-radius:11px}.external-share-brand div{display:flex;flex-direction:column}.external-share-brand span{color:var(--muted);font-size:.8rem}.external-share-card{padding:26px}.external-share-card h1{font-size:clamp(1.8rem,5vw,3rem);margin:7px 0 10px}.external-file{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.external-file>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.external-file small{color:var(--muted)}.external-share-shell footer{text-align:center;color:var(--muted);font-size:.75rem;margin-top:18px}

@media(max-width:980px){.cloud-overview-grid{grid-template-columns:1fr}.cloud-search-form{grid-template-columns:1fr}.cloud-file-row{grid-template-columns:50px minmax(0,1fr)}.cloud-file-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}.settings-layout{grid-template-columns:1fr}.settings-nav-card{position:static;display:flex;overflow:auto}.pdf-reader-page .content{padding:12px 10px 0}.pdf-reader-head{align-items:flex-start;flex-direction:column}.pdf-reader-shell{height:calc(100vh - 230px);min-height:500px}.pdf-reader-toolbar{overflow:auto}.pdf-tool-grid{grid-template-columns:1fr}.external-file{grid-template-columns:auto 1fr}.external-file .btn{grid-column:1/-1}}

/* Server-side mail client */
.mail-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}.mail-sidebar{padding:14px;position:sticky;top:90px}.mail-account-chip{display:flex;flex-direction:column;gap:3px;padding:7px 7px 15px;border-bottom:1px solid var(--border);margin-bottom:10px}.mail-account-chip small,.mail-last-sync{color:var(--muted);font-size:.75rem}.mail-sidebar nav{display:grid;gap:3px;margin-bottom:14px}.mail-sidebar nav a{padding:10px 11px;border-radius:8px;color:var(--muted);font-weight:700}.mail-sidebar nav a:hover,.mail-sidebar nav a.active{color:var(--text);background:var(--panel-2)}.mail-last-sync{display:block;margin-top:10px;text-align:center}
.mail-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;border-bottom:1px solid var(--border)}.mail-list-head h2{margin:0}.mail-list-head p{margin:3px 0 0;color:var(--muted);font-size:.8rem}.mail-search{width:min(390px,45%)}.mail-message-list{display:grid}.mail-message-row{display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr) auto;gap:16px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--border);color:var(--text)}.mail-message-row:hover{background:var(--panel-2)}.mail-message-row.unread{background:color-mix(in srgb,var(--primary) 5%,transparent)}.mail-message-row.unread .mail-subject strong{font-weight:850}.mail-sender{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-subject{display:flex;flex-direction:column;min-width:0}.mail-subject strong,.mail-subject span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-subject span,.mail-date{color:var(--muted);font-size:.77rem}.mail-date{text-align:right;white-space:nowrap}.mail-notice{margin:14px 18px}
.mail-detail{overflow:hidden}.mail-detail-meta{display:grid;grid-template-columns:2fr 2fr 1fr;gap:18px;padding:18px;border-bottom:1px solid var(--border);background:var(--panel-2)}.mail-detail-meta div{display:flex;flex-direction:column;gap:4px}.mail-detail-meta span{color:var(--muted);font-size:.75rem}.mail-body{padding:28px;min-height:320px}.mail-body pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.65;color:var(--text)}.mail-attachments{padding:18px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}
@media(max-width:980px){.mail-layout{grid-template-columns:1fr}.mail-sidebar{position:static}.mail-sidebar nav{display:flex;overflow:auto}.mail-sidebar nav a{white-space:nowrap}.mail-list-head{align-items:flex-start;flex-direction:column}.mail-search{width:100%}.mail-message-row{grid-template-columns:1fr auto}.mail-sender{grid-column:1/-1}.mail-subject span{white-space:normal}.mail-detail-meta{grid-template-columns:1fr}.mail-body{padding:18px}}
.external-share-breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0;color:var(--muted)}.external-share-breadcrumbs a{color:var(--text);text-decoration:none;font-weight:700}.external-folder-link{text-decoration:none;color:inherit}.external-folder-link:hover{border-color:var(--primary)}
/* Full-window document editor: ONLYOFFICE needs the complete browser width for its ribbon. */
.onlyoffice-page .sidebar,.onlyoffice-page .topbar,.onlyoffice-page .bottom-nav,.onlyoffice-page .fab{display:none!important}
.onlyoffice-page .main-wrap{margin-left:0!important;min-height:100vh}
.onlyoffice-page .content{width:100%!important;max-width:none!important;margin:0!important;padding:10px!important}
.onlyoffice-page-head{margin:0 0 10px;padding:0 2px}
.onlyoffice-shell{height:calc(100vh - 100px)!important;min-height:520px!important;border-radius:14px}
@media(max-width:980px){.onlyoffice-shell{height:calc(100vh - 158px)!important}.onlyoffice-page-head .page-actions{width:100%}}
.cloud-file-icon.cloud-file-preview{width:76px;height:58px;border-radius:10px;padding:0;overflow:hidden;background:var(--surface-2)}.cloud-file-icon.cloud-file-preview img{display:block;width:100%;height:100%;object-fit:cover}

/* FinanzPilot 3.0: Cloud workspace, groupware and privacy */
.dashboard-private .hero-amount,
.dashboard-private .hero-meta strong,
.dashboard-private .dashboard-free-widget .kpi-value,
.dashboard-private .dashboard-free-widget .value,
.dashboard-private .dashboard-free-widget canvas,
.dashboard-private .dashboard-free-widget td.num{filter:blur(9px);user-select:none;pointer-events:none}
.dashboard-private .hero-card,.dashboard-private .dashboard-free-widget{position:relative}
.dashboard-private .hero-card::after{content:"Werte ausgeblendet";position:absolute;right:22px;bottom:17px;padding:5px 9px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);font-size:.72rem;font-weight:750}

.mail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 17px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}
.mail-account-summary{display:flex;align-items:center;gap:11px}.mail-account-summary>span:last-child{display:flex;flex-direction:column;gap:3px}.mail-account-summary small{color:var(--muted)}
.mail-account-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--teal));color:#04111c;font-weight:900}.mail-toolbar-actions{display:flex;gap:8px;align-items:center}
.mail-onboarding{display:flex;align-items:center;gap:20px;padding:30px}.mail-onboarding-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:1.8rem;background:rgba(75,185,255,.12);border:1px solid rgba(75,185,255,.3)}
.mail-provider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.mail-provider-card{min-height:92px;text-align:left;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2);color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:6px}.mail-provider-card small{color:var(--muted);font-size:.72rem;line-height:1.35}.mail-provider-card:hover,.mail-provider-card.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(75,185,255,.1)}
.mail-diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mail-diagnostic-card{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:17px;border-left:3px solid var(--danger)}.mail-diagnostic-card.ok{border-left-color:var(--success)}.mail-diagnostic-card h3{margin:3px 0 5px}.mail-diagnostic-card p{margin:0;color:var(--muted);overflow-wrap:anywhere;line-height:1.45}.mail-diagnostic-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:rgba(244,63,94,.1);color:var(--danger);font-weight:900}.mail-diagnostic-card.ok .mail-diagnostic-icon{background:rgba(45,212,191,.1);color:var(--success)}
.settings-disclosure{margin-top:14px;border:1px solid var(--border);border-radius:13px;background:var(--panel-2);overflow:hidden}.settings-disclosure>summary{cursor:pointer;padding:14px 16px;font-weight:800}.settings-disclosure[open]>summary{border-bottom:1px solid var(--border)}.settings-disclosure>div{padding-left:16px;padding-right:16px}.settings-disclosure>.check-grid{margin:0 16px 16px}
.mail-editor.mail-font-serif{font-family:Georgia,"Times New Roman",serif}.mail-editor.mail-font-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.mail-attachment-list{display:grid;gap:9px}.mail-attachment-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2)}.mail-attachment-row>div:first-child{display:flex;flex-direction:column;gap:4px}.mail-attachment-row small{color:var(--muted)}.mail-attachment-row form{display:flex;gap:7px;align-items:center}.mail-attachment-row select{min-width:180px}

.cloud-page-head{align-items:flex-start}.storage-inline{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:.78rem;padding:6px 9px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2)}
.cloud-command-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}.cloud-command-card .actions{flex-wrap:wrap}.cloud-index-line{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.78rem}.cloud-index-line strong{color:var(--text)}
.document-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.document-folder-card-wrap{position:relative;border:1px solid var(--border);border-radius:14px;background:var(--panel);transition:.15s ease}.document-folder-card-wrap:hover{border-color:var(--border-strong);transform:translateY(-1px)}.document-folder-card{display:flex;gap:12px;align-items:center;padding:16px;color:var(--text);min-height:88px}.folder-symbol{width:45px;height:39px;border-radius:8px 8px 11px 11px;background:linear-gradient(145deg,#67d4ff,#3a86f7);box-shadow:inset 0 5px 0 rgba(255,255,255,.16);position:relative;flex:none}.folder-symbol::before{content:"";position:absolute;left:4px;top:-6px;width:20px;height:8px;border-radius:5px 5px 0 0;background:#67d4ff}.document-folder-card strong{display:block}.document-folder-card small{display:block;color:var(--muted);margin-top:5px}.folder-arrow{margin-left:auto;color:var(--muted)}
.cloud-file-list{display:grid;gap:8px}.cloud-file-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:12px 13px;border:1px solid var(--border);border-radius:13px;background:var(--panel);transition:.15s ease}.cloud-file-row:hover{border-color:var(--border-strong);background:color-mix(in srgb,var(--panel) 92%,var(--primary) 8%)}.cloud-file-row.encrypted{border-left:3px solid #a78bfa}.cloud-file-row.muted-record{opacity:.68}.cloud-file-content{min-width:0}.cloud-file-actions{min-width:0}.document-versions{display:grid;gap:7px}.document-version-row,.share-record,.compact-row{padding:11px 13px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2)}.share-record{display:grid;gap:10px}.share-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.copy-label{display:block;color:var(--muted);font-size:.72rem;margin-bottom:5px}.context-menu{position:fixed;z-index:1500;min-width:210px;padding:6px;border:1px solid var(--border-strong);border-radius:11px;background:var(--panel);box-shadow:0 18px 45px rgba(0,0,0,.42)}.context-menu button{width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.context-menu button:hover{background:var(--panel-2)}.context-menu hr{border:0;border-top:1px solid var(--border);margin:5px 0}
.cloud-file-list.mode-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.cloud-file-list.mode-grid .cloud-file-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.cloud-file-list.mode-grid .cloud-file-actions{grid-column:1/-1;justify-content:flex-start}.cloud-file-list.hide-details .cloud-file-meta,.cloud-file-list.hide-details .search-snippet{display:none}.cloud-file-list.hide-previews .cloud-file-preview{width:46px;height:46px}.cloud-file-list.density-compact .cloud-file-row{padding:8px 10px}.cloud-file-list.density-comfortable .cloud-file-row{padding:16px}.cloud-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:end}.cloud-search-main{min-width:0}.cloud-select{min-width:155px}

.contact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.contact-card{padding:16px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.contact-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(75,185,255,.12);border:1px solid rgba(75,185,255,.25);font-weight:900}.contact-card .actions{grid-column:1/-1;justify-content:flex-end}.sync-address{padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.calendar-agenda{display:grid;gap:9px}.agenda-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.agenda-date{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:10px;background:var(--panel-2);font-weight:800}.agenda-date small{color:var(--muted)}.agenda-content{display:flex;flex-direction:column;gap:4px}.agenda-content small{color:var(--muted)}
.notes-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card{padding:16px;min-height:180px;border-top:3px solid var(--primary)}.note-card.note-yellow{border-top-color:#facc15}.note-card.note-green{border-top-color:#34d399}.note-card.note-purple{border-top-color:#a78bfa}.note-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.note-preview{white-space:pre-wrap;color:var(--muted);line-height:1.55;max-height:170px;overflow:hidden}

.bookshelf{display:grid;gap:26px}.bookshelf-row{display:flex;align-items:flex-end;gap:20px;overflow:auto;padding:20px 18px 31px;border-radius:15px;background:linear-gradient(180deg,rgba(74,48,30,.08),rgba(74,48,30,.24));border-bottom:13px solid #5a3a24;box-shadow:inset 0 -4px 0 #2f1f15}.book-spine{position:relative;flex:0 0 150px;height:225px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.book-cover{position:absolute;inset:0;padding:17px 13px;border-radius:5px 11px 11px 5px;background:linear-gradient(145deg,#1d4ed8,#0f766e);box-shadow:4px 7px 14px rgba(0,0,0,.42),inset 5px 0 9px rgba(0,0,0,.2);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.book-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.14),transparent 25%)}.book-spine.book-audiobook .book-cover{background:linear-gradient(145deg,#7c3aed,#be185d)}.book-spine.book-comic .book-cover{background:linear-gradient(145deg,#ea580c,#ca8a04)}.book-meta{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px}.book-meta strong{font-family:Georgia,serif;font-size:1rem;line-height:1.25}.book-meta small{color:rgba(255,255,255,.72)}
.ebook-reader{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.ebook-toc{position:sticky;top:90px;max-height:calc(100vh - 120px);overflow:auto;padding:13px}.ebook-toc a{display:block;padding:9px;border-radius:8px;color:var(--muted)}.ebook-toc a.active,.ebook-toc a:hover{background:var(--panel-2);color:var(--text)}.ebook-paper{background:#f8f4e8;color:#1e293b;border-radius:7px;min-height:70vh;padding:clamp(28px,6vw,72px);font-family:Georgia,"Times New Roman",serif;line-height:1.75;box-shadow:0 18px 50px rgba(0,0,0,.28)}.ebook-paper img{max-width:100%}.comic-reader{text-align:center}.comic-reader img{max-width:100%;height:auto;background:white}.comic-toolbar{display:flex;justify-content:center;gap:9px;position:sticky;top:76px;z-index:10;padding:10px}.audiobook-player{display:grid;grid-template-columns:180px minmax(0,1fr);gap:25px;align-items:center}.audiobook-cover{aspect-ratio:1;border-radius:18px;display:grid;place-items:center;font-size:4rem;background:linear-gradient(145deg,#7c3aed,#be185d)}.audiobook-player audio{width:100%}
.encrypted-open-card{max-width:680px;margin:35px auto;text-align:center}.encryption-shield{width:86px;height:86px;margin:0 auto 18px;display:grid;place-items:center;border-radius:24px;background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.3);font-size:2.4rem}

.app-confirm-dialog{max-width:470px}.app-confirm-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:rgba(250,204,21,.12);color:#facc15;font-size:1.4rem}

@media(max-width:760px){.mail-diagnostic-grid{grid-template-columns:1fr}.mail-toolbar{align-items:flex-start;flex-direction:column}.mail-toolbar-actions{width:100%;flex-wrap:wrap}.mail-attachment-row{align-items:flex-start;flex-direction:column}.mail-attachment-row .actions,.mail-attachment-row form{width:100%;flex-wrap:wrap}.mail-attachment-row select{flex:1;min-width:0}.cloud-search-form{grid-template-columns:1fr}.document-folder-grid{grid-template-columns:1fr 1fr}.cloud-file-list.mode-grid{grid-template-columns:1fr}.agenda-row{grid-template-columns:72px minmax(0,1fr)}.agenda-row>.actions{grid-column:1/-1}.ebook-reader{grid-template-columns:1fr}.ebook-toc{position:static;max-height:none}.audiobook-player{grid-template-columns:1fr}.audiobook-cover{max-width:220px}.book-spine{flex-basis:128px;height:195px}}
@media(max-width:480px){.document-folder-grid{grid-template-columns:1fr}.cloud-file-row{grid-template-columns:auto minmax(0,1fr)}.cloud-file-actions{grid-column:1/-1;justify-content:flex-start}.contact-grid,.notes-board{grid-template-columns:1fr}}

/* Cockpit 3.1 – document cards, folder actions and SFTP setup */
.cloud-file-row{min-width:0;overflow:hidden}
.cloud-file-row>*{min-width:0}
.cloud-select{width:20px!important;min-width:0!important;max-width:20px!important;flex:0 0 20px!important;overflow:hidden;align-self:flex-start;margin-top:3px}
.cloud-select input{width:16px;height:16px;margin:0}
.cloud-file-list.mode-grid .cloud-file-row{grid-template-columns:20px minmax(0,1fr);position:relative;overflow:hidden}
.cloud-file-list.mode-grid .cloud-file-icon{grid-column:2}
.cloud-file-list.mode-grid .cloud-file-content{grid-column:2}
.cloud-file-list.mode-grid .cloud-file-actions{grid-column:2;max-width:100%;overflow:hidden;justify-content:flex-start}
.cloud-file-actions .btn,.cloud-file-actions form{max-width:100%}
.cloud-file-actions .btn{white-space:normal;text-align:center}
.document-folder-card-wrap form{position:static}
.folder-card-actions{position:absolute;right:8px;top:8px;display:flex;align-items:center;gap:2px;z-index:3;padding:3px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--panel) 92%,transparent)}
.folder-card-actions .icon-action{width:29px;height:29px;display:grid;place-items:center;border-radius:7px;font-size:.9rem}
.folder-card-actions .icon-action:hover{background:var(--panel-2);color:var(--text)}
.folder-card-actions .icon-action.danger:hover{color:var(--danger)}
.heading-lock{font-size:.75em;color:var(--muted)}
.sftp-setup-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:16px;margin-top:18px}
.copy-inline{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.copy-inline code{overflow-wrap:anywhere}
.steps-list{margin:0;padding-left:22px;display:grid;gap:14px;color:var(--muted);line-height:1.5}.steps-list strong{color:var(--text)}
.mail-inline-diagnostics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.mail-inline-diagnostics .mail-diagnostic-card{padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--panel-2);display:flex;gap:12px;align-items:flex-start}
.mail-inline-diagnostics .mail-diagnostic-card.ok{border-color:rgba(52,211,153,.35)}
.mail-inline-diagnostics .mail-diagnostic-card.error{border-color:rgba(248,113,113,.42)}
.mail-sync-panel{padding:14px 18px}.mail-sync-copy{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px}.mail-sync-copy>div{display:flex;flex-direction:column;gap:4px}.mail-sync-copy small{color:var(--muted)}
@media(max-width:900px){.sftp-setup-grid{grid-template-columns:1fr}.mail-inline-diagnostics{grid-template-columns:1fr}}

/* Cockpit calendar and DAV account setup */
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.calendar-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-nav h2{margin:0 0 0 10px}.segmented-control{display:inline-flex;padding:4px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2)}.segmented-control a{padding:7px 11px;border-radius:8px;color:var(--muted);font-weight:750}.segmented-control a.active{background:var(--primary);color:#06111c}.dav-setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dav-setup>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.dav-setup code{overflow-wrap:anywhere;min-width:0}.dav-setup small{grid-column:1/-1;color:var(--muted)}
.calendar-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{text-align:center;padding:8px;color:var(--muted);font-size:.78rem;font-weight:800}.calendar-month-grid{border:1px solid var(--border);border-radius:15px;overflow:hidden;background:var(--border);gap:1px}.calendar-day-cell{min-height:145px;padding:9px;background:var(--panel)}.calendar-day-cell.outside{opacity:.48}.calendar-day-cell.today{box-shadow:inset 0 0 0 2px var(--primary)}.calendar-day-cell header{display:flex;justify-content:flex-end}.calendar-day-cell header a{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;color:var(--text);font-weight:800}.calendar-day-cell.today header a{background:var(--primary);color:#06111c}.calendar-cell-events{display:grid;gap:5px;margin-top:7px}.calendar-event-chip,.calendar-period-event{border:0;text-align:left;cursor:pointer;background:color-mix(in srgb,var(--primary) 13%,var(--panel-2));color:var(--text);border-left:3px solid var(--primary);border-radius:7px;padding:6px 7px;font:inherit;overflow:hidden}.calendar-event-chip{font-size:.73rem;white-space:nowrap;text-overflow:ellipsis}.calendar-event-chip span{color:var(--muted);margin-right:5px}.calendar-more{font-size:.72rem;color:var(--primary);padding-left:5px}.calendar-period-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow:auto}.calendar-period-grid.single-day{grid-template-columns:minmax(300px,800px)}.calendar-period-day{padding:12px;min-height:380px}.calendar-period-day>header{display:flex;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:10px}.calendar-period-day.today>header strong{color:var(--primary)}.calendar-period-event{display:flex;flex-direction:column;gap:3px;width:100%;padding:10px}.calendar-period-event small,.calendar-period-event span{color:var(--muted)}
@media(max-width:900px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.dav-setup{grid-template-columns:1fr}.calendar-month-grid{min-width:760px}.calendar-month{overflow:auto}.calendar-period-grid{grid-template-columns:repeat(7,minmax(210px,1fr))}}

/* Cockpit notes */
.notes-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:start}.notes-sidebar{padding:12px;position:sticky;top:90px}.notes-search{margin-bottom:10px}.notes-sidebar nav{display:grid;gap:3px}.notes-sidebar nav a{display:flex;justify-content:space-between;gap:10px;padding:10px 11px;border-radius:9px;color:var(--muted);font-weight:750}.notes-sidebar nav a.active,.notes-sidebar nav a:hover{background:var(--panel-2);color:var(--text)}.notes-sidebar small{color:var(--muted)}.notes-main{min-width:0}.note-card{display:flex;flex-direction:column}.note-rendered{color:var(--muted);line-height:1.55;max-height:260px;overflow:auto}.note-rendered p{margin:.45em 0}.note-rendered h2,.note-rendered h3,.note-rendered h4{margin:.7em 0 .35em;color:var(--text)}.note-rendered code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--panel-2);padding:2px 5px;border-radius:5px;color:var(--text)}.note-code{overflow:auto;padding:12px;border:1px solid var(--border);border-radius:10px;background:#07101d}.note-code code{padding:0;background:transparent;white-space:pre}.note-editor{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.55;tab-size:2}
@media(max-width:900px){.notes-workspace{grid-template-columns:1fr}.notes-sidebar{position:static}.notes-sidebar nav{display:flex;overflow:auto}.notes-sidebar nav a{white-space:nowrap}}

/* Cockpit 3.1 – Fotos und Medien */
.photo-albums{display:flex;gap:12px;overflow:auto;padding:4px 0 18px}.photo-album-card{min-width:190px;display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:12px}.photo-album-cover{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,var(--user-primary),var(--user-secondary));color:#03111e;font-size:24px}.photo-album-card small{display:block;color:var(--muted);margin-top:4px}.photo-month{margin-top:24px}.photo-month>header{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}.photo-month>header h2{margin:0}.photo-month>header span{color:var(--muted);font-size:.9rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.photo-tile{position:relative;min-height:210px;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.photo-media{display:block;height:210px;background:#050b15}.photo-media img,.photo-media video{width:100%;height:100%;object-fit:cover;display:block}.photo-play{position:absolute;inset:70px auto auto 50%;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(2,8,20,.72);color:#fff}.photo-overlay{position:absolute;inset:auto 0 0;padding:34px 10px 10px;background:linear-gradient(transparent,rgba(2,8,20,.95));color:#fff}.photo-overlay strong,.photo-overlay small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-overlay small{font-size:.75rem;opacity:.8;margin-top:2px}.photo-actions{display:flex;align-items:center;gap:4px;margin-top:7px}.photo-actions form{margin:0}.photo-actions .icon-action{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.15);color:#fff}.photo-album-select{display:flex!important;gap:3px;margin-left:auto!important}.photo-album-select select{max-width:92px;height:30px;font-size:.72rem;padding:2px 5px;background:rgba(2,8,20,.75);color:#fff}.bookshelf .table-empty{min-width:min(580px,100%)}
@media(max-width:760px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-media{height:170px}.photo-tile{min-height:170px}.photo-play{top:55px}}
.mail-message-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border)}.mail-message-tools form{margin:0}.mail-message-tools .inline-form{margin-left:auto}.mail-message-tools select{min-width:160px}

.mail-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:13px 16px;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem}.mail-pagination .disabled{opacity:.42;pointer-events:none}

/* Cockpit 3.2 · integrierte Organisation, Transfer, Import und Bibliothek */
.nav-label-brand{display:flex;align-items:center;gap:8px}
.nav-label-brand img{width:22px;height:22px;border-radius:7px;box-shadow:0 5px 14px rgba(14,165,233,.18)}
.page-actions>form,.page-actions form.flex{max-width:100%;flex-wrap:wrap}
.page-actions select{min-width:0;max-width:100%}
.section-tabs{flex-wrap:wrap;overflow:visible}
.section-tab{white-space:normal;text-align:center;line-height:1.2;overflow-wrap:anywhere}
.form-actions,.actions,.card-head .actions{flex-wrap:wrap}
.form-actions .btn,.actions .btn,.card-head .btn,.page-actions .btn{white-space:normal;text-align:center;line-height:1.2}
.mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px}
.profile-chip-grid,.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip-accent{border-color:color-mix(in srgb,var(--primary) 50%,var(--border));color:var(--primary)}
.import-preview{max-height:520px;overflow:auto}.import-preview table{min-width:max-content}.import-preview th{position:sticky;top:0;z-index:2;background:var(--surface-2)}

/* Menüs bleiben vollständig deckend und gut lesbar. */
.context-menu{min-width:250px;max-width:min(340px,calc(100vw - 20px));max-height:min(720px,calc(100vh - 20px));overflow:auto;background:var(--surface-2)!important;opacity:1!important;backdrop-filter:none!important;border-color:var(--border-strong);box-shadow:0 22px 60px rgba(0,0,0,.58)}
html[data-theme="light"] .context-menu{background:#fff!important;box-shadow:0 22px 60px rgba(15,23,42,.22)}
.context-menu button{display:flex;align-items:center;gap:9px;white-space:normal;line-height:1.25}
.context-menu button:hover{background:var(--surface-3)}

/* Erinnerungen */
.reminder-filter-tabs{margin-bottom:16px}.reminder-list{display:grid;gap:9px}.reminder-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:13px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.reminder-row.is-overdue{border-left:4px solid var(--red)}.reminder-row.is-complete{opacity:.62}.reminder-check-form{margin-top:3px}.reminder-check{width:20px;height:20px}.reminder-main{min-width:0}.reminder-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reminder-title-line strong{font-size:1rem}.reminder-row.is-complete .reminder-title-line strong{text-decoration:line-through}.reminder-main p{margin:6px 0;color:var(--muted);white-space:pre-wrap}.reminder-main small{display:block;margin-top:5px;color:var(--muted)}

/* Integrierter Transfer */
.connection-facts,.credential-grid,.stat-list{display:grid;gap:10px}.connection-facts>div,.credential-grid>div,.stat-list>div{display:grid;grid-template-columns:minmax(120px,.55fr) minmax(0,1fr);gap:12px;padding:11px 13px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}
.connection-facts dt,.credential-grid dt,.stat-list dt{color:var(--muted);font-size:.78rem}.connection-facts dd,.credential-grid dd,.stat-list dd{margin:0;min-width:0;overflow-wrap:anywhere;font-weight:700}.credential-reveal{border-color:rgba(45,212,191,.35);background:color-mix(in srgb,var(--teal) 8%,var(--surface-2))}.instruction-list{margin:0;padding-left:23px;display:grid;gap:12px;color:var(--muted)}.instruction-list strong{color:var(--text)}.transfer-toolbar{display:flex;justify-content:space-between;align-items:end;gap:14px;flex-wrap:wrap}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:7px;background:var(--red);box-shadow:0 0 0 4px rgba(251,113,133,.12)}.status-dot.ok{background:var(--green);box-shadow:0 0 0 4px rgba(74,222,128,.12)}

/* Bibliothek und Reader */
.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.library-toolbar .search-field{min-width:min(360px,100%)}.library-kpis{margin-bottom:18px}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:17px}.library-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.library-cover-wrap{position:relative;aspect-ratio:3/4;overflow:hidden;background:linear-gradient(145deg,var(--surface-2),var(--surface-3))}.library-cover-image{width:100%;height:100%;display:block;object-fit:cover}.library-cover-fallback,.audiobook-cover-fallback{height:100%;display:grid;place-items:center;font-size:4rem;background:radial-gradient(circle at 25% 20%,rgba(56,189,248,.24),transparent 42%),linear-gradient(145deg,#0b1e35,#13243c)}.library-progress{position:absolute;inset:auto 0 0;height:6px;background:rgba(3,7,18,.66)}.library-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--teal))}.library-card-body{display:flex;flex:1;flex-direction:column;padding:14px}.library-type-line{display:flex;justify-content:space-between;gap:8px;align-items:center;color:var(--muted);font-size:.74rem}.library-card h3{margin:9px 0 3px;font-size:1.06rem;line-height:1.25}.library-card-body>p{margin:0;color:var(--muted)}.library-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:14px}.library-detail-layout{display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr);gap:22px}.detail-cover{aspect-ratio:3/4;border-radius:15px;overflow:hidden;background:var(--surface-2)}.detail-cover img{width:100%;height:100%;object-fit:cover}.details-list{display:grid;gap:8px;margin:0}.details-list>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px}.details-list dt{color:var(--muted)}.details-list dd{margin:0}.candidate-list{display:grid;gap:9px}.candidate-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}
.reader-topbar{position:sticky;top:var(--topbar);z-index:15;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border:1px solid var(--border);border-radius:15px;background:var(--surface-2);box-shadow:0 14px 35px rgba(0,0,0,.18)}.reader-book-info{display:flex;align-items:center;gap:11px;min-width:0}.reader-book-info>div{min-width:0}.reader-book-info strong,.reader-book-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-book-info small{color:var(--muted)}.reader-format-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--primary) 15%,var(--surface-3));font-size:1.25rem}.reader-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.ebook-reader{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:18px;align-items:start}.ebook-toc{position:sticky;top:155px;max-height:calc(100vh - 175px);overflow:auto}.ebook-toc-head{display:flex;align-items:center;justify-content:space-between}.ebook-toc nav{display:grid;gap:3px}.ebook-toc a{padding:8px 9px;border-radius:8px;color:var(--muted);font-size:.82rem}.ebook-toc a.active,.ebook-toc a:hover{color:var(--text);background:var(--surface-3)}.ebook-paper{--reader-font-size:18px;max-width:860px;margin:0 auto;padding:clamp(24px,5vw,64px);border:1px solid var(--border);border-radius:18px;background:#fbf7ed;color:#25211a;box-shadow:0 25px 65px rgba(0,0,0,.18);font-family:Georgia,"Times New Roman",serif;font-size:var(--reader-font-size);line-height:1.72}.reader-theme-night .ebook-paper{background:#0c1422;color:#e5edf6}.reader-theme-sepia .ebook-paper{background:#f0e2c5;color:#3f3022}.reader-width-narrow .ebook-paper{max-width:680px}.reader-width-wide .ebook-paper{max-width:1080px}.ebook-page img{height:auto;max-width:100%}.ebook-page pre{overflow:auto}.reader-page-nav{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.reader-progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}.reader-progress-bar{height:7px;margin-top:6px;border-radius:99px;overflow:hidden;background:var(--surface-3)}.reader-progress-bar span,.reader-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--teal))}.reader-bookmarks{display:grid;gap:8px}.bookmark-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.comic-reader{display:grid;gap:14px}.comic-toolbar{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.comic-canvas{text-align:center}.comic-canvas img{max-height:calc(100vh - 190px);width:auto;border-radius:10px;box-shadow:0 20px 55px rgba(0,0,0,.35)}.comic-mode-fit-width .comic-canvas img{width:100%;max-height:none}.audiobook-player-pro{padding:20px}.audiobook-layout{display:grid;grid-template-columns:minmax(180px,300px) minmax(0,1fr);gap:25px}.audiobook-art{aspect-ratio:1;border-radius:18px;overflow:hidden;background:var(--surface-2)}.audiobook-art img{width:100%;height:100%;object-fit:cover}.audiobook-info h1{margin:.25rem 0}.audiobook-description{color:var(--muted);line-height:1.6}.audiobook-info audio{width:100%;margin-top:16px}.audio-control-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:13px}

@media(max-width:900px){.reminder-row{grid-template-columns:auto minmax(0,1fr)}.reminder-row>.actions{grid-column:2}.library-detail-layout,.audiobook-layout,.ebook-reader{grid-template-columns:1fr}.ebook-toc{position:static;max-height:260px}.reader-topbar{top:70px;align-items:flex-start}.connection-facts>div,.credential-grid>div,.stat-list>div{grid-template-columns:1fr;gap:4px}}
@media(max-width:620px){.content{padding-inline:14px}.page-actions{width:100%;justify-content:flex-start}.page-actions>form{width:100%}.page-actions select{flex:1 1 145px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.library-card-body{padding:11px}.library-card-actions .btn{width:100%}.reader-topbar{position:static;flex-direction:column}.reader-actions{justify-content:flex-start}.ebook-paper{padding:22px 17px;font-size:16px}.reminder-row>.actions{grid-column:1/-1}.library-detail-layout{grid-template-columns:1fr}.detail-cover{max-width:220px}.audiobook-art{max-width:280px}.context-menu{min-width:min(270px,calc(100vw - 20px))}}

/* Cockpit 3.2 retirement planning and responsive detail cards */
.details-grid{display:grid;gap:12px}.details-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-box{display:grid;gap:7px;min-height:94px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.detail-box span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.055em}.detail-box strong{font-size:1rem;line-height:1.35}.reader-book-info span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
@media(max-width:900px){.details-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.details-grid-3{grid-template-columns:1fr}}

.import-profile-chip{display:inline-flex;align-items:center;gap:.35rem}
.import-profile-chip form{display:inline-flex}
.chip-delete{border:0;background:transparent;color:inherit;font:inherit;font-weight:800;line-height:1;cursor:pointer;padding:0 .1rem;opacity:.72}
.chip-delete:hover{opacity:1}

/* Cockpit 3.3 · ruhige, professionelle Cloud- und Medienoberfläche */
.nav-label-icon{display:flex;align-items:center;gap:8px;padding-inline:14px}.nav-label-icon .nav-svg{width:15px;height:15px;opacity:.9}.nav-dashboard{margin-top:7px;margin-bottom:8px}.nav-dashboard .nav-link{font-weight:800}
.navigation-order-card{max-width:980px}.navigation-order-list{display:grid;gap:8px}.navigation-order-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.navigation-order-handle{color:var(--muted);letter-spacing:-3px;font-weight:900}.navigation-order-name strong,.navigation-order-name small{display:block}.navigation-order-name small{margin-top:3px;color:var(--muted)}.navigation-order-actions{display:flex;gap:5px}.navigation-order-actions .btn:disabled{opacity:.3;cursor:not-allowed}

.document-folder-card-wrap{border-radius:12px;background:var(--surface);box-shadow:none}.document-folder-card-wrap:hover{transform:none;border-color:color-mix(in srgb,var(--primary) 38%,var(--border));background:var(--surface-2)}.document-folder-card{min-height:78px;padding:14px}.folder-symbol{width:42px;height:34px;border:1.5px solid color-mix(in srgb,var(--text) 42%,var(--border));border-radius:5px;background:transparent!important;box-shadow:none!important;font-size:0!important}.folder-symbol::before{left:3px;top:-7px;width:18px;height:8px;border:1.5px solid color-mix(in srgb,var(--text) 42%,var(--border));border-bottom:0;border-radius:4px 4px 0 0;background:var(--surface)!important}.folder-symbol::after{content:"";position:absolute;inset:5px 6px 7px;border-top:1px solid color-mix(in srgb,var(--text) 24%,transparent)}

.mail-command-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.mail-command-row .mail-search{margin-left:auto}
.mail-live-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:9px 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--text);font-size:.78rem}
.mail-account-cards{display:grid;gap:10px}.mail-account-card{display:grid;gap:9px;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--muted)}.mail-account-card.active{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--text)}.mail-account-card>header{display:flex;align-items:center;gap:10px}.mail-account-card strong,.mail-account-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-account-card small{font-size:.72rem;color:var(--muted)}.mail-account-card>header>span:nth-child(2){min-width:0;flex:1}.mail-account-card-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mail-account-card-actions form{margin:0}.mail-source-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.mail-source-picker>section{min-width:0;border:1px solid var(--border);border-radius:13px;background:var(--surface-2);overflow:hidden}.mail-source-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--border)}.mail-source-head strong,.mail-source-head small{display:block}.mail-source-head small{margin-top:3px;color:var(--muted)}.mail-source-head input{width:min(220px,48%)}.mail-choice-list{max-height:250px;overflow:auto;padding:7px}.mail-choice{display:flex;align-items:flex-start;gap:10px;padding:9px;border-radius:9px}.mail-choice:hover{background:var(--surface-3)}.mail-choice span{min-width:0}.mail-choice strong,.mail-choice small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-choice small{margin-top:2px;color:var(--muted)}

.calendar-month{border:1px solid var(--border);border-radius:18px;background:var(--surface);padding:12px}.calendar-weekdays{border-bottom:1px solid var(--border);margin-bottom:1px}.calendar-weekdays span{padding:10px 8px;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.calendar-month-grid{border:0;border-radius:0;background:var(--border);gap:1px}.calendar-day-cell{min-height:132px;padding:10px;background:var(--surface);transition:background .15s ease}.calendar-day-cell:hover{background:var(--surface-2)}.calendar-day-cell.outside{opacity:1;background:color-mix(in srgb,var(--surface) 76%,var(--surface-2));color:var(--muted)}.calendar-day-cell.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 70%,transparent);z-index:1}.calendar-day-cell header{justify-content:flex-start}.calendar-day-cell header a{width:29px;height:29px;font-size:.83rem}.calendar-event-chip{display:block;width:100%;padding:6px 8px;border-left:0;border-radius:6px;background:color-mix(in srgb,var(--primary) 11%,var(--surface-2));box-shadow:inset 3px 0 0 color-mix(in srgb,var(--primary) 72%,transparent)}.calendar-event-chip:hover{background:color-mix(in srgb,var(--primary) 18%,var(--surface-2))}

.reminder-list{gap:10px}.reminder-row{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;overflow:hidden;background:var(--surface)}.reminder-row.is-overdue{border-left:1px solid var(--border);box-shadow:inset 4px 0 0 var(--red)}.reminder-check-form{margin:0}.reminder-check{width:25px;height:25px;border:1.5px solid var(--border-strong);border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--surface);font-weight:900}.reminder-row.is-complete .reminder-check{background:var(--green);border-color:var(--green)}.reminder-row>.actions{justify-content:flex-end;min-width:0}.reminder-row>.actions form{margin:0}.reminder-main{overflow:hidden}.reminder-main p{overflow-wrap:anywhere}.reminder-title-line strong{overflow-wrap:anywhere}.reminder-filter-tabs{overflow-x:auto;flex-wrap:nowrap}.reminder-filter-tabs .section-tab{white-space:nowrap}

.library-kpis .kpi-icon{font-family:inherit;font-weight:800;background:var(--surface-3);color:var(--text)}.library-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.library-card{border-radius:12px;background:var(--surface);box-shadow:none;transition:border-color .15s ease}.library-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.library-cover-wrap{background:var(--surface-2)}.library-cover-fallback,.audiobook-cover-fallback{background:var(--surface-2);font-size:2.8rem;color:var(--muted)}.library-progress span{background:var(--primary)}.library-card-body{padding:13px}.library-card h3{font-size:1rem}.library-type-line{text-transform:uppercase;letter-spacing:.055em;font-size:.68rem}

.photo-engine-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:16px}.photo-engine-icon{width:44px;height:44px;border:1px solid var(--border);border-radius:12px;display:grid;place-items:center;background:var(--surface-2);font-size:1.3rem}.photo-engine-copy strong,.photo-engine-copy p,.photo-engine-copy small{display:block}.photo-engine-copy p{margin:4px 0;color:var(--text)}.photo-engine-copy small{color:var(--muted);line-height:1.45}.photo-engine-state{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.photo-engine-state form{margin:0}.photo-album-card{border-radius:12px;background:var(--surface)}.photo-album-cover{border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--muted)}.photo-tile{border-radius:12px}.photo-overlay{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.photo-overlay>div:first-child{min-width:0}.photo-actions{flex:none}.photo-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.photo-editor-grid>section{padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.photo-editor-grid h3{margin:0 0 12px}.photo-editor-checks{display:flex;flex-direction:column;justify-content:center;gap:10px}.photo-editor-grid input[type="range"]{width:100%}

@media(max-width:900px){.mail-source-picker,.photo-editor-grid{grid-template-columns:1fr}.photo-engine-card{grid-template-columns:auto minmax(0,1fr)}.photo-engine-state{grid-column:1/-1;justify-content:flex-start}.reminder-row{grid-template-columns:34px minmax(0,1fr)}.reminder-row>.actions{grid-column:2;justify-content:flex-start}.calendar-day-cell{min-height:125px}}
@media(max-width:620px){.navigation-order-row{grid-template-columns:auto minmax(0,1fr)}.navigation-order-actions{grid-column:2}.mail-source-head{align-items:stretch;flex-direction:column}.mail-source-head input{width:100%}.photo-overlay{display:block}.photo-grid{grid-template-columns:1fr}.photo-media,.photo-tile{height:auto;min-height:240px}.photo-media{height:240px}.reminder-row>.actions{grid-column:1/-1}.calendar-month{padding:8px}}

/* Cockpit 3.8.0 – professional interactive layout foundation */
.start-launcher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.start-launcher-card{min-height:132px;padding:18px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.start-launcher-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:0 16px 40px rgba(0,0,0,.18)}.start-launcher-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 14%,var(--panel-2));border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));font-size:1.35rem}.start-launcher-copy{min-width:0;display:grid;gap:5px}.start-launcher-copy strong{font-size:1rem}.start-launcher-copy small{color:var(--muted);line-height:1.4}.start-launcher-arrow{font-size:1.35rem;color:var(--muted)}.start-settings-list,.navigation-order-list{display:grid;gap:9px}.start-settings-row,.navigation-order-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.navigation-order-handle{color:var(--muted);font-size:1.2rem}.navigation-order-name{display:grid;gap:3px}.navigation-order-actions{display:flex;gap:6px}

/* Cloud folders: action controls always own a dedicated column. */
.document-folder-grid{align-items:stretch}.document-folder-card-wrap{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:stretch!important;overflow:hidden!important;min-width:0}.document-folder-card{grid-column:1!important;min-width:0!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:17px 12px 17px 17px!important}.document-folder-card>span:nth-child(2){min-width:0!important;overflow:hidden}.document-folder-card strong,.document-folder-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-card-actions{position:static!important;grid-column:2!important;align-self:stretch!important;display:flex!important;align-items:center!important;gap:4px!important;padding:8px!important;margin:0!important;border:0!important;border-left:1px solid var(--border)!important;border-radius:0!important;background:color-mix(in srgb,var(--panel-2) 88%,transparent)!important;z-index:2}.folder-card-actions form{display:flex!important}.folder-card-actions .icon-action{flex:0 0 32px!important;width:32px!important;height:32px!important}.folder-arrow{display:none!important}

/* Unified context menus */
.global-context-menu{position:fixed;z-index:5000;min-width:210px;padding:7px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 97%,transparent);box-shadow:0 20px 60px rgba(0,0,0,.42);backdrop-filter:blur(18px)}.global-context-menu[hidden]{display:none!important}.global-context-menu button,.global-context-menu a{width:100%;display:flex;align-items:center;gap:9px;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.global-context-menu button:hover,.global-context-menu a:hover{background:var(--panel-2)}

/* Rich editors for mail and notes */
.rich-editor-shell{border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--panel)}.rich-editor-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:8px;border-bottom:1px solid var(--border);background:var(--panel-2)}.rich-editor-toolbar>span{width:1px;height:24px;background:var(--border);margin:0 3px}.rich-editor-toolbar button{min-width:31px;height:31px;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);font:inherit;cursor:pointer}.rich-editor-toolbar button:hover{background:var(--panel);border-color:var(--border)}.rich-colour-control{position:relative;width:32px;height:31px;display:grid;place-items:center;border-radius:7px;overflow:hidden;background:var(--panel);font-weight:800}.rich-colour-control input{position:absolute;inset:auto 1px 1px;width:30px;height:7px;padding:0;border:0;opacity:.9}.rich-editor{min-height:280px;padding:18px;outline:0;line-height:1.6;font-size:var(--editor-font-size,15px);overflow:auto}.rich-editor:empty::before,.rich-editor.is-empty::before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.rich-content{line-height:1.62;overflow-wrap:anywhere}.rich-content p:first-child{margin-top:0}.rich-content p:last-child{margin-bottom:0}.rich-content table,.rich-editor table{width:100%;border-collapse:collapse;margin:12px 0}.rich-content th,.rich-content td,.rich-editor th,.rich-editor td{border:1px solid var(--border);padding:8px;vertical-align:top}.rich-content blockquote,.rich-editor blockquote{margin:12px 0;padding:10px 14px;border-left:3px solid var(--primary);background:var(--panel-2)}.rich-content pre,.rich-editor pre{padding:12px;border-radius:9px;overflow:auto;background:#09101d;color:#dbeafe}.rich-checklist{list-style:none;padding-left:0}.mail-source-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.mail-source-picker>section{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.mail-source-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.mail-source-head>div{display:grid}.mail-source-head small{color:var(--muted)}.mail-choice-list{max-height:250px;overflow:auto;display:grid;gap:6px}.mail-choice{display:flex;gap:10px;align-items:flex-start;padding:9px;border-radius:9px}.mail-choice:hover{background:var(--panel)}.mail-choice span{display:grid;min-width:0}.mail-choice strong,.mail-choice small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-choice small{color:var(--muted)}

/* Notes workspace */
.notes-workspace{display:grid;grid-template-columns:245px minmax(0,1fr);gap:16px;align-items:start}.notes-sidebar{position:sticky;top:88px;padding:12px}.notes-sidebar nav{display:grid;gap:4px;margin-top:10px}.notes-sidebar nav a{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;color:var(--muted)}.notes-sidebar nav a.active,.notes-sidebar nav a:hover{background:var(--panel-2);color:var(--text)}.notes-main{min-width:0}.notes-board{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.note-card{min-width:0;min-height:220px;display:flex;flex-direction:column;gap:10px;border-top:3px solid var(--border)}.note-card.note-teal{border-top-color:#2dd4bf}.note-card.note-blue{border-top-color:#60a5fa}.note-card.note-amber{border-top-color:#fbbf24}.note-card.pinned{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent)}.note-card-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center}.note-card-head small{text-align:right;color:var(--muted)}.note-rendered{max-height:280px;overflow:auto;padding-right:4px}.note-attachment-chips{display:flex;flex-wrap:wrap;gap:6px}.note-attachment-chips a{padding:6px 9px;border-radius:999px;background:var(--panel-2);font-size:.78rem}.note-card>.actions{margin-top:auto;display:flex;flex-wrap:wrap}.note-document-choices{max-height:230px}.note-existing-row,.note-version-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--border);border-radius:9px}.note-version-row span{display:grid}.note-version-row small{color:var(--muted)}

/* Reminder cards – no overlapping checkboxes/actions */
.reminder-list{display:grid;gap:10px}.reminder-row{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;gap:14px!important;align-items:start!important;padding:15px!important;min-width:0!important;overflow:hidden!important}.reminder-check-form{width:40px;height:40px;display:grid;place-items:center}.reminder-check{width:30px;height:30px;border-radius:10px;border:2px solid color-mix(in srgb,var(--primary) 55%,var(--border));background:transparent;color:var(--text);font-weight:900;cursor:pointer}.reminder-row.is-complete{opacity:.68}.reminder-row.is-complete .reminder-check{background:var(--primary);color:#07111d}.reminder-row.is-overdue{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.reminder-main{min-width:0;display:grid;gap:7px}.reminder-main p{margin:0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.reminder-title-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.reminder-row>.actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.reminder-row>.actions form{display:flex}

/* Mail cache and professional message list */
.mail-cache-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 16px}.mail-cache-stats>div{display:grid;gap:3px;padding:13px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2)}.mail-cache-stats strong{font-size:1.3rem}.mail-cache-stats span{font-size:.78rem;color:var(--muted)}.mail-message-row{position:relative}.mail-editor{min-height:330px}.mail-font-serif .rich-editor{font-family:Georgia,serif}.mail-font-mono .rich-editor{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}

/* Library: professional cards, clean metadata and candidate selection */
.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.library-card{padding:0;overflow:hidden;display:flex;flex-direction:column;min-width:0}.library-cover-wrap{position:relative;aspect-ratio:3/4;background:linear-gradient(145deg,var(--panel-2),color-mix(in srgb,var(--primary) 10%,var(--panel)));overflow:hidden}.library-cover-image{width:100%;height:100%;object-fit:cover}.library-cover-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:3rem}.library-card-actions{position:absolute;top:9px;right:9px;display:flex;gap:6px}.library-card-body{padding:14px;display:grid;gap:8px;min-width:0}.library-card-body h3{margin:0;line-height:1.3}.library-card-body p{margin:0;color:var(--muted)}.library-summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.library-progress{height:6px;border-radius:999px;background:var(--panel-2);overflow:hidden}.library-progress span{display:block;height:100%;background:var(--primary)}.library-detail-layout{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:24px}.detail-cover{width:100%;border-radius:13px;box-shadow:0 16px 45px rgba(0,0,0,.3)}.library-description{max-height:360px;overflow:auto;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.candidate-list{display:grid;gap:10px}.candidate-row{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:13px;align-items:start;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.candidate-row img,.candidate-cover-fallback{width:74px;aspect-ratio:3/4;object-fit:cover;border-radius:8px}.candidate-cover-fallback{display:grid;place-items:center;background:var(--panel)}.candidate-copy{display:grid;gap:4px;min-width:0}.candidate-copy small{color:var(--muted)}.candidate-description{margin:4px 0 0;max-height:90px;overflow:auto;color:var(--muted);font-size:.86rem}

/* Reader – modern, distraction-free and position aware */
.reader-topbar{position:sticky;top:64px;z-index:60;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px 15px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(16px);box-shadow:0 12px 35px rgba(0,0,0,.18)}.reader-book-info{display:flex;align-items:center;gap:11px;min-width:0}.reader-book-info>span:last-child{display:grid;min-width:0}.reader-book-info strong,.reader-book-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-format-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--panel-2)}.reader-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.reader-save-state{padding:6px 9px;border-radius:999px;background:var(--panel-2);color:var(--muted);font-size:.76rem}.reader-save-state.is-saving{color:#fbbf24}.reader-save-state.is-saved{color:#34d399}.reader-progress-bar{height:4px;border-radius:999px;background:var(--panel-2);overflow:hidden}.reader-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#a78bfa)}.reader-progress-label{text-align:center;color:var(--muted);font-size:.78rem}.ebook-reader{grid-template-columns:minmax(210px,270px) minmax(0,1fr);align-items:start}.ebook-toc{border-radius:14px}.ebook-toc-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.ebook-page{display:flex;justify-content:center}.ebook-paper{width:min(100%,900px);min-height:75vh;padding:clamp(32px,6vw,82px);border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.32);transition:background .2s,color .2s,font-size .2s,line-height .2s}.reader-width-narrow .ebook-paper{max-width:680px}.reader-width-wide .ebook-paper{max-width:1120px}.reader-theme-light .ebook-paper{background:#fff;color:#172033}.reader-theme-paper .ebook-paper{background:#f8f1df;color:#29221b}.reader-theme-sepia .ebook-paper{background:#ead9b8;color:#3f2f20}.reader-theme-dark .ebook-paper{background:#111827;color:#e5e7eb}.ebook-paper ::selection{background:rgba(56,189,248,.35)}.reader-markers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reader-bookmarks,.reader-notes{min-width:0}.bookmark-row,.reading-note-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px;border:1px solid var(--border);border-radius:10px}.reading-note-excerpt{padding:8px 10px;border-left:3px solid var(--primary);background:var(--panel-2);font-style:italic;color:var(--muted)}.comic-reader{display:grid;gap:12px}.comic-canvas{display:grid;place-items:center;min-height:65vh;padding:16px;border-radius:14px;background:#090d16}.comic-canvas img{max-width:100%;max-height:calc(100vh - 180px);object-fit:contain}.audiobook-layout{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:28px;align-items:start}.audiobook-art img,.audiobook-cover-fallback{width:100%;aspect-ratio:1;object-fit:cover;border-radius:22px;box-shadow:0 22px 60px rgba(0,0,0,.35)}.audiobook-info{display:grid;gap:15px}.audiobook-player-pro{width:100%}.audio-control-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* Photos: responsive timeline, map and true editor preview */
.photo-engine-card{overflow:hidden}.engine-status-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.engine-status-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 14%,var(--panel-2));color:var(--primary);font-size:1.25rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}.photo-tile{position:relative;min-width:0;aspect-ratio:1;overflow:hidden;border-radius:12px;background:var(--panel-2)}.photo-open{width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.photo-open img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.photo-tile:hover .photo-open img{transform:scale(1.025)}.photo-tile-overlay{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:5px;align-items:end;padding:28px 8px 8px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:white}.photo-tile-overlay>div{min-width:0;display:grid}.photo-tile-overlay strong,.photo-tile-overlay small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-tile-overlay small{opacity:.78}.photo-tile-overlay form{display:flex}.photo-world-map{position:relative;aspect-ratio:2/1;max-height:620px;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#0b1e35,#102a44)}.photo-world-map svg{width:100%;height:100%}.photo-world-map path{fill:rgba(148,163,184,.24);stroke:rgba(148,163,184,.4);stroke-width:1}.photo-map-pins{position:absolute;inset:0}.photo-map-pin{position:absolute;transform:translate(-50%,-50%);min-width:28px;height:28px;padding:0 7px;border:2px solid white;border-radius:999px;background:#ef4444;color:white;font-weight:900;box-shadow:0 4px 14px rgba(0,0,0,.4);cursor:pointer}.photo-map-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px;margin-top:12px}.photo-map-result{display:grid;grid-template-columns:60px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:10px}.photo-map-result img{width:60px;height:60px;object-fit:cover;border-radius:8px}.photo-map-result span{display:grid;min-width:0}.dialog-photo-view{width:min(1180px,94vw)}.photo-view-body{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;padding:0 18px 18px}.photo-view-body>img{width:100%;max-height:78vh;object-fit:contain;border-radius:12px;background:#05070c}.dialog-photo-editor{width:min(1320px,96vw);max-height:94vh}.photo-editor-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);gap:16px;padding:0 16px 16px;max-height:calc(94vh - 72px)}.photo-preview-stage{position:relative;min-height:500px;display:grid;place-items:center;overflow:hidden;border-radius:14px;background:repeating-conic-gradient(#111827 0 25%,#0b1220 0 50%) 50%/24px 24px}.photo-preview-stage canvas,.photo-preview-stage img{max-width:100%;max-height:calc(94vh - 120px);object-fit:contain}.photo-preview-label{position:absolute;left:10px;top:10px;padding:5px 8px;border-radius:999px;background:rgba(0,0,0,.62);color:white;font-size:.75rem}.photo-preview-actions{position:absolute;right:10px;top:10px;display:flex;gap:5px}.photo-editor-controls{overflow:auto;padding:4px 4px 4px 0}.photo-transform-row{display:grid;gap:9px;padding-bottom:12px}.photo-range{display:grid;gap:5px;margin:11px 0}.photo-range>span{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem}.photo-range input{width:100%}.photo-crop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 0}.photo-crop-grid>strong{grid-column:1/-1}.photo-crop-grid label{display:grid;gap:4px;font-size:.78rem;color:var(--muted)}

/* PDF Studio */
.pdf-tool-picker{display:grid;gap:7px}.pdf-tool-choice{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);cursor:pointer}.pdf-tool-choice:has(input:checked){border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--primary) 9%,var(--panel-2))}.pdf-tool-choice span{display:grid}.pdf-tool-choice small{color:var(--muted)}.pdf-document-list{max-height:440px;overflow:auto;display:grid;gap:6px}.pdf-tool-panel{display:grid;gap:14px}.pdf-studio-help{display:grid;gap:9px}.engine-status{display:flex;gap:10px;align-items:center}.engine-status-icon{flex:0 0 auto}

@media(max-width:1000px){.notes-workspace,.pdf-studio-grid,.photo-editor-layout,.photo-view-body,.audiobook-layout{grid-template-columns:1fr}.notes-sidebar{position:static}.photo-editor-layout{max-height:none}.photo-editor-controls{overflow:visible}.photo-preview-stage{min-height:380px}.reader-markers{grid-template-columns:1fr}.engine-status-row{grid-template-columns:auto minmax(0,1fr)}.engine-status-row form{grid-column:1/-1}.mail-cache-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.mail-source-picker,.library-detail-layout,.ebook-reader{grid-template-columns:1fr}.reader-topbar{position:static;grid-template-columns:1fr}.reader-actions{justify-content:flex-start}.candidate-row{grid-template-columns:58px minmax(0,1fr)}.candidate-row>:last-child{grid-column:1/-1}.candidate-row img,.candidate-cover-fallback{width:58px}.reminder-row{grid-template-columns:38px minmax(0,1fr)!important}.reminder-row>.actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.photo-view-body{padding:0 10px 10px}.photo-crop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-folder-card-wrap{grid-template-columns:minmax(0,1fr) 43px!important}.folder-card-actions{flex-direction:column!important;justify-content:center!important}.mail-cache-stats{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.start-launcher-grid,.library-grid,.photo-grid,.notes-board{grid-template-columns:1fr}.mail-cache-stats{grid-template-columns:1fr}.photo-tile{aspect-ratio:4/3}.rich-editor-toolbar{max-height:115px;overflow:auto}.start-settings-row,.navigation-order-row{grid-template-columns:auto minmax(0,1fr)}.navigation-order-actions{grid-column:2}.photo-preview-stage{min-height:280px}}

/* --------------------------------------------------------------------------
   Cockpit 3.5 – professional workspaces, stable action columns and media UI
   -------------------------------------------------------------------------- */
.btn-xs{min-height:30px;padding:5px 9px;border-radius:9px;font-size:.76rem}.icon-only{min-width:34px;padding-inline:8px;display:inline-grid;place-items:center}.text-danger{color:var(--red)!important}.text-success{color:var(--green)!important}.grow{flex:1 1 auto}.block{display:block}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-18{margin-bottom:18px}
.bulk-toolbar{position:sticky;top:calc(var(--topbar) + 8px);z-index:22;display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--surface-2) 92%,var(--primary) 8%);box-shadow:0 12px 34px rgba(0,0,0,.22)}.bulk-toolbar[hidden]{display:none!important}.bulk-toolbar strong{margin-right:auto}.bulk-toolbar select,.bulk-toolbar input:not([type=checkbox]){width:auto;min-width:170px;min-height:36px}.selection-check{position:relative;flex:none;width:24px;height:24px;display:grid;place-items:center}.selection-check input{position:absolute;opacity:0;pointer-events:none}.selection-check span{width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:5px;background:var(--surface-2);display:grid;place-items:center}.selection-check input:checked+span{border-color:var(--primary);background:var(--primary)}.selection-check input:checked+span:after{content:'✓';color:#04111d;font-size:.75rem;font-weight:950}.selection-check-label{width:auto;display:flex;gap:8px;align-items:center;cursor:pointer}.selection-check-label span{flex:none}

/* Cloud file manager */
.cloud-manager{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:16px;align-items:start}.cloud-tree-panel{position:sticky;top:calc(var(--topbar) + 18px);max-height:calc(100vh - var(--topbar) - 36px);overflow:hidden;display:flex;flex-direction:column;padding:0}.cloud-tree-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid var(--border)}.cloud-tree-head>div{display:grid;gap:2px}.cloud-tree-head small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.67rem}.cloud-tree{padding:10px;overflow:auto;display:grid;gap:2px}.cloud-tree-node{display:grid}.cloud-tree-link{min-height:38px;display:grid;grid-template-columns:calc(var(--tree-depth,0)*14px) 13px 22px minmax(0,1fr) auto;gap:5px;align-items:center;padding:6px 8px;border-radius:9px;color:var(--muted)}.cloud-tree-link:hover,.cloud-tree-link.active{background:rgba(56,189,248,.10);color:var(--text)}.cloud-tree-link.active{box-shadow:inset 3px 0 0 var(--primary)}.cloud-tree-indent{width:calc(var(--tree-depth,0)*14px)}.cloud-tree-chevron{color:var(--muted-2)}.cloud-tree-folder{color:var(--primary);font-size:1.05rem}.cloud-tree-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-tree-link small{color:var(--muted-2)}.cloud-tree-shortcuts{display:grid;gap:3px;padding:10px;border-top:1px solid var(--border)}.cloud-tree-shortcuts a{display:flex;gap:9px;padding:8px 10px;border-radius:9px;color:var(--muted)}.cloud-tree-shortcuts a:hover{background:rgba(148,163,184,.08);color:var(--text)}.cloud-storage-card{margin:0 12px 12px;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-3);display:grid;gap:3px}.cloud-storage-card small{color:var(--muted)}
.cloud-browser-panel{padding:0;overflow:hidden}.cloud-browser-head{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid var(--border)}.cloud-browser-actions{display:flex;gap:7px;flex-wrap:wrap}.cloud-browser-search{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:8px;padding:13px 16px;border-bottom:1px solid var(--border);background:rgba(148,163,184,.025)}.cloud-browser-search .search-field{min-width:0}.cloud-bulk-toolbar{margin:12px 16px 0}.cloud-folder-section,.cloud-file-section{padding:14px 16px}.cloud-list-title{display:flex;align-items:center;gap:8px;margin:0 0 8px}.cloud-list-title small{color:var(--muted)}.cloud-folder-list,.cloud-file-list{display:grid;gap:5px}.cloud-folder-row,.cloud-file-row{position:relative;display:grid;grid-template-columns:28px minmax(260px,1fr) minmax(90px,.2fr) minmax(105px,.25fr) 48px;gap:10px;align-items:center;min-height:58px;padding:6px 7px;border:1px solid transparent;border-radius:11px}.cloud-folder-row:hover,.cloud-file-row:hover{border-color:var(--border);background:rgba(148,163,184,.045)}.cloud-row-main{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center}.cloud-row-icon{width:42px;height:42px;border:1px solid var(--border);border-radius:10px;display:grid;place-items:center;background:var(--surface-3);font-size:.82rem;font-weight:900;color:var(--muted)}.cloud-row-icon.folder{color:var(--primary);font-size:1.25rem}.cloud-row-copy{min-width:0;display:grid;gap:3px}.cloud-row-copy strong,.cloud-row-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-row-copy small,.cloud-row-meta{color:var(--muted);font-size:.77rem}.cloud-row-menu{width:42px;display:flex;justify-content:flex-end}.cloud-column-labels{display:grid;grid-template-columns:28px minmax(260px,1fr) minmax(90px,.2fr) minmax(105px,.25fr) 48px;gap:10px;padding:7px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.cloud-browser-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border);color:var(--muted)}

/* OneNote inspired notes */
.onenote-workspace{display:grid;grid-template-columns:220px 290px minmax(0,1fr);min-height:680px;overflow:hidden;padding:0}.onenote-notebooks,.onenote-pages{border-right:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 92%,var(--bg) 8%);min-width:0}.onenote-column-head{min-height:62px;padding:13px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.onenote-column-head>div{display:grid}.onenote-column-head small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.onenote-notebooks nav,.onenote-page-list{display:grid;gap:3px;padding:10px;max-height:calc(100vh - 250px);overflow:auto}.note-section-link,.onenote-page-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;padding:10px;border:1px solid transparent;border-radius:10px;color:var(--muted)}.note-section-link:hover,.note-section-link.active,.onenote-page-item:hover,.onenote-page-item.active{color:var(--text);background:rgba(56,189,248,.09);border-color:rgba(56,189,248,.14)}.notebook-icon{width:28px;height:32px;border-radius:5px;background:linear-gradient(145deg,var(--purple),#6d28d9);display:grid;place-items:center;color:white}.onenote-page-item>span{min-width:0;display:grid}.onenote-page-item strong,.onenote-page-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onenote-page-item small{color:var(--muted)}.onenote-canvas{min-width:0;background:var(--surface);display:flex;flex-direction:column}.onenote-canvas-head{min-height:62px;padding:10px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:10px;align-items:center}.onenote-paper{padding:26px clamp(18px,4vw,54px);overflow:auto;flex:1;background-image:linear-gradient(rgba(148,163,184,.035) 1px,transparent 1px);background-size:100% 30px}.onenote-paper .rich-editor-shell{max-width:1000px;margin:auto}.onenote-attachments,.onenote-versions{max-width:1000px;margin:16px auto 0;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.note-version-list,.note-existing-attachments{display:flex;flex-wrap:wrap;gap:7px}.onenote-empty{display:grid;place-items:center;text-align:center;min-height:560px;padding:40px;color:var(--muted)}.onenote-app-mark{font-size:3rem;color:var(--purple)}

/* Journal */
.journal-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.journal-sidebar{position:sticky;top:calc(var(--topbar) + 18px);padding:16px}.journal-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.journal-stat{padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-3);display:grid}.journal-stat strong{font-size:1.35rem}.journal-stat small{color:var(--muted)}.journal-filter-form{display:grid;gap:10px;margin-top:14px}.journal-prompt-card{margin-top:14px;padding:14px;border-radius:13px;background:linear-gradient(145deg,rgba(167,139,250,.16),rgba(56,189,248,.08));border:1px solid rgba(167,139,250,.22)}.journal-prompt-card p{color:var(--muted)}.journal-main{min-width:0}.journal-timeline{display:grid;gap:12px}.journal-entry{display:grid;grid-template-columns:68px minmax(0,1fr);gap:14px;padding:0;overflow:hidden}.journal-date-rail{padding:18px 10px;border-right:1px solid var(--border);display:grid;align-content:start;justify-items:center}.journal-date-rail strong{font-size:1.55rem}.journal-date-rail span{color:var(--muted);font-size:.75rem}.journal-entry-body{min-width:0;padding:17px 17px 14px 0}.journal-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.journal-entry-kicker{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:.76rem}.journal-entry h2{margin:5px 0 8px}.journal-rich-content{overflow-wrap:anywhere}.journal-media-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.journal-file-chip{padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-3)}.journal-entry-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding-top:11px;border-top:1px solid var(--border)}.journal-private-note{color:var(--muted);font-size:.75rem}.journal-entry-locked{min-height:160px;display:grid;place-items:center;text-align:center}.journal-locked-copy{color:var(--muted)}

/* PDF Studio */
.pdf-category-sidebar{position:sticky;top:calc(var(--topbar) + 18px);overflow:hidden;padding:0}.pdf-category-head{padding:16px;border-bottom:1px solid var(--border);display:grid}.pdf-category-head small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.pdf-category-sidebar nav{display:grid;padding:9px}.pdf-category-sidebar nav button{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;text-align:left;padding:10px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.pdf-category-sidebar nav button:hover,.pdf-category-sidebar nav button.active{background:rgba(56,189,248,.10);color:var(--text)}.pdf-category-sidebar nav button span{font-size:1.05rem;color:var(--primary)}.pdf-privacy-card{margin:8px 12px 12px;padding:12px;border:1px solid var(--border);border-radius:11px;display:flex;gap:9px}.pdf-privacy-card>span{color:var(--green)}.pdf-privacy-card p{margin:0;display:grid}.pdf-privacy-card small{color:var(--muted)}.pdf-workbench-main{overflow:hidden;padding:0}.pdf-workbench-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--border)}.pdf-workbench-head small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.pdf-workbench-head h2{margin:2px 0 0}.pdf-selected-tool{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-3)}.pdf-tool-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:8px;padding:14px;border-bottom:1px solid var(--border)}.pdf-tool-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);cursor:pointer}.pdf-tool-card:hover,.pdf-tool-card.active{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--surface-2) 92%,var(--primary) 8%)}.pdf-tool-card input{position:absolute;opacity:0}.pdf-tool-icon,.pdf-file-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:rgba(56,189,248,.10);color:var(--primary);font-weight:900}.pdf-tool-card>span:nth-child(3){min-width:0;display:grid}.pdf-tool-card small{color:var(--muted)}.pdf-tool-card em{font-style:normal;color:var(--muted)}.pdf-configurator{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(340px,1.2fr);gap:0}.pdf-source-panel,.pdf-options-panel{min-width:0;padding:15px}.pdf-source-panel{border-right:1px solid var(--border)}.pdf-panel-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.pdf-panel-title>div{display:flex;align-items:center;gap:8px}.pdf-panel-title small{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--surface-3);color:var(--primary)}.pdf-panel-title>span{color:var(--muted)}.pdf-document-list{display:grid;gap:5px;max-height:420px;overflow:auto;margin-top:8px}.pdf-document-choice{display:grid;grid-template-columns:auto 38px minmax(0,1fr);gap:9px;align-items:center;padding:9px;border:1px solid var(--border);border-radius:10px}.pdf-document-choice>span:last-child{min-width:0;display:grid}.pdf-document-choice strong,.pdf-document-choice small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-document-choice small{color:var(--muted)}.pdf-crop-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.pdf-crop-fields label{display:grid;gap:4px;color:var(--muted);font-size:.75rem}.pdf-workbench-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px;border-top:1px solid var(--border)}.pdf-workbench-footer p{margin:0;color:var(--muted)}.dialog-pdf-expert{width:min(1540px,98vw);height:min(940px,96vh);padding:0}.dialog-pdf-expert .dialog-head{min-height:76px}.dialog-pdf-expert .dialog-head p{margin:3px 0 0;color:var(--muted)}.pdf-expert-frame-wrap{height:calc(96vh - 80px);background:#fff}.pdf-expert-frame-wrap iframe{width:100%;height:100%;border:0;background:#fff}

/* Contacts, calendar and reminders */
.contacts-search{display:flex;gap:8px}.contacts-search .search-field{flex:1 1 420px}.contact-grid.professional{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.contact-card-pro{position:relative;display:grid;grid-template-columns:24px 50px minmax(0,1fr) auto;gap:12px;align-items:start;padding:15px;min-width:0}.contact-card-copy{min-width:0;display:grid;gap:4px}.contact-name-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.contact-name-line h3{margin:0}.contact-card-copy>a,.contact-card-copy>p{color:var(--muted);overflow-wrap:anywhere;margin:0}.contact-actions{display:flex;align-items:center;gap:6px}.calendar-context-event{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:3px;align-items:center;border-left:3px solid var(--primary);border-radius:8px;background:color-mix(in srgb,var(--primary) 11%,var(--surface-2));overflow:hidden}.calendar-event-main{min-width:0;display:grid;gap:2px;padding:8px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.calendar-context-event.compact .calendar-event-main{grid-template-columns:auto minmax(0,1fr);align-items:center;padding:5px 6px;font-size:.72rem}.calendar-event-main small,.calendar-event-main span{color:var(--muted)}.calendar-event-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-menu{align-self:stretch;border:0;border-left:1px solid rgba(148,163,184,.12);background:transparent;color:var(--muted);cursor:pointer}.calendar-event-menu:hover{background:rgba(148,163,184,.10);color:var(--text)}.calendar-day-cell header{justify-content:space-between;align-items:center}.calendar-day-cell header span{font-size:.64rem;color:var(--primary);font-weight:800}.agenda-row-pro{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:16px;align-items:center;padding:11px 14px}.agenda-row-pro .agenda-content{min-width:0}.agenda-row-pro h3{margin:5px 0 2px}.agenda-row-pro p,.agenda-row-pro small{margin:0;color:var(--muted)}.reminder-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reminder-summary{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:15px}.reminder-summary-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(56,189,248,.10);color:var(--primary);font-size:1.2rem;font-weight:900}.reminder-summary.warning .reminder-summary-icon{background:rgba(251,113,133,.11);color:var(--red)}.reminder-summary div{display:grid}.reminder-summary small,.reminder-summary p{color:var(--muted);margin:0}.reminder-summary strong{font-size:1.45rem}.reminder-row-pro{display:grid;grid-template-columns:24px 34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;min-width:0}.reminder-row-pro.is-overdue{box-shadow:inset 4px 0 0 var(--red)}.reminder-row-pro.is-complete{opacity:.65}.reminder-row-pro .reminder-check{width:29px;height:29px;border-radius:9px;border:1.5px solid var(--border-strong);background:transparent}.reminder-row-pro.is-complete .reminder-check{background:var(--green);color:#04110b}.reminder-actions{display:flex;align-items:center;gap:6px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.7rem}.chip.link{color:var(--primary)}.chip-danger{color:var(--red);border-color:rgba(251,113,133,.35)}

/* Stable photo/video presentation */
.photo-preview-stage canvas,.photo-preview-stage [data-photo-preview-image]{display:block;width:auto;height:auto;max-width:100%;max-height:calc(94vh - 130px);object-fit:contain}.photo-preview-stage canvas[hidden],.photo-preview-stage [data-photo-preview-image][hidden]{display:none!important}.photo-preview-loading{position:absolute;inset:auto 50% 50%;transform:translate(50%,50%);z-index:4;max-width:340px;padding:10px 14px;border:1px solid var(--border);border-radius:11px;background:rgba(3,7,18,.88);color:white;text-align:center}.photo-preview-loading[hidden]{display:none}.photo-view-body video{width:100%;max-height:78vh;border-radius:12px;background:#000}.video-play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.62);color:white;border:1px solid rgba(255,255,255,.45)}.video-duration{position:absolute;right:8px;top:8px;padding:3px 6px;border-radius:6px;background:rgba(0,0,0,.68);color:white;font-size:.68rem}.photo-tile.is-video .photo-open{position:relative;display:block}.photo-tile-overlay{min-height:74px}.photo-tile-overlay>div:first-child{overflow:hidden}.photo-map-card .card-body{overflow:hidden}

@media(max-width:1180px){.cloud-manager{grid-template-columns:230px minmax(0,1fr)}.cloud-folder-row,.cloud-file-row,.cloud-column-labels{grid-template-columns:28px minmax(220px,1fr) 105px 48px}.cloud-folder-row>.cloud-row-meta:nth-of-type(1),.cloud-file-row>.cloud-row-meta:nth-of-type(1),.cloud-column-labels>*:nth-child(3){display:none}.onenote-workspace{grid-template-columns:190px 250px minmax(0,1fr)}.pdf-configurator{grid-template-columns:1fr}.pdf-source-panel{border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:960px){.cloud-manager,.journal-workspace,.pdf-workbench{grid-template-columns:1fr}.cloud-tree-panel,.journal-sidebar,.pdf-category-sidebar{position:static;max-height:none}.cloud-tree{max-height:260px}.onenote-workspace{grid-template-columns:170px minmax(0,1fr)}.onenote-pages{display:none}.contact-grid.professional{grid-template-columns:1fr}.contact-card-pro{grid-template-columns:24px 46px minmax(0,1fr)}.contact-actions{grid-column:3;justify-content:flex-start}.reminder-summary-grid{grid-template-columns:1fr 1fr}.agenda-row-pro{grid-template-columns:72px minmax(0,1fr)}.agenda-row-pro>.actions{grid-column:2;justify-content:flex-start}.photo-editor-layout{grid-template-columns:1fr}.photo-preview-stage{min-height:420px}.photo-editor-controls{max-height:none}}
@media(max-width:700px){.cloud-browser-search{grid-template-columns:1fr 1fr}.cloud-browser-search .search-field{grid-column:1/-1}.cloud-folder-row,.cloud-file-row{grid-template-columns:28px minmax(0,1fr) 42px}.cloud-row-meta,.cloud-column-labels{display:none}.cloud-browser-head{align-items:flex-start;flex-direction:column}.cloud-browser-actions{width:100%}.cloud-browser-actions .btn{flex:1}.onenote-workspace{grid-template-columns:1fr}.onenote-notebooks{display:none}.onenote-paper{padding:18px 12px}.journal-entry{grid-template-columns:54px minmax(0,1fr)}.pdf-tool-catalog{grid-template-columns:1fr}.pdf-workbench-footer{align-items:stretch;flex-direction:column}.pdf-crop-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.contacts-search{flex-wrap:wrap}.contact-card-pro{grid-template-columns:24px 42px minmax(0,1fr);padding:12px}.contact-actions{grid-column:1/-1;justify-content:flex-end}.reminder-summary-grid{grid-template-columns:1fr}.reminder-row-pro{grid-template-columns:24px 34px minmax(0,1fr)}.reminder-actions{grid-column:3;justify-content:flex-start;flex-wrap:wrap}.agenda-row-pro{grid-template-columns:60px minmax(0,1fr)}.bulk-toolbar{top:8px}.photo-preview-stage{min-height:300px}}

/* Cockpit 3.5 – Medien-Mehrfachauswahl */
.photo-bulk-form{margin-top:.75rem;margin-bottom:.5rem}.photo-bulk-toolbar{position:sticky;top:4.4rem;z-index:20;box-shadow:0 18px 50px rgba(2,8,23,.38)}
.photo-tile{position:relative}.photo-selection-check{position:absolute;z-index:8;left:.65rem;top:.65rem;padding:.35rem;border-radius:.65rem;background:rgba(4,10,24,.78);backdrop-filter:blur(10px);opacity:.2;transition:.16s ease}.photo-tile:hover .photo-selection-check,.photo-selection-check:has(input:checked){opacity:1}.photo-selection-check input:focus-visible+span{outline:2px solid var(--primary)}

/* ======================================================================
   Cockpit 3.6 – final professional UI and interaction corrections
   ====================================================================== */

/* Cloud file manager */
.cloud-manager{grid-template-columns:minmax(260px,310px) minmax(0,1fr);gap:18px}
.cloud-tree-panel{border-radius:16px;overflow:hidden}
.cloud-tree{display:block;padding:10px 8px;max-height:calc(100vh - var(--topbar) - 250px);overflow:auto}
.cloud-tree-root-row,.cloud-tree-row{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;min-width:0}
.cloud-tree-row{padding-left:calc(var(--tree-depth,0) * 16px)}
.cloud-tree-indent{display:none}
.cloud-tree-toggle,.cloud-tree-toggle-placeholder{width:20px;height:32px;display:grid;place-items:center;flex:0 0 20px}
.cloud-tree-toggle{padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:6px}
.cloud-tree-toggle:hover{background:rgba(148,163,184,.10);color:var(--text)}
.cloud-tree-toggle svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease;transform:rotate(90deg)}
.cloud-tree-node.is-collapsed>.cloud-tree-row .cloud-tree-toggle svg{transform:rotate(0deg)}
.cloud-tree-node.is-collapsed>.cloud-tree-children{display:none}
.cloud-tree-link{min-width:0;min-height:36px;display:grid!important;grid-template-columns:25px minmax(0,1fr) auto!important;gap:8px!important;align-items:center;padding:5px 8px!important;border-radius:9px;color:var(--muted);text-decoration:none}
.cloud-tree-link:hover,.cloud-tree-link.active{background:color-mix(in srgb,var(--primary) 10%,var(--surface-2));color:var(--text)}
.cloud-tree-link.active{box-shadow:inset 3px 0 0 var(--primary)}
.cloud-tree-icon{position:relative;width:23px;height:23px;display:grid;place-items:center;color:#56bffa}
.cloud-tree-icon svg{display:block;width:22px;height:22px;fill:currentColor}
.cloud-tree-icon.colour-blue,.cloud-row-icon.colour-blue{color:#60a5fa}.cloud-tree-icon.colour-teal,.cloud-row-icon.colour-teal{color:#2dd4bf}.cloud-tree-icon.colour-green,.cloud-row-icon.colour-green{color:#4ade80}.cloud-tree-icon.colour-amber,.cloud-row-icon.colour-amber{color:#fbbf24}.cloud-tree-icon.colour-red,.cloud-row-icon.colour-red{color:#fb7185}.cloud-tree-icon.colour-purple,.cloud-row-icon.colour-purple{color:#a78bfa}.cloud-tree-icon.colour-slate,.cloud-row-icon.colour-slate{color:#94a3b8}
.cloud-tree-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-tree-link small{font-variant-numeric:tabular-nums;color:var(--muted-2)}
.folder-lock-mark{position:absolute;right:-1px;bottom:1px;width:8px;height:8px;border:2px solid var(--surface-2);border-radius:50%;background:var(--amber);font-size:0}
.cloud-browser-head{gap:12px;flex-wrap:wrap}.cloud-browser-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cloud-browser-actions form{margin:0}
.cloud-browser-search{align-items:end}.cloud-browser-panel{overflow:visible}
.cloud-folder-list,.cloud-file-list{display:grid;gap:3px;padding:0 14px 14px}
.cloud-folder-row,.cloud-file-row{border:1px solid transparent;border-radius:10px;transition:background .15s ease,border-color .15s ease;overflow:visible}
.cloud-folder-row:hover,.cloud-file-row:hover{background:rgba(148,163,184,.055);border-color:var(--border)}
.cloud-row-main{min-width:0;text-decoration:none;color:inherit;cursor:pointer}.cloud-row-main:hover .cloud-row-copy strong{color:var(--primary)}
.cloud-row-icon{overflow:hidden}.cloud-row-icon svg{width:30px;height:30px;fill:currentColor}.cloud-row-icon.preview img{display:block;width:100%;height:100%;object-fit:cover;border-radius:7px}
.cloud-row-menu{position:relative;display:flex;justify-content:flex-end;z-index:3}.cloud-row-menu>.btn{min-width:36px}
.global-context-menu{position:fixed;z-index:10000;min-width:210px;padding:6px;border:1px solid var(--border-strong);border-radius:12px;background:color-mix(in srgb,var(--surface) 96%,#000 4%);box-shadow:0 20px 55px rgba(0,0,0,.42);backdrop-filter:blur(18px)}
.global-context-menu[hidden]{display:none!important}.global-context-menu button,.global-context-menu a{width:100%;display:flex;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.global-context-menu button:hover,.global-context-menu a:hover{background:rgba(148,163,184,.11)}
.cloud-browser-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;color:var(--muted);font-size:.78rem}

/* PDF studio */
.pdf-engine-banner .engine-status-row{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 18px}.pdf-engine-banner .engine-status-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(56,189,248,.10);color:var(--primary);font-size:0}.pdf-engine-banner .engine-status-icon::after{content:'PDF';font-size:.8rem;font-weight:900;letter-spacing:.04em}
.pdf-category-sidebar{overflow:hidden}.pdf-category-list{display:grid;gap:4px;padding:9px}.pdf-category-list button{min-width:0;width:100%;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.pdf-category-list button:hover,.pdf-category-list button.active{background:color-mix(in srgb,var(--primary) 11%,var(--surface-2));color:var(--text)}
.pdf-tool-card{min-height:76px;cursor:pointer;user-select:none}.pdf-tool-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));transform:translateY(-1px)}.pdf-tool-card.is-active{border-color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 45%,transparent);background:color-mix(in srgb,var(--primary) 8%,var(--surface-2))}
.pdf-options-panel>.field,.pdf-options-panel>.form-grid{max-width:none}.pdf-document-choice{cursor:pointer}.pdf-document-choice:has(input:checked){border-color:var(--primary);background:rgba(56,189,248,.07)}


/* Photos and videos */
.media-page-head{margin-bottom:10px}.photo-engine-card{margin-top:10px;margin-bottom:10px}.photo-engine-card .engine-status-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 16px}.photo-engine-card .engine-status-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(56,189,248,.09);color:var(--primary)}.photo-engine-card p{margin:3px 0 0;line-height:1.45;color:var(--muted)}
.photo-tabs{margin-top:0}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.photo-tile{min-width:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.photo-open{display:block;width:100%;height:230px;padding:0;border:0;background:var(--surface-2);cursor:pointer}.photo-open img{display:block;width:100%;height:100%;object-fit:cover}.photo-tile-overlay{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:10px}.photo-tile-overlay strong,.photo-tile-overlay small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dialog-photo-editor{width:min(1380px,96vw);height:min(900px,94vh);overflow:hidden}.dialog-photo-editor form{height:calc(100% - 72px)}.photo-editor-layout{height:100%;grid-template-columns:minmax(0,1.45fr) minmax(350px,.75fr)}.photo-preview-stage{position:relative;min-width:0;min-height:520px;display:grid;place-items:center;overflow:hidden;background-color:#07101f;background-image:linear-gradient(45deg,#0d1728 25%,transparent 25%),linear-gradient(-45deg,#0d1728 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#0d1728 75%),linear-gradient(-45deg,transparent 75%,#0d1728 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}.photo-preview-stage img,.photo-preview-stage canvas{max-width:calc(100% - 28px);max-height:calc(100% - 28px);width:auto;height:auto;object-fit:contain;box-shadow:0 20px 55px rgba(0,0,0,.36)}.photo-preview-actions{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:6}.photo-preview-label{position:absolute;top:12px;left:12px;z-index:6;padding:5px 9px;border-radius:999px;background:rgba(2,6,23,.78);color:#fff;font-size:.7rem}.photo-editor-controls{overflow:auto;padding:16px 18px}.photo-range{display:grid;gap:6px;margin-bottom:14px}.photo-range>span{display:flex;justify-content:space-between;color:var(--muted);font-size:.76rem}.photo-range input{width:100%}.photo-crop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.photo-crop-grid>strong{grid-column:1/-1}.photo-crop-grid label{display:grid;gap:5px;color:var(--muted);font-size:.72rem}

/* OneNote-inspired notes */
.onenote-workspace{grid-template-columns:220px 290px minmax(0,1fr);gap:1px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--border);min-height:640px}.onenote-workspace>.card{border:0;border-radius:0;box-shadow:none;background:var(--surface)}
.onenote-notebooks{padding:0}.onenote-notebooks>header{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.onenote-notebooks>header>div{display:grid;gap:2px}.onenote-notebooks>header small{color:var(--muted);font-size:.7rem}.onenote-notebooks>header strong{font-size:.92rem}.onenote-app-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#8b5cf6,#6d28d9);color:white;font-size:1.25rem}
.notes-search{padding:12px}.onenote-notebooks nav{display:grid;gap:3px;padding:0 8px 12px}.onenote-notebooks nav a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:9px 10px;border-radius:9px;color:var(--muted)}.onenote-notebooks nav a:hover,.onenote-notebooks nav a.active{background:rgba(139,92,246,.11);color:var(--text)}.onenote-notebooks nav a>span:last-child{display:grid;min-width:0}.onenote-notebooks nav strong,.onenote-notebooks nav small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onenote-notebooks nav small{color:var(--muted-2)}.note-section-link{padding-left:22px!important}
.onenote-pages{min-width:0}.onenote-column-head{min-height:72px;padding:13px 15px;border-bottom:1px solid var(--border)}.onenote-page-list{display:grid;gap:3px;padding:8px}.onenote-page-item{display:grid;grid-template-columns:23px minmax(0,1fr) 34px;align-items:center;border:1px solid transparent;border-radius:10px;overflow:hidden}.onenote-page-item:hover,.onenote-page-item.active{background:rgba(148,163,184,.07);border-color:var(--border)}.onenote-page-item>a{min-width:0;padding:10px 3px;display:grid;grid-template-columns:5px minmax(0,1fr);gap:9px;color:inherit}.onenote-page-item>a>span:last-child{display:grid;gap:3px;min-width:0}.onenote-page-item strong,.onenote-page-item small,.onenote-page-item em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onenote-page-item small,.onenote-page-item em{color:var(--muted);font-size:.7rem}.onenote-page-item em{font-style:normal}
.onenote-canvas{min-width:0}.onenote-canvas-head{padding:18px 22px;border-bottom:1px solid var(--border)}.onenote-paper{min-height:450px;padding:34px 42px;background:linear-gradient(90deg,transparent 39px,rgba(139,92,246,.09) 40px,transparent 41px),var(--surface)}.onenote-empty{min-height:540px;display:grid;place-items:center;align-content:center;gap:12px;text-align:center;color:var(--muted)}

/* Journal */
.journal-summary{gap:10px}.journal-summary>article{min-width:0}.journal-prompt-card{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important}.journal-prompt-card small{color:var(--muted)}.journal-prompt-card strong{min-width:0;line-height:1.4}.journal-workspace{grid-template-columns:240px minmax(0,1fr);gap:16px}.journal-sidebar{min-width:0}.journal-entry{overflow:hidden}.journal-entry-head{gap:12px}.journal-document-field{min-width:0}.document-picker-search{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding-left:10px}.document-picker-search input{border:0;background:transparent}.journal-document-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:260px;overflow:auto;margin-top:8px;padding:2px}.journal-document-choice{min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);cursor:pointer}.journal-document-choice:has(input:checked){border-color:var(--primary);background:rgba(56,189,248,.07)}.journal-document-choice>span{min-width:0;display:grid}.journal-document-choice strong,.journal-document-choice small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-document-choice small{color:var(--muted)}

/* Reminders */
.reminder-filter-tabs{margin-top:12px;flex-wrap:wrap}.reminder-list.professional{display:grid;gap:9px}.reminder-row-pro{border-radius:13px;overflow:visible}.reminder-main{min-width:0}.reminder-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reminder-main p{margin:6px 0;color:var(--muted);white-space:pre-wrap}.reminder-actions{justify-content:flex-end;flex-wrap:wrap}.reminder-row-pro .reminder-check{display:grid;place-items:center;color:var(--text);cursor:pointer}

/* Library */
.library-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.library-summary article{display:flex;align-items:baseline;gap:8px;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.library-summary strong{font-size:1.25rem}.library-summary span{color:var(--muted)}.library-toolbar{gap:12px;align-items:center;flex-wrap:wrap}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:15px}.library-card{min-width:0;overflow:hidden}.library-cover{display:block;position:relative;aspect-ratio:2/3;background:linear-gradient(145deg,var(--surface-2),var(--surface-3));overflow:hidden}.library-cover img{width:100%;height:100%;object-fit:cover}.library-card-body{display:grid;gap:7px;padding:13px}.library-card-body h3,.library-card-body p{margin:0}.library-card-body h3 a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.library-card-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}.library-description,.candidate-description{line-height:1.62}.library-description p:first-child,.candidate-description p:first-child{margin-top:0}

/* Mail */
.mail-folder-nav a{display:flex!important;align-items:center;justify-content:space-between;gap:12px;min-width:0}.mail-folder-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-folder-count{flex:0 0 auto;min-width:26px;padding:2px 7px;border-radius:999px;background:rgba(148,163,184,.10);color:var(--muted);font-size:.7rem;text-align:center;font-variant-numeric:tabular-nums}.mail-folder-count:empty{display:none}.mail-toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.action-menu{position:relative}.action-menu>summary{list-style:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu[open]>div{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:220px;padding:6px;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:0 18px 45px rgba(0,0,0,.35)}.action-menu[open]>div>*{width:100%;justify-content:flex-start;margin:0}
.mail-body{padding:28px 30px;background:#fff;color:#111827;overflow:auto}.mail-body-html{max-width:980px;line-height:1.55}.mail-body-html img{max-width:100%;height:auto}.mail-body-html table{max-width:100%;border-collapse:collapse}.mail-body-html a{color:#2563eb;text-decoration:underline}.mail-body-plain{white-space:pre-wrap;line-height:1.65;color:var(--text)}.mail-detail .mail-body-plain{color:#111827}.mail-attachment-row{gap:14px;flex-wrap:wrap}.mail-attachment-row>.actions{flex-wrap:wrap}
/* ⭐ 14.08.2026: Nachricht läuft im Sandbox-iframe (originalgetreues Mail-Layout). */
.mail-frame{display:block;width:100%;border:0;min-height:240px;background:transparent}
.mail-detail .mail-message-surface:has(.mail-frame){padding:10px 12px}

/* Settings hub */
.settings-page-tabs{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:6px;padding:8px}.settings-page-tabs>a{min-width:0;grid-template-columns:28px minmax(0,1fr);align-items:center;padding:10px;border-radius:10px}.settings-page-tabs>a>span:last-child{min-width:0;display:grid}.settings-page-tabs strong,.settings-page-tabs small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-page-tabs small{font-size:.63rem}

/* Calendar month */
.calendar-toolbar-card{overflow:visible}.calendar-month{padding:0;border-radius:16px;overflow:hidden}.calendar-weekdays{background:var(--surface-2);margin:0}.calendar-weekdays span{padding:7px 8px;font-size:.68rem}.calendar-month-grid{gap:1px;background:var(--border)}.calendar-day-cell{position:relative;min-height:108px;padding:4px 5px;background:var(--surface)}.calendar-day-cell:hover{background:color-mix(in srgb,var(--surface) 92%,var(--primary) 8%)}.calendar-day-cell.outside{background:color-mix(in srgb,var(--surface) 85%,var(--surface-2));opacity:.72}.calendar-day-cell.today{box-shadow:inset 0 0 0 2px var(--primary)}.calendar-day-cell header{min-height:22px}.calendar-day-cell header a{font-size:.74rem}.calendar-context-event.compact{grid-template-columns:minmax(0,1fr) 24px}.calendar-context-event.compact .calendar-event-main{grid-template-columns:42px minmax(0,1fr);gap:5px;padding:5px 6px}.calendar-context-event.compact .calendar-event-main small{font-size:.62rem}.calendar-context-event.compact .calendar-event-main strong{font-size:.7rem}.calendar-event-menu{width:24px;padding:0}

/* Responsive corrections */
@media(max-width:1280px){.pdf-tool-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-page-tabs{grid-template-columns:repeat(4,minmax(145px,1fr))}.onenote-workspace{grid-template-columns:200px 260px minmax(0,1fr)}}
@media(max-width:980px){.cloud-manager,.journal-workspace{grid-template-columns:1fr}.cloud-tree-panel{position:static;max-height:none}.cloud-tree{max-height:360px}.photo-engine-card .engine-status-row{grid-template-columns:38px minmax(0,1fr)}.photo-engine-card form{grid-column:2}.photo-editor-layout{grid-template-columns:1fr}.dialog-photo-editor{height:96vh}.photo-preview-stage{min-height:380px}.onenote-workspace{grid-template-columns:190px minmax(0,1fr)}.onenote-pages{display:none}.settings-page-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.pdf-tool-catalog,.journal-document-picker,.library-summary{grid-template-columns:1fr}.cloud-manager{gap:10px}.cloud-folder-row,.cloud-file-row{grid-template-columns:28px minmax(0,1fr) 40px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-open{height:190px}.onenote-workspace{display:block}.onenote-notebooks{border-bottom:1px solid var(--border)}.onenote-paper{padding:24px 18px}.journal-prompt-card{grid-template-columns:1fr!important}.reminder-summary-grid{grid-template-columns:1fr}.settings-page-tabs{grid-template-columns:1fr}.calendar-month{overflow:auto}.calendar-weekdays,.calendar-month-grid{min-width:820px}}
.settings-page-tabs strong{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}.settings-page-tabs small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}.settings-page-tabs>a{min-height:64px}
.cloud-tree-icon.colour-orange,.cloud-row-icon.colour-orange{color:#fb923c}.cloud-tree-icon.colour-pink,.cloud-row-icon.colour-pink{color:#f472b6}
.context-menu{background:color-mix(in srgb,var(--surface) 97%,#000 3%)!important;border-color:var(--border-strong)!important;box-shadow:0 20px 55px rgba(0,0,0,.46)!important;opacity:1!important}

/* Cockpit 3.6 – Bibliotheksauswahl und dateibezogene Aktionen */
.library-bulk-form{margin-bottom:0}.library-bulk-toolbar{margin-bottom:0}.library-card{position:relative}.library-selection-check{position:absolute;z-index:4;left:10px;top:10px;padding:7px;border-radius:10px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(8px);box-shadow:0 4px 14px rgba(0,0,0,.16)}.library-card:has(.library-selection-check input:checked){outline:2px solid var(--primary);outline-offset:2px}.library-card:has(.library-selection-check input:checked) .library-cover-wrap{filter:saturate(.9)}

/* Cockpit 3.8 – interaction and layout polish */
.eyebrow{font-size:.78rem!important;line-height:1.45!important;padding-top:2px;letter-spacing:.085em!important;overflow:visible!important}
.cloud-content-section{min-width:0}.cloud-content-list{display:grid}.cloud-content-list>.cloud-folder-row,.cloud-content-list>.cloud-file-row{border-bottom:1px solid var(--border)}.cloud-content-list>.cloud-folder-row:last-child,.cloud-content-list>.cloud-file-row:last-child{border-bottom:0}.cloud-folder-row[draggable=true],.cloud-file-row[draggable=true]{cursor:grab}.cloud-folder-row.is-dragging,.cloud-file-row.is-dragging{opacity:.45}.cloud-tree-link.is-drop-target,.cloud-folder-row.is-drop-target{outline:2px solid var(--primary);background:color-mix(in srgb,var(--primary) 13%,var(--surface-2))}.cloud-tree-link.is-drop-target .cloud-tree-icon{transform:scale(1.08)}
.folder-picker{max-height:380px;overflow:auto;display:grid;gap:3px;padding:5px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.folder-picker-row{display:grid;grid-template-columns:22px 25px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px 9px calc(10px + var(--folder-depth,0)*18px);border-radius:9px;cursor:pointer}.folder-picker-row:hover,.folder-picker-row:has(input:checked){background:color-mix(in srgb,var(--primary) 11%,var(--surface-3));color:var(--text)}.folder-picker-row input{margin:0}.folder-picker-icon{color:var(--primary)}
.attachment-dropzone{display:flex!important;align-items:center;gap:12px;min-height:78px;padding:14px 16px!important;border:1px dashed var(--border-strong)!important;border-radius:13px;background:color-mix(in srgb,var(--surface-2) 92%,transparent);cursor:pointer}.attachment-dropzone:hover,.attachment-dropzone.is-dragover{border-color:var(--primary)!important;background:color-mix(in srgb,var(--primary) 8%,var(--surface-2))}.attachment-dropzone.has-files{border-style:solid!important;border-color:var(--teal)!important}.attachment-dropzone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.attachment-drop-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--primary) 15%,var(--surface-3));color:var(--primary);font-size:1.25rem}.attachment-dropzone>span:last-of-type{display:grid;gap:3px}.attachment-dropzone small{color:var(--muted)}
.attachment-library{margin-top:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);overflow:hidden}.attachment-library>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;font-weight:800}.attachment-library>summary small{font-weight:500;color:var(--muted)}.attachment-library .mail-source-picker{margin:0;padding:0 12px 12px}.mail-source-picker>section{background:var(--surface)!important}.mail-choice-list{max-height:220px!important}.mail-choice{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:center!important;border:1px solid transparent}.mail-choice:hover,.mail-choice:has(input:checked){border-color:var(--border);background:var(--surface-3)}
.note-attachment-panel{grid-column:1/-1;border:1px solid var(--border);border-radius:15px;background:var(--surface-2);overflow:hidden}.note-attachment-panel-head{padding:13px 15px;border-bottom:1px solid var(--border)}.note-attachment-panel-head strong,.note-attachment-panel-head small{display:block}.note-attachment-panel-head small{margin-top:3px;color:var(--muted)}.note-attachment-sources{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:12px;padding:14px}.note-cloud-picker{min-width:0;border:1px solid var(--border);border-radius:13px;background:var(--surface);overflow:hidden}.note-cloud-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--border)}.note-cloud-picker-head strong,.note-cloud-picker-head small{display:block}.note-cloud-picker-head small{color:var(--muted);margin-top:2px}.note-cloud-picker-head .search-field{max-width:270px}.note-document-choices{max-height:240px;overflow:auto;padding:7px;display:grid;gap:4px}.note-document-choice{display:grid;grid-template-columns:22px 42px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:1px solid transparent;border-radius:10px;cursor:pointer}.note-document-choice:hover,.note-document-choice:has(input:checked){background:var(--surface-3);border-color:var(--border)}.note-document-choice>span:last-child{min-width:0;display:grid}.note-document-choice strong,.note-document-choice small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-document-choice small{color:var(--muted)}.note-file-mark{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:var(--panel-2);color:var(--primary);font-size:.65rem;font-weight:900}.note-current-attachments{padding:0 14px 14px}.note-existing-attachments{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:7px}.note-existing-row{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto!important}.note-remove-attachment{white-space:nowrap;color:var(--muted);font-size:.78rem}
.photo-preview-loading[hidden]{display:none!important}.photo-preview-stage [data-photo-preview-image]{transition:filter .08s linear,transform .12s ease,clip-path .12s ease;transform-origin:center center}.photo-preview-actions .btn{background:rgba(2,6,23,.64);color:#fff;border-color:rgba(255,255,255,.22)}
.ebook-page{position:relative;min-width:0;overflow:hidden;padding:0}.ebook-page-viewport{height:clamp(560px,72vh,860px);overflow:hidden;scroll-behavior:smooth}.ebook-paper.paginated{--ebook-column-width:760px;width:auto;max-width:none!important;height:100%;min-height:0!important;margin:0!important;padding:clamp(30px,5vw,62px)!important;column-width:var(--ebook-column-width);column-gap:0;column-fill:auto;overflow:visible;border:0;border-radius:0;box-shadow:none}.ebook-paper.paginated>*{break-inside:avoid-column}.ebook-page-arrow{position:absolute;z-index:8;top:50%;transform:translateY(-50%);width:46px;height:70px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);font-size:2rem;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.22)}.ebook-page-arrow:hover{background:var(--primary);color:#06111c}.ebook-page-arrow.previous{left:10px}.ebook-page-arrow.next{right:10px}.ebook-page-arrow.disabled{opacity:.25;pointer-events:none}.ebook-page-status{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:flex;gap:10px;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);font-size:.72rem;color:var(--muted);z-index:8}.ebook-chapter-title{break-after:avoid-column}
.service-state{display:inline-flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.76rem;white-space:nowrap}.service-state i{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(251,113,133,.12)}.service-state.ok i{background:var(--green);box-shadow:0 0 0 4px rgba(74,222,128,.12)}.transfer-toolbar.professional{align-items:center;padding:12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.transfer-toolbar.professional .field{margin:0;min-width:280px}.transfer-toolbar.professional .checkbox{padding:8px 10px}
@media(max-width:900px){.note-attachment-sources{grid-template-columns:1fr}.note-cloud-picker-head{align-items:stretch;flex-direction:column}.note-cloud-picker-head .search-field{max-width:none}.attachment-library>summary{align-items:flex-start;flex-direction:column}.ebook-reader{grid-template-columns:1fr}.ebook-toc{position:static;max-height:220px}.ebook-page-viewport{height:68vh}}
/* Cockpit 3.8 – hierarchischer Speichern-unter-Dialog */
.folder-browser-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.folder-browser-shell{position:relative;min-width:0;width:100%}
.folder-browser-button{width:100%;min-height:48px;display:grid;grid-template-columns:36px minmax(0,1fr) 22px;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--border);border-radius:11px;background:var(--input);color:var(--text);text-align:left;cursor:pointer}
.folder-browser-button:hover,.folder-browser-button[aria-expanded="true"]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--input))}
.folder-browser-button-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--primary) 13%,var(--surface-3));color:var(--primary)}
.folder-browser-button-copy{min-width:0;display:grid;gap:1px}.folder-browser-button-copy small{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.folder-browser-button-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.folder-browser-caret{color:var(--muted);font-size:1.1rem;text-align:center}
.folder-browser-panel{position:absolute;z-index:120;left:0;right:0;top:calc(100% + 6px);max-height:min(430px,55vh);border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.46);overflow:hidden}
.folder-browser-panel[hidden]{display:none!important}.folder-browser-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-bottom:1px solid var(--border);background:var(--surface-2)}.folder-browser-panel-head span{display:grid}.folder-browser-panel-head small{color:var(--muted);margin-top:2px}
.folder-browser-list{max-height:350px;overflow:auto;padding:6px}.folder-browser-option{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) 22px;align-items:center;gap:8px;padding:9px 10px 9px calc(10px + var(--folder-depth,0)*18px);border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.folder-browser-option:hover,.folder-browser-option.selected{background:color-mix(in srgb,var(--primary) 11%,var(--surface-3))}.folder-browser-option-icon{color:var(--primary)}.folder-browser-option i{visibility:hidden;color:var(--teal);font-style:normal;font-weight:900}.folder-browser-option.selected i{visibility:visible}
.mail-attachment-row form .folder-browser-shell{min-width:220px}.mail-attachment-row form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.attachment-file-summary{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.attachment-file-summary[hidden]{display:none!important}.attachment-file-summary>span{display:grid;grid-template-columns:34px minmax(90px,1fr) auto;align-items:center;gap:8px;max-width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.attachment-file-summary i{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--surface-3);color:var(--primary);font-size:.58rem;font-style:normal;font-weight:900}.attachment-file-summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-file-summary small{color:var(--muted)}
/* EPUB pagination: prose may break naturally between pages; only visual blocks stay intact. */
.ebook-paper.paginated>*{break-inside:auto}
.ebook-paper.paginated img,.ebook-paper.paginated figure,.ebook-paper.paginated table,.ebook-paper.paginated pre,.ebook-paper.paginated blockquote{break-inside:avoid-column;max-width:100%}
.ebook-paper.paginated p,.ebook-paper.paginated li{orphans:3;widows:3}

/* Cockpit 3.8 – compact, professional interaction system */
.search-field>span,.field>.search-field>span,.contacts-search>span{display:none!important}.search-field{position:relative}.search-field:before{content:"⌕";position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;line-height:1}.search-field input{padding-left:38px!important}
.selection-check{width:18px!important;height:18px!important;min-width:18px!important;padding:0!important;display:inline-grid!important;place-items:center!important;border-radius:5px!important}.selection-check input{width:14px!important;height:14px!important;margin:0!important}.selection-check span{width:14px!important;height:14px!important;border-radius:4px!important}.photo-selection-check,.library-selection-check{left:8px!important;top:8px!important;padding:3px!important;border-radius:6px!important}
.cloud-content-list{display:flex!important;flex-direction:column!important;min-width:0}.cloud-content-list>.cloud-folder-row,.cloud-content-list>.cloud-file-row{display:grid!important;grid-template-columns:22px 44px minmax(180px,1fr) minmax(76px,.28fr) 110px 48px!important;gap:12px!important;align-items:center!important;min-width:0!important;padding:10px 14px!important}.cloud-content-list .cloud-row-main{min-width:0!important}.cloud-content-list .cloud-row-main strong,.cloud-content-list .cloud-row-main small{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.cloud-content-list .cloud-row-meta{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cloud-content-list .cloud-row-actions{justify-self:end}.cloud-content-list .cloud-file-thumb,.cloud-content-list .cloud-folder-icon{width:40px!important;height:40px!important;min-width:40px!important}.cloud-column-labels{grid-template-columns:22px 44px minmax(180px,1fr) minmax(76px,.28fr) 110px 48px!important;padding:8px 14px!important}.cloud-content-list[data-view="grid"]{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;gap:12px!important;padding:14px!important}.cloud-content-list[data-view="grid"]>.cloud-folder-row,.cloud-content-list[data-view="grid"]>.cloud-file-row{display:grid!important;grid-template-columns:20px 52px minmax(0,1fr) 38px!important;grid-template-rows:auto auto!important;gap:8px!important;min-height:104px!important;padding:14px!important;border:1px solid var(--border)!important;border-radius:14px!important;background:var(--surface-2)!important}.cloud-content-list[data-view="grid"] .cloud-row-meta{grid-column:2/4!important}.cloud-content-list[data-view="grid"] .cloud-row-date{display:none!important}.cloud-content-list[data-view="grid"] .cloud-row-actions{grid-column:4!important;grid-row:1!important}.cloud-content-list[data-view="grid"] .cloud-row-main strong,.cloud-content-list[data-view="grid"] .cloud-row-main small{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}.cloud-content-section{padding-left:0!important}.cloud-browser-card{overflow:hidden}.cloud-browser-head,.cloud-browser-search{padding-left:16px!important;padding-right:16px!important}
.photo-image-frame{position:relative;display:grid;place-items:center;max-width:calc(100% - 28px);max-height:calc(100% - 28px)}.photo-image-frame>img,.photo-image-frame>canvas{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain}.photo-crop-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(2,6,23,.58),0 0 0 1px rgba(0,0,0,.55);cursor:move;z-index:8;touch-action:none}.photo-crop-box:before,.photo-crop-box:after{content:"";position:absolute;inset:33.333% 0;border-top:1px solid rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.55);pointer-events:none}.photo-crop-box:after{inset:0 33.333%;border:0;border-left:1px solid rgba(255,255,255,.55);border-right:1px solid rgba(255,255,255,.55)}.photo-crop-box i{position:absolute;width:16px;height:16px;border:2px solid #fff;background:var(--primary);border-radius:50%;z-index:2}.photo-crop-box i[data-crop-handle="nw"]{left:-9px;top:-9px;cursor:nwse-resize}.photo-crop-box i[data-crop-handle="ne"]{right:-9px;top:-9px;cursor:nesw-resize}.photo-crop-box i[data-crop-handle="sw"]{left:-9px;bottom:-9px;cursor:nesw-resize}.photo-crop-box i[data-crop-handle="se"]{right:-9px;bottom:-9px;cursor:nwse-resize}.photo-text-preview{position:absolute;z-index:7;max-width:80%;white-space:pre-wrap;font-weight:700;text-shadow:0 2px 4px #000,0 0 2px #000;pointer-events:none}.photo-text-preview[data-position="top-left"]{left:4%;top:4%}.photo-text-preview[data-position="top-center"]{left:50%;top:4%;transform:translateX(-50%);text-align:center}.photo-text-preview[data-position="top-right"]{right:4%;top:4%;text-align:right}.photo-text-preview[data-position="center"]{left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}.photo-text-preview[data-position="bottom-left"]{left:4%;bottom:4%}.photo-text-preview[data-position="bottom-center"]{left:50%;bottom:4%;transform:translateX(-50%);text-align:center}.photo-text-preview[data-position="bottom-right"]{right:4%;bottom:4%;text-align:right}.photo-tool-group{border:1px solid var(--border);border-radius:14px;padding:12px;margin:0 0 14px;background:var(--surface-2)}.photo-tool-group legend{padding:0 7px;font-weight:800}.photo-aspect-row{display:flex;gap:6px;flex-wrap:wrap}.photo-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-filter-card{position:relative;display:grid;gap:5px;text-align:center;cursor:pointer;font-size:.72rem}.photo-filter-card input{position:absolute;opacity:0}.photo-filter-card:has(input:checked){color:var(--primary)}.photo-filter-card:has(input:checked) .photo-filter-swatch{outline:2px solid var(--primary);outline-offset:2px}.photo-filter-swatch{height:52px;border-radius:10px;background:linear-gradient(135deg,#38bdf8,#f59e0b)}.filter-vivid{filter:saturate(1.4) contrast(1.1)}.filter-warm{filter:sepia(.35) saturate(1.15)}.filter-cool{filter:hue-rotate(18deg)}.filter-fade{filter:contrast(.8) saturate(.75)}.filter-mono{filter:grayscale(1)}.filter-noir{filter:grayscale(1) contrast(1.45)}.filter-sepia{filter:sepia(1)}.filter-vintage{filter:sepia(.65) contrast(.88)}.photo-text-options{display:grid;grid-template-columns:1fr 90px 70px;gap:8px;margin-top:8px}.photo-text-options label{display:grid;gap:4px;font-size:.72rem;color:var(--muted)}
.photo-discovery-panel .professional-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.ai-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.ai-media-card{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface-2)}.ai-media-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.ai-media-card div{padding:10px;display:grid}.ai-media-card small{color:var(--muted)}.photo-people-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px}.photo-person-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border-radius:10px}.photo-person-row:hover,.photo-person-row.active{background:var(--surface-3)}.photo-person-row img{width:48px;height:48px;border-radius:50%;object-fit:cover}.photo-person-row span{display:grid;min-width:0}.photo-person-row small{color:var(--muted)}.photo-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;padding:14px}.photo-folder-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--border);border-radius:13px;padding:12px;background:var(--surface-2)}.photo-folder-icon{width:42px;height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(56,189,248,.12);color:var(--primary)}.photo-folder-card span:last-child{display:grid}.photo-folder-card small{color:var(--muted)}.upload-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-choice{position:relative;display:grid;gap:4px;padding:16px;border:1px dashed var(--border-strong);border-radius:13px;cursor:pointer;background:var(--surface-2)}.upload-choice:hover{border-color:var(--primary)}.upload-choice input{margin-top:8px}.photo-tile{min-width:0}.photo-tile-overlay strong,.photo-tile-overlay small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachment-library,.note-attachment-panel,.journal-document-picker,.mail-attachment-picker{font-size:.9rem}.note-document-choice,.attachment-choice,.journal-document-choice{padding:7px!important;min-height:46px!important}.check-row,.check-list label{min-height:38px!important}.check-row input,.check-list input[type="checkbox"]{width:15px!important;height:15px!important;margin:0!important}.eyebrow{font-size:.76rem!important;line-height:1.35!important;padding-top:2px!important;letter-spacing:.055em!important}
@media(max-width:900px){.cloud-content-list>.cloud-folder-row,.cloud-content-list>.cloud-file-row{grid-template-columns:20px 40px minmax(0,1fr) 42px!important}.cloud-content-list .cloud-row-meta,.cloud-content-list .cloud-row-date{display:none!important}.photo-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-people-layout{grid-template-columns:1fr}.photo-people-list{max-height:300px;overflow:auto}.upload-choice-grid{grid-template-columns:1fr}}
.pdf-direct-upload:hover{border-color:var(--primary)}.pdf-direct-upload span{color:var(--muted);font-size:.76rem}.pdf-direct-upload input{margin-top:7px}
.journal-date-range{display:grid;grid-template-columns:1fr 1fr;gap:7px}.journal-private-note{margin-top:12px!important;padding-top:12px!important;border-top:1px solid var(--border)}.journal-filter-form{gap:10px!important}.journal-filter-form .actions{margin-top:2px}

/* Cockpit 3.8 - compact, reliable list and tile layouts */
.cloud-content-list > .cloud-folder-row,
.cloud-content-list > .cloud-file-row {
  grid-template-columns: 22px minmax(0,1fr) 92px 128px 42px !important;
  width: 100%;
  box-sizing: border-box;
}
.cloud-content-list .cloud-row-main {
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
}
.cloud-content-list .cloud-row-copy {min-width:0!important;overflow:hidden!important}
.cloud-content-list .cloud-row-copy strong,
.cloud-content-list .cloud-row-copy small {max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cloud-content-list .cloud-row-meta {display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cloud-content-list .cloud-row-menu {justify-self:end;min-width:36px}
.cloud-column-labels {display:grid!important;grid-template-columns:92px 128px!important;gap:12px!important;margin-left:auto!important}
.cloud-content-list[data-view="grid"],
.cloud-content-list.mode-grid {grid-template-columns:repeat(auto-fill,minmax(245px,1fr))!important;align-items:stretch}
.cloud-content-list[data-view="grid"] > .cloud-folder-row,
.cloud-content-list[data-view="grid"] > .cloud-file-row,
.cloud-content-list.mode-grid > .cloud-folder-row,
.cloud-content-list.mode-grid > .cloud-file-row {
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr) 38px!important;
  grid-template-rows:minmax(58px,auto) auto!important;
  gap:9px!important;
  min-width:0!important;
  min-height:118px!important;
  overflow:hidden!important;
}
.cloud-content-list[data-view="grid"] .cloud-row-main,
.cloud-content-list.mode-grid .cloud-row-main {grid-template-columns:48px minmax(0,1fr)!important;min-width:0!important}
.cloud-content-list[data-view="grid"] .cloud-row-meta,
.cloud-content-list.mode-grid .cloud-row-meta {grid-column:2/4!important;display:inline-flex!important;flex-direction:row!important;gap:7px!important;font-size:.72rem!important;color:var(--muted)!important;min-width:0!important}
.cloud-content-list[data-view="grid"] .cloud-row-menu,
.cloud-content-list.mode-grid .cloud-row-menu {grid-column:3!important;grid-row:1!important;align-self:start!important}
.cloud-content-list[data-view="grid"] .cloud-row-copy strong,
.cloud-content-list.mode-grid .cloud-row-copy strong {display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;white-space:normal!important;line-height:1.25!important}
.cloud-content-list[data-view="grid"] .cloud-row-copy small,
.cloud-content-list.mode-grid .cloud-row-copy small {white-space:nowrap!important}
.cloud-list-title {padding-left:16px!important;padding-right:16px!important}
.cloud-content-section {min-width:0!important;overflow:hidden!important}

/* Search glyphs are drawn only inside the input. Never leave a loose icon above it. */
.search-field > span,
.document-picker-search > span,
.contacts-search > span,
.notes-search > span,
.mail-search > span {display:none!important}
.search-field::before,
.document-picker-search::before {content:""!important;display:none!important}
.search-field input,
.document-picker-search input {padding-left:13px!important}
.search-field {min-width:0}

/* More compact, less prominent checkboxes throughout content pickers. */
input[type="checkbox"] {accent-color:var(--primary)}
.selection-check {width:16px!important;height:16px!important;min-width:16px!important;padding:0!important;justify-self:start!important}
.selection-check input,.selection-check span {width:13px!important;height:13px!important;min-width:13px!important}
.check-row,.note-document-choice,.journal-document-choice,.attachment-choice {align-items:center!important}
.check-row > input,.note-document-choice > input,.journal-document-choice > input,.attachment-choice > input {width:14px!important;height:14px!important;min-width:14px!important;margin:0 8px 0 0!important}

/* Transfer spacing and table controls. */
.instruction-list {display:grid;gap:9px;margin-top:16px!important;padding-left:22px!important;line-height:1.45}
.connection-facts + .instruction-list {border-top:1px solid var(--border);padding-top:15px}
.transfer-toolbar.professional {align-items:end!important;gap:12px!important}
.transfer-toolbar .checkbox {align-self:center!important;white-space:nowrap}
.transfer-toolbar input[type="checkbox"],.table-wrap input[type="checkbox"] {width:14px!important;height:14px!important}

/* Polished mail list, compact but readable. */
.mail-layout{grid-template-columns:230px minmax(0,1fr)!important;gap:14px!important}
.mail-sidebar{overflow:hidden}.mail-folder-nav a{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;padding:9px 12px!important}.mail-folder-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-folder-count{min-width:24px;text-align:center;padding:2px 7px;border-radius:999px;background:var(--surface-3);font-size:.72rem}.mail-message-row{grid-template-columns:minmax(150px,.42fr) minmax(0,1fr) 132px!important;padding:10px 14px!important;min-height:56px!important}.mail-sender,.mail-subject,.mail-subject strong,.mail-subject span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-message-row.unread{box-shadow:inset 3px 0 var(--primary)}
.mail-search{min-width:min(390px,45vw)!important}.mail-search .search-field input{width:100%!important}
.mail-message-surface{background:var(--panel)!important;color:var(--text)!important;border-color:var(--border)!important}.mail-message-surface.theme-light{background:#fff!important;color:#111827!important}.mail-message-surface.theme-dark{background:#111827!important;color:#f8fafc!important}.mail-message-surface.theme-auto{background:var(--panel)!important;color:var(--text)!important}

/* Compact attachment/document pickers */
.note-document-choices,.journal-document-picker,.mail-document-picker,.mail-library-picker{max-height:310px!important;overflow:auto!important;display:grid!important;gap:5px!important;padding:6px!important}
.note-document-choice,.journal-document-choice,.attachment-choice{grid-template-columns:14px 42px minmax(0,1fr)!important;min-height:44px!important;padding:7px 9px!important;border-radius:9px!important}
.note-cloud-picker,.journal-document-field,.mail-attachment-picker{padding:12px!important}

/* Calendar and contacts polish */
.calendar-month-grid{gap:1px!important;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden}.calendar-day{background:var(--panel)!important;min-height:126px!important;padding:9px!important}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--primary)}.calendar-event-chip{border-radius:7px!important;padding:5px 7px!important;font-size:.74rem!important}
.contacts-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;gap:12px!important}.contact-card{min-width:0!important;overflow:hidden!important}

/* Journal filter alignment */
.journal-filter-form .field{gap:5px}.journal-filter-form label{font-size:.74rem;color:var(--muted)}.journal-private-note{display:block!important;line-height:1.5!important}.journal-private-note strong{margin-right:4px}

@media(max-width:900px){
 .cloud-content-list > .cloud-folder-row,.cloud-content-list > .cloud-file-row{grid-template-columns:18px minmax(0,1fr) 36px!important}.cloud-content-list .cloud-row-meta{display:none!important}.cloud-column-labels{display:none!important}.mail-layout{grid-template-columns:1fr!important}.mail-sidebar{max-height:240px;overflow:auto}.mail-message-row{grid-template-columns:minmax(0,1fr) 90px!important}.mail-sender{grid-column:1}.mail-subject{grid-column:1}.mail-date{grid-column:2;grid-row:1/3}.mail-search{min-width:0!important;width:100%!important}
}
.photo-auto-enhance{display:grid;grid-template-columns:16px minmax(0,1fr);gap:9px;align-items:start;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);margin:8px 0 12px}.photo-auto-enhance input{width:14px!important;height:14px!important;margin-top:2px!important}.photo-auto-enhance span{display:grid;gap:2px}.photo-auto-enhance small{color:var(--muted);font-size:.72rem}.photo-border-options{display:grid;grid-template-columns:1fr 78px;gap:10px}.photo-border-options label{display:grid;gap:5px;font-size:.74rem;color:var(--muted)}.photo-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.photo-filter-card{padding:7px;border:1px solid transparent;border-radius:10px}.photo-filter-card:has(input:checked){background:color-mix(in srgb,var(--primary) 9%,var(--surface-2));border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}.filter-portrait{filter:brightness(1.04) saturate(1.06) contrast(.96)}.filter-landscape{filter:saturate(1.2) contrast(1.1)}.filter-cinematic{filter:contrast(1.18) saturate(.9) hue-rotate(4deg)}.filter-dream{filter:brightness(1.06) contrast(.84) blur(.4px)}.photo-single-move{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.photo-single-move label{display:grid;gap:5px;font-size:.74rem;color:var(--muted)}.metadata-source-summary{display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.metadata-source-summary span{overflow-wrap:anywhere}.metadata-source-summary small{color:var(--muted)}
@media(max-width:720px){.photo-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.photo-single-move{grid-template-columns:1fr}}
.transfer-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.transfer-file-actions form{display:inline-flex}.transfer-toolbar.professional{padding:14px 16px!important;border-bottom:1px solid var(--border)}
.universal-context-menu{position:fixed;z-index:10050;min-width:225px}.universal-context-menu button[hidden]{display:none!important}

/* Cockpit 3.8 – Outlook-like mail reading and context-safe message rows. */
.mail-message-row{position:relative!important}.mail-row-link{position:absolute;inset:0;z-index:1;border:0!important}.mail-message-row>*:not(.mail-row-link):not(.visually-hidden){position:relative;z-index:2;pointer-events:none}.mail-message-row form,.mail-message-row button{pointer-events:auto}.mail-attachment-indicator{display:inline-flex;margin-right:5px;font-size:.78rem;filter:grayscale(.25)}
.mail-reading-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:10px 14px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2)}.mail-reading-toolbar>span{margin-right:auto;color:var(--muted);font-size:.78rem}.mail-reading-toolbar .active{border-color:var(--primary);color:var(--primary)}
.mail-message-surface{margin:0!important;border:0!important;border-radius:0!important;padding:24px!important;min-height:260px;overflow:auto;transition:background .15s,color .15s}.mail-message-surface.theme-light .mail-body-html,.mail-message-surface.theme-light .mail-body-html *{color-scheme:light}.mail-message-surface.theme-dark .mail-body-html,.mail-message-surface.theme-dark .mail-body-html *{color-scheme:dark}.mail-message-surface.theme-dark .mail-body-html{filter:none}.mail-body-html{max-width:100%;overflow-wrap:anywhere}.mail-body-html img{max-width:100%;height:auto}.mail-body-html table{max-width:100%;overflow:auto}.mail-body-plain{white-space:pre-wrap;line-height:1.6}
.mail-detail{overflow:hidden}.mail-attachments{padding:16px!important;background:var(--surface-2)}.mail-attachment-row{padding:9px 11px!important;gap:10px!important}.mail-attachment-row .actions{gap:7px!important;flex-wrap:wrap}.mail-attachment-row select{min-width:210px;max-width:360px}
.mail-folder-error{display:none!important}
@media(max-width:720px){.mail-reading-toolbar{justify-content:flex-start;flex-wrap:wrap}.mail-reading-toolbar>span{width:100%}.mail-message-surface{padding:16px!important}.mail-attachment-row .actions{width:100%}.mail-attachment-row select{min-width:0;width:100%}}

/* Cockpit 4.2 – Cockpit, Quark and Seven AI, private knowledge index and text tools. */
.ai-topbar-link{padding:3px!important;overflow:hidden}.ai-topbar-link img{width:30px;height:30px;object-fit:contain;border-radius:9px}
.ai-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;margin-bottom:18px;background:radial-gradient(circle at 5% 0%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 38%),var(--panel)}.ai-identity,.ai-hero-status{display:flex;align-items:center;gap:15px}.ai-hero-status{justify-content:flex-end;flex-wrap:wrap}.ai-identity h1{margin:2px 0 4px}.ai-identity p,.ai-chat-head p{margin:0;color:var(--muted)}.ai-avatar{width:58px;height:58px;object-fit:contain;border-radius:18px;background:color-mix(in srgb,var(--primary) 9%,var(--surface-2));border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));box-shadow:0 12px 32px rgba(0,0,0,.18)}.ai-avatar-lg{width:84px;height:84px;border-radius:24px}.ai-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;min-height:calc((100vh - 250px)*.9)}.ai-conversations{display:flex;flex-direction:column;gap:14px;min-height:522px;padding:14px}.ai-conversation-list{display:grid;gap:5px;overflow:auto;flex:1}.ai-conversation-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 11px;border:1px solid transparent;border-radius:10px;color:var(--text);text-decoration:none}.ai-conversation-link:hover,.ai-conversation-link.active{background:var(--surface-2);border-color:var(--border)}.ai-conversation-link strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.ai-conversation-link small{color:var(--muted);font-size:.66rem}.ai-chat-panel{display:grid;grid-template-rows:auto minmax(324px,1fr) auto;min-width:0;overflow:hidden}.ai-chat-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border)}.ai-chat-head h2{margin:0 0 3px}.ai-messages{display:flex;flex-direction:column;gap:15px;overflow:auto;padding:22px;scroll-behavior:smooth}.ai-empty{display:grid;justify-items:center;align-content:center;gap:10px;min-height:330px;text-align:center;color:var(--muted)}.ai-empty h3{margin:4px 0 0;color:var(--text)}.ai-empty p{max-width:640px;margin:0}.ai-message{max-width:min(82%,850px);display:grid;gap:7px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2);box-shadow:0 8px 25px rgba(0,0,0,.08)}.ai-message-user{align-self:flex-end;background:color-mix(in srgb,var(--primary) 13%,var(--surface-2));border-bottom-right-radius:5px}.ai-message-assistant{align-self:flex-start;border-bottom-left-radius:5px}.ai-message-role{text-transform:uppercase;letter-spacing:.08em;font-size:.63rem;font-weight:800;color:var(--muted)}.ai-message-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.58}.ai-message.is-thinking .ai-message-content{color:var(--muted)}.ai-sources{margin-top:6px;border-top:1px solid var(--border);padding-top:7px}.ai-sources summary{cursor:pointer;color:var(--muted);font-size:.74rem}.ai-sources a{display:grid;gap:2px;padding:7px 0;color:var(--text);text-decoration:none}.ai-sources small{color:var(--muted)}.ai-action-card{display:grid;gap:12px;margin-top:9px;padding:13px;border:1px solid color-mix(in srgb,#f59e0b 50%,var(--border));border-radius:12px;background:color-mix(in srgb,#f59e0b 8%,var(--panel))}.ai-action-card h4{margin:7px 0}.ai-action-card pre{max-height:210px;margin:0;padding:9px;border-radius:8px;overflow:auto;background:rgba(0,0,0,.18);font-size:.72rem;white-space:pre-wrap}.ai-action-card .actions{display:flex;justify-content:flex-end;gap:8px}.ai-action-card.is-complete{opacity:.72;border-color:var(--border)}.ai-composer{padding:16px 18px;border-top:1px solid var(--border);background:var(--panel)}.ai-composer textarea{width:100%;resize:vertical;min-height:80px;max-height:240px}.ai-composer-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:10px}.persona-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.persona-card{position:relative;display:grid;grid-template-columns:80px minmax(0,1fr);gap:13px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);cursor:pointer}.persona-card:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}.persona-card input{position:absolute;right:12px;top:12px}.persona-card img{width:75px;height:75px;object-fit:contain}.persona-card span{display:grid;gap:4px}.persona-card small{color:var(--muted)}
.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-jump-nav{display:flex;gap:7px;flex-wrap:wrap}.admin-index-actions{display:grid;grid-template-columns:1.15fr .85fr;gap:15px}.weekday-grid{display:flex;gap:12px;flex-wrap:wrap}.service-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.service-health{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.service-health>span{width:10px;height:10px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 4px color-mix(in srgb,#ef4444 15%,transparent)}.service-health.healthy>span{background:#22c55e;box-shadow:0 0 0 4px color-mix(in srgb,#22c55e 15%,transparent)}.service-health div{display:grid;gap:2px}.service-health small{color:var(--muted)}tr.is-resolved{opacity:.55}
.text-selection-tools{position:fixed;z-index:11050;display:flex;gap:2px;max-width:min(94vw,760px);padding:5px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--panel) 97%,transparent);box-shadow:0 18px 48px rgba(0,0,0,.34);backdrop-filter:blur(18px);overflow:auto}.text-selection-tools[hidden]{display:none!important}.text-selection-tools button{flex:0 0 auto;border:0;border-radius:7px;padding:7px 9px;background:transparent;color:var(--text);font-size:.72rem;cursor:pointer}.text-selection-tools button:hover{background:var(--surface-3);color:var(--primary)}.selection-result-dialog{width:min(760px,94vw)}.selection-result-content{display:grid;gap:12px;max-height:60vh;overflow:auto;line-height:1.58;white-space:pre-wrap;overflow-wrap:anywhere}.selection-result-content pre{margin:0;padding:12px;border-radius:10px;overflow:auto;background:var(--surface-2);font-size:.76rem;white-space:pre-wrap}.selection-result-content a{color:var(--primary)}.selection-translate-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.selection-translate-controls select{min-width:180px}
/* ⭐ 15.08.2026 (User): «Mach den Textinhalt kopierbar, markierbar.» Die
   Antwort der KI ist gewöhnlicher Seiteninhalt — markierbar, kopierbar, und
   die Auswahlleiste greift auch darin. `white-space:pre-wrap` des Behälters
   wird hier aufgehoben, sonst stünden gerenderte Absätze doppelt so weit. */
.selection-answer{white-space:normal;user-select:text;-webkit-user-select:text;cursor:text}
.selection-answer p{margin:0 0 9px}.selection-answer ul,.selection-answer ol{margin:0 0 9px 18px}
.selection-answer table{width:100%;border-collapse:collapse;font-size:.78rem}
.selection-answer th,.selection-answer td{border:1px solid var(--border);padding:5px 7px;text-align:left}
.selection-answer-more{justify-self:start}
/* ⭐ 15.08.2026 (User): «Shared und Michel resp. Jessica braucht einen
   Abstand» — Ordnername und Person klebten aneinander, weil <small> hier
   inline steht. Und je Ordner nur noch EINE Zeile, die Personen als Marken. */
.folder-rights-row>span{display:grid;gap:3px}
.folder-rights-row>span small{color:var(--muted);font-size:.72rem}
.folder-rights-people{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.folder-rights-people form{display:inline-flex;align-items:center;gap:3px}
.folder-rights-people .btn{padding:2px 6px;line-height:1}
@media(max-width:1050px){.ai-layout{grid-template-columns:260px minmax(0,1fr)}.service-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-index-actions{grid-template-columns:1fr}}
@media(max-width:780px){.ai-hero,.ai-chat-head{align-items:flex-start;flex-direction:column}.ai-hero-status{justify-content:flex-start}.ai-layout{grid-template-columns:1fr}.ai-conversations{min-height:0}.ai-conversation-list{max-height:190px}.ai-chat-panel{min-height:650px}.ai-message{max-width:94%}.persona-grid{grid-template-columns:1fr}.service-health-grid{grid-template-columns:1fr}.text-selection-tools{left:8px!important;right:8px;max-width:none}.ai-composer-foot{align-items:flex-end}.ai-composer-foot .tiny{max-width:65%}}
.ai-context-preview-list{display:grid;gap:10px;max-height:52vh;overflow:auto}.ai-context-preview-item{padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.ai-context-preview-item header{display:flex;justify-content:space-between;gap:12px}.ai-context-preview-item strong{overflow-wrap:anywhere}.ai-context-preview-item small{color:var(--muted);white-space:nowrap}.ai-context-preview-item p{margin:8px 0 0;color:var(--muted);white-space:pre-wrap;line-height:1.48}

/* Cockpit 4.2 – responsive journal filters (no overflowing date controls). */
.journal-workspace{grid-template-columns:minmax(250px,290px) minmax(0,1fr)}
.journal-sidebar,.journal-filter-form,.journal-filter-form .field,.journal-filter-form .search-field{min-width:0;max-width:100%}
.journal-filter-form input,.journal-filter-form select{width:100%;min-width:0;box-sizing:border-box}
.journal-filter-form .search-field{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;overflow:hidden}
.journal-filter-form .search-field span{position:static;display:grid;place-items:center}
.journal-filter-form .search-field input{padding-left:4px}
.journal-date-range{grid-template-columns:minmax(0,1fr);gap:8px}
.journal-date-range .field{overflow:hidden}
.journal-date-range input[type="date"]{font-size:14px;padding-inline:10px}
.journal-filter-form .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
@media (min-width:1180px){.journal-date-range{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:900px){.journal-workspace{grid-template-columns:1fr}.journal-sidebar{position:static}}

/* Cockpit 4.2 – movable multitasking assistant. */
/* Freischwebender Zugang zur kleinen KI — auf JEDER Seite erreichbar.
   Der Knopf in der Kopfleiste bleibt, ist aber in Vollbildansichten
   (Office-Editor, PDF-Leser, Fotos) verdeckt. Darum dieser hier: fest am
   Fenster, ueber allem, und er verschwindet, sobald das Fenster offen ist. */
/* Eingeklappt zeigt der Knopf NUR den Avatar; erst die Maus darüber (oder
   Tastaturfokus) klappt ihn nach links auf und zeigt den Namen — so bestellt
   am 13.08.2026. Der Knopf hängt rechts, darum wächst er optisch nach links. */
.ai-floating-launch{position:fixed;right:24px;bottom:24px;z-index:9150;display:inline-flex;
  align-items:center;gap:0;padding:9px;border:1px solid color-mix(in srgb,var(--primary) 42%,var(--border));
  border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(8px);
  color:var(--text);font:inherit;font-size:.82rem;font-weight:750;cursor:pointer;
  box-shadow:0 12px 34px rgba(0,0,0,.34);transition:transform .12s ease,box-shadow .12s ease,padding .18s ease}
.ai-floating-launch span{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;
  transition:max-width .18s ease,opacity .15s ease,margin-left .18s ease}
.ai-floating-launch:hover span,.ai-floating-launch:focus-visible span{max-width:220px;opacity:1;margin-left:9px}
.ai-floating-launch:hover,.ai-floating-launch:focus-visible{padding:9px 15px 9px 9px;transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.42)}
.ai-floating-launch:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.ai-floating-launch img{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:0 0 auto}
/* Ist das Chatfenster offen oder eingeklappt am Rand, waere der Knopf doppelt. */
body:has(.ai-dock:not([hidden])) .ai-floating-launch,
body.ai-dock-offen .ai-floating-launch{display:none}
/* ⛔⛔ 17.08.2026, GEMESSEN bei 360 px auf `/ai`: Der schwebende Knopf
   (302–346 × 722–766) lag ueber `button.ai-sidebar-toggle` (287–319 × 748–780)
   — **31 % des Knopfes verdeckt**, und in der Schnittflaeche lieferte
   `elementFromPoint` den schwebenden Knopf. Bedienbar blieb er knapp, aber
   ein schwebender Knopf gehoert nicht auf ein anderes Bedienelement.
   ⭐ Die Loesung ist nicht ein neuer z-index, sondern die Einsicht, dass der
     Knopf hier ueberfluessig ist: Er oeffnet die KLEINE KI («Seven of Nine
     oeffnen»), und auf `/ai` ist die grosse laengst offen. */
body:has(.ai-layout) .ai-floating-launch{display:none}
@media(max-width:760px){
  .ai-floating-launch{right:14px;bottom:14px;padding:8px;gap:0}
  .ai-floating-launch span{display:none}
}
@media print{.ai-floating-launch{display:none}}
.ai-dock{position:fixed;z-index:9200;right:24px;bottom:88px;width:min(430px,calc(100vw - 32px));height:min(680px,calc(100vh - 120px));min-width:300px;min-height:360px;display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--surface-2) 96%,transparent);box-shadow:0 28px 80px rgba(0,0,0,.46);backdrop-filter:blur(22px);overflow:hidden;resize:none}.ai-dock[hidden]{display:none!important}.ai-dock.is-docked-left{left:0!important;right:auto!important;top:var(--topbar)!important;bottom:0!important;height:calc(100vh - var(--topbar))!important;border-radius:0 18px 0 0}.ai-dock.is-docked-right{right:0!important;left:auto!important;top:var(--topbar)!important;bottom:0!important;height:calc(100vh - var(--topbar))!important;border-radius:18px 0 0 0}.ai-dock.is-minimized{height:62px!important;min-height:62px}.ai-dock.is-minimized .ai-dock-body,.ai-dock.is-minimized .ai-dock-resizer{display:none}.ai-dock-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 15%,var(--surface-2)),var(--surface-2));cursor:move;user-select:none}.ai-dock-identity{display:flex;align-items:center;gap:9px;min-width:0}.ai-dock-identity img{width:40px;height:40px;object-fit:contain;border-radius:12px;background:color-mix(in srgb,var(--primary) 12%,transparent)}.ai-dock-identity span{display:grid;min-width:0}.ai-dock-identity small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-dock-controls{display:flex;gap:4px}.ai-dock-controls button{width:30px;height:30px;border:0;border-radius:8px;background:transparent;cursor:pointer}.ai-dock-controls button:hover{background:var(--surface-3);color:var(--primary)}.ai-dock-body{display:flex;flex:1;min-height:0;flex-direction:column}.ai-dock-actions{display:flex;gap:6px;padding:9px 10px;overflow-x:auto;border-bottom:1px solid var(--border)}.ai-dock-actions a,.ai-dock-actions button{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;background:var(--surface-3);padding:6px 9px;color:var(--text);font-size:.7rem;cursor:pointer}.ai-dock-dropzone{margin:10px 10px 0;padding:11px;border:1px dashed color-mix(in srgb,var(--primary) 55%,var(--border));border-radius:12px;display:grid;gap:2px;background:color-mix(in srgb,var(--primary) 7%,transparent);cursor:pointer}.ai-dock-dropzone small{color:var(--muted);font-size:.7rem;line-height:1.35}.ai-dock-dropzone.is-dragover{border-style:solid;background:color-mix(in srgb,var(--primary) 16%,transparent)}.ai-dock-messages{flex:1;min-height:0;overflow:auto;padding:12px;display:grid;align-content:start;gap:9px}.ai-dock-welcome,.ai-dock-message{max-width:92%;padding:10px 12px;border-radius:12px;background:var(--surface-3);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.82rem}.ai-dock-message-user{justify-self:end;background:color-mix(in srgb,var(--primary) 20%,var(--surface-3))}.ai-dock-message-assistant{justify-self:start}.ai-dock-composer{padding:10px;border-top:1px solid var(--border);background:var(--surface)}.ai-dock-composer textarea{width:100%;min-height:65px;max-height:180px;resize:vertical}.ai-dock-composer>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px}.ai-dock-composer small{color:var(--muted)}.ai-dock-resizer{position:absolute;left:0;top:0;width:10px;height:100%;cursor:ew-resize}.ai-dock.is-docked-left .ai-dock-resizer{left:auto;right:0}.protected-content-box{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.folder-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lock-hero{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.lock-hero>span{font-size:2rem}.narrow-section{max-width:720px}.journal-locked-copy .btn{margin-left:auto}
@media(max-width:680px){.ai-dock{inset:auto 8px 76px 8px!important;width:auto!important;height:min(70vh,620px)!important;min-width:0}.ai-dock-resizer,.ai-dock-controls [data-ai-dock-left],.ai-dock-controls [data-ai-dock-right]{display:none}.compact-grid,.folder-action-grid{grid-template-columns:1fr}}

/* Cockpit 4.2 – ten optional sci-fi inspired themes. No protected logos are used. */
html[data-theme-preset="lcars"]{--primary:#f59e0b;--primary-strong:#ea580c;--teal:#a78bfa;--purple:#d8b4fe;--bg:#09070f;--bg-deep:#020104;--surface-2:#171020;--surface-3:#25172f;--radius:22px;--theme-symbol:"LCARS"}
html[data-theme-preset="federation"]{--primary:#60a5fa;--primary-strong:#2563eb;--teal:#facc15;--bg:#071426;--bg-deep:#020712;--surface-2:#0e213b;--surface-3:#173454;--theme-symbol:"✦"}
html[data-theme-preset="starfleet"]{--primary:#ef4444;--primary-strong:#b91c1c;--teal:#fbbf24;--bg:#101114;--bg-deep:#030304;--surface-2:#1c1d21;--surface-3:#2a2c32;--theme-symbol:"△"}
html[data-theme-preset="ferengi"]{--primary:#f59e0b;--primary-strong:#b45309;--teal:#84cc16;--bg:#1b1005;--bg-deep:#080401;--surface-2:#2a1a09;--surface-3:#3b2811;--theme-symbol:"¤"}
html[data-theme-preset="borg"]{--primary:#65a30d;--primary-strong:#3f6212;--teal:#22c55e;--bg:#070a08;--bg-deep:#010201;--surface-2:#111712;--surface-3:#1b241c;--radius:5px;--theme-symbol:"▦"}
html[data-theme-preset="sgc"]{--primary:#3b82f6;--primary-strong:#1d4ed8;--teal:#94a3b8;--bg:#0b1524;--bg-deep:#020610;--surface-2:#142238;--surface-3:#20334e;--theme-symbol:"◉"}
html[data-theme-preset="atlantis"]{--primary:#22d3ee;--primary-strong:#0891b2;--teal:#60a5fa;--bg:#061923;--bg-deep:#011018;--surface-2:#0c2a37;--surface-3:#123d4d;--theme-symbol:"◇"}
html[data-theme-preset="ancient"]{--primary:#fbbf24;--primary-strong:#d97706;--teal:#38bdf8;--bg:#12120d;--bg-deep:#050503;--surface-2:#222117;--surface-3:#343222;--theme-symbol:"⌬"}
html[data-theme-preset="goauld"]{--primary:#eab308;--primary-strong:#a16207;--teal:#dc2626;--bg:#1b1006;--bg-deep:#080300;--surface-2:#2c1b0a;--surface-3:#472b0d;--radius:9px;--theme-symbol:"◈"}
html[data-theme-preset="asgard"]{--primary:#cbd5e1;--primary-strong:#64748b;--teal:#818cf8;--bg:#0d1220;--bg-deep:#03050a;--surface-2:#171e2e;--surface-3:#242e43;--theme-symbol:"∞"}
html[data-theme-preset="lcars"] .sidebar,html[data-theme-preset="lcars"] .topbar{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}html[data-theme-preset="lcars"] .nav-link{border-radius:999px 10px 10px 999px}html[data-theme-preset="lcars"] .card{border-radius:24px 9px 24px 9px}
html[data-theme-preset="borg"] body{background-image:linear-gradient(rgba(101,163,13,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(101,163,13,.045) 1px,transparent 1px),linear-gradient(145deg,var(--bg-deep),var(--bg));background-size:28px 28px,28px 28px,auto}html[data-theme-preset="borg"] .card{box-shadow:inset 0 0 0 1px rgba(101,163,13,.08)}
html[data-theme-preset="goauld"] .card,html[data-theme-preset="ancient"] .card{border-color:color-mix(in srgb,var(--primary) 32%,var(--border))}
html[data-theme-preset="atlantis"] body{background:radial-gradient(circle at 50% -15%,rgba(34,211,238,.25),transparent 34rem),linear-gradient(145deg,var(--bg-deep),var(--bg))}
html[data-theme-preset="lcars"] .topbar-title::before,html[data-theme-preset="federation"] .topbar-title::before,html[data-theme-preset="starfleet"] .topbar-title::before,html[data-theme-preset="ferengi"] .topbar-title::before,html[data-theme-preset="borg"] .topbar-title::before,html[data-theme-preset="sgc"] .topbar-title::before,html[data-theme-preset="atlantis"] .topbar-title::before,html[data-theme-preset="ancient"] .topbar-title::before,html[data-theme-preset="goauld"] .topbar-title::before,html[data-theme-preset="asgard"] .topbar-title::before{content:var(--theme-symbol);display:inline-grid;place-items:center;min-width:24px;height:22px;margin-right:8px;padding:0 5px;border:1px solid color-mix(in srgb,var(--primary) 55%,transparent);border-radius:8px;color:var(--primary);font-size:.65rem;vertical-align:middle}
html[data-theme="light"][data-theme-preset="lcars"],html[data-theme="light"][data-theme-preset="ferengi"],html[data-theme="light"][data-theme-preset="goauld"],html[data-theme="light"][data-theme-preset="ancient"]{--bg:#fff7e7;--bg-deep:#f7e8c9;--surface-2:#fffdfa;--surface-3:#f8ecd4;--text:#23160a;--muted:#6b5744}
html[data-theme="light"][data-theme-preset="federation"],html[data-theme="light"][data-theme-preset="starfleet"],html[data-theme="light"][data-theme-preset="sgc"],html[data-theme="light"][data-theme-preset="atlantis"],html[data-theme="light"][data-theme-preset="asgard"],html[data-theme="light"][data-theme-preset="borg"]{--bg:#edf5fb;--bg-deep:#dbe7f0;--surface-2:#fff;--surface-3:#e9f0f6;--text:#0f172a;--muted:#526276}
.start-widget-summary{display:grid;gap:8px;padding:8px 2px}.start-widget-summary>strong{font-size:1.35rem}.start-widget-summary small,.start-widget-summary span{color:var(--muted)}

/* Cockpit 4.3 – clearly visible protected-folder indicator. */
.folder-lock-mark{right:-5px!important;bottom:-4px!important;width:18px!important;height:18px!important;border:2px solid var(--surface)!important;border-radius:7px!important;background:var(--surface-3)!important;color:var(--amber)!important;font-size:0!important;display:grid!important;place-items:center!important;box-shadow:0 3px 9px rgba(0,0,0,.35)!important}
.folder-lock-mark::before{content:'🔒';font-size:11px;line-height:1}
.cloud-tree-icon.locked,.cloud-row-icon.folder:has(.folder-lock-mark){filter:saturate(.9);box-shadow:0 0 0 1px color-mix(in srgb,var(--amber) 48%,transparent)}

/* Cockpit 4.3 – Journal filters without clipped search/date controls. */
.journal-workspace{grid-template-columns:minmax(330px,360px) minmax(0,1fr)!important}
.journal-search-field{width:100%;min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);overflow:hidden}
.journal-search-field span{height:44px;display:grid;place-items:center;color:var(--muted);font-size:1.05rem}
.journal-search-field input{width:100%;min-width:0;height:44px;border:0!important;border-radius:0!important;background:transparent!important;padding:0 12px 0 2px!important;box-shadow:none!important}
.journal-date-range{grid-template-columns:minmax(145px,1fr) minmax(145px,1fr)!important;gap:10px!important}
.journal-date-range input[type="date"]{width:100%!important;min-width:145px!important;height:44px!important;padding:0 36px 0 12px!important;font-size:.86rem!important}
.journal-filter-form .actions{justify-content:flex-end!important}
@media(max-width:1080px){.journal-workspace{grid-template-columns:1fr!important}.journal-date-range{grid-template-columns:repeat(2,minmax(160px,1fr))!important}.journal-sidebar{position:static!important}}
@media(max-width:520px){.journal-date-range{grid-template-columns:1fr!important}.journal-date-range input[type="date"]{min-width:0!important}}

/* Cockpit 4.3 – denser, professional calendar workspace. */
.calendar-toolbar-card{border-radius:16px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface-2) 92%,var(--primary) 8%))}
.calendar-toolbar{min-height:48px}.calendar-nav h2{font-size:1.25rem;letter-spacing:-.02em}.segmented-control{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.calendar-month{box-shadow:0 16px 45px rgba(0,0,0,.12)}.calendar-weekdays span{font-weight:900;color:color-mix(in srgb,var(--text) 72%,var(--muted));background:var(--surface-2)}
.calendar-day-cell{min-height:112px!important;cursor:default}.calendar-day-cell:has(.calendar-context-event:hover){background:var(--surface)!important}.calendar-day-cell header{gap:6px}.calendar-day-cell header a{transition:.15s ease}.calendar-day-cell header a:hover{background:var(--surface-3)}
.calendar-context-event{border-left-width:4px;box-shadow:0 1px 0 rgba(255,255,255,.025)}.calendar-context-event:hover{background:color-mix(in srgb,var(--primary) 17%,var(--surface-2));transform:translateY(-1px)}
.calendar-event-main{font-size:.78rem}.calendar-event-main strong{font-weight:850}.calendar-event-menu{opacity:.55}.calendar-context-event:hover .calendar-event-menu{opacity:1}
.calendar-period-day{min-height:440px;background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-2) 96%,transparent))}.calendar-period-day>header{align-items:center}.calendar-period-day>header::after{content:'Rechtsklick für neuen Termin';margin-left:auto;color:var(--muted);font-size:.64rem;font-weight:600}
.global-context-menu [hidden],.context-menu [hidden]{display:none!important}
@media(max-width:760px){.calendar-period-day>header::after{display:none}.calendar-day-cell{min-height:140px!important}}

/* Cockpit 4.3 – universal AI upload and clean finance-review fallback. */
.ai-universal-upload{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(360px,1.25fr);gap:22px;align-items:center;padding:22px!important;overflow:hidden}
.ai-upload-copy h2{margin:4px 0 8px}.ai-upload-copy p{margin:0;color:var(--muted);line-height:1.6}
.ai-universal-dropzone{width:100%;min-height:116px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;text-align:left;padding:20px;border:1.5px dashed color-mix(in srgb,var(--primary) 60%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--primary) 6%,var(--surface-2));color:var(--text);cursor:pointer;transition:.18s ease}
.ai-universal-dropzone:hover,.ai-universal-dropzone.is-dragover{border-style:solid;background:color-mix(in srgb,var(--primary) 13%,var(--surface-2));transform:translateY(-1px)}
.ai-upload-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);font-size:1.6rem;font-weight:300}.ai-universal-dropzone>span:last-child{display:grid;gap:5px}.ai-universal-dropzone small{color:var(--muted)}
.ai-upload-status{grid-column:1/-1;padding:11px 14px;border-radius:11px;border:1px solid var(--border);background:var(--surface-2)}.ai-upload-status.is-working{color:var(--primary)}.ai-upload-status.is-success{color:var(--green)}.ai-upload-status.is-error{color:var(--red)}
/* «Was … kann» wohnt seit 13.08.2026 als Aufklapper in der Kopfleiste (vorher Karte in der Chatliste). */
.ai-capability-dropdown{position:relative}
.ai-capability-dropdown summary{list-style:none;cursor:pointer;user-select:none}
.ai-capability-dropdown summary::-webkit-details-marker{display:none}
.ai-capability-dropdown[open] summary{color:var(--primary)}
/* ⭐⭐ 14.08.2026 nachmittags (User, zweiter Anlauf): Das Panel öffnet wieder
   nach UNTEN und liegt garantiert ÜBER den Karten darunter — der Hero bekommt
   einen eigenen Stapelkontext über den Folgesektionen, das Panel darin einen
   hohen z-index. Scrollt notfalls in sich selbst. */
/* .card schneidet global ab (overflow:hidden) — die Hero-Karte darf wie die
   Erfassungskarte überstehen, sonst endet das Panel an der Kartenunterkante
   (gemessen: nur die oberen 60px lagen über der Upload-Karte). */
.card.ai-hero{position:relative;z-index:30;overflow:visible}
.ai-capability-panel{position:absolute;right:0;top:calc(100% + 8px);bottom:auto;z-index:1000;width:min(380px,86vw);max-height:min(62vh,520px);overflow:auto;display:grid;gap:7px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 18px 48px rgba(0,0,0,.32);font-size:.76rem;text-align:left}
.ai-capability-panel strong{margin-bottom:2px}
.ai-capability-panel span{position:relative;padding-left:16px;color:var(--muted)}
.ai-capability-panel span::before{content:'✓';position:absolute;left:0;color:var(--green)}
.ai-action-card.is-high-risk{border-color:color-mix(in srgb,var(--red) 45%,var(--border));background:color-mix(in srgb,var(--red) 5%,var(--surface-2))}.ai-risk-copy{margin:10px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
.ai-finance-layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:18px}.ai-finance-sidebar,.ai-finance-main{min-width:0;padding:20px!important}.ai-finance-sidebar h2,.ai-finance-sidebar h3{margin-top:0}
.ai-finance-dropzone{position:relative;min-height:150px;display:grid;place-items:center;align-content:center;gap:6px;padding:20px;border:1.5px dashed color-mix(in srgb,var(--primary) 58%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--primary) 6%,var(--surface-2));text-align:center;cursor:pointer;overflow:hidden}.ai-finance-dropzone:hover{border-style:solid;background:color-mix(in srgb,var(--primary) 12%,var(--surface-2))}.ai-finance-dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.ai-finance-drop-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);font-weight:900}.ai-finance-dropzone small{color:var(--muted)}
.ai-finance-empty{min-height:430px;display:grid;place-items:center;align-content:center;gap:12px;text-align:center;padding:36px}.ai-finance-empty>p{max-width:680px;color:var(--muted);line-height:1.6}.ai-finance-capabilities{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:8px}.ai-finance-capabilities span{padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);font-size:.75rem;color:var(--muted)}
.ai-finance-account-card{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(170px,.7fr) minmax(170px,.7fr);gap:12px}.ai-finance-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:9px;margin:16px 0}.ai-finance-summary-grid>div{display:grid;gap:4px;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.ai-finance-summary-grid small{color:var(--muted)}.ai-finance-summary-grid .ok{border-color:color-mix(in srgb,var(--green) 45%,var(--border))}.ai-finance-summary-grid .warn{border-color:color-mix(in srgb,var(--amber) 45%,var(--border))}
/* ⭐ 16.08.2026 — Wertschriftzeile in der Importvorschau. Der Gesamtbetrag
   steht in der Hauptzeile, hier darunter die Einzelheiten: Anzahl, Kurs,
   Aktienbetrag und jede Gebühr getrennt. ⛔ Nur Variablen, die es wirklich
   gibt (--border/--muted/--surface-2) — erfundene Namen fallen ersatzlos aus
   und die Zeile wäre unsichtbar. */
.ai-finance-detail>td{padding-top:0!important;border-top:0!important}
.ai-finance-wertschrift{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;padding:8px 10px;margin:0 0 4px;border:1px solid var(--border);border-left:3px solid color-mix(in srgb,var(--primary) 60%,var(--border));border-radius:9px;background:var(--surface-2);font-size:.78rem}
.ai-finance-wertschrift>span{white-space:nowrap}
.ai-finance-wertschrift small{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.02em}
.ai-finance-wertschrift-titel{font-weight:700;white-space:normal!important}
.ai-finance-wertschrift-summe{font-weight:700}
@media(max-width:620px){.ai-finance-wertschrift{gap:6px 10px}.ai-finance-wertschrift>span{white-space:normal}}
@media(max-width:1050px){.ai-universal-upload,.ai-finance-layout{grid-template-columns:1fr}.ai-finance-account-card{grid-template-columns:1fr 1fr}.ai-finance-account-card .field:first-child{grid-column:1/-1}.ai-finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ai-universal-dropzone{grid-template-columns:1fr;text-align:center}.ai-upload-icon{margin:auto}.ai-finance-account-card,.ai-finance-summary-grid{grid-template-columns:1fr}}

/* Cockpit 4.3 – administration layout is a settings console plus diagnosis. */
.admin-jump{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px!important;position:sticky;top:calc(var(--topbar) + 8px);z-index:20;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(16px)}.admin-jump a{padding:8px 11px;border-radius:9px;color:var(--muted);font-size:.78rem;font-weight:800}.admin-jump a:hover{background:var(--surface-3);color:var(--text)}
#ai-provider,#language,#index,#diagnostics{scroll-margin-top:calc(var(--topbar) + 74px)}.service-health-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}.admin-index-actions>form{min-width:0;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}

/* Cockpit 4.4 – polished, freely placeable Start widgets in three sizes. */
.start-widget-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;gap:16px!important;align-items:stretch}
.start-widget{--widget-accent:var(--primary);position:relative;min-width:0;min-height:178px;padding:18px!important;overflow:hidden;background:linear-gradient(150deg,color-mix(in srgb,var(--surface) 94%,var(--widget-accent) 6%),color-mix(in srgb,var(--surface-2) 96%,var(--widget-accent) 4%))!important;border-color:color-mix(in srgb,var(--widget-accent) 24%,var(--border))!important;box-shadow:0 16px 42px rgba(0,0,0,.12);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.start-widget::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--widget-accent),transparent 90%)}
.start-widget::after{content:'';position:absolute;right:-80px;top:-100px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--widget-accent) 12%,transparent),transparent 66%);pointer-events:none}
.start-widget.accent-cyan{--widget-accent:#22d3ee}.start-widget.accent-blue{--widget-accent:#60a5fa}.start-widget.accent-orange{--widget-accent:#fb923c}.start-widget.accent-purple{--widget-accent:#a78bfa}.start-widget.accent-teal{--widget-accent:#2dd4bf}.start-widget.accent-green{--widget-accent:#4ade80}.start-widget.accent-gold{--widget-accent:#fbbf24}.start-widget.accent-pink{--widget-accent:#f472b6}
.start-widget.widget-size-small{grid-column:span 3;min-height:190px}.start-widget.widget-size-medium{grid-column:span 6;min-height:220px}.start-widget.widget-size-large{grid-column:span 12;min-height:250px}
.start-widget>header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.start-widget-title{display:flex;align-items:center;gap:12px;min-width:0}.start-widget-title small{display:none}.start-widget-title h2{margin:0;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.start-widget-icon{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--widget-accent) 15%,var(--surface-3));color:var(--widget-accent);border:1px solid color-mix(in srgb,var(--widget-accent) 28%,transparent)}.start-widget-icon svg{width:21px;height:21px}.start-widget-list{position:relative;z-index:1;min-width:0}.widget-kpi{display:flex;align-items:baseline;gap:9px;margin-bottom:13px}.widget-kpi strong{font-size:2.15rem;line-height:1;letter-spacing:-.06em}.widget-kpi span{color:var(--muted);font-size:.76rem}.widget-detail-list{display:grid;gap:5px}.widget-detail-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 9px;margin:0 -9px;border-radius:10px;text-decoration:none;color:var(--text)}.widget-detail-list>a:hover{background:color-mix(in srgb,var(--widget-accent) 9%,var(--surface-3))}.widget-detail-list>a>span{min-width:0;display:grid}.widget-detail-list strong,.widget-detail-list small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-detail-list small,.widget-detail-list time{color:var(--muted);font-size:.68rem}.widget-size-small .widget-detail-list>a:nth-child(n+2),.widget-size-small .widget-extra{display:none}.widget-size-medium .widget-detail-list>a:nth-child(n+4){display:none}.widget-size-large .widget-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}.widget-size-large .widget-detail-list>.muted{grid-column:1/-1}.start-widget-summary>strong{font-size:2.05rem!important;letter-spacing:-.04em}.progress-track{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--widget-accent),color-mix(in srgb,var(--widget-accent) 65%,white))}
.start-widget-editbar{position:absolute;z-index:5;left:12px;right:12px;top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--widget-accent) 35%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(14px);box-shadow:0 8px 22px rgba(0,0,0,.22)}.start-widget-editbar[hidden]{display:none!important}.widget-drag-handle{font-weight:900;letter-spacing:-2px;cursor:grab;color:var(--muted);padding:0 6px}.start-widget-grid.is-editing .start-widget{padding-top:66px!important;cursor:grab;animation:widget-edit-pulse 2.2s ease-in-out infinite}.start-widget-grid.is-editing .start-widget:active{cursor:grabbing}.start-widget.is-dragging{opacity:.48;transform:scale(.985)}.start-widget.is-drop-target{border-color:var(--widget-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--widget-accent) 20%,transparent)}
.start-widget-savebar{position:sticky;z-index:45;bottom:18px;display:flex;align-items:center;justify-content:flex-end;gap:10px;width:max-content;max-width:calc(100% - 24px);margin:18px auto;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px);box-shadow:0 16px 45px rgba(0,0,0,.28)}.start-widget-savebar[hidden]{display:none!important}.start-widget-savebar>span{margin-right:10px;color:var(--muted);font-size:.75rem}
@keyframes widget-edit-pulse{0%,100%{transform:rotate(0)}25%{transform:rotate(.08deg)}75%{transform:rotate(-.08deg)}}
@media(max-width:1180px){.start-widget.widget-size-small{grid-column:span 4}.start-widget.widget-size-medium{grid-column:span 6}}
@media(max-width:820px){.start-widget.widget-size-small,.start-widget.widget-size-medium{grid-column:span 6}.start-widget.widget-size-large{grid-column:span 12}.widget-size-large .widget-detail-list{grid-template-columns:1fr}}
@media(max-width:560px){.start-widget.widget-size-small,.start-widget.widget-size-medium,.start-widget.widget-size-large{grid-column:1/-1}.start-widget-savebar{width:calc(100% - 16px);flex-wrap:wrap}.start-widget-savebar>span{width:100%;margin:0}}

/* Cockpit 4.4 – selected AI persona without a radio circle over text. */
.persona-card{padding:14px 42px 14px 14px!important;overflow:hidden}.persona-card>input[type="radio"]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.persona-card::after{content:'✓';position:absolute;right:12px;top:12px;width:22px;height:22px;display:grid;place-items:center;border-radius:8px;background:var(--surface-3);border:1px solid var(--border);color:transparent;font-size:.75rem;font-weight:950;transition:.16s ease}.persona-card:has(input:checked)::after{color:#03131d;background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}.persona-card:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}

/* Cockpit 4.4 – clear sequential AI undo and proactive task cards. */
.ai-undo-control,.ai-dock-undo{display:inline-flex!important;align-items:center;gap:6px;padding:4px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.ai-undo-control select,.ai-dock-undo select{min-width:92px;height:34px;padding:0 28px 0 9px;border:0!important;background:transparent!important}.ai-dock-undo select{min-width:54px;color:var(--text)}.ai-watch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.ai-watch-card{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:180px;padding:16px;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 7%,var(--surface-2)),var(--surface-2))}.ai-watch-card.paused{opacity:.65;filter:saturate(.7)}.ai-watch-card h3{margin:10px 0 6px}.ai-watch-card p{color:var(--muted);line-height:1.5}.ai-watch-card small{color:var(--muted)}.ai-watch-card>.actions{display:flex;gap:8px;justify-content:flex-end}

/* Cockpit 4.4 – calendar and reminders are visually one planning system. */
.calendar-reminder-event{border-left:4px solid #fb923c!important;background:linear-gradient(90deg,color-mix(in srgb,#fb923c 13%,var(--surface-2)),var(--surface-2))!important}.calendar-reminder-event.completed{opacity:.55;text-decoration:line-through}.calendar-reminder-mark{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;background:color-mix(in srgb,#fb923c 18%,transparent);color:#fb923c;font-size:.66rem;font-weight:900}.calendar-agenda-reminder{border-left:4px solid #fb923c}.calendar-day-reminder-count{padding:2px 6px;border-radius:999px;background:color-mix(in srgb,#fb923c 15%,transparent);color:#fb923c;font-size:.62rem;font-weight:900}.global-context-menu hr,.context-menu hr{display:none!important}.global-context-menu button+button,.context-menu button+button{border-top:1px solid color-mix(in srgb,var(--border) 66%,transparent)}

/* Cockpit 4.4 – more breathing room between Journal date and native icon. */
.journal-date-range input[type="date"]{min-width:160px!important;padding-right:48px!important}.journal-date-range input[type="date"]::-webkit-calendar-picker-indicator{margin-left:12px;cursor:pointer;opacity:.9}.journal-date-range .field{min-width:0}

/* Cockpit 4.4 – checkboxes keep compact visuals but the whole label is clickable. */
.selection-check{position:relative!important;width:30px!important;height:30px!important;min-width:30px!important;display:grid!important;place-items:center!important;cursor:pointer!important}.selection-check input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;pointer-events:auto!important;cursor:pointer!important;margin:0!important;z-index:2}.selection-check span{width:17px!important;height:17px!important;min-width:17px!important;border-radius:5px!important;pointer-events:none}.selection-check:hover span{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 10%,transparent)}

/* Cockpit 4.4 – protected folders and security actions stay unmistakable. */
.cloud-tree-row:has(.cloud-tree-icon.locked),.cloud-folder-row:has(.folder-lock-mark){background:color-mix(in srgb,var(--amber) 5%,transparent)}.folder-lock-mark{overflow:visible}.folder-lock-mark::after{content:'';position:absolute;inset:-4px;border:1px solid color-mix(in srgb,var(--amber) 22%,transparent);border-radius:9px}.cloud-tree-row.context-current,.cloud-folder-row.context-current{outline:2px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:-2px}

/* Cockpit 4.4 – Notes become a larger OneNote-style working surface. */
.onenote-workspace{grid-template-columns:minmax(210px,250px) minmax(260px,330px) minmax(520px,1fr)!important;min-height:calc(100vh - 190px)!important}.onenote-notebooks,.onenote-pages,.onenote-canvas{min-height:720px!important}.onenote-canvas{display:flex!important;flex-direction:column}.onenote-paper{flex:1;min-height:560px!important;padding:36px 42px!important;background:linear-gradient(90deg,transparent 45px,color-mix(in srgb,var(--primary) 10%,transparent) 46px,transparent 47px),repeating-linear-gradient(180deg,transparent 0,transparent 31px,color-mix(in srgb,var(--border) 30%,transparent) 32px)!important}.note-editor{min-height:470px!important}.rich-editor-toolbar{position:sticky;top:0;z-index:2;max-height:none!important;flex-wrap:wrap!important}.rich-font-size{display:inline-flex;align-items:center;gap:5px;padding:0 5px;border-left:1px solid var(--border);font-size:.65rem;color:var(--muted)}.rich-font-size select{height:30px!important;min-width:78px!important;padding:0 24px 0 7px!important}.note-template-field{display:grid!important;grid-template-columns:minmax(160px,250px) minmax(0,1fr);align-items:center;gap:4px 12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.note-template-field label{grid-column:1/-1}.note-template-field small{color:var(--muted)}
@media(max-width:1250px){.onenote-workspace{grid-template-columns:220px 300px minmax(420px,1fr)!important}}@media(max-width:980px){.onenote-workspace{grid-template-columns:230px minmax(0,1fr)!important}.onenote-canvas{grid-column:1/-1;min-height:560px!important}.onenote-notebooks,.onenote-pages{min-height:420px!important}}@media(max-width:680px){.onenote-workspace{grid-template-columns:1fr!important}.onenote-notebooks,.onenote-pages,.onenote-canvas{grid-column:auto!important;min-height:auto!important}.onenote-paper{padding:24px!important;background:var(--surface)!important}}

/* Cockpit 4.4 – top-bar proactive notifications. */
.ai-notification-popover{min-width:min(420px,calc(100vw - 28px));max-height:70vh;overflow:auto}.ai-notification-popover .compact-row{align-items:flex-start}.ai-notification-badge{position:absolute;right:-4px;top:-4px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--red);color:white;font-size:.58rem;font-weight:900;border:2px solid var(--surface)}
.calendar-reminder-chip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;padding:5px 6px;border-left:4px solid #fb923c;border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,#fb923c 13%,var(--surface-2)),var(--surface-2));overflow:hidden}.calendar-reminder-chip.completed{opacity:.55}.calendar-reminder-main{min-width:0;display:grid;grid-template-columns:18px auto minmax(0,1fr);align-items:center;gap:5px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.calendar-reminder-main>span{width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:color-mix(in srgb,#fb923c 18%,transparent);color:#fb923c;font-size:.66rem;font-weight:900}.calendar-reminder-main small{color:var(--muted);font-size:.63rem}.calendar-reminder-main strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.73rem}.calendar-reminder-chip.completed strong{text-decoration:line-through}.calendar-context-menu button{border-top:0!important}.calendar-context-menu button:hover{background:var(--surface-3)}


/* Cockpit 4.4 – fully styled proactive AI notification menu. */
.ai-notification-menu{position:relative}.ai-notification-menu>summary{position:relative;list-style:none;display:grid!important;place-items:center}.ai-notification-menu>summary::-webkit-details-marker{display:none}.ai-notification-menu>summary>span{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border:2px solid var(--surface);border-radius:999px;background:var(--red);color:#fff;font-size:.58rem;font-weight:950;line-height:1}.ai-notification-menu[open]>summary{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--primary) 12%,var(--surface-2));color:var(--primary)}
.ai-notification-popover{position:absolute;z-index:250;right:0;top:calc(100% + 10px);width:min(420px,calc(100vw - 28px));padding:10px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 24px 70px rgba(0,0,0,.42);backdrop-filter:blur(18px)}.ai-notification-popover>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 8px 12px;border-bottom:1px solid var(--border)}.ai-notification-popover>header a{font-size:.72rem;font-weight:800;color:var(--primary)}.ai-notification-popover form{margin:0}.ai-notification-popover form button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 10px;border:0;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:10px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.ai-notification-popover form button:hover{background:var(--surface-2)}.ai-notification-popover form strong{min-width:0}.ai-notification-popover form small{grid-column:1/-1;color:var(--muted);line-height:1.45}.ai-notification-popover form time{grid-column:2;grid-row:1;color:var(--muted);font-size:.65rem;white-space:nowrap}.ai-notification-popover>p{margin:0;padding:24px 12px;text-align:center;color:var(--muted)}
/* Meldungsliste: Auswahl, Löschknopf je Zeile, Sammelleiste und Rechtsklickmenü. */
.ai-notification-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px;border-radius:10px}
.ai-notification-row:hover{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}
.ai-notification-row .ai-notification-open{min-width:0}
/* ⚠ Der Meldungszähler quetschte sich als Fliesstext NEBEN die Raute in den
   34-px-Knopf («♢5» brauchte 39 px — vom User als «Text passt nicht» gemeldet,
   12.08.2026). Jetzt schwebt er als Plakette über der Ecke. */
.ai-notification-menu>summary{position:relative}
.ai-notification-pick{display:grid;place-items:center;padding:0 2px 0 6px;cursor:pointer}
.ai-notification-pick input{width:15px;height:15px;margin:0;cursor:pointer}
.ai-notification-drop{flex:0 0 auto;width:26px;height:26px;margin-right:4px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:1.05rem;line-height:1;cursor:pointer}
.ai-notification-drop:hover{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}
.ai-notification-bulk{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:9px 8px 4px;border-top:1px solid var(--border)}
.ai-notification-bulk span{margin-right:auto;font-size:.72rem;color:var(--muted)}
/* Eine volle Spalte: ohne die feste Spaltenbreite erbt das Raster noch
   «justify-content:space-between» von weiter oben und schrumpft die Kopfzeile
   auf ihren Inhalt — der Einstellungsknopf sässe dann mitten im Fenster. */
.ai-notification-popover>header{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;justify-items:stretch}
.ai-notification-title{display:flex;align-items:center;gap:10px;min-width:0}
.ai-notification-title strong{font-size:.92rem}
.ai-notification-avatar{width:34px;height:34px;object-fit:contain;border-radius:11px;background:color-mix(in srgb,var(--primary) 9%,var(--surface-2));border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border))}
.ai-notification-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
/* Kopfzeile: Überschrift links, Einstellungen ganz rechts — auch dann, wenn
   gerade keine Meldung da ist und die Werkzeugleiste darunter fehlt. */
.ai-notification-headline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.ai-notification-settings-btn{flex:none;padding:4px 7px;color:var(--muted)}
.ai-notification-settings-btn:hover{color:var(--text)}
.ai-notification-settings-btn svg{width:16px;height:16px}
/* Einstellungen: welche Quellen melden dürfen. Liegt im Meldungsfenster selbst,
   damit der Weg vom Ärgernis zur Abschaltung kurz ist. */
.ai-notification-settings{display:grid;gap:8px;margin:0;padding:12px 8px;border-bottom:1px solid var(--border)}
.ai-notification-settings[hidden]{display:none}
.ai-notification-settings-head{margin:0;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.ai-notification-source{display:flex;align-items:flex-start;gap:9px;padding:7px 8px;border-radius:10px;cursor:pointer}
.ai-notification-source:hover{background:var(--surface-2)}
.ai-notification-source input{width:15px;height:15px;margin:2px 0 0;cursor:pointer;flex:none}
.ai-notification-source span{display:grid;gap:1px;min-width:0}
.ai-notification-source strong{font-size:.78rem;font-weight:700}
.ai-notification-source small{color:var(--muted);font-size:.68rem;line-height:1.4}
.ai-notification-settings-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 8px}
.ai-notification-settings-actions small{color:var(--muted);font-size:.68rem}
/* Die Meldungszeilen im selben Fenster sind ganzflächige Knöpfe; das darf für
   das Einstellungsformular nicht gelten. */
.ai-notification-popover .ai-notification-settings button{width:auto;display:inline-flex;align-items:center;gap:6px;grid-template-columns:none;border-bottom:0;padding:5px 12px}
.ai-notification-popover .ai-notification-settings small{grid-column:auto}
/* Schalter in der Bearbeiten-Leiste eines Widgets (z. B. «Nur ungelesene»). */
.widget-option-toggle{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2);font-size:.68rem;color:var(--muted);cursor:pointer;white-space:nowrap}
.widget-option-toggle input{width:13px;height:13px;margin:0;cursor:pointer}
.widget-option-toggle:has(input:checked){border-color:color-mix(in srgb,var(--primary) 55%,var(--border));color:var(--text)}
.ai-notification-context{position:fixed;z-index:400;display:grid;min-width:210px;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 18px 48px rgba(0,0,0,.38)}
.ai-notification-context button{padding:9px 11px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;font-size:.78rem;cursor:pointer}
.ai-notification-context button:hover{background:var(--surface-2)}
@media(max-width:620px){.ai-notification-popover{position:fixed;left:14px;right:14px;top:72px;width:auto}}

/* Cockpit 4.5 – Explorer-style cloud, collaboration, portal and live notes */
.explorer-head{display:flex;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line)}
.explorer-navigation{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.explorer-address{min-width:0;flex:1;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;overflow:auto;white-space:nowrap}.explorer-address a{font-size:.9rem}.explorer-head .cloud-browser-actions{flex:0 0 auto}
.cloud-file-list.professional{border:1px solid var(--line);border-radius:0 0 12px 12px;overflow:hidden}.cloud-list-title{background:var(--surface-2);border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;padding:9px 14px}.cloud-file-row.professional,.cloud-folder-row{transition:background .14s ease,border-color .14s ease}.cloud-file-row.professional:hover,.cloud-folder-row:hover{background:color-mix(in srgb,var(--primary) 8%,var(--surface-1))}.cloud-file-row.is-dragging,.cloud-folder-row.is-dragging,.cloud-tree-row.is-dragging{opacity:.45}.is-drop-target{outline:2px solid var(--primary)!important;outline-offset:-2px;background:color-mix(in srgb,var(--primary) 16%,var(--surface-1))!important}.cloud-row-main{min-width:0}.cloud-row-copy strong{display:flex;align-items:center;gap:7px}.document-lock-badge{font-size:.72rem;opacity:.85}.cloud-tree-row[draggable=true]{cursor:grab}.cloud-tree-row[draggable=true]:active{cursor:grabbing}
.portal-management-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.credential-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.credential-grid label{display:grid;gap:5px}.credential-grid input{width:100%}
.collaboration-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:-6px 0 18px;padding-bottom:8px;overflow:auto}.collaboration-tabs button{border:0;background:transparent;color:var(--muted);font-weight:700;padding:9px 12px;border-radius:9px;white-space:nowrap}.collaboration-tabs button.active{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--text)}.collaboration-panel{min-height:260px}.version-document-group{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px}.version-document-group h3{margin:0 0 8px}.version-document-group h3 small{display:block;color:var(--muted);font-weight:500}.version-row,.comment-row,.activity-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 8px;border-bottom:1px solid var(--line)}.version-row:last-child,.activity-row:last-child{border-bottom:0}.version-row>span{display:grid;gap:2px}.version-row small,.version-row em{color:var(--muted);font-size:.82rem}.version-row em{font-style:normal}.comment-compose{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:16px}.comment-compose textarea{min-height:74px}.comment-row{display:block}.comment-row>div{display:flex;justify-content:space-between;gap:12px}.comment-row time{font-size:.78rem;color:var(--muted)}.comment-row p{margin:6px 0 0}.activity-row{justify-content:flex-start}.activity-dot{width:9px;height:9px;border-radius:50%;background:var(--primary);margin-top:5px;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 15%,transparent)}.activity-row div{display:grid}.activity-row small{color:var(--muted)}
.portal-body{min-height:100vh;background:radial-gradient(circle at 85% 0,color-mix(in srgb,var(--primary) 14%,transparent),transparent 38%),var(--bg);color:var(--text);padding:0}.portal-auth-card{width:min(440px,calc(100% - 32px));margin:10vh auto;background:var(--surface-1);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.32)}.portal-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.portal-brand>div{display:grid}.portal-brand small{color:var(--muted)}.portal-brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--primary),var(--secondary));color:#00131d;font-weight:900}.portal-login-form{display:grid;gap:14px;margin-top:26px}.portal-help{color:var(--muted);font-size:.85rem;margin:18px 0 0}.portal-topbar{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:14px max(20px,calc((100vw - 1260px)/2));background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.portal-shell{width:min(1260px,calc(100% - 36px));margin:0 auto;padding:26px 0 60px}.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.portal-item-card{display:flex;align-items:center;gap:13px;min-height:92px;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface-1);color:inherit;text-decoration:none}.portal-item-card>div{display:grid;min-width:0;flex:1}.portal-item-card small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.portal-item-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--primary) 16%,var(--surface-2));color:var(--primary)}.portal-upload-card{padding:18px;margin-bottom:18px}.portal-upload-card form{display:flex;gap:12px;align-items:center}.portal-dropzone{position:relative;display:grid;gap:2px;flex:1;border:1px dashed color-mix(in srgb,var(--primary) 55%,var(--line));border-radius:13px;padding:16px;cursor:pointer}.portal-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.portal-dropzone small{color:var(--muted)}.portal-explorer{overflow:hidden}.portal-explorer-head,.portal-explorer-row{display:grid;grid-template-columns:minmax(280px,1fr) 120px 130px auto;gap:12px;align-items:center;padding:11px 16px}.portal-explorer-head{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);border-bottom:1px solid var(--line)}.portal-explorer-row{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}.portal-explorer-row:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}.portal-file-name{display:flex;align-items:center;gap:11px;min-width:0}.portal-file-name>span{display:grid}.portal-file-name small{color:var(--muted)}.external-share-divider{border:0;border-top:1px solid var(--line);margin:22px 0}
.onenote-workspace{grid-template-columns:250px 310px minmax(0,1fr);min-height:calc(100vh - 205px)}.onenote-canvas{overflow:hidden;display:flex;flex-direction:column}.onenote-live-editor{display:flex;flex-direction:column;height:100%;min-height:620px}.onenote-canvas-head.live{align-items:flex-start;padding:18px 22px 12px}.onenote-title-fields{display:grid;gap:8px;min-width:0;flex:1}.onenote-live-title{width:100%;border:0;background:transparent;color:var(--text);font-size:clamp(1.65rem,2.4vw,2.4rem);font-weight:800;letter-spacing:-.025em;padding:0;box-shadow:none}.onenote-live-title:focus{outline:0}.onenote-page-meta{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.8rem}.onenote-page-meta input{width:min(420px,55%);border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;padding:3px 0;font-size:.82rem}.onenote-page-meta input:focus{border-bottom-color:var(--primary);box-shadow:none}.onenote-ribbon{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:8px 18px;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.onenote-ribbon button{border:0;background:transparent;color:var(--text);padding:7px 9px;border-radius:7px;font-size:.8rem}.onenote-ribbon button:hover{background:color-mix(in srgb,var(--primary) 13%,transparent)}.ribbon-divider{height:23px;width:1px;background:var(--line);margin:0 4px}.onenote-paper.live{flex:1;min-height:470px;margin:0;border:0;border-radius:0;padding:34px clamp(28px,6vw,80px);background:linear-gradient(90deg,transparent 0 47px,color-mix(in srgb,var(--primary) 12%,transparent) 48px,transparent 49px),repeating-linear-gradient(180deg,transparent 0 31px,color-mix(in srgb,var(--line) 45%,transparent) 32px);line-height:2;outline:0;overflow:auto}.onenote-paper.live:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 35%,transparent)}.onenote-paper.live.is-readonly{opacity:.86;cursor:not-allowed}.onenote-statusbar{display:flex;justify-content:space-between;gap:12px;padding:7px 15px;border-top:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:.75rem}
@media(max-width:1100px){.portal-management-grid{grid-template-columns:1fr}.onenote-workspace{grid-template-columns:220px minmax(230px,300px) minmax(0,1fr)}.portal-explorer-head,.portal-explorer-row{grid-template-columns:minmax(220px,1fr) 95px 110px auto}}
@media(max-width:820px){.explorer-head{align-items:stretch;flex-direction:column}.explorer-navigation{width:100%}.onenote-workspace{display:block}.onenote-notebooks,.onenote-pages{margin-bottom:12px}.onenote-live-editor{min-height:560px}.portal-upload-card form{align-items:stretch;flex-direction:column}.portal-explorer-head{display:none}.portal-explorer-row{grid-template-columns:1fr auto}.portal-explorer-row>span:nth-child(2),.portal-explorer-row>span:nth-child(3){display:none}.comment-compose{grid-template-columns:1fr}.portal-topbar{padding:12px 18px}}

/* Cockpit 4.5 – polished recurrence, date inputs, administration and AI tools */
.recurrence-builder{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:color-mix(in srgb,var(--surface-2) 72%,transparent)}
.recurrence-enable-row{display:flex;align-items:center;justify-content:flex-start;gap:14px}.recurrence-summary{color:var(--muted)}
.recurrence-options{margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.recurrence-grid,.recurrence-end-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recurrence-end-grid{grid-template-columns:minmax(170px,1fr) minmax(180px,1fr)}
.recurrence-interval{display:grid;grid-template-columns:minmax(80px,130px) 1fr;align-items:center;gap:10px}.recurrence-interval span{color:var(--muted);font-weight:700}.recurrence-weekdays{margin:10px 0 15px}.recurrence-weekdays>label{display:block;margin-bottom:7px;font-size:.82rem;color:var(--muted);font-weight:700}.recurrence-weekdays>div{display:flex;gap:6px;flex-wrap:wrap}.recurrence-weekdays button{width:40px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface-1);color:var(--text);font-weight:800;cursor:pointer}.recurrence-weekdays button.active{background:var(--primary);border-color:var(--primary);color:#00131d;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.recurrence-summary{display:block;margin-top:10px;font-size:.82rem}
input[type="date"]{padding-right:42px!important;position:relative}input[type="date"]::-webkit-calendar-picker-indicator{position:absolute;right:12px;margin:0;opacity:.8;cursor:pointer}input[type="datetime-local"]{padding-right:42px!important}input[type="datetime-local"]::-webkit-calendar-picker-indicator{position:absolute;right:12px;margin:0;opacity:.8;cursor:pointer}
.admin-system-page .card-body,.admin-settings-card .card-body,#ai-provider .card-body,#language .card-body,#index .card-body,#diagnostics .card-body{padding-left:22px!important;padding-right:22px!important}.admin-system-page .form-grid{gap:16px}.admin-system-page input,.admin-system-page select,.admin-system-page textarea{max-width:100%}
.ai-dock-toolbar{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px!important;padding:10px 12px!important}.ai-dock-toolbar .btn,.ai-dock-toolbar button{min-width:0;height:38px;border-radius:10px!important;padding:0 9px!important;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font-size:.76rem}.ai-dock-toolbar .btn-primary{box-shadow:none}.ai-full-upload-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ai-full-upload-actions .btn{min-height:42px;border-radius:11px}
@media(max-width:700px){.recurrence-grid,.recurrence-end-grid{grid-template-columns:1fr}.ai-dock-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-dock-toolbar>*:last-child{grid-column:1/-1}.recurrence-enable-row{align-items:flex-start}}
.activity-center-card{overflow:hidden}.activity-center-list{display:grid}.activity-center-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.activity-center-row:last-child{border-bottom:0}.activity-center-row:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}.activity-center-row.is-unread{background:color-mix(in srgb,var(--primary) 9%,transparent)}.activity-center-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--primary) 14%,var(--surface-2));color:var(--primary);font-weight:900}.activity-center-row>span:nth-child(2){display:grid;gap:4px;min-width:0}.activity-center-row small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.activity-center-row time{font-size:.78rem;color:var(--muted);white-space:nowrap}@media(max-width:680px){.activity-center-row{grid-template-columns:40px 1fr}.activity-center-row time{grid-column:2}}
.portal-document-stack{display:grid;gap:14px;margin-top:18px}.portal-document-card{padding:0;overflow:hidden}.portal-document-main{display:flex;align-items:center;gap:13px;padding:16px}.portal-document-main>div{display:grid;min-width:0;flex:1}.portal-document-main small{color:var(--muted)}.portal-explorer-document{border-bottom:1px solid var(--line)}.portal-explorer-document>.portal-explorer-row{border-bottom:0}.portal-comments{border-top:1px solid var(--line);padding:0 16px 14px}.portal-comments summary{cursor:pointer;padding:12px 0;font-weight:750;color:var(--muted)}.portal-comment-list{display:grid;gap:8px}.portal-comment-list article{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.portal-comment-list article>div{display:flex;justify-content:space-between;gap:12px}.portal-comment-list time{font-size:.75rem;color:var(--muted)}.portal-comment-list p{margin:6px 0 0;white-space:pre-wrap}.portal-comments form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:12px}.portal-comments textarea{min-height:72px}@media(max-width:680px){.portal-comments form{grid-template-columns:1fr}.portal-document-main{align-items:flex-start;flex-wrap:wrap}}
#ai-provider>form,#language>form,#index>form,#index>.metric-grid,#index>.admin-index-actions,#index>.table-wrap,#diagnostics>.service-health-grid,#diagnostics>.table-wrap{margin-left:22px;margin-right:22px}#ai-provider>form:last-child,#language>form:last-child{margin-bottom:20px}#ai-provider>.inline-form{margin-top:14px;margin-bottom:20px}.admin-jump{padding:8px 14px}
.start-widget-settings-grid.professional{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:14px}.start-widget-setting-card{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2);transition:border-color .15s ease,transform .15s ease}.start-widget-setting-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));transform:translateY(-1px)}.start-widget-setting-card.is-disabled{opacity:.55}.start-widget-setting-main{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center}.start-widget-setting-main>span:nth-child(2){display:grid;gap:3px}.start-widget-setting-main small{color:var(--muted)}.start-widget-setting-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--primary) 14%,var(--surface-1));color:var(--primary)}.start-widget-setting-icon svg{width:22px;height:22px}.start-widget-setting-size{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px}.start-widget-setting-size>span{font-size:.78rem;color:var(--muted);font-weight:750}.size-choice{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface-1)}.size-choice label{position:relative;cursor:pointer}.size-choice input{position:absolute;opacity:0;pointer-events:none}.size-choice span{display:block;padding:6px 10px;border-radius:8px;color:var(--muted);font-size:.75rem;font-weight:750}.size-choice input:checked+span{background:var(--primary);color:#00131d}.size-choice input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}@media(max-width:520px){.start-widget-settings-grid.professional{grid-template-columns:1fr}.start-widget-setting-size{align-items:flex-start;flex-direction:column}.size-choice{width:100%;display:grid;grid-template-columns:repeat(3,1fr);text-align:center}}

/* Cockpit 4.6 – professional library and technical-book workspace */
.library-summary-five{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important}
.library-summary-five a{display:flex;align-items:baseline;gap:7px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.library-summary-five a:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));transform:translateY(-1px)}
.library-summary-five strong{font-size:1.12rem;line-height:1}.library-summary-five span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.84rem}
.library-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.library-sort-form label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem}.library-sort-form select{min-width:180px}
.library-provider-notice{margin-top:-4px}.library-empty{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:0!important;padding:18px 20px!important;text-align:left!important}.library-empty h2,.library-empty p{margin:0}.library-empty p{margin-top:5px;color:var(--muted);max-width:780px}.library-empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--surface-2);font-size:1.5rem;color:var(--primary)}
.library-grid.is-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:9px}.library-grid.is-compact .library-card{display:grid;grid-template-columns:58px minmax(0,1fr);min-height:74px}.library-grid.is-compact .library-cover-wrap{aspect-ratio:1/1;height:58px;margin:8px;border-radius:8px}.library-grid.is-compact .library-card-body{padding:9px 10px 9px 0;gap:3px}.library-grid.is-compact .library-card-body h3{font-size:.94rem}.library-grid.is-compact .library-card-body>small,.library-grid.is-compact .library-card-actions .btn:not(.icon-only){display:none}.library-grid.is-compact .library-card-actions{position:absolute;right:8px;bottom:8px;padding:0;margin:0}.library-grid.is-compact .library-selection-check{top:5px;left:5px}
.technical-reader-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;min-height:72vh}.technical-reader-document{overflow:hidden}.technical-reader-document iframe{display:block;width:100%;height:75vh;border:0;background:#fff}.technical-reader-side{align-self:start;position:sticky;top:82px}.technical-study{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:15px}.technical-annotation-list{display:grid;gap:10px;max-height:650px;overflow:auto}.technical-annotation{padding:13px;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:10px;background:var(--surface-2)}.technical-annotation.type-question{border-left-color:#a78bfa}.technical-annotation.type-task{border-left-color:#fb7185}.technical-annotation.type-highlight{border-left-color:#facc15}.technical-annotation-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.technical-annotation blockquote{margin:9px 0;padding:8px 10px;border-left:3px solid var(--border);background:var(--surface);color:var(--muted)}.technical-annotation p{white-space:pre-wrap}.technical-study-editor{min-height:360px;resize:vertical;line-height:1.55}
@media(max-width:900px){.library-summary-five{grid-template-columns:repeat(2,minmax(0,1fr))!important}.library-summary-five a:last-child{grid-column:1/-1}.technical-reader-layout,.technical-study{grid-template-columns:1fr}.technical-reader-side{position:static}.library-empty{grid-template-columns:1fr}.library-empty .actions{justify-content:flex-start}}
.external-share-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.external-upload-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px}.external-collaboration-tools{margin:14px 0}.external-collaboration-tools form{display:flex;gap:8px}.external-file>.external-folder-link{display:flex;align-items:center;gap:12px;flex:1;color:inherit;text-decoration:none}.external-edit-menu{position:relative}.external-edit-menu summary{cursor:pointer;list-style:none;padding:7px 10px;border:1px solid var(--border);border-radius:8px}.external-edit-menu[open]{padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.external-edit-menu form{display:flex;gap:6px;margin-top:7px}.external-edit-menu input{min-width:150px}
@media(max-width:760px){.external-upload-form{grid-template-columns:1fr}.external-file{align-items:flex-start;flex-wrap:wrap}.external-edit-menu{width:100%}.external-edit-menu form{flex-wrap:wrap}}
/* Cockpit 4.6 – external collaboration portal */
.portal-edit-tools{border-top:1px solid var(--line);padding:0 16px 15px}.portal-edit-tools summary{cursor:pointer;padding:12px 0;font-weight:800;color:var(--muted)}.portal-edit-grid,.portal-collaboration-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.portal-edit-grid form,.portal-create-folder,.portal-inline-tools form{display:flex;align-items:end;gap:8px}.portal-edit-grid label,.portal-create-folder label{display:grid;gap:6px;flex:1;color:var(--muted);font-size:.78rem;font-weight:750}.portal-inline-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:0 16px 12px}.portal-inline-tools input[type="text"],.portal-inline-tools input:not([type]){min-width:170px}.portal-inline-tools input[type="file"]{max-width:260px}.portal-upload-card{padding:16px}.portal-collaboration-actions>form{margin:0}.portal-create-folder{align-self:end}.portal-create-folder input{min-width:200px}
@media(max-width:720px){.portal-edit-grid,.portal-collaboration-actions{grid-template-columns:1fr}.portal-inline-tools{justify-content:flex-start}.portal-inline-tools form{width:100%;flex-wrap:wrap}.portal-inline-tools input{flex:1;min-width:0!important;max-width:none!important}}

/* Cockpit 4.7 – Windows-Explorer-inspired document workspace */
.cloud-explorer-v2{display:grid!important;grid-template-columns:250px minmax(560px,1fr) 330px!important;gap:0!important;min-height:min(760px,calc(100dvh - 205px))!important;border:1px solid var(--line)!important;border-radius:16px!important;overflow:hidden!important;background:var(--line)!important}
.cloud-explorer-v2>.card{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--surface)!important;min-width:0}
.cloud-explorer-v2 .cloud-tree-panel{position:relative!important;top:auto!important;max-height:none!important;display:flex;flex-direction:column;border-right:1px solid var(--line)!important}
.cloud-explorer-v2 .cloud-tree-head{padding:15px 16px 10px}.cloud-explorer-v2 .cloud-tree-head small{letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
.explorer-quick-access{display:grid;gap:3px;padding:0 8px 12px;border-bottom:1px solid var(--line)}.explorer-quick-access a,.explorer-saved-views a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:.84rem}.explorer-quick-access a:hover,.explorer-saved-views a:hover{background:var(--surface-2);color:var(--text)}.explorer-quick-access a span,.explorer-saved-views a span{width:18px;text-align:center;color:var(--primary)}
.cloud-tree-subhead{padding:12px 16px 5px;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.cloud-explorer-v2 .cloud-tree{flex:1;min-height:180px;max-height:none!important;padding:0 7px 10px;overflow:auto}.cloud-explorer-v2 .cloud-tree-row,.cloud-explorer-v2 .cloud-tree-root-row{min-height:31px}.cloud-explorer-v2 .cloud-tree-link{padding:5px 7px;border-radius:7px;font-size:.82rem}.cloud-explorer-v2 .cloud-tree-link.active{background:color-mix(in srgb,var(--primary) 16%,var(--surface-2));box-shadow:inset 2px 0 var(--primary)}.cloud-explorer-v2 .cloud-tree-icon{width:20px;height:20px}.cloud-explorer-v2 .cloud-tree-link small{font-size:.68rem}
.explorer-saved-views{display:grid;gap:2px;padding:10px 8px;border-top:1px solid var(--line)}.explorer-saved-views>small{padding:0 9px 5px;color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.cloud-explorer-v2 .cloud-storage-card{margin:8px 12px 12px}
.cloud-explorer-v2 .cloud-browser-panel{display:flex;flex-direction:column;border-right:1px solid var(--line)!important;overflow:hidden}.explorer-head{padding:10px 13px!important;min-height:48px;border-bottom:1px solid var(--line)!important;background:var(--surface)!important}.explorer-navigation{gap:4px!important;min-width:0}.explorer-navigation .breadcrumbs{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem}.explorer-navigation .breadcrumbs a{color:var(--muted)}
.explorer-command-bar{display:flex;align-items:center;gap:5px;padding:7px 12px;border-bottom:1px solid var(--line);background:var(--surface-2)}.explorer-command-bar .btn{min-height:32px;padding:6px 10px;font-size:.76rem}.explorer-command-bar .btn-primary{box-shadow:none}
.cloud-explorer-v2 .cloud-browser-search{padding:9px 12px!important;gap:8px!important}.cloud-explorer-v2 .search-field input{height:36px}.cloud-explorer-v2 .cloud-column-labels,.cloud-explorer-v2 .cloud-file-row,.cloud-explorer-v2 .cloud-folder-row{grid-template-columns:28px minmax(240px,1.7fr) minmax(105px,.65fr) minmax(135px,.8fr) 40px!important}.cloud-explorer-v2 .cloud-column-labels{padding:7px 12px!important;font-size:.67rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface)}.cloud-explorer-v2 .cloud-file-row,.cloud-explorer-v2 .cloud-folder-row{min-height:43px!important;padding:5px 12px!important;border-radius:0!important;border-left:2px solid transparent!important}.cloud-explorer-v2 .cloud-file-row:hover,.cloud-explorer-v2 .cloud-folder-row:hover{background:color-mix(in srgb,var(--primary) 6%,var(--surface-2))!important}.cloud-explorer-v2 .cloud-file-row.is-selected{background:color-mix(in srgb,var(--primary) 13%,var(--surface-2))!important;border-left-color:var(--primary)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 28%,transparent)}.cloud-explorer-v2 .cloud-row-main{gap:9px}.cloud-explorer-v2 .cloud-file-icon,.cloud-explorer-v2 .cloud-folder-icon{width:28px;height:28px;border-radius:6px}.cloud-explorer-v2 .cloud-row-main strong{font-size:.82rem}.cloud-explorer-v2 .cloud-row-main small,.cloud-explorer-v2 .cloud-row-meta{font-size:.7rem}.cloud-explorer-v2 .selection-check{width:28px;height:100%;display:grid;place-items:center;margin:0}.cloud-explorer-v2 .selection-check span{width:15px;height:15px}
.explorer-inspector{display:flex;flex-direction:column;overflow:hidden}.explorer-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;border-bottom:1px solid var(--line)}.explorer-inspector-head>div{display:flex;align-items:center;gap:9px;min-width:0}.explorer-inspector-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.file-kind-badge{display:grid;place-items:center;min-width:34px;height:26px;border-radius:6px;background:color-mix(in srgb,var(--primary) 18%,var(--surface-2));color:var(--primary);font-size:.62rem;font-weight:900}.explorer-inspector-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:0 8px}.explorer-inspector-tabs button{border:0;background:transparent;color:var(--muted);padding:10px 4px;border-bottom:2px solid transparent;font-size:.69rem;font-weight:750}.explorer-inspector-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.explorer-inspector>section{padding:13px;overflow:auto;min-height:0}.explorer-preview{display:grid;gap:8px;text-align:center;text-decoration:none;color:var(--muted);margin-bottom:14px}.explorer-preview img{width:100%;max-height:260px;object-fit:contain;border-radius:9px;border:1px solid var(--line);background:white}.explorer-preview.preview-missing{min-height:130px;place-items:center;border:1px dashed var(--line);border-radius:10px}.explorer-preview.preview-missing:before{content:'Keine Vorschau verfügbar';font-size:.78rem}.explorer-detail-list{display:grid;gap:8px;margin:0}.explorer-detail-list>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;font-size:.72rem}.explorer-detail-list dt{color:var(--muted)}.explorer-detail-list dd{margin:0;overflow-wrap:anywhere}.explorer-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.explorer-tags span{padding:4px 7px;border-radius:999px;background:var(--surface-2);font-size:.67rem}.explorer-inspector-actions{display:flex;gap:7px;margin-top:14px}.explorer-activity-list,.explorer-version-list,.explorer-comments{display:grid;gap:9px}.explorer-activity-list article{display:grid;grid-template-columns:22px 1fr;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--line)}.explorer-activity-list p{margin:2px 0;font-size:.72rem}.explorer-activity-list small,.explorer-version-list small,.explorer-comments small{color:var(--muted);font-size:.65rem}.explorer-version-list article{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:1px solid var(--line);border-radius:8px}.explorer-version-list article>div:first-child{display:grid}.explorer-version-list .actions{display:flex;gap:3px}.explorer-comments article{padding:9px;border:1px solid var(--line);border-radius:8px}.explorer-comments article p{white-space:pre-wrap;font-size:.75rem}.explorer-comments form{display:grid;gap:7px}.explorer-comments textarea{min-height:70px}.explorer-inspector-empty{margin:auto;padding:28px;text-align:center;color:var(--muted);display:grid;gap:8px;place-items:center}.explorer-inspector-empty span{font-size:2rem;color:var(--primary)}
.cloud-explorer-v2 .cloud-browser-foot{margin-top:auto!important;padding:8px 12px!important;border-top:1px solid var(--line);font-size:.7rem;background:var(--surface)}
@media(max-width:1280px){.cloud-explorer-v2{grid-template-columns:230px minmax(520px,1fr) 290px!important}.cloud-explorer-v2 .cloud-column-labels,.cloud-explorer-v2 .cloud-file-row,.cloud-explorer-v2 .cloud-folder-row{grid-template-columns:28px minmax(210px,1.6fr) 95px 125px 34px!important}}
@media(max-width:1050px){.cloud-explorer-v2{grid-template-columns:220px minmax(0,1fr)!important}.explorer-inspector{display:none!important}}
@media(max-width:760px){.cloud-explorer-v2{display:block!important;min-height:0!important}.cloud-explorer-v2 .cloud-tree-panel{display:none}.cloud-explorer-v2 .cloud-column-labels,.cloud-explorer-v2 .cloud-file-row,.cloud-explorer-v2 .cloud-folder-row{grid-template-columns:28px minmax(0,1fr) 34px!important}.cloud-explorer-v2 .cloud-row-meta{display:none!important}.explorer-command-bar{overflow-x:auto}}

/* Cockpit 4.7 – compact AI upload and Explorer picker */
.ai-universal-upload-compact{display:grid!important;grid-template-columns:minmax(260px,.65fr) minmax(420px,1.35fr)!important;gap:22px!important;align-items:center!important;padding:18px 22px!important}.ai-upload-compact-head{display:grid;gap:5px}.ai-upload-compact-head h2{font-size:1.15rem;margin:0}.ai-upload-compact-head p{margin:0;color:var(--muted);font-size:.79rem;line-height:1.5}.ai-universal-actions.compact{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.ai-upload-source-button{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;min-height:68px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);text-align:left}.ai-upload-source-button:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--surface-2))}.ai-upload-source-button .ai-upload-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:color-mix(in srgb,var(--primary) 16%,var(--surface));color:var(--primary);font-size:1.05rem}.ai-upload-source-button>span:last-child{display:grid;gap:2px}.ai-upload-source-button strong{font-size:.84rem}.ai-upload-source-button small{font-size:.67rem;color:var(--muted)}.ai-universal-upload-compact .ai-upload-status{grid-column:1/-1}
.ai-document-picker-dialog{width:min(1080px,94vw)}.ai-document-picker-body{padding-top:12px}.ai-picker-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-bottom:10px}.ai-document-picker-shell{display:grid;grid-template-columns:260px minmax(0,1fr);height:min(590px,68vh);border:1px solid var(--line);border-radius:12px;overflow:hidden}.ai-document-folder-panel{border-right:1px solid var(--line);background:var(--surface-2);overflow:auto;padding:8px}.ai-picker-section-title{padding:7px 8px;color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.ai-document-folder-tree{display:grid;gap:2px}.ai-folder-icon{color:var(--primary)}.ai-document-file-panel{display:flex;flex-direction:column;overflow:hidden}.ai-picker-breadcrumb{display:flex;align-items:center;gap:5px;min-height:42px;padding:7px 12px;border-bottom:1px solid var(--line);overflow:auto}.ai-picker-breadcrumb button{border:0;background:transparent;color:var(--muted);font-size:.75rem}.ai-picker-breadcrumb button:hover{color:var(--primary)}.ai-document-picker-list{overflow:auto;padding:7px}.ai-document-picker-row{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;width:100%;padding:9px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;text-align:left!important}.ai-document-picker-row:hover{background:var(--surface-2)!important}.ai-document-picker-row>span:nth-child(2){display:grid;gap:2px;min-width:0}.ai-document-picker-row strong,.ai-document-picker-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-document-picker-row small{color:var(--muted);font-size:.67rem}.ai-document-picker-row b{font-size:.68rem;color:var(--primary)}.ai-document-file-icon{display:grid;place-items:center;width:36px;height:32px;border-radius:7px;background:var(--surface-2);color:var(--primary);font-size:.58rem;font-weight:900}.ai-document-picker-row.is-folder .ai-document-file-icon{font-size:1.1rem}.ai-dock-dropzone{display:none!important}
@media(max-width:800px){.ai-universal-upload-compact{grid-template-columns:1fr!important}.ai-document-picker-shell{grid-template-columns:1fr;height:auto;max-height:70vh}.ai-document-folder-panel{max-height:220px;border-right:0;border-bottom:1px solid var(--line)}.ai-document-file-panel{min-height:300px}}

/* Cockpit 4.7 – modern Notes workspace with internal scrolling */
.notes-page-head{margin-bottom:10px}.onenote-workspace[data-notes-workspace]{grid-template-columns:220px 280px minmax(500px,1fr)!important;height:min(760px,calc(100dvh - 185px))!important;min-height:610px!important;max-height:820px!important;overflow:hidden!important}.onenote-workspace[data-notes-workspace]>.card{min-height:0!important;height:100%!important;overflow:hidden}.onenote-notebooks,.onenote-pages{display:flex!important;flex-direction:column}.onenote-notebooks nav,.onenote-page-list{overflow:auto!important;min-height:0;flex:1}.onenote-canvas{min-height:0!important}.onenote-live-editor{min-height:0!important;height:100%!important}.onenote-canvas-head.live{padding:13px 17px 10px!important}.onenote-live-title{font-size:clamp(1.35rem,2vw,1.9rem)!important}.onenote-canvas-head .actions{gap:5px;flex-wrap:wrap}.onenote-canvas-head .actions .btn{min-height:31px;padding:5px 9px;font-size:.72rem}.onenote-ribbon{padding:5px 11px!important;gap:2px!important;flex-wrap:nowrap!important;overflow-x:auto}.onenote-ribbon button{padding:6px 7px!important;font-size:.72rem!important;white-space:nowrap}.onenote-paper.live{min-height:0!important;height:auto!important;flex:1!important;padding:26px clamp(24px,5vw,70px)!important;line-height:1.65!important;background:var(--surface)!important}.onenote-workspace[data-paper="lined"] .onenote-paper.live{background:repeating-linear-gradient(180deg,transparent 0,transparent 30px,color-mix(in srgb,var(--line) 42%,transparent) 31px)!important}.onenote-workspace[data-paper="grid"] .onenote-paper.live{background-image:linear-gradient(color-mix(in srgb,var(--line) 35%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 35%,transparent) 1px,transparent 1px)!important;background-size:26px 26px!important}.onenote-workspace[data-page-width="focused"] .onenote-paper.live{padding-left:max(30px,calc((100% - 720px)/2))!important;padding-right:max(30px,calc((100% - 720px)/2))!important}.onenote-statusbar{padding:5px 11px!important;font-size:.67rem!important}.onenote-workspace.hide-notebooks{grid-template-columns:0 280px minmax(500px,1fr)!important}.onenote-workspace.hide-notebooks .onenote-notebooks{visibility:hidden}.onenote-workspace.hide-pages{grid-template-columns:220px 0 minmax(500px,1fr)!important}.onenote-workspace.hide-pages .onenote-pages{visibility:hidden}.onenote-workspace.hide-notebooks.hide-pages{grid-template-columns:0 0 minmax(500px,1fr)!important}.onenote-workspace.notes-focus-mode{position:fixed;z-index:950;inset:14px;height:auto!important;max-height:none!important;background:var(--surface);box-shadow:0 20px 80px rgba(0,0,0,.55)}.onenote-workspace.notes-focus-mode .onenote-notebooks,.onenote-workspace.notes-focus-mode .onenote-pages{display:none!important}.onenote-workspace.notes-focus-mode{grid-template-columns:1fr!important}.note-view-menu{position:relative}.note-view-menu summary{list-style:none}.note-view-menu summary::-webkit-details-marker{display:none}.note-view-popover{position:absolute;z-index:25;right:0;top:38px;width:260px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:0 16px 40px rgba(0,0,0,.35);display:grid;gap:9px}.note-view-popover>strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.note-view-popover label{display:flex;align-items:center;gap:8px;font-size:.76rem}.note-view-popover .segmented{display:grid;grid-template-columns:repeat(2,1fr);padding:3px;border:1px solid var(--line);border-radius:9px}.note-view-popover .segmented button{border:0;background:transparent;color:var(--muted);padding:6px;border-radius:6px;font-size:.7rem}.note-view-popover .segmented button.active{background:var(--primary);color:#00131d}.onenote-page-item{min-height:72px!important}.onenote-page-item a{padding:10px 8px!important}.onenote-page-item small{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal!important;overflow:hidden}
@media(max-width:1150px){.onenote-workspace[data-notes-workspace]{grid-template-columns:200px 250px minmax(420px,1fr)!important}.onenote-workspace.hide-notebooks{grid-template-columns:0 250px minmax(420px,1fr)!important}.onenote-workspace.hide-pages{grid-template-columns:200px 0 minmax(420px,1fr)!important}}
@media(max-width:820px){.onenote-workspace[data-notes-workspace]{height:auto!important;max-height:none!important;display:block!important}.onenote-workspace[data-notes-workspace]>.card{height:auto!important;min-height:300px!important}.onenote-canvas{min-height:600px!important}}

/* Cockpit 4.7 – preview and photo-service administration */
.admin-service-settings>form,.admin-service-settings>.metric-grid,.admin-service-settings>.admin-inline-actions,.admin-service-settings>.notice,.admin-service-settings>.tiny{margin-left:22px;margin-right:22px}.admin-service-settings>.metric-grid{margin-top:4px}.admin-service-settings>form{padding-bottom:2px}.admin-inline-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-bottom:20px}.admin-inline-actions form{margin:0}.admin-jump{display:flex;gap:4px;flex-wrap:wrap}.admin-jump a{white-space:nowrap}
.cloud-page-head{margin-bottom:10px!important}.cloud-page-head h1{font-size:clamp(1.65rem,2.3vw,2.35rem)!important}.cloud-page-head p{max-width:720px;font-size:.82rem}.cloud-page-head .page-actions{gap:6px}.cloud-page-head .storage-inline{font-size:.7rem}.section-tabs+ .cloud-manager,.section-tabs~.cloud-manager{margin-top:10px}.section-tabs{gap:4px;min-height:38px}.section-tabs .section-tab{padding:8px 11px;font-size:.74rem}

/* Cockpit 4.7.10: complete Explorer workspace. The regular Cockpit sidebar is
   replaced only on the documents page; mobile keeps the normal responsive nav. */
.documents-explorer-page{--documents-sidebar-w:244px}
.documents-explorer-page .sidebar{display:none!important}
.documents-explorer-page .main-wrap{margin-left:var(--documents-sidebar-w,244px)!important;min-width:0}
.documents-explorer-page .topbar{left:var(--documents-sidebar-w,244px)!important}
.documents-explorer-page .content{width:100%!important;max-width:none!important;margin:0!important;padding:14px!important}
.documents-app-sidebar{position:fixed;z-index:91;inset:0 auto 0 0;width:var(--documents-sidebar-w,244px);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#081526 0%,#07111f 100%);border-right:1px solid #203149;color:#cbd9e9}
.documents-sidebar-brand{height:62px;display:flex;align-items:center;gap:11px;padding:10px 15px;border-bottom:1px solid #1c2c42;color:#f5f9ff;text-decoration:none;font-size:1.05rem}.documents-sidebar-brand img{width:39px;height:39px;border-radius:10px;object-fit:contain}.documents-sidebar-brand strong{font-weight:850}
.documents-sidebar-primary{display:grid;gap:2px;padding:9px 10px;border-bottom:1px solid #1c2c42}.documents-sidebar-primary a,.documents-sidebar-section nav>a{min-height:32px;display:flex;align-items:center;gap:9px;padding:6px 9px;border-radius:7px;color:#aebed1;text-decoration:none;font-size:.78rem}.documents-sidebar-primary a:hover,.documents-sidebar-section nav>a:hover,.documents-sidebar-section nav>a.active{background:#10243b;color:#eef7ff}.documents-sidebar-primary a span,.documents-sidebar-section nav>a>span:first-child{width:18px;text-align:center;color:#3dc4f7}.documents-sidebar-section nav>a .star,.documents-sidebar-section .star{color:#fb923c!important}
.documents-sidebar-section{display:grid;gap:3px;padding:9px 10px 0}.documents-sidebar-section>header{padding:4px 7px;color:#68b9e6;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.documents-sidebar-section>header:has(button){display:flex;align-items:center;justify-content:space-between}.documents-sidebar-section>header button{width:25px;height:25px;border:1px solid #28405d;border-radius:7px;background:transparent;color:#9fc2dc;cursor:pointer}.documents-sidebar-section nav{display:grid;gap:1px}
.documents-sidebar-areas{border-top:1px solid #1c2c42;margin-top:7px;padding-top:10px}.documents-sidebar-folders{min-height:140px;flex:1;overflow:hidden;border-top:1px solid #1c2c42;margin-top:7px;padding-top:10px}.documents-sidebar-tree{overflow:auto!important;min-height:0;max-height:none!important;padding:0 1px 10px!important;display:grid;gap:1px}.documents-sidebar-tree-node{display:grid}.documents-sidebar-tree-row{display:grid;grid-template-columns:calc(var(--folder-depth,0)*12px) 16px minmax(0,1fr);align-items:center;min-width:0}.documents-sidebar-indent{width:calc(var(--folder-depth,0)*12px)}.documents-sidebar-toggle,.documents-sidebar-toggle-spacer{width:16px;height:25px;display:grid;place-items:center}.documents-sidebar-toggle{border:0;background:transparent;color:#6f89a2;cursor:pointer;padding:0}.documents-sidebar-toggle svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .14s}.documents-sidebar-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.documents-sidebar-folder-link{min-width:0;display:grid!important;grid-template-columns:19px minmax(0,1fr) auto;gap:7px!important;align-items:center;min-height:29px!important;padding:4px 7px!important;border-radius:7px!important;color:#9fb1c5!important;font-size:.74rem!important;text-decoration:none}.documents-sidebar-folder-link:hover,.documents-sidebar-folder-link.active{background:#12304d!important;color:#eef8ff!important;box-shadow:inset 2px 0 #31c4f5}.documents-sidebar-folder-link>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-sidebar-folder-link small{color:#6f89a2;font-size:.62rem}.documents-folder-icon{position:relative;width:18px;height:18px;display:grid;place-items:center;color:#44c3f3}.documents-folder-icon svg{width:17px;height:17px;fill:currentColor}.documents-folder-icon.colour-blue{color:#60a5fa}.documents-folder-icon.colour-teal{color:#2dd4bf}.documents-folder-icon.colour-green{color:#4ade80}.documents-folder-icon.colour-amber{color:#facc15}.documents-folder-icon.colour-orange{color:#fb923c}.documents-folder-icon.colour-red{color:#fb7185}.documents-folder-icon.colour-pink{color:#f472b6}.documents-folder-icon.colour-purple{color:#c084fc}.documents-folder-icon.colour-slate{color:#94a3b8}.documents-folder-lock{position:absolute;right:-3px;bottom:-2px;width:7px;height:7px;border:1px solid #07111f;border-radius:50%;background:#f59e0b;color:transparent}
.documents-sidebar-storage{margin:8px 11px 11px;padding:10px 12px;border:1px solid #263c57;border-radius:10px;background:#0d1c30;display:grid;gap:2px}.documents-sidebar-storage span{font-size:.73rem}.documents-sidebar-storage small{color:#7f94aa;font-size:.65rem}
.documents-explorer-app{min-height:calc(100dvh - 102px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #203149;border-radius:13px;background:#091423;box-shadow:0 16px 44px rgba(0,0,0,.2)}
.documents-explorer-titlebar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,430px) auto auto;gap:10px;align-items:center;padding:13px 15px;border-bottom:1px solid #203149;background:#0b1727}.documents-title{display:flex;align-items:center;gap:11px;min-width:0}.documents-title-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #21405d;border-radius:9px;background:#10263e;color:#35c4f4}.documents-title h1{margin:0;font-size:1.28rem}.documents-title p{margin:2px 0 0;color:#869ab0;font-size:.69rem}.documents-global-search{min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;padding:0 9px;border:1px solid #263b55;border-radius:9px;background:#0d1c30}.documents-global-search input{height:36px;border:0!important;background:transparent!important;padding:0 5px!important;box-shadow:none!important}.documents-global-search>span{color:#7d94ac}.documents-global-search kbd{padding:3px 6px;border:1px solid #263b55;border-radius:5px;background:#111f32;color:#71879e;font-size:.58rem}
.documents-commandbar{min-height:48px;display:flex;align-items:center;gap:2px;padding:6px 14px;border-bottom:1px solid #203149;background:#091423;overflow-x:auto}.documents-commandbar>button,.documents-commandbar>form>button{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:#b9c8d8;font:inherit;font-size:.72rem;font-weight:680;white-space:nowrap;cursor:pointer}.documents-commandbar>button:hover,.documents-commandbar>form>button:hover{background:#11253c;color:#f3f8ff}.documents-commandbar>button.btn-primary{background:linear-gradient(180deg,#26baf0,#159bd4);color:white}.documents-commandbar>button:disabled{opacity:.34;cursor:not-allowed}.documents-commandbar .danger:not(:disabled){color:#ff8b9c}.documents-commandbar form{margin:0}
.documents-addressbar{min-height:42px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:6px 13px;border-bottom:1px solid #203149;background:#0b1727}.documents-history{display:flex;gap:2px}.documents-history button,.documents-history a,.documents-view-switch button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:#8198ae;text-decoration:none;cursor:pointer}.documents-history button:hover,.documents-history a:hover,.documents-view-switch button:hover,.documents-view-switch button.active{background:#12304d;color:#4fd0ff}.documents-breadcrumbs{min-width:0;display:flex;gap:7px;align-items:center;overflow:hidden;white-space:nowrap}.documents-breadcrumbs a{color:#a7b8ca;text-decoration:none;font-size:.72rem}.documents-breadcrumbs span{color:#526a83}.documents-view-switch{display:flex;gap:2px}
.documents-explorer-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(560px,1fr) 335px;background:#203149;gap:1px}.documents-file-pane{min-width:0;overflow:auto;background:#091423}.documents-list-header,.documents-list-row{display:grid;grid-template-columns:34px minmax(260px,1.55fr) minmax(80px,.55fr) minmax(135px,.75fr) minmax(115px,.7fr) minmax(75px,.45fr) 34px;gap:8px;align-items:center}.documents-list-header{position:sticky;z-index:3;top:0;min-height:38px;padding:0 12px;border-bottom:1px solid #203149;background:#0d1a2b;color:#8da1b6;font-size:.64rem;font-weight:760;text-transform:uppercase;letter-spacing:.04em}.documents-list-row{min-height:46px;padding:4px 12px;border-bottom:1px solid #17273b;background:#091423;color:#dbe7f4;transition:background .12s,border-color .12s}.documents-list-row:hover{background:#0e1d30}.documents-list-row.is-active{background:#102841;box-shadow:inset 2px 0 #29c4f5,inset 0 0 0 1px #1f6d98}.documents-name-cell{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;border:0;background:transparent;color:inherit;text-align:left;text-decoration:none;padding:0;cursor:default}.documents-name-cell>span:last-child{min-width:0;display:grid;gap:2px}.documents-name-cell strong,.documents-name-cell small,.documents-name-cell em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-name-cell strong{font-size:.76rem;font-weight:720}.documents-name-cell small,.documents-name-cell em,.documents-cell-muted{color:#8499af;font-size:.65rem}.documents-name-cell em{font-style:normal;color:#71aac9}.documents-file-icon{width:29px;height:29px;display:grid;place-items:center;overflow:hidden;border-radius:6px;background:#10263b;color:#dbeafe;font-size:.56rem;font-weight:900}.documents-file-icon img{width:100%;height:100%;object-fit:cover}.documents-file-icon b{width:23px;height:25px;display:grid;place-items:center;border-radius:4px;background:#64748b;color:#fff;font-size:.58rem}.documents-file-icon .pdf{background:#e5484d}.documents-file-icon .xlsx{background:#25a566}.documents-file-icon .docx{background:#3689e6}.documents-file-icon .pptx{background:#e9783f}.documents-row-menu{display:flex;justify-content:center}.documents-row-menu>button{width:28px;height:27px;border:0;border-radius:6px;background:transparent;color:#90a4b9;cursor:pointer}.documents-row-menu>button:hover{background:#19314b;color:white}.documents-bulkbar{position:sticky;z-index:4;top:38px;display:flex;align-items:center;gap:7px;padding:7px 12px;border-bottom:1px solid #1f5f83;background:#102c46;color:#d9f3ff;font-size:.7rem}.documents-bulkbar button{border:0;border-radius:6px;background:#173d5f;color:#d9f3ff;padding:6px 9px}.documents-bulk-target{display:flex;align-items:center;gap:6px;min-width:0}.documents-bulk-target select{max-width:230px;border:0;border-radius:6px;background:#173d5f;color:#d9f3ff;padding:6px 9px;font-size:inherit}.documents-bulkbar .danger{color:#ff9aaa}.documents-empty-state{min-height:260px;display:grid;place-items:center;align-content:center;gap:7px;color:#7f95aa;text-align:center}.documents-empty-state>span{font-size:2rem;color:#32c4f5}.documents-empty-state p{margin:0;font-size:.72rem}
.documents-inspector{min-width:0;overflow:hidden;background:#0b1727}.documents-inspector-empty{height:100%;display:grid;place-items:center;align-content:center;gap:7px;padding:28px;text-align:center;color:#7f94aa}.documents-inspector-empty>span{font-size:2rem;color:#31c4f5}.documents-inspector-empty p{margin:0;font-size:.72rem}.documents-inspector-content{height:100%;display:flex;flex-direction:column;min-height:0}.documents-inspector-content>header{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 13px;border-bottom:1px solid #203149}.documents-inspector-content>header>div{min-width:0;display:flex;align-items:center;gap:8px}.documents-inspector-content>header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.documents-inspector-content>header>button{border:0;background:transparent;color:#859bb1;font-size:1.1rem;cursor:pointer}.documents-inspector-content>nav{display:grid;grid-template-columns:repeat(4,1fr);padding:0 7px;border-bottom:1px solid #203149}.documents-inspector-content>nav button{padding:10px 3px;border:0;border-bottom:2px solid transparent;background:transparent;color:#879bb0;font-size:.65rem;font-weight:720;cursor:pointer}.documents-inspector-content>nav button.active{border-bottom-color:#2dc6f5;color:#dff6ff}.documents-inspector-content>section{min-height:0;overflow:auto;padding:12px}.documents-inspector-preview{display:grid;gap:6px;margin-bottom:11px;color:#8fa3b8;text-align:center;text-decoration:none}.documents-inspector-preview img{width:100%;max-height:235px;object-fit:contain;border:1px solid #263b55;border-radius:8px;background:#fff}.documents-inspector-preview.loading img{filter:saturate(.4);opacity:.7}.documents-processing-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 12px}.documents-processing-chip{display:grid;gap:2px;padding:7px 8px;border:1px solid #263b55;border-radius:7px;background:#0d1c30}.documents-processing-chip small{color:#7f94aa;font-size:.58rem;text-transform:uppercase}.documents-processing-chip strong{font-size:.65rem}.documents-processing-chip.ok strong{color:#58d69b}.documents-processing-chip.pending strong{color:#f4c35b}.documents-processing-chip.neutral strong{color:#8fa3b8}.documents-processing-chip.error strong{color:#ff8999}.documents-detail-list{display:grid;gap:7px;margin:0}.documents-detail-list>div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;font-size:.66rem}.documents-detail-list dt{color:#7f94aa}.documents-detail-list dd{margin:0;overflow-wrap:anywhere;color:#d4e0ed}.documents-inspector-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.documents-inspector-tags span{padding:3px 7px;border:1px solid #29415d;border-radius:999px;background:#10243a;color:#b7d7ed;font-size:.6rem}.documents-inspector-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.documents-inspector-actions form{margin:0}.documents-inspector-list{display:grid;gap:7px}.documents-inspector-list article{display:grid;gap:3px;padding:8px;border:1px solid #263b55;border-radius:7px;background:#0d1c30}.documents-inspector-list article header{display:flex;justify-content:space-between;gap:8px}.documents-inspector-list strong{font-size:.68rem}.documents-inspector-list small,.documents-inspector-list p{margin:0;color:#879bb0;font-size:.62rem}.documents-inspector-list .actions{display:flex;gap:5px;flex-wrap:wrap}.documents-inspector-comments{display:grid;gap:8px;margin-top:13px;border-top:1px solid #203149;padding-top:11px}.documents-inspector-comments h4{margin:0;font-size:.72rem}.documents-inspector-comments form{display:grid;gap:6px}.documents-inspector-comments textarea{min-height:68px}.documents-statusbar{min-height:34px;display:grid;grid-template-columns:1fr auto auto auto auto;gap:18px;align-items:center;padding:6px 13px;border-top:1px solid #203149;background:#0b1727;color:#7f94aa;font-size:.64rem}.documents-sync-state{color:#4fd89a}.documents-secondary-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:15px 18px;border:1px solid #203149;border-radius:12px;background:#0b1727}.documents-secondary-header span{color:#35c6f5;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.documents-secondary-header h1{margin:3px 0 0;font-size:1.45rem}
.documents-explorer-page .selection-check{width:30px;height:34px;display:grid;place-items:center;margin:0;cursor:pointer}.documents-explorer-page .selection-check span{width:15px;height:15px}.documents-explorer-page .selection-check input{position:absolute;opacity:0}.documents-explorer-page .selection-check input:checked+span{background:#2dc6f5;border-color:#2dc6f5}.documents-explorer-page .selection-check input:checked+span:after{content:'✓';display:grid;place-items:center;color:#032034;font-size:.65rem;font-weight:900}
@media(max-width:1280px){.documents-explorer-grid{grid-template-columns:minmax(500px,1fr) 300px}.documents-list-header,.documents-list-row{grid-template-columns:34px minmax(230px,1.4fr) 75px 125px 95px 65px 30px}.documents-explorer-titlebar{grid-template-columns:minmax(210px,1fr) minmax(240px,360px) auto auto}}
@media(max-width:1080px){.documents-explorer-grid{grid-template-columns:minmax(0,1fr)}.documents-inspector{position:fixed;z-index:145;right:0;top:var(--topbar);bottom:0;width:min(360px,92vw);border-left:1px solid #203149;box-shadow:-16px 0 40px rgba(0,0,0,.35);transform:translateX(102%);transition:transform .18s}.documents-inspector.has-selection{transform:none}.documents-list-header,.documents-list-row{grid-template-columns:34px minmax(220px,1.4fr) 75px 120px 75px 30px}.documents-list-header>span:nth-child(5),.documents-list-row>.documents-cell-muted:nth-child(5){display:none}}
@media(max-width:980px){.documents-explorer-page .sidebar{display:flex!important}.documents-explorer-page .main-wrap{margin-left:0!important}.documents-explorer-page .topbar{left:0!important}.documents-app-sidebar{display:none}.documents-explorer-page .content{padding:12px 10px 90px!important}}
@media(max-width:720px){.documents-explorer-titlebar{grid-template-columns:1fr auto auto}.documents-global-search{grid-column:1/-1;grid-row:2}.documents-commandbar{padding-inline:8px}.documents-list-header,.documents-list-row{grid-template-columns:30px minmax(0,1fr) 30px}.documents-list-header>span:nth-child(n+3):not(:last-child),.documents-list-row>.documents-cell-muted{display:none}.documents-addressbar{grid-template-columns:auto minmax(0,1fr)}.documents-view-switch{display:none}.documents-statusbar{grid-template-columns:1fr auto}.documents-statusbar>span:nth-child(2),.documents-statusbar>span:nth-child(3){display:none}}

/* Cockpit 4.7.10 – final Explorer layout selected by the user. */
@media (min-width:981px){
  .documents-explorer-page .main-wrap{margin-left:232px!important}
  .documents-explorer-page .topbar{left:232px!important;height:58px;min-height:58px;padding:0 15px;border-bottom:1px solid var(--border);background:var(--bg-deep)}
  .documents-explorer-page .topbar-left>div{display:none!important}
  .documents-explorer-page .topbar-left{min-width:0}
  .documents-explorer-page .topbar-actions{margin-left:auto;gap:7px}
  .documents-explorer-page .topbar-actions .btn,.documents-explorer-page .topbar-actions select{min-height:34px;border-color:var(--border);background:var(--surface-2)}
  .documents-explorer-page .content{height:calc(100dvh - 58px);padding:10px 12px 12px!important;overflow:hidden}
}
.documents-app-sidebar{width:var(--documents-sidebar-w,244px);background:linear-gradient(180deg,#071525 0%,#081421 56%,#06101c 100%);border-right-color:#20334b;box-shadow:10px 0 32px rgba(0,0,0,.14)}
.documents-sidebar-brand{height:58px;padding:9px 14px;border-bottom-color:#203149;font-size:1.02rem}
.documents-sidebar-brand img{width:38px;height:38px;border:1px solid #1d80aa;background:#071b2e;box-shadow:0 0 0 3px rgba(30,182,230,.08)}
.documents-sidebar-primary{padding:8px 10px 7px}
.documents-sidebar-primary a,.documents-sidebar-section nav>a{min-height:29px;padding:5px 8px;border-radius:6px;font-size:.72rem}
.documents-sidebar-section{padding:8px 10px 0}
.documents-sidebar-section>header{padding:3px 7px;font-size:.58rem;color:#65bde8}
.documents-sidebar-areas{margin-top:5px;padding-top:8px}
.documents-sidebar-folders{margin-top:5px;padding-top:8px}
.documents-sidebar-storage{margin:8px 10px 10px;padding:10px 11px;border:1px solid #29405d;border-radius:9px;background:#0e1f34}
.documents-sidebar-storage strong{font-size:.76rem}.documents-sidebar-storage small{font-size:.62rem;color:#7f94aa}
.documents-sidebar-folder-link{min-height:27px!important;padding:3px 6px!important;font-size:.7rem!important}
.documents-sidebar-tree-row{grid-template-columns:calc(var(--folder-depth,0)*11px) 15px minmax(0,1fr)}
.documents-sidebar-toggle,.documents-sidebar-toggle-spacer{width:15px;height:23px}
.documents-folder-icon{width:17px;height:17px}.documents-folder-icon svg{width:16px;height:16px}

.documents-explorer-app{height:100%;min-height:0;border-radius:10px;border-color:#21334a;background:#07111f;box-shadow:0 14px 38px rgba(0,0,0,.18)}
.documents-explorer-titlebar{min-height:68px;grid-template-columns:minmax(230px,1fr) minmax(260px,390px) auto auto;padding:10px 14px;border-bottom-color:#203149;background:#081321}
.documents-title{gap:11px}.documents-title-icon{width:34px;height:34px;border:1px solid #27577a;border-radius:8px;background:#0b2035;color:#3bc8f6;font-size:.9rem}
.documents-title h1{font-size:1.18rem;letter-spacing:-.02em}.documents-title p{font-size:.66rem;color:#8094aa}
.documents-global-search{height:36px;border-color:#263a53;background:#0e1b2e}.documents-global-search input{font-size:.7rem}.documents-global-search kbd{font-size:.56rem}
.documents-explorer-titlebar>.btn{height:36px;padding:7px 12px;border-color:#263a53;background:#0b1727;font-size:.68rem}
.documents-commandbar{min-height:45px;padding:5px 14px;gap:3px;border-bottom-color:#203149;background:#081321}
.documents-commandbar>button,.documents-commandbar>form>button{min-height:33px;padding:6px 9px;border-radius:6px;font-size:.68rem}
.documents-commandbar>button.btn-primary{padding-inline:13px;box-shadow:0 6px 16px rgba(17,172,225,.2)}
.documents-addressbar{min-height:41px;grid-template-columns:auto minmax(0,1fr) auto;padding:5px 14px;border-bottom-color:#203149;background:#0a1728}
.documents-history{display:flex;gap:2px}.documents-history button,.documents-history a,.documents-view-switch button{width:29px;height:29px;border-radius:6px}
.documents-breadcrumbs a{font-size:.68rem}.documents-view-switch button{border:1px solid transparent}.documents-view-switch button.active{border-color:#276487;background:#0f2b45}
.documents-explorer-grid{grid-template-columns:minmax(560px,1fr) 350px;gap:1px;background:#203149}
.documents-explorer-app.hide-inspector .documents-explorer-grid{grid-template-columns:minmax(0,1fr)}
.documents-explorer-app.hide-inspector .documents-inspector{display:none}
.documents-file-pane{background:#071321}
.documents-list-header,.documents-list-row{grid-template-columns:var(--documents-grid-columns)!important}
.documents-list-header{min-height:36px;padding:0 12px;background:#0b1727;border-bottom-color:#203149;font-size:.59rem;color:#8397ad;text-transform:none;letter-spacing:0}
.documents-list-row{min-height:43px;padding:3px 12px;background:#081421;border-bottom-color:#17273b}
.documents-explorer-app.density-compact .documents-list-row{min-height:35px;padding-top:1px;padding-bottom:1px}
.documents-explorer-app.density-spacious .documents-list-row{min-height:52px;padding-top:6px;padding-bottom:6px}
.documents-list-row:hover{background:#0d1e31}
.documents-list-row.is-active{background:#0d2842;box-shadow:inset 2px 0 #2dc6f5,inset 0 0 0 1px #1e678d}
.documents-name-cell{grid-template-columns:27px minmax(0,1fr);gap:9px;cursor:pointer}
.documents-name-cell strong{font-size:.7rem}.documents-name-cell small,.documents-name-cell em,.documents-cell-muted{font-size:.61rem}
.documents-explorer-app:not(.density-spacious) .documents-name-cell small{display:none}
.documents-file-icon{width:25px;height:25px;border-radius:5px;background:#102a43}.documents-file-icon b{width:21px;height:23px;font-size:.5rem}
.documents-bulkbar{top:36px;min-height:38px;padding:5px 12px;font-size:.65rem}
.documents-row-menu>button{font-size:.72rem}
.documents-empty-state{min-height:230px}

.documents-inspector{background:#091626}
.documents-inspector-content>header{min-height:50px;padding:8px 13px;background:#0a1728}
.documents-inspector-content>header strong{font-size:.71rem}
.documents-inspector-content>nav{grid-template-columns:repeat(4,1fr);padding:0 7px;background:#091626}
.documents-inspector-content>nav button{padding:10px 3px;font-size:.61rem}
.documents-inspector-content>section{padding:0;overflow:auto}
.documents-inspector-section{padding:12px 13px;border-bottom:1px solid #203149}
.documents-inspector-section>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.documents-inspector-section>header h4{margin:0;font-size:.68rem;color:#d9e6f3}
.documents-inspector-section>header a,.documents-inspector-section>header button{border:0;background:transparent;color:#36c7f5;font:inherit;font-size:.6rem;cursor:pointer;text-decoration:none}
.documents-inspector-section>header a.loading{color:#e7b85d}
.documents-processing-status{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}
.documents-processing-chip{padding:7px;border-color:#263b55;border-radius:6px;background:#0c1a2d}
.documents-processing-chip small{font-size:.53rem}.documents-processing-chip strong{font-size:.6rem;line-height:1.25}
.documents-processing-chip.warning strong{color:#f6c75f}.documents-processing-chip.neutral strong{color:#9aadc1}.documents-processing-chip.processing-wide{grid-column:1/-1}
.documents-detail-list{gap:6px}.documents-detail-list>div{grid-template-columns:82px minmax(0,1fr);font-size:.62rem}
.documents-inspector-tags{margin-top:10px}.documents-inspector-tags span{font-size:.56rem;padding:3px 6px}
.documents-inspector-comments{margin:0;padding:0;border:0}.documents-inspector-comments.compact{display:grid;gap:8px}
.documents-inspector-comments.compact>div{display:grid;gap:6px}.documents-inspector-comments.compact article{padding:0;border:0;background:transparent}.documents-inspector-comments.compact article header{display:flex;justify-content:space-between;gap:6px}.documents-inspector-comments.compact article strong{font-size:.62rem}.documents-inspector-comments.compact article small,.documents-inspector-comments.compact article p{font-size:.58rem}.documents-inspector-comments.compact textarea{min-height:58px}
.documents-inspector-list.compact{gap:5px}.documents-inspector-list.compact article{padding:0;border:0;background:transparent}.documents-inspector-list.compact article header strong{font-size:.61rem}.documents-inspector-list.compact article p,.documents-inspector-list.compact article small{font-size:.57rem}
.documents-inspector-share-summary{font-size:.62rem;color:#90a4b8}.documents-inspector-share-summary .active{color:#5bd39a}
.documents-inspector-actions{position:sticky;bottom:0;margin:0;padding:10px 13px;border-top:1px solid #203149;background:#091626}
.documents-inspector-empty{background:#091626}
.documents-statusbar{min-height:33px;padding:5px 13px;background:#091626;border-top-color:#203149;font-size:.6rem}
.documents-sync-state.ok{color:#55d69a}.documents-sync-state.pending{color:#f0c45c}.documents-sync-state.warning{color:#f0a85c}.documents-sync-state.error{color:#ff8496}
.view-column-list{padding:7px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}
.view-column-list .check-row{min-height:34px}

@media(max-width:1280px){
  .documents-explorer-grid{grid-template-columns:minmax(480px,1fr) 315px}
  .documents-explorer-titlebar{grid-template-columns:minmax(200px,1fr) minmax(220px,320px) auto auto}
}
@media(max-width:1080px){
  .documents-explorer-grid{grid-template-columns:minmax(0,1fr)}
  .documents-inspector{width:min(355px,92vw)}
}
@media(max-width:980px){
  .documents-explorer-page .topbar-left>div{display:block!important}
  .documents-explorer-page .content{height:auto;overflow:visible}
  .documents-explorer-app{height:auto;min-height:calc(100dvh - 150px)}
}

/* Keep the mobile document inspector unobstructed. The floating assistant
   returns as soon as the inspector is closed. */


/* Cockpit 4.7.10 – Explorer theme integration.
   The selected three-column Explorer remains unchanged, while every colour,
   border and state now follows the active Cockpit preset and light/dark mode. */
.documents-explorer-page {
  --documents-bg: #07111f;
  --documents-bg-alt: #081321;
  --documents-bg-panel: #091626;
  --documents-row: #081421;
  --documents-hover: #0d1e31;
  --documents-active: #0d2842;
  --documents-field: #0e1b2e;
  --documents-line: #203149;
  --documents-line-strong: #263a53;
  --documents-text: #dbe7f4;
  --documents-text-subtle: #d9e6f3;
  --documents-muted: #8397ad;
  --documents-muted-2: #90a4b8;
  --documents-accent: #2dc6f5;
  --documents-accent-strong: #159bd4;
  --documents-accent-soft: #0f2b45;
  --documents-success: #55d69a;
  --documents-warning: #f0c45c;
  --documents-danger: #ff8496;
  --documents-shadow: rgba(0,0,0,.18);
}
html[data-theme-preset]:not([data-theme-preset="midnight"]) .documents-explorer-page {
  --documents-bg: color-mix(in srgb, var(--bg-deep) 88%, #000);
  --documents-bg-alt: color-mix(in srgb, var(--surface-2) 48%, var(--bg-deep));
  --documents-bg-panel: color-mix(in srgb, var(--surface-2) 60%, var(--bg-deep));
  --documents-row: color-mix(in srgb, var(--surface-2) 45%, var(--bg));
  --documents-hover: color-mix(in srgb, var(--primary) 10%, var(--documents-row));
  --documents-active: color-mix(in srgb, var(--primary) 20%, var(--documents-row));
  --documents-field: color-mix(in srgb, var(--surface-2) 78%, var(--bg-deep));
  --documents-line: color-mix(in srgb, var(--primary) 18%, var(--border-strong));
  --documents-line-strong: color-mix(in srgb, var(--primary) 28%, var(--border-strong));
  --documents-text: var(--text);
  --documents-text-subtle: var(--text);
  --documents-muted: var(--muted);
  --documents-muted-2: color-mix(in srgb, var(--muted) 78%, var(--text));
  --documents-accent: var(--primary);
  --documents-accent-strong: var(--primary-strong);
  --documents-accent-soft: color-mix(in srgb, var(--primary) 18%, var(--documents-bg-panel));
  --documents-success: var(--green);
  --documents-warning: var(--yellow);
  --documents-danger: var(--red);
}
html[data-theme="light"][data-theme-preset] .documents-explorer-page {
  --documents-bg: color-mix(in srgb, var(--surface-2) 94%, var(--bg));
  --documents-bg-alt: color-mix(in srgb, var(--surface-3) 68%, var(--surface-2));
  --documents-bg-panel: var(--surface-2);
  --documents-row: var(--surface-2);
  --documents-hover: color-mix(in srgb, var(--primary) 8%, var(--surface-2));
  --documents-active: color-mix(in srgb, var(--primary) 15%, var(--surface-2));
  --documents-field: color-mix(in srgb, var(--surface-3) 72%, var(--surface-2));
  --documents-line: color-mix(in srgb, var(--primary) 14%, var(--border-strong));
  --documents-line-strong: color-mix(in srgb, var(--primary) 24%, var(--border-strong));
  --documents-text: var(--text);
  --documents-text-subtle: var(--text);
  --documents-muted: var(--muted);
  --documents-muted-2: color-mix(in srgb, var(--muted) 82%, var(--text));
  --documents-accent: var(--primary);
  --documents-accent-strong: var(--primary-strong);
  --documents-accent-soft: color-mix(in srgb, var(--primary) 11%, var(--surface-2));
  --documents-success: #15803d;
  --documents-warning: #a16207;
  --documents-danger: #be123c;
  --documents-shadow: rgba(30,41,59,.12);
}

@media (min-width:981px) {
  .documents-explorer-page .topbar {
    border-bottom-color: var(--documents-line);
    background: color-mix(in srgb, var(--documents-bg) 92%, transparent);
  }
  .documents-explorer-page .topbar-actions .btn,
  .documents-explorer-page .topbar-actions select {
    border-color: var(--documents-line-strong);
    background: var(--documents-bg-alt);
    color: var(--documents-text);
  }
}
.documents-app-sidebar {
  background: linear-gradient(180deg, var(--documents-bg-alt) 0%, var(--documents-row) 56%, var(--documents-bg) 100%);
  border-right-color: var(--documents-line);
  box-shadow: 10px 0 32px var(--documents-shadow);
  color: var(--documents-text);
}
.documents-sidebar-brand {
  border-bottom-color: var(--documents-line);
  color: var(--documents-text);
}
.documents-sidebar-brand img {
  border-color: color-mix(in srgb, var(--documents-accent) 58%, var(--documents-line));
  background: var(--documents-accent-soft);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--documents-accent) 9%, transparent);
}
.documents-sidebar-primary { border-bottom-color: var(--documents-line); }
.documents-sidebar-primary a,
.documents-sidebar-section nav > a {
  color: var(--documents-muted-2);
}
.documents-sidebar-primary a:hover,
.documents-sidebar-section nav > a:hover,
.documents-sidebar-section nav > a.active {
  background: var(--documents-accent-soft);
  color: var(--documents-text);
}
.documents-sidebar-primary a span,
.documents-sidebar-section nav > a > span:first-child,
.documents-sidebar-section > header {
  color: var(--documents-accent);
}
.documents-sidebar-section > header button {
  border-color: var(--documents-line-strong);
  color: var(--documents-muted-2);
}
.documents-sidebar-section > header button:hover {
  background: var(--documents-accent-soft);
  color: var(--documents-accent);
}
.documents-sidebar-areas,
.documents-sidebar-folders { border-top-color: var(--documents-line); }
.documents-sidebar-toggle { color: var(--documents-muted); }
.documents-sidebar-folder-link {
  color: var(--documents-muted-2) !important;
}
.documents-sidebar-folder-link:hover,
.documents-sidebar-folder-link.active {
  background: var(--documents-accent-soft) !important;
  color: var(--documents-text) !important;
  box-shadow: inset 2px 0 var(--documents-accent) !important;
}
.documents-sidebar-folder-link small { color: var(--documents-muted); }
.documents-folder-icon { color: var(--documents-accent); }
.documents-folder-lock { border-color: var(--documents-bg); }
.documents-sidebar-storage {
  border-color: var(--documents-line-strong);
  background: var(--documents-field);
}
.documents-sidebar-storage small { color: var(--documents-muted); }

.documents-explorer-app {
  border-color: var(--documents-line);
  background: var(--documents-bg);
  box-shadow: 0 14px 38px var(--documents-shadow);
  color: var(--documents-text);
}
.documents-explorer-titlebar {
  border-bottom-color: var(--documents-line);
  background: var(--documents-bg-alt);
}
.documents-title-icon {
  border-color: var(--documents-line-strong);
  background: var(--documents-accent-soft);
  color: var(--documents-accent);
}
.documents-title p { color: var(--documents-muted); }
.documents-global-search {
  border-color: var(--documents-line-strong);
  background: var(--documents-field);
}
.documents-global-search > span { color: var(--documents-muted); }
.documents-global-search input { color: var(--documents-text); }
.documents-global-search input::placeholder { color: var(--documents-muted); }
.documents-global-search kbd {
  border-color: var(--documents-line-strong);
  background: var(--documents-bg-alt);
  color: var(--documents-muted);
}
.documents-explorer-titlebar > .btn {
  border-color: var(--documents-line-strong);
  background: var(--documents-bg-alt);
  color: var(--documents-text);
}
.documents-commandbar {
  border-bottom-color: var(--documents-line);
  background: var(--documents-bg-alt);
}
.documents-commandbar > button,
.documents-commandbar > form > button { color: var(--documents-muted-2); }
.documents-commandbar > button:hover,
.documents-commandbar > form > button:hover {
  background: var(--documents-accent-soft);
  color: var(--documents-text);
}
.documents-commandbar > button.btn-primary {
  background: linear-gradient(180deg, var(--documents-accent), var(--documents-accent-strong));
  color: #fff;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--documents-accent) 22%, transparent);
}
.documents-commandbar .danger:not(:disabled) { color: var(--documents-danger); }
.documents-addressbar {
  border-bottom-color: var(--documents-line);
  background: var(--documents-bg-alt);
}
.documents-history button,
.documents-history a,
.documents-view-switch button { color: var(--documents-muted); }
.documents-history button:hover,
.documents-history a:hover,
.documents-view-switch button:hover,
.documents-view-switch button.active {
  background: var(--documents-accent-soft);
  color: var(--documents-accent);
}
.documents-view-switch button.active { border-color: var(--documents-line-strong); }
.documents-breadcrumbs a { color: var(--documents-muted-2); }
.documents-breadcrumbs span { color: var(--documents-muted); }
/* Transfer-Verwaltung steht in der Brotkrumenleiste, leicht abgesetzt. */
.documents-breadcrumbs .documents-transfer-manage-link { margin-left: 10px; flex: none; }

.documents-explorer-grid { background: var(--documents-line); }
.documents-file-pane { background: var(--documents-bg); }
.documents-list-header {
  border-bottom-color: var(--documents-line);
  background: var(--documents-bg-alt);
  color: var(--documents-muted);
}
.documents-list-row {
  border-bottom-color: color-mix(in srgb, var(--documents-line) 64%, transparent);
  background: var(--documents-row);
  color: var(--documents-text);
}
.documents-list-row:hover { background: var(--documents-hover); }
.documents-list-row.is-active {
  background: var(--documents-active);
  box-shadow: inset 2px 0 var(--documents-accent), inset 0 0 0 1px color-mix(in srgb, var(--documents-accent) 48%, var(--documents-line));
}
.documents-list-row input[type="checkbox"],
.documents-bulkbar input[type="checkbox"] { accent-color: var(--documents-accent); }
.documents-name-cell small,
.documents-name-cell em,
.documents-cell-muted { color: var(--documents-muted); }
.documents-name-cell em { color: color-mix(in srgb, var(--documents-accent) 68%, var(--documents-muted)); }
.documents-file-icon {
  background: var(--documents-accent-soft);
  color: var(--documents-text);
}
.documents-row-menu > button { color: var(--documents-muted-2); }
.documents-row-menu > button:hover {
  background: var(--documents-accent-soft);
  color: var(--documents-text);
}
.documents-bulkbar {
  border-bottom-color: color-mix(in srgb, var(--documents-accent) 45%, var(--documents-line));
  background: color-mix(in srgb, var(--documents-accent) 19%, var(--documents-bg-panel));
  color: var(--documents-text-subtle);
}
.documents-bulkbar button {
  background: var(--documents-accent-soft);
  color: var(--documents-text-subtle);
}
.documents-bulkbar .danger { color: var(--documents-danger); }
.documents-empty-state { color: var(--documents-muted); }
.documents-empty-state > span { color: var(--documents-accent); }

.documents-inspector,
.documents-inspector-empty,
.documents-inspector-content > nav,
.documents-inspector-actions,
.documents-statusbar { background: var(--documents-bg-panel); }
.documents-inspector-empty { color: var(--documents-muted); }
.documents-inspector-empty > span { color: var(--documents-accent); }
.documents-inspector-content > header {
  border-bottom-color: var(--documents-line);
  background: var(--documents-bg-alt);
}
.documents-inspector-content > header > button { color: var(--documents-muted-2); }
.documents-inspector-content > nav { border-bottom-color: var(--documents-line); }
.documents-inspector-content > nav button { color: var(--documents-muted); }
.documents-inspector-content > nav button.active {
  border-bottom-color: var(--documents-accent);
  color: var(--documents-text);
}
.documents-inspector-section { border-bottom-color: var(--documents-line); }
.documents-inspector-section > header h4 { color: var(--documents-text-subtle); }
.documents-inspector-section > header a,
.documents-inspector-section > header button { color: var(--documents-accent); }
.documents-inspector-section > header a.loading { color: var(--documents-warning); }
.documents-inspector-preview { color: var(--documents-muted-2); }
.documents-inspector-preview img { border-color: var(--documents-line-strong); }
.documents-processing-chip {
  border-color: var(--documents-line-strong);
  background: var(--documents-field);
}
.documents-processing-chip small,
.documents-detail-list dt { color: var(--documents-muted); }
.documents-processing-chip.ok strong { color: var(--documents-success); }
.documents-processing-chip.pending strong,
.documents-processing-chip.warning strong { color: var(--documents-warning); }
.documents-processing-chip.neutral strong { color: var(--documents-muted-2); }
.documents-processing-chip.error strong { color: var(--documents-danger); }
.documents-detail-list dd { color: var(--documents-text-subtle); }
.documents-inspector-tags span {
  border-color: var(--documents-line-strong);
  background: var(--documents-accent-soft);
  color: var(--documents-text-subtle);
}
.documents-inspector-list article {
  border-color: var(--documents-line-strong);
  background: var(--documents-field);
}
.documents-inspector-list small,
.documents-inspector-list p,
.documents-inspector-comments.compact article small,
.documents-inspector-comments.compact article p,
.documents-inspector-share-summary { color: var(--documents-muted-2); }
.documents-inspector-comments { border-top-color: var(--documents-line); }
.documents-inspector-share-summary .active { color: var(--documents-success); }
.documents-inspector-actions { border-top-color: var(--documents-line); }
.documents-statusbar {
  border-top-color: var(--documents-line);
  color: var(--documents-muted-2);
}
.documents-sync-state.ok { color: var(--documents-success); }
.documents-sync-state.pending,
.documents-sync-state.warning { color: var(--documents-warning); }
.documents-sync-state.error { color: var(--documents-danger); }

/* Preset-specific geometry and texture, without changing Explorer behaviour. */
html[data-theme-preset="lcars"] .documents-explorer-app { border-radius: 20px 7px 20px 7px; }
html[data-theme-preset="lcars"] .documents-sidebar-primary a,
html[data-theme-preset="lcars"] .documents-sidebar-section nav > a,
html[data-theme-preset="lcars"] .documents-sidebar-folder-link { border-radius: 999px 7px 7px 999px !important; }
html[data-theme-preset="borg"] .documents-explorer-app,
html[data-theme-preset="borg"] .documents-global-search,
html[data-theme-preset="borg"] .documents-processing-chip { border-radius: 4px; }
html[data-theme-preset="borg"] .documents-file-pane {
  background-image: linear-gradient(color-mix(in srgb, var(--documents-accent) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--documents-accent) 5%, transparent) 1px, transparent 1px);
  background-size: 28px 28px;
}
html[data-theme-preset="goauld"] .documents-explorer-app,
html[data-theme-preset="ancient"] .documents-explorer-app { border-color: color-mix(in srgb, var(--documents-accent) 36%, var(--documents-line)); }
html[data-theme-preset="atlantis"] .documents-explorer-app { box-shadow: 0 14px 42px color-mix(in srgb, var(--documents-accent) 11%, var(--documents-shadow)); }

/* Cockpit 4.7.10 – one global application shell on every page. */
.sidebar{height:100dvh;overflow:hidden;padding:14px 12px 12px;gap:0;background:color-mix(in srgb,var(--surface) 96%,var(--bg-deep));}
.sidebar .brand{flex:0 0 auto;margin:0 2px 10px;padding:7px 6px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.sidebar .brand-logo{width:42px;height:42px;border-radius:12px}.sidebar .brand-copy{min-width:0}.sidebar .brand-copy strong{font-size:1rem}.sidebar .brand-copy span{font-size:.7rem;white-space:nowrap}
.sidebar-primary{flex:0 0 auto;padding:3px 0 6px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.sidebar .nav-link{min-height:35px;padding:7px 9px;border-radius:8px;font-size:.77rem;gap:9px}.sidebar .nav-svg{width:17px;height:17px}.sidebar .nav-link.active{box-shadow:inset 2px 0 color-mix(in srgb,var(--primary) 88%,white),0 7px 18px color-mix(in srgb,var(--primary) 15%,transparent)}
.sidebar-favorites{flex:0 0 154px;min-height:154px;display:flex;flex-direction:column;padding:7px 0 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);overflow:hidden}
.sidebar-section-head{min-height:25px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 9px;color:var(--primary);font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.sidebar-section-head small{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.58rem;letter-spacing:0}
.sidebar-section-head button{width:24px;height:24px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--primary);cursor:pointer}
.sidebar-favorite-list{min-height:0;overflow:auto;padding:1px 2px 1px 0}.sidebar-favorite-link{position:relative}.sidebar-favorite-link .favorite-star{margin-left:auto;color:var(--primary);font-size:.65rem}.sidebar-favorites-empty{height:100%;display:grid;place-items:center;align-content:center;gap:3px;padding:8px;color:var(--muted);text-align:center;border:1px dashed color-mix(in srgb,var(--border) 80%,transparent);border-radius:9px;background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.sidebar-favorites-empty>span{font-size:1rem;color:var(--primary)}.sidebar-favorites-empty p{margin:0;font-size:.65rem}
.sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 3px 8px 0;scrollbar-width:thin;overscroll-behavior:contain}.sidebar-scroll .nav-label{margin:10px 7px 4px;padding:4px 5px;color:var(--primary);cursor:context-menu}.sidebar-scroll .nav-label:first-child{margin-top:5px}.sidebar-scroll .nav-label-icon .nav-svg{width:14px;height:14px}
.sidebar-document-folders{margin:8px 0 4px;padding:7px 0;border-top:1px solid color-mix(in srgb,var(--border) 66%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 66%,transparent)}
.sidebar-document-folders .documents-sidebar-tree{max-height:235px;overflow:auto;padding:2px 0}.sidebar-document-folders .documents-sidebar-tree-row{grid-template-columns:calc(var(--folder-depth,0)*10px) 15px minmax(0,1fr);min-height:27px}.sidebar-document-folders .documents-sidebar-folder-link{min-height:27px!important;padding:3px 5px!important;border-radius:6px;font-size:.69rem!important}.sidebar-document-folders .documents-sidebar-storage{margin:7px 3px 1px;padding:8px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.sidebar-utilities{flex:0 0 auto;padding:7px 0 6px;border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.sidebar-bottom{flex:0 0 auto;margin:0;padding:0}.sidebar-user-card{display:grid;grid-template-columns:34px minmax(0,1fr) 32px;gap:9px;align-items:center;padding:9px;border:1px solid var(--border);border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 6%,var(--surface-2)),var(--surface-2));box-shadow:0 8px 22px rgba(0,0,0,.12)}.sidebar-user-card .avatar{width:34px;height:34px}.sidebar-user-copy{min-width:0}.sidebar-user-copy strong,.sidebar-user-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-copy strong{font-size:.73rem}.sidebar-user-copy small{margin-top:2px;color:var(--muted);font-size:.59rem}.sidebar-user-card .logout-form{margin:0}.sidebar-logout{width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer}.sidebar-logout:hover{border-color:color-mix(in srgb,var(--red) 55%,var(--border));color:var(--red);background:color-mix(in srgb,var(--red) 9%,var(--surface))}.sidebar .build-mark{display:flex;justify-content:space-between;margin-top:5px;padding:0 4px;color:var(--muted);font-size:.53rem}
.sidebar-favorite-menu{min-width:230px}.sidebar-favorite-menu button span:first-child{color:var(--primary)}

/* Cockpit 4.7.10 – Documents uses the same shell instead of replacing it. */
.documents-explorer-page .sidebar{display:flex!important}
.documents-explorer-page .main-wrap{margin-left:var(--sidebar-width)!important;min-width:0}
.documents-explorer-page .topbar{left:var(--sidebar-width)!important;height:var(--topbar)!important;min-height:var(--topbar)!important;padding:0 30px!important;background:color-mix(in srgb,var(--surface) 84%,transparent)!important;border-bottom-color:var(--border)!important}
.documents-explorer-page .topbar-left>div{display:block!important}.documents-explorer-page .topbar-actions{margin-left:0}
.documents-explorer-page .content{width:100%!important;max-width:none!important;margin:0!important;padding:12px!important;height:calc(100dvh - var(--topbar));overflow:hidden}
.documents-explorer-page .documents-explorer-app{height:100%;min-height:0}


/* Command buttons are explicit and horizontally available without a hidden More menu. */
/* ⚠⚠ HIER STAND `flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden`. Die Leiste
   war damit ein WAAGRECHTER SCROLLBEHÄLTER — und ein Scrollbehälter schneidet
   alles ab, was aus ihm herausragt, auch das Aufklappmenü «Neues Dokument».
   Gemeldet am 11.08.2026: am 24-Zoll-Schirm fehlte «PowerPoint-Präsentation»,
   am 27-Zöller war es da, und mit Zoom ≥120 % erschien es auch am kleinen.
   ➤ Die Leiste bricht ohnehin um (`flex-wrap:wrap` weiter unten), sie braucht
   also gar kein Querscrollen — `overflow` bleibt darum sichtbar.
   ⚠ Das allein war NICHT die Ursache; die stand woanders und ist beim
   Stapelplatz der Leiste weiter unten beschrieben. Diese Zeile beseitigt nur
   die zweite Falle, die sonst irgendwann zugeschlagen hätte. */
.documents-commandbar{display:flex;flex-wrap:wrap;overflow:visible;scrollbar-width:thin}.documents-commandbar>button,.documents-commandbar>form{flex:0 0 auto}.documents-commandbar>button:disabled{opacity:.38;cursor:not-allowed}

/* Four real document views. */
.documents-explorer-app.view-list .documents-list-header{display:none}
.documents-explorer-app.view-list .documents-list-row{grid-template-columns:34px minmax(220px,1fr) 34px!important}.documents-explorer-app.view-list .documents-list-row>.documents-cell-muted{display:none!important}.documents-explorer-app.view-list .documents-name-cell small{display:block!important}
.documents-explorer-app.view-tiles .documents-list-header{display:none}
.documents-explorer-app.view-tiles .documents-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:10px;padding:11px;align-content:start;overflow:auto}
.documents-explorer-app.view-tiles .documents-list-row{position:relative;display:grid!important;grid-template-columns:28px minmax(0,1fr) 28px!important;grid-template-rows:28px minmax(105px,1fr);min-height:165px;padding:9px;border:1px solid var(--documents-line);border-radius:10px;background:var(--documents-row)}
.documents-explorer-app.view-tiles .documents-list-row:hover{border-color:color-mix(in srgb,var(--primary) 52%,var(--documents-line));transform:translateY(-1px)}
.documents-explorer-app.view-tiles .documents-list-row.is-active{box-shadow:inset 0 0 0 2px var(--documents-accent),0 10px 24px rgba(0,0,0,.18)}
.documents-explorer-app.view-tiles .selection-check{grid-column:1;grid-row:1}.documents-explorer-app.view-tiles .documents-row-menu{grid-column:3;grid-row:1;align-self:start}.documents-explorer-app.view-tiles .documents-name-cell{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr;grid-template-rows:68px auto;align-items:center;justify-items:center;gap:7px;text-align:center;padding:3px;min-width:0}.documents-explorer-app.view-tiles .documents-name-cell>span:last-child{width:100%;min-width:0}.documents-explorer-app.view-tiles .documents-name-cell strong,.documents-explorer-app.view-tiles .documents-name-cell small{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-explorer-app.view-tiles .documents-name-cell em{display:none}.documents-explorer-app.view-tiles .documents-cell-muted{display:none!important}.documents-explorer-app.view-tiles .documents-file-icon{width:58px;height:58px;border-radius:10px}.documents-explorer-app.view-tiles .documents-file-icon img{width:100%;height:100%;object-fit:cover}.documents-explorer-app.view-tiles .documents-file-icon b{width:45px;height:52px;font-size:.68rem}.documents-explorer-app.view-tiles .documents-folder-icon{width:58px;height:58px}.documents-explorer-app.view-tiles .documents-folder-icon svg{width:56px;height:56px}
.documents-explorer-app.view-details .documents-list-header{background:color-mix(in srgb,var(--documents-row) 75%,var(--documents-bg-panel))}.documents-explorer-app.view-details .documents-name-cell small{display:block!important}
.documents-explorer-app.view-standard .documents-name-cell small{display:block!important}

/* Clean, proportional view dialog. */
.document-view-dialog{width:min(720px,94vw)}.document-view-dialog .dialog-body{display:grid;gap:20px}.document-view-section{display:grid;gap:9px}.document-view-section>label{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.document-view-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.document-view-options label{position:relative;cursor:pointer}.document-view-options input{position:absolute;opacity:0;pointer-events:none}.document-view-options label>span{height:100%;min-height:118px;display:grid;grid-template-rows:35px auto auto;align-content:center;justify-items:center;gap:4px;padding:12px 8px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);text-align:center;transition:.16s}.document-view-options b{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary);font-size:1.05rem}.document-view-options strong{color:var(--text);font-size:.78rem}.document-view-options small{color:var(--muted);font-size:.62rem;line-height:1.3}.document-view-options input:checked+span{border-color:color-mix(in srgb,var(--primary) 72%,var(--border));background:color-mix(in srgb,var(--primary) 9%,var(--surface-2));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 13%,transparent)}
.document-view-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;align-items:stretch}.document-view-toggle{position:relative;display:flex;align-items:center;min-height:70px;padding:12px 14px 12px 48px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);cursor:pointer}.document-view-toggle input{position:absolute;left:14px;width:22px;height:22px;min-height:0;accent-color:var(--primary)}.document-view-toggle strong,.document-view-toggle small{display:block}.document-view-toggle strong{color:var(--text);font-size:.76rem}.document-view-toggle small{margin-top:3px;color:var(--muted);font-size:.61rem;line-height:1.35}.document-column-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.document-column-options label{position:relative}.document-column-options input{position:absolute;opacity:0}.document-column-options span{display:grid;place-items:center;min-height:40px;padding:7px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:.68rem;cursor:pointer}.document-column-options input:checked+span{border-color:color-mix(in srgb,var(--primary) 65%,var(--border));background:color-mix(in srgb,var(--primary) 10%,var(--surface-2));color:var(--text)}

@media(max-width:980px){
  .documents-explorer-page .main-wrap{margin-left:0!important}.documents-explorer-page .topbar{left:0!important;padding:0 12px!important}.documents-explorer-page .content{height:auto;overflow:visible;padding:10px 8px 90px!important}.documents-explorer-page .documents-explorer-app{height:auto;min-height:calc(100dvh - 150px)}
  .document-view-options{grid-template-columns:repeat(2,minmax(0,1fr))}.document-view-settings-grid{grid-template-columns:1fr}.document-column-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Cockpit 4.7.10 – stable date controls: native click area, own right-aligned glyph. */
.date-input-shell{position:relative;display:block;width:100%}
.date-input-shell>input[type="date"]{width:100%!important;padding-right:42px!important}
.date-input-shell>input[type="date"]::-webkit-calendar-picker-indicator{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;opacity:0!important;cursor:pointer!important}
.date-input-glyph{position:absolute;right:12px;top:50%;display:grid;place-items:center;width:18px;height:18px;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.date-input-glyph svg{width:17px;height:17px;stroke-width:1.7}
.journal-date-range .date-input-shell{min-width:0}
.journal-date-range .date-input-shell>input[type="date"]{min-width:145px!important;height:44px!important}
@media(max-width:520px){.journal-date-range .date-input-shell>input[type="date"]{min-width:0!important}}

/* Cockpit 4.7.10 – final cross-browser date alignment and contact favourites. */
.contact-card-pro{scroll-margin-top:calc(var(--topbar) + 18px)}
.contact-card-pro:target{border-color:color-mix(in srgb,var(--primary) 72%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent),var(--shadow)}
@supports (-moz-appearance:none){
  .date-input-shell>.date-input-glyph{display:none}
  .date-input-shell>input[type="date"]{padding-right:12px!important}
}

/* Cockpit 4.7.10 – contact cards keep their information readable beside actions. */
.contact-grid.professional{grid-template-columns:repeat(auto-fit,minmax(min(520px,100%),1fr))}
.contact-card-pro .contact-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:960px){.contact-grid.professional{grid-template-columns:1fr}}

/* 4.7.10: the Widgets settings use a two-column row; title and group stay visibly separated. */
.start-settings-row{grid-template-columns:minmax(0,1fr) auto}
.start-settings-row>.checkbox{min-width:0}
.start-settings-row>.checkbox>span{display:grid;gap:3px;min-width:0}
.start-settings-row>.checkbox strong,.start-settings-row>.checkbox small{display:block}
.start-settings-row>.checkbox small{color:var(--muted);font-size:.7rem;line-height:1.35}
@media(max-width:500px){.start-settings-row{grid-template-columns:minmax(0,1fr) auto}.start-settings-row .navigation-order-actions{grid-column:auto}}

/* --------------------------------------------------------------------------
   Cockpit 4.7.10 · one global sidebar and truthful appearance settings
   -------------------------------------------------------------------------- */
.sidebar-entry-block{flex:0 0 auto;padding:2px 0 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.sidebar-entry-block .sidebar-primary{padding:1px 0 0;border:0}
.sidebar-section-head-static{margin-bottom:2px}
.sidebar-section-title{min-width:0;display:flex;align-items:center;gap:8px;color:inherit}
.sidebar-section-title .nav-svg{width:15px;height:15px;flex:0 0 auto}
.sidebar-section-title b{font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-nav-group{flex:0 0 auto;min-width:0}
.sidebar-group-toggle{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}
.sidebar-group-toggle>i,.sidebar-section-meta>i{font-style:normal;color:var(--muted);font-size:.78rem;transition:transform .16s ease}
.sidebar-group-toggle:hover{color:var(--primary)}
.sidebar-nav-group.is-collapsed .sidebar-group-toggle>i,.sidebar-nav-group.is-collapsed .sidebar-section-meta>i{transform:rotate(-90deg)}
.sidebar-group-body[hidden]{display:none!important}
.sidebar-section-meta{display:flex;align-items:center;gap:6px;margin-left:auto}
.sidebar-favorites{flex-basis:136px;min-height:136px;padding:7px 0 8px}
.sidebar-favorites.is-collapsed{flex-basis:auto;min-height:0;padding-bottom:5px}
.sidebar-favorite-body{min-height:0;flex:1 1 auto;overflow:hidden}
.sidebar-scroll .sidebar-nav-group+.sidebar-nav-group{margin-top:3px}
.sidebar-scroll .nav-label{width:100%;margin:8px 0 3px;padding:5px 6px;display:flex;align-items:center;justify-content:space-between;color:var(--primary);border-radius:7px}
.sidebar-scroll .nav-label:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}
.sidebar-scroll .sidebar-group-body{padding:0 1px}
.sidebar-trash-link{min-height:34px;display:flex;align-items:center;gap:9px;margin:0 0 6px;padding:7px 9px;border:1px solid var(--border);border-radius:9px;color:var(--muted);text-decoration:none;font-size:.73rem}
.sidebar-trash-link .nav-svg{width:16px;height:16px;color:var(--primary)}
.mail-attachment-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;font-size:.74rem}
.mail-attachment-controls input[type=number]{width:64px}
/* Bestätigungsdialog: Warnzeichen NEBEN dem Text, nicht als nackte Zeile
   darüber. Ohne Gestaltung stand dort bisher ein einzelnes «!» im Raum. */
.confirm-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px}
.confirm-row p{margin:0}
.confirm-illustration{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;
  background:color-mix(in srgb,var(--warning,#f4c35b) 22%,transparent);color:var(--warning,#f4c35b);
  font-weight:900;font-size:.95rem;line-height:1}
/* «Hierhin wolltest du»: kurz sichtbar, nie im Weg. */
.cockpit-highlight{position:relative;border-radius:12px;outline:2px solid var(--primary);outline-offset:3px;animation:cockpit-highlight-pulse 1.1s ease-out 3}
@keyframes cockpit-highlight-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 45%,transparent)}70%{box-shadow:0 0 0 14px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion: reduce){.cockpit-highlight{animation:none}}
/* Feedback ist ein Knopf, sieht aber aus wie die Nachbarzeile darunter. */
/* Feedback hebt sich bewusst violett ab: Es geht in der grauen Liste sonst
   unter, obwohl es der einzige Weg zum Betreiber ist. */
.sidebar-feedback-link{width:100%;text-align:left;cursor:pointer;font:inherit;font-size:.73rem;
  border-color:color-mix(in srgb,#8b5cf6 55%,var(--border));
  background:color-mix(in srgb,#8b5cf6 14%,var(--surface-2));color:var(--text)}
.sidebar-feedback-link .nav-svg{color:#a78bfa}
.sidebar-feedback-link small{color:color-mix(in srgb,#c4b5fd 70%,var(--muted))}
.sidebar-feedback-link:hover{border-color:#8b5cf6;background:color-mix(in srgb,#8b5cf6 24%,var(--surface-2))}
.sidebar-trash-link:hover,.sidebar-trash-link.active{border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface-2));color:var(--text)}
.sidebar-user-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:8px 42px 8px 8px}
.sidebar-user-main{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center}
.sidebar-user-card .avatar{width:30px;height:30px;font-size:.72rem}
.sidebar-theme-toggle{position:absolute;top:7px;right:7px;width:28px;height:28px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer}
.sidebar-theme-toggle:hover{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}
.sidebar-user-card .logout-form{grid-column:1;margin:0}
.sidebar-logout{width:auto;height:27px;min-width:0;padding:0 10px;border-radius:7px;font-size:.65rem;font-weight:750}
.sidebar-user-copy strong{font-size:.71rem}.sidebar-user-copy small{font-size:.56rem}
.topbar-left>div{display:grid;gap:7px}.topbar-subtitle{line-height:1.35}

.settings-section-heading-spaced{margin-top:44px}
.sidebar-settings-card>.card-head{padding-bottom:14px}
.sidebar-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:14px;align-items:start}
.sidebar-settings-preview{min-width:0;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 88%,transparent);overflow:hidden}
.sidebar-settings-preview-head{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-bottom:1px solid var(--border);color:var(--primary);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}
.sidebar-settings-preview-head>span{display:flex;align-items:center;gap:8px;min-width:0}.sidebar-settings-preview-head .nav-svg{width:16px;height:16px}.sidebar-settings-preview-head small{color:var(--muted);font-size:.62rem}
.sidebar-settings-preview-body{display:grid;padding:6px}
.sidebar-settings-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;border-radius:8px}
.sidebar-settings-row:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}
.sidebar-settings-row>label{min-width:0;display:grid;grid-template-columns:18px 18px minmax(0,1fr);gap:8px;align-items:center;padding:7px 5px;cursor:pointer}
.sidebar-settings-row>label>input{margin:0}.sidebar-settings-icon{display:grid;place-items:center;color:var(--primary)}.sidebar-settings-icon .nav-svg{width:16px;height:16px}
.sidebar-settings-row>label>span:last-child{min-width:0;display:grid;gap:1px}.sidebar-settings-row strong,.sidebar-settings-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-settings-row strong{font-size:.72rem}.sidebar-settings-row small{color:var(--muted);font-size:.59rem}
.sidebar-settings-order{display:flex;gap:3px;padding-right:4px}.sidebar-settings-order button{width:25px;height:25px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--muted);cursor:pointer}.sidebar-settings-order button:hover:not(:disabled){color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}.sidebar-settings-order button:disabled{opacity:.28;cursor:not-allowed}
.sidebar-settings-row.is-unavailable{opacity:.55}
.workspace-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.workspace-area-card{position:relative;min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) 24px;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);cursor:pointer}
.workspace-area-card>input{position:absolute;opacity:0;pointer-events:none}.workspace-area-card.is-active,.workspace-area-card:has(input:checked){border-color:color-mix(in srgb,var(--primary) 58%,var(--border));background:color-mix(in srgb,var(--primary) 10%,var(--surface-2))}.workspace-area-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary)}.workspace-area-icon .nav-svg{width:18px;height:18px}.workspace-area-card>span:nth-of-type(2){min-width:0;display:grid;gap:2px}.workspace-area-card strong{font-size:.76rem}.workspace-area-card small{color:var(--muted);font-size:.62rem;line-height:1.35}.workspace-area-card>i{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--border);border-radius:6px;color:transparent;font-style:normal}.workspace-area-card:has(input:checked)>i{border-color:var(--primary);background:var(--primary);color:var(--primary-contrast)}
.compact-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:1380px){.sidebar-settings-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}.compact-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.sidebar-settings-grid,.workspace-area-grid,.compact-module-grid{grid-template-columns:1fr}.settings-section-heading-spaced{margin-top:30px}}

/* Cockpit 4.7.10 – Dokumentbaum lives inside Documents, not in the global sidebar. */
.documents-explorer-titlebar{grid-template-columns:minmax(210px,1fr) minmax(260px,430px) auto auto auto!important}
.documents-storage-summary{min-height:36px;display:flex;align-items:center;padding:4px 10px;border:1px solid var(--documents-line-strong);border-radius:9px;background:var(--documents-field);color:var(--documents-text);white-space:nowrap}
.documents-storage-summary strong{font-size:.72rem;line-height:1;font-weight:800}.documents-storage-summary strong span{font-size:inherit;font-weight:700;color:var(--documents-muted-2)}

/* Cockpit 4.7.13 – ChatGPT-like conversation navigation and live SFTP status. */
.ai-new-chat-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.ai-chat-search{position:relative;margin-top:9px}.ai-chat-search>span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted)}.ai-chat-search input{width:100%;padding-left:30px}.ai-chat-views{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:8px 0}.ai-chat-views a{padding:6px 5px;border-radius:8px;color:var(--muted);font-size:.64rem;font-weight:750;text-align:center;text-decoration:none}.ai-chat-views a:hover,.ai-chat-views a.active{background:var(--surface-3);color:var(--text)}.ai-chat-group{display:grid;gap:3px;margin-top:10px}.ai-chat-group>span{padding:0 7px;color:var(--muted);font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.ai-conversation-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 26px;align-items:center;border-radius:10px}.ai-conversation-row:hover,.ai-conversation-row.active{background:var(--surface-3)}.ai-conversation-row .ai-conversation-link{background:transparent!important}.ai-chat-menu-button{border:0;background:transparent;color:var(--muted);cursor:pointer}.ai-chat-row-menu{position:absolute;right:3px;top:calc(100% - 3px);z-index:40;width:190px;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 14px 35px rgba(0,0,0,.3)}.ai-chat-row-menu>*{display:block;width:100%;margin:0}.ai-chat-row-menu button,.ai-chat-row-menu a{display:block;width:100%;padding:7px 8px;border:0;border-radius:7px;background:transparent;color:var(--text);font:inherit;font-size:.68rem;text-align:left;text-decoration:none;cursor:pointer}.ai-chat-row-menu button:hover,.ai-chat-row-menu a:hover{background:var(--surface-3)}.ai-message-tools{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px;opacity:.35;transition:opacity .15s}.ai-message:hover .ai-message-tools{opacity:1}.ai-message-tools form{display:inline}.ai-message-tools button{padding:3px 6px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:.6rem;cursor:pointer}.ai-message-tools button:hover{background:var(--surface-3);color:var(--text)}.ai-message-content{white-space:pre-wrap;overflow-wrap:anywhere}.ai-action-preview{display:grid;gap:5px;margin:9px 0}.ai-action-preview>div{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(0,1fr);gap:9px;padding:6px 8px;border-radius:7px;background:var(--surface-2)}.ai-action-preview dt{color:var(--muted);font-size:.62rem}.ai-action-preview dd{margin:0;overflow-wrap:anywhere;font-size:.68rem}
.transfer-live-card .card-body{display:grid;gap:12px}.transfer-live-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.transfer-live-summary>div{display:grid;gap:2px;padding:8px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.transfer-live-summary span{color:var(--muted);font-size:.58rem}.transfer-live-summary strong{font-size:.82rem}.transfer-live-list,.transfer-recent>div{display:grid;gap:7px}.transfer-live-item{display:grid;gap:7px;padding:9px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.transfer-live-item header,.transfer-live-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.transfer-live-item header span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-live-item header small,.transfer-live-meta{color:var(--muted);font-size:.58rem}.transfer-live-bar{height:7px;overflow:hidden;border-radius:999px;background:var(--surface-3)}.transfer-live-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--teal));transition:width .35s}.transfer-live-empty{padding:12px;border:1px dashed var(--border);border-radius:9px;color:var(--muted);font-size:.66rem;text-align:center}.transfer-recent summary{color:var(--muted);font-size:.65rem;font-weight:750;cursor:pointer}.transfer-recent[open] summary{margin-bottom:8px}.transfer-recent-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:7px 2px;border-bottom:1px solid var(--border);font-size:.63rem}.transfer-recent-row span{display:grid;min-width:0}.transfer-recent-row small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-live-updated{margin:0;color:var(--muted);font-size:.56rem;text-align:right}
.ai-chat-attachments{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.ai-chat-attachments span{padding:4px 7px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.58rem}
.ai-message-content p{margin:.35em 0}.ai-message-content h2,.ai-message-content h3,.ai-message-content h4{margin:.8em 0 .35em}.ai-message-content pre{overflow:auto;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.ai-message-content code{font-family:var(--mono,monospace);font-size:.9em}.ai-message-content>p>code,.ai-md-list code{padding:1px 4px;border-radius:4px;background:var(--surface-3)}.ai-md-list{padding-left:12px;margin:3px 0}
.documents-explorer-grid{grid-template-columns:var(--documents-folder-width,276px) minmax(520px,1fr) 350px!important}
.documents-explorer-app.hide-inspector .documents-explorer-grid{grid-template-columns:var(--documents-folder-width,276px) minmax(0,1fr)!important}
.documents-folder-panel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:0;background:var(--documents-sidebar);color:var(--documents-text-subtle)}
.documents-folder-panel>header{min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-bottom:1px solid var(--documents-line)}
.documents-folder-panel>header>div{display:grid;gap:2px}.documents-folder-panel>header small{font-size:.56rem;text-transform:uppercase;letter-spacing:.08em;color:var(--documents-accent)}.documents-folder-panel>header strong{font-size:.77rem}
.documents-folder-panel>header>button{width:28px;height:28px;border:1px solid var(--documents-line-strong);border-radius:7px;background:var(--documents-field);color:var(--documents-accent);cursor:pointer}
.documents-folder-panel>nav{flex:1 1 auto;min-height:0;overflow:auto;padding:6px 5px 9px;scrollbar-width:thin}
.documents-tree-node{position:relative;min-height:44px;display:grid;grid-template-columns:18px minmax(0,1fr) 24px;align-items:center;padding-left:calc(var(--tree-depth,0)*13px);border-radius:7px}
.documents-tree-node:hover,.documents-tree-node.active{background:var(--documents-accent-soft)}
.documents-tree-node[hidden]{display:none!important}
.documents-tree-toggle{width:18px;height:26px;display:grid;place-items:center;border:0;background:transparent;color:var(--documents-muted-2);font-size:.72rem;cursor:pointer;transition:transform .14s}
.documents-tree-toggle:not(.has-children):disabled{opacity:0;cursor:default}.documents-tree-node.is-collapsed>.documents-tree-toggle{transform:rotate(-90deg)}
.documents-tree-node>a{min-width:0;display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:9px;align-items:center;padding:6px 4px;color:inherit;text-decoration:none}
.documents-tree-node>a>span:nth-child(2){min-width:0;display:grid;gap:1px}.documents-tree-node>a strong,.documents-tree-node>a small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-tree-node>a strong{font-size:.92rem;line-height:1.3}.documents-tree-node>a small{font-size:.72rem;color:var(--documents-muted-2)}.documents-tree-node>a>b{font-size:.68rem;color:var(--documents-muted-2)}
.documents-tree-node.root{padding-left:0;margin-bottom:3px;border-radius:7px 7px 0 0}/* ⛔ 18.08.2026: `border-bottom` hier ENTFERNT. Der User: «den strich zwischen Dokumentenablage und Uploads löschen, also dokumentenablage und die ordner dort drin gehören in den gleichen block.» Die Linie sass am WURZELKNOTEN, nicht an der Bereichsbeschriftung — ich hatte zuerst am falschen Ort gesucht und ihm eine Korrektur gemeldet, die nichts bewirkte. Getrennt wird jetzt nur noch der Favoritenblock. */.documents-tree-root-icon{width:23px;height:23px;display:grid;place-items:center;border-radius:6px;background:var(--documents-accent-soft);color:var(--documents-accent)}
.documents-tree-menu{width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--documents-muted-2);cursor:pointer}.documents-tree-menu:hover{background:var(--documents-field);color:var(--documents-text)}
.documents-folder-panel>footer{flex:0 0 auto;padding:7px;border-top:1px solid var(--documents-line)}.documents-folder-panel>footer>a{display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px;align-items:center;padding:7px;border:1px solid var(--documents-line-strong);border-radius:8px;color:var(--documents-text-subtle);text-decoration:none;background:var(--documents-field)}.documents-folder-panel>footer>a>span:first-child{color:var(--documents-accent);font-size:1rem}.documents-folder-panel>footer>a>span:last-child{display:grid;gap:1px}.documents-folder-panel>footer strong{font-size:.67rem}.documents-folder-panel>footer small{font-size:.52rem;color:var(--documents-muted-2)}
.document-type-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.document-type-filter-grid label{position:relative;display:block;min-width:0;cursor:pointer}.document-type-filter-grid input{position:absolute!important;inline-size:1px!important;block-size:1px!important;opacity:0!important;pointer-events:none}.document-type-filter-grid label>span{display:grid;grid-template-columns:20px 38px minmax(0,1fr);align-items:center;gap:10px;min-height:52px;padding:8px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);color:var(--text);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.document-type-filter-grid label:hover>span{border-color:color-mix(in srgb,var(--primary) 58%,var(--border));background:color-mix(in srgb,var(--primary) 7%,var(--surface-2));transform:translateY(-1px)}.document-type-check{display:grid;place-items:center;width:18px;height:18px;border:1.5px solid color-mix(in srgb,var(--muted) 70%,var(--border));border-radius:5px;background:var(--surface);font-style:normal}.document-type-icon{display:grid;place-items:center;width:38px;height:30px;border-radius:7px;background:color-mix(in srgb,var(--primary) 11%,var(--surface));color:var(--primary);font-size:.58rem;line-height:1;letter-spacing:.035em}.document-type-filter-grid strong{min-width:0;font-size:.75rem;line-height:1.25;font-weight:750;text-align:left}.document-type-filter-grid input:checked+span{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 13%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent)}.document-type-filter-grid input:checked+span .document-type-check{border-color:var(--primary);background:var(--primary);color:#fff}.document-type-filter-grid input:checked+span .document-type-check::after{content:'✓';font-size:.72rem;font-weight:900}.document-type-filter-grid input:focus-visible+span{outline:2px solid color-mix(in srgb,var(--primary) 65%,white);outline-offset:2px}
.settings-disclosure{margin-bottom:10px}.settings-disclosure[open]{padding-bottom:8px}.settings-disclosure .field:last-child{margin-bottom:5px}
.document-trash-section .section-heading{align-items:center}.document-trash-section .compact-row{gap:18px}.document-trash-section .compact-row>.actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1380px){.documents-explorer-grid{grid-template-columns:var(--documents-folder-width,248px) minmax(460px,1fr) 315px!important}.documents-explorer-app.hide-inspector .documents-explorer-grid{grid-template-columns:var(--documents-folder-width,248px) minmax(0,1fr)!important}.documents-explorer-titlebar{grid-template-columns:minmax(180px,1fr) minmax(230px,340px) auto auto auto!important}}
@media(max-width:1080px){.documents-explorer-grid,.documents-explorer-app.hide-inspector .documents-explorer-grid{grid-template-columns:var(--documents-folder-width,248px) minmax(0,1fr)!important}}
@media(max-width:760px){.documents-explorer-titlebar{grid-template-columns:1fr auto auto!important}.documents-global-search{grid-column:1/-1}.documents-storage-summary{grid-column:1}.documents-explorer-grid,.documents-explorer-app.hide-inspector .documents-explorer-grid{grid-template-columns:1fr!important}.documents-folder-panel{max-height:260px;border-bottom:1px solid var(--documents-line)}.document-type-filter-grid{grid-template-columns:1fr}}

/* Cockpit 4.7.10: compact, colour-aware notebooks. */
.onenote-notebooks{padding:0;overflow:hidden}
.onenote-notebooks>header{min-height:64px;padding:12px 14px}
.onenote-notebooks .notes-search{padding:0 12px 10px}
.note-notebook-tree{display:grid;gap:3px;padding:0 8px 10px}
.note-notebook-tree .note-notebook-link{min-height:48px;padding:7px 9px;border-radius:9px;gap:10px}
.note-notebook-tree .note-section-link{min-height:42px;margin-left:13px;padding-left:12px}
.note-notebook-tree .note-quick-link{margin-bottom:3px}
.notebook-colour,.note-section-link .section-dot{--note-folder:#38bdf8;color:var(--note-folder);border-color:color-mix(in srgb,var(--note-folder) 55%,transparent);background:color-mix(in srgb,var(--note-folder) 15%,transparent)}
.notebook-colour{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;border:1px solid}
.note-section-link .section-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--note-folder) 12%,transparent)}
.note-folder-sky{--note-folder:#38bdf8}.note-folder-teal{--note-folder:#2dd4bf}.note-folder-violet{--note-folder:#a78bfa}.note-folder-amber{--note-folder:#fbbf24}.note-folder-rose{--note-folder:#fb7185}.note-folder-green{--note-folder:#4ade80}.note-folder-slate{--note-folder:#94a3b8}
.note-notebook-tree a>span:last-child strong{font-size:.84rem}.note-notebook-tree a>span:last-child small{font-size:.7rem;margin-top:2px}

/* Cockpit 4.7.10: final Cloud spacing and protected-list polish. */
.calendar-period-day>header::after{content:none!important;display:none!important}
.calendar-toolbar-card>.card-body,.contacts-toolbar-card>.card-body{padding-top:20px;padding-bottom:20px}
.calendar-toolbar{padding-top:2px;gap:16px}
.calendar-period-day>header{min-height:38px;padding:2px 0 12px}
.calendar-period-day>.stack{min-height:330px}
.calendar-period-day>.stack>.table-empty.compact{min-height:285px;display:grid;place-items:center;padding:28px 14px;text-align:center;line-height:1.55}
.library-summary-five{margin-top:18px!important;margin-bottom:20px!important}
.library-summary-five a{padding-top:14px!important;padding-bottom:14px!important}
.instruction-list+.notice{margin-top:22px}
.admin-workspace-grid{margin-top:22px!important;gap:18px!important}
.admin-workspace-card{padding:18px!important;gap:15px!important}
.admin-workspace-card+.admin-workspace-card{margin-top:0}
/* ⭐ 14.08.2026 abends: Stilllegen/Löschen je Datenraum — das Löschformular
   bleibt eingeklappt, damit es nicht versehentlich benutzt wird. */
.admin-workspace-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;border-top:1px solid var(--border);padding-top:10px}
.admin-workspace-delete{min-width:0}
.admin-workspace-delete>summary{list-style:none;cursor:pointer}
.admin-workspace-delete>summary::-webkit-details-marker{display:none}
.admin-workspace-delete[open]{width:100%}
.admin-workspace-delete .field label{font-size:.72rem}
/* ⭐ 14.08.2026 abends (User): Der Knopf klebte am unteren Rand der Karten —
   die Aktionsblöcke der Systemeinstellungen bekommen unten Luft. */
.admin-index-actions>form,.admin-preview-run{padding-bottom:4px}
.admin-index-actions,.admin-preview-run{margin-bottom:6px}
/* Vorschauen-Lauf: Datenraumwahl links, beide Knöpfe daneben. */
.admin-preview-run{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:14px;align-items:start}
.admin-preview-run .field{min-width:0}
.admin-preview-run-buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-top:23px}
@media(max-width:760px){.admin-preview-run{grid-template-columns:1fr}.admin-preview-run-buttons{padding-top:0}}

/* ⭐⭐ 14.08.2026 abends (User: «sehr chaotisch»): «Erlaubte Cockpit-Bereiche»
   hatte GAR KEINE Gestaltung — Häkchen, Titel und Beschreibungen liefen als
   Fliesstext ineinander. Jetzt: Aufklapper als Karte, darin ein Raster aus
   gleich hohen Kacheln (Häkchen · Titel · kurze Beschreibung). */
.member-module-access{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}
.member-module-access summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:750;color:var(--primary)}
.member-module-access summary::-webkit-details-marker{display:none}
.member-module-access summary::before{content:'▸';font-size:.7rem;transition:transform .15s ease}
.member-module-access[open] summary::before{transform:rotate(90deg)}
.member-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-top:12px}
.module-access-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);cursor:pointer}
.module-access-option:hover{border-color:var(--primary)}
.module-access-option input{margin:2px 0 0}
.module-access-option:has(input:checked){border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface-2))}
.module-access-option:has(input:disabled){opacity:.6;cursor:default}
.module-access-option>span{display:grid;gap:2px;min-width:0}
.module-access-option strong{font-size:.8rem;line-height:1.25}
.module-access-option small{color:var(--muted);font-size:.71rem;line-height:1.4}

/* ⭐ 14.08.2026 abends (User): «Buttons zu gross, gehen zu weit an den Rand»
   bei «Alle Benutzerkonten»/«Benutzerkonten». Die vier Aktionsknöpfe stehen
   jetzt kompakt, dürfen umbrechen und halten Abstand zum Kartenrand; die
   Tabelle scrollt notfalls in sich statt die Karte zu sprengen. */
/* ⭐ 14.08.2026 abends (User): «alle Balken und auch das Wort Benutzerkonten
   viel zu weit am Rand» — die Karte hat keinen .card-body, ihre Kinder lagen
   direkt am Kartenrand. Einheitlicher Innenabstand für den ganzen Abschnitt. */
/* ⚠ Die Karte selbst hat padding:0 — Kopf und Körper bringen ihren Abstand
   selbst mit (.card-head: 19px). Die direkten Kinder dieses Abschnitts haben
   keinen .card-body, also bekommen sie denselben Abstand ausdrücklich. */
#system-users>.notice,#system-users>.admin-workspace-grid,#system-users>.report-section-title,
#system-users>.table-wrap,#system-users>.mobile-cards{margin-left:19px;margin-right:19px}
#system-users>.mobile-cards,#system-users>.table-wrap{margin-bottom:19px}
#previews>.notice,#previews>.admin-preview-run,#previews>form,#previews>.metric-grid{margin-left:19px;margin-right:19px}
#previews>.notice:last-child{margin-bottom:19px}
#system-users .table-wrap{overflow-x:auto;padding-right:2px}
#system-users table{width:100%}
#system-users td:last-child,#system-users th:last-child{text-align:right;white-space:normal}
#system-users td .actions{display:flex;justify-content:flex-end;align-items:center;gap:5px;flex-wrap:wrap}
#system-users td .actions .btn{min-height:29px;padding:4px 9px;font-size:.72rem;white-space:nowrap}
@media(max-width:900px){#system-users td .actions{justify-content:flex-start}}
.protected-list-unlock{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:18px;padding:24px}
.protected-list-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);font-size:1.25rem}
.protected-list-unlock h2{margin:3px 0 7px}.protected-list-unlock p{margin:0 0 14px}
.reminder-filter-tabs{row-gap:9px}
@media(max-width:720px){.protected-list-unlock{grid-template-columns:1fr}.calendar-toolbar-card>.card-body,.contacts-toolbar-card>.card-body{padding:16px}}

.note-recovery-disclosure{padding-top:14px;border-top:1px solid var(--border)}.note-recovery-disclosure summary{cursor:pointer;color:var(--muted);font-weight:750}.note-recovery-disclosure[open] summary{color:var(--text)}
.transfer-file-filter{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(160px,220px) auto auto;gap:10px;align-items:center;padding:14px 16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 93%,var(--surface-2))}
.transfer-type-filter{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.transfer-type-filter label{position:relative}.transfer-type-filter input{position:absolute;opacity:0;pointer-events:none}.transfer-type-filter span{display:block;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font-size:.68rem;font-weight:750;cursor:pointer}.transfer-type-filter input:checked+span{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 15%,var(--surface));color:var(--text)}
@media(max-width:1180px){.transfer-file-filter{grid-template-columns:1fr auto auto}.transfer-type-filter{grid-column:1/-1}}
@media(max-width:720px){.transfer-file-filter{grid-template-columns:1fr}.transfer-type-filter{grid-column:auto}.transfer-file-filter>.btn{width:100%}}

/* 4.7.10 – Notizbücher bleiben kompakte Navigationszeilen und strecken sich nicht über die gesamte Spaltenhöhe. */
.note-notebook-tree{align-content:start;grid-auto-rows:min-content}
.note-notebook-tree .note-notebook-link{height:auto;max-height:58px;align-self:start}

/* Cockpit 4.7.10 – real locally bundled science-fiction theme worlds. */
html[data-theme-preset="lcars"]{--theme-art:url('/static/themes/lcars.webp');--theme-art-position:center 18%;--theme-art-overlay:rgba(3,5,12,.66);--theme-icon-bg:rgba(245,158,11,.12);--theme-icon-border:rgba(245,158,11,.34)}
html[data-theme-preset="federation"]{--theme-art:url('/static/themes/federation.webp');--theme-art-position:center 12%;--theme-art-overlay:rgba(2,9,22,.63);--theme-icon-bg:rgba(96,165,250,.13);--theme-icon-border:rgba(96,165,250,.38)}
html[data-theme-preset="starfleet"]{--theme-art:url('/static/themes/starfleet.webp');--theme-art-position:center 13%;--theme-art-overlay:rgba(10,3,8,.68);--theme-icon-bg:rgba(239,68,68,.12);--theme-icon-border:rgba(239,68,68,.36)}
html[data-theme-preset="ferengi"]{--theme-art:url('/static/themes/ferengi.webp');--theme-art-position:center center;--theme-art-overlay:rgba(20,8,2,.66);--theme-icon-bg:rgba(245,158,11,.13);--theme-icon-border:rgba(245,158,11,.38)}
html[data-theme-preset="borg"]{--theme-art:url('/static/themes/borg.webp');--theme-art-position:center center;--theme-art-overlay:rgba(0,6,2,.58);--theme-icon-bg:rgba(101,163,13,.14);--theme-icon-border:rgba(74,222,128,.34)}
html[data-theme-preset="sgc"]{--theme-art:url('/static/themes/sgc.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,7,18,.62);--theme-icon-bg:rgba(56,189,248,.13);--theme-icon-border:rgba(148,163,184,.42)}
html[data-theme-preset="atlantis"]{--theme-art:url('/static/themes/atlantis.webp');--theme-art-position:center center;--theme-art-overlay:rgba(1,12,20,.57);--theme-icon-bg:rgba(34,211,238,.13);--theme-icon-border:rgba(94,234,212,.38)}
html[data-theme-preset="ancient"]{--theme-art:url('/static/themes/ancient.webp');--theme-art-position:center center;--theme-art-overlay:rgba(12,9,3,.61);--theme-icon-bg:rgba(251,191,36,.13);--theme-icon-border:rgba(94,234,212,.34)}
html[data-theme-preset="goauld"]{--theme-art:url('/static/themes/goauld.webp');--theme-art-position:center center;--theme-art-overlay:rgba(20,3,2,.62);--theme-icon-bg:rgba(234,179,8,.14);--theme-icon-border:rgba(220,38,38,.36)}
html[data-theme-preset="asgard"]{--theme-art:url('/static/themes/asgard.webp');--theme-art-position:center center;--theme-art-overlay:rgba(3,7,16,.58);--theme-icon-bg:rgba(203,213,225,.12);--theme-icon-border:rgba(129,140,248,.38)}
html[data-theme-preset="lcars"] body,html[data-theme-preset="federation"] body,html[data-theme-preset="starfleet"] body,html[data-theme-preset="ferengi"] body,html[data-theme-preset="borg"] body,html[data-theme-preset="sgc"] body,html[data-theme-preset="atlantis"] body,html[data-theme-preset="ancient"] body,html[data-theme-preset="goauld"] body,html[data-theme-preset="asgard"] body{background-image:linear-gradient(var(--theme-art-overlay),var(--theme-art-overlay)),var(--theme-art)!important;background-position:center,var(--theme-art-position)!important;background-size:cover!important;background-repeat:no-repeat!important;background-attachment:fixed!important}
html[data-theme="light"][data-theme-preset="lcars"] body,html[data-theme="light"][data-theme-preset="federation"] body,html[data-theme="light"][data-theme-preset="starfleet"] body,html[data-theme="light"][data-theme-preset="ferengi"] body,html[data-theme="light"][data-theme-preset="borg"] body,html[data-theme="light"][data-theme-preset="sgc"] body,html[data-theme="light"][data-theme-preset="atlantis"] body,html[data-theme="light"][data-theme-preset="ancient"] body,html[data-theme="light"][data-theme-preset="goauld"] body,html[data-theme="light"][data-theme-preset="asgard"] body{--theme-art-overlay:rgba(238,244,251,.69)}
html[data-theme-preset="lcars"] .sidebar,html[data-theme-preset="lcars"] .topbar,html[data-theme-preset="federation"] .sidebar,html[data-theme-preset="federation"] .topbar,html[data-theme-preset="starfleet"] .sidebar,html[data-theme-preset="starfleet"] .topbar,html[data-theme-preset="ferengi"] .sidebar,html[data-theme-preset="ferengi"] .topbar,html[data-theme-preset="borg"] .sidebar,html[data-theme-preset="borg"] .topbar,html[data-theme-preset="sgc"] .sidebar,html[data-theme-preset="sgc"] .topbar,html[data-theme-preset="atlantis"] .sidebar,html[data-theme-preset="atlantis"] .topbar,html[data-theme-preset="ancient"] .sidebar,html[data-theme-preset="ancient"] .topbar,html[data-theme-preset="goauld"] .sidebar,html[data-theme-preset="goauld"] .topbar,html[data-theme-preset="asgard"] .sidebar,html[data-theme-preset="asgard"] .topbar{background:color-mix(in srgb,var(--bg-deep) 80%,transparent)!important;backdrop-filter:blur(22px) saturate(1.15)}
/* ⛔ Auch hier ein `!important`, das die Darstellung «Glas» geschlagen hat
   (die Leiste stand auf 82 % Deckung statt der 55 % des Materialsystems).
   Gleiche Lösung wie beim Körper-Hintergrund: Glas ausdrücklich ausnehmen,
   statt mit einem zweiten `!important` dagegenzuhalten. */
html[data-theme="light"][data-theme-preset]:not([data-display="glas"]) .sidebar,html[data-theme="light"][data-theme-preset]:not([data-display="glas"]) .topbar{background:color-mix(in srgb,var(--surface-2) 82%,transparent)!important}
html[data-theme-preset="lcars"] .sidebar .nav-svg,html[data-theme-preset="federation"] .sidebar .nav-svg,html[data-theme-preset="starfleet"] .sidebar .nav-svg,html[data-theme-preset="ferengi"] .sidebar .nav-svg,html[data-theme-preset="borg"] .sidebar .nav-svg,html[data-theme-preset="sgc"] .sidebar .nav-svg,html[data-theme-preset="atlantis"] .sidebar .nav-svg,html[data-theme-preset="ancient"] .sidebar .nav-svg,html[data-theme-preset="goauld"] .sidebar .nav-svg,html[data-theme-preset="asgard"] .sidebar .nav-svg{box-sizing:content-box;padding:2px;color:var(--primary);border:1px solid var(--theme-icon-border);background:var(--theme-icon-bg);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--primary) 30%,transparent))}
html[data-theme-preset="lcars"] .sidebar .nav-svg{border-radius:999px 4px 4px 999px}html[data-theme-preset="federation"] .sidebar .nav-svg{border-radius:50%;transform:rotate(-8deg)}html[data-theme-preset="starfleet"] .sidebar .nav-svg{clip-path:polygon(50% 0,100% 100%,50% 76%,0 100%);padding:3px 2px 4px}html[data-theme-preset="ferengi"] .sidebar .nav-svg{border-radius:50%;border-style:double}html[data-theme-preset="borg"] .sidebar .nav-svg{border-radius:1px;box-shadow:inset 0 0 0 1px rgba(74,222,128,.13)}html[data-theme-preset="sgc"] .sidebar .nav-svg{border-radius:50%;outline:1px dashed color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:2px}html[data-theme-preset="atlantis"] .sidebar .nav-svg{border-radius:4px;transform:rotate(45deg)}html[data-theme-preset="ancient"] .sidebar .nav-svg{border-radius:50% 50% 8px 8px}html[data-theme-preset="goauld"] .sidebar .nav-svg{border-radius:50% 50% 4px 4px;border-color:color-mix(in srgb,#d4af37 70%,var(--border))}html[data-theme-preset="asgard"] .sidebar .nav-svg{border-radius:50%;box-shadow:0 0 0 2px rgba(129,140,248,.08),inset 0 0 8px rgba(180,220,255,.14)}
.theme-swatch-lcars{background-image:linear-gradient(rgba(3,5,12,.25),rgba(3,5,12,.25)),url('/static/themes/lcars.webp')!important;background-size:cover!important;background-position:center!important}.theme-swatch-federation{background-image:linear-gradient(rgba(3,8,18,.2),rgba(3,8,18,.2)),url('/static/themes/federation.webp')!important;background-size:cover!important;background-position:center!important}.theme-swatch-starfleet{background-image:linear-gradient(rgba(20,2,6,.2),rgba(20,2,6,.2)),url('/static/themes/starfleet.webp')!important;background-size:cover!important;background-position:center!important}.theme-swatch-ferengi{background-image:url('/static/themes/ferengi.webp')!important;background-size:cover!important;background-position:center!important}.theme-swatch-borg{background-image:url('/static/themes/borg.webp')!important;background-size:cover!important;background-position:center!important}.theme-swatch-sgc{background-image:url('/static/themes/sgc.webp')!important;background-size:cover!important;background-position:center!important}.theme-swatch-atlantis{background-image:url('/static/themes/atlantis.webp')!important;background-size:cover!important;background-position:center!important}.theme-swatch-ancient{background-image:url('/static/themes/ancient.webp')!important;background-size:cover!important;background-position:center!important}.theme-swatch-goauld{background-image:url('/static/themes/goauld.webp')!important;background-size:cover!important;background-position:center!important}.theme-swatch-asgard{background-image:url('/static/themes/asgard.webp')!important;background-size:cover!important;background-position:center!important}
.ai-topbar-link{width:42px!important;height:42px!important;border-radius:14px!important;padding:3px!important;border-color:color-mix(in srgb,var(--primary) 42%,var(--border))!important;background:color-mix(in srgb,var(--surface-2) 82%,transparent)!important}.ai-topbar-link img{width:34px!important;height:34px!important;border-radius:11px!important;object-fit:cover!important;background:var(--surface-3)!important}.ai-avatar,.ai-dock-identity img,.persona-card img{object-fit:cover!important}

/* --------------------------------------------------------------------------
   Cockpit 4.7.10 · final polish for navigation, documents, auth and fiscal years
   -------------------------------------------------------------------------- */

/* The primary navigation starts with a deliberate visual pause below branding. */
.sidebar-entry-block{margin-top:14px;padding-top:4px}
.sidebar-favorites .sidebar-group-body{padding-top:8px}
.sidebar-favorites-empty{margin:0 2px 2px;min-height:76px}
.sidebar-bottom{margin-top:auto;padding-top:10px}
.sidebar-trash-link{min-height:48px;margin:0;padding:8px 10px;border-radius:11px;background:color-mix(in srgb,var(--surface-2) 76%,transparent)}
.sidebar-trash-link>span{min-width:0;display:grid;gap:1px}
.sidebar-trash-link strong,.sidebar-trash-link small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-trash-link strong{font-size:.72rem;color:var(--text)}
.sidebar-trash-link small{font-size:.56rem;color:var(--muted)}
.sidebar-trash-link .nav-svg{width:18px;height:18px}

/* User identity, theme and logout belong to the global upper-right corner. */
.topbar-user-control{min-height:44px;display:flex;align-items:center;gap:7px;padding:4px 5px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--surface-2) 82%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.topbar-theme-toggle{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--muted);cursor:pointer}
/* «Finanzen verbergen»: Knopf in der Kopfleiste + Maskierung der Beträge.
   Jeder |money-Betrag steckt in <span class="geld"> — der Weichzeichner
   verbirgt die Zahl, ohne das Layout zu verschieben. Charts (Canvas) können
   nicht teilmaskiert werden, darum wird die ganze Zeichenfläche unscharf. */
/* ⭐ 13.08.2026 (User): «Finanzen verbergen» ist nur noch das Auge —
   quadratischer Knopf in Grösse des Hell/Dunkel-Schalters daneben. */
.topbar-geld-toggle{width:34px;height:34px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--muted);cursor:pointer}
.topbar-geld-toggle[aria-pressed="true"]{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}
body.finanzen-verborgen .geld{filter:blur(7px);user-select:none;pointer-events:none}
body.finanzen-verborgen .chart-box,body.finanzen-verborgen .dashboard-chart{filter:blur(9px);pointer-events:none}
.topbar-theme-toggle:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));color:var(--primary)}
.topbar-user-identity{min-width:0;display:flex;align-items:center;gap:8px;padding-right:3px}
.topbar-user-identity .avatar{width:32px;height:32px;font-size:.72rem;flex:0 0 auto}
.topbar-user-identity>span:last-child{min-width:0;display:grid;gap:1px}
.topbar-user-identity strong,.topbar-user-identity small{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-user-identity strong{font-size:.72rem;line-height:1.15}
.topbar-user-identity small{font-size:.55rem;color:var(--muted)}
.topbar-user-control form{margin:0}
.topbar-logout{height:34px;padding:0 10px;border:1px solid color-mix(in srgb,var(--red) 28%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--red) 7%,var(--surface));color:var(--muted);font-size:.66rem;font-weight:800;cursor:pointer}
.topbar-logout:hover{border-color:color-mix(in srgb,var(--red) 58%,var(--border));color:var(--red);background:color-mix(in srgb,var(--red) 11%,var(--surface))}
@media(max-width:1220px){.topbar-user-identity small{display:none}.topbar-user-identity strong{max-width:100px}}
@media(max-width:980px){.topbar-user-control{padding:3px}.topbar-user-identity>span:last-child{display:none}.topbar-user-identity{padding:0}.topbar-logout{width:34px;padding:0;font-size:0}.topbar-logout::before{content:'↪';font-size:.9rem}.topbar-theme-toggle{width:32px;height:32px}}

/* Document tree: integrated, calm and with reliable action-button breathing room. */
.documents-folder-panel{background:var(--documents-bg)!important;border-right:1px solid var(--documents-line)!important}
.documents-folder-panel>header{padding-inline:12px;background:var(--documents-bg-alt)}
.documents-folder-panel>nav{padding:8px 9px 12px}
.documents-tree-node{grid-template-columns:17px minmax(0,1fr) 30px;padding-right:5px;padding-left:calc(var(--tree-depth,0)*12px);border-radius:7px}
.documents-tree-node>a{grid-template-columns:20px minmax(0,1fr) auto;gap:6px;padding:5px 2px}
.documents-tree-node>a>span:nth-child(2){display:block}
.documents-tree-node>a strong{font-size:.84rem;font-weight:700}
.documents-tree-node>a small{margin-top:2px;font-size:.66rem}
.documents-tree-node>a>b{min-width:20px;text-align:right;font-size:.68rem;font-weight:700}
.documents-tree-toggle{width:17px;height:28px;padding:0;border:0;background:transparent;color:var(--documents-muted);font-size:.68rem;cursor:pointer}
.documents-tree-toggle:hover:not(:disabled){color:var(--documents-accent)}
.documents-tree-node.root{margin-bottom:5px;padding-bottom:5px}
.documents-tree-root-icon{width:20px;height:20px;background:transparent}
.documents-folder-icon{width:18px;height:18px;color:var(--documents-accent)}
.documents-folder-icon svg{width:17px;height:17px;fill:none!important;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.documents-folder-lock{right:-1px;bottom:0;width:6px;height:6px;border-width:1px}
.documents-tree-menu{width:28px;height:27px;margin-right:1px;padding:0;border:1px solid transparent;border-radius:7px;font-size:.64rem;letter-spacing:-.08em;opacity:.58}
.documents-tree-node:hover .documents-tree-menu,.documents-tree-menu:focus-visible{opacity:1}
.documents-tree-menu:hover{border-color:var(--documents-line-strong);background:var(--documents-field)}
.documents-file-pane{background:var(--documents-bg)!important}

/* Authentication and first setup use restrained, professional typography. */
.auth-card{width:min(1040px,100%);grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}
.auth-visual{padding:48px;background:linear-gradient(150deg,rgba(8,47,73,.94),rgba(13,75,78,.9)),url('/static/icons/pattern.svg')}
.auth-brand-lockup{display:flex;align-items:center;gap:13px}
.auth-brand-lockup img{width:54px;height:54px;border-radius:15px;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.auth-brand-lockup>span{display:grid;gap:2px}
.auth-brand-lockup strong{font-size:1.25rem;letter-spacing:-.025em}
.auth-brand-lockup small{font-size:.72rem;color:rgba(255,255,255,.7)}
.auth-kicker{margin-top:54px;font-size:.7rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.auth-visual h1{max-width:520px;margin:12px 0 18px;font-size:clamp(2.35rem,4vw,3.35rem);line-height:1.04;letter-spacing:-.052em;font-weight:820}
.auth-visual p{font-size:.98rem;line-height:1.65;color:rgba(255,255,255,.78)}
.auth-form{padding:48px 52px}
.auth-form h2{font-size:1.72rem;letter-spacing:-.035em}
.auth-form>.eyebrow{margin-bottom:9px}
.auth-form>p{line-height:1.55}
@media(max-width:760px){.auth-visual{padding:30px}.auth-kicker{margin-top:32px}.auth-visual h1{font-size:2.25rem}.auth-form{padding:30px}}

/* Fiscal years remain compact and allow a clear previous/next-year workflow. */
.fiscal-years-layout{align-items:start}
.fiscal-year-list{align-content:start;grid-auto-rows:min-content}
.fiscal-year-row{min-height:66px;padding:12px 14px}
.fiscal-year-row.is-active{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--primary) 7%,var(--surface-2))}
.fiscal-year-create{align-self:start}
.fiscal-year-create>p{margin:-6px 0 14px;font-size:.74rem;line-height:1.45}
.fiscal-year-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 14px}
.fiscal-year-presets button{min-height:34px;padding:6px 9px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--muted);font-size:.69rem;font-weight:760;cursor:pointer}
.fiscal-year-presets button:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--text)}
@media(max-width:520px){.fiscal-year-presets{grid-template-columns:1fr}}

/* Cockpit 4.7.10 · final document-tree quieting and colour fidelity. */
.sidebar-entry-block{margin-top:24px}
.documents-tree-node{grid-template-columns:17px minmax(0,1fr) 34px;padding-right:9px}
.documents-tree-node.root{grid-template-columns:17px minmax(0,1fr);padding-right:10px}
.documents-tree-node>a>span:nth-child(2){min-width:0;overflow:hidden}
.documents-tree-node>a strong,.documents-tree-node>a small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.documents-tree-node.root>a{grid-template-columns:20px minmax(0,1fr)}
.documents-tree-menu{margin-right:2px;letter-spacing:0;font-size:.82rem;opacity:.5}
.documents-folder-icon{opacity:.82}
.documents-tree-node:hover .documents-folder-icon,.documents-tree-node.active .documents-folder-icon{opacity:1}
.documents-folder-icon.colour-sky{color:color-mix(in srgb,#38bdf8 72%,var(--documents-text-subtle))}
.documents-folder-icon.colour-blue{color:color-mix(in srgb,#60a5fa 72%,var(--documents-text-subtle))}
.documents-folder-icon.colour-teal{color:color-mix(in srgb,#2dd4bf 72%,var(--documents-text-subtle))}
.documents-folder-icon.colour-green{color:color-mix(in srgb,#4ade80 68%,var(--documents-text-subtle))}
.documents-folder-icon.colour-amber{color:color-mix(in srgb,#facc15 66%,var(--documents-text-subtle))}
.documents-folder-icon.colour-orange{color:color-mix(in srgb,#fb923c 68%,var(--documents-text-subtle))}
.documents-folder-icon.colour-red{color:color-mix(in srgb,#fb7185 66%,var(--documents-text-subtle))}
.documents-folder-icon.colour-pink{color:color-mix(in srgb,#f472b6 66%,var(--documents-text-subtle))}
.documents-folder-icon.colour-purple{color:color-mix(in srgb,#c084fc 68%,var(--documents-text-subtle))}
.documents-folder-icon.colour-slate{color:var(--documents-muted-2)}
@media(max-width:1380px){.documents-tree-node{padding-right:7px}.documents-tree-node.root{padding-right:8px}}

/* Cockpit 4.7.10 – independent start-page links and full illustrated theme families. */
.start-link-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.start-link-setting-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2);transition:.16s ease}.start-link-setting-card:has(input[type="checkbox"]:checked){border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--surface-2) 92%,var(--primary) 8%)}.start-link-setting-card.is-disabled{opacity:.55}.start-link-setting-card>label{display:grid;grid-template-columns:auto 38px minmax(0,1fr);align-items:center;gap:9px;min-width:0;cursor:pointer}.start-link-setting-card>label>input{width:16px;height:16px}.start-link-setting-card>label>span:last-child{display:grid;min-width:0}.start-link-setting-card small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.start-link-setting-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));background:color-mix(in srgb,var(--primary) 9%,var(--surface-3));color:var(--primary)}.start-link-setting-icon .nav-svg{width:20px;height:20px}.start-link-setting-order{display:flex;gap:5px}.start-link-setting-order button{width:29px;height:29px;border:1px solid var(--border);border-radius:8px;background:var(--surface-3);color:var(--text);cursor:pointer}.start-link-setting-order button:disabled{opacity:.25;cursor:not-allowed}.theme-preset-grid{display:grid!important;gap:18px!important}.theme-family{display:grid;gap:8px}.theme-family>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px}.theme-family>header strong{font-size:.82rem;color:var(--text)}.theme-family>header small{color:var(--muted)}.theme-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.theme-family-grid .theme-preset-card{min-height:72px}.theme-family-grid .theme-swatch{width:58px;height:44px;flex:0 0 auto;background-position:center!important;background-size:cover!important}.theme-preset-card span:last-child{min-width:0}.theme-preset-card small{display:block;line-height:1.35}.theme-family-grid .theme-preset-card:has(input:checked){box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}
@media(max-width:1180px){.start-link-settings-grid,.theme-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.start-link-settings-grid,.theme-family-grid{grid-template-columns:1fr}}
html[data-theme-preset="charmed_book"]{--primary:#c084fc;--primary-strong:#7c3aed;--teal:#f59e0b;--bg:#12091c;--bg-deep:#050208;--surface-2:#1d1029;--surface-3:#2d183b;--theme-symbol:"✧";--theme-art:url('/static/themes/charmed_book.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="charmed_manor"]{--primary:#d8b4fe;--primary-strong:#9333ea;--teal:#fbbf24;--bg:#130918;--bg-deep:#050207;--surface-2:#211029;--surface-3:#32163b;--theme-symbol:"☽";--theme-art:url('/static/themes/charmed_manor.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="supernatural_road"]{--primary:#f59e0b;--primary-strong:#b45309;--teal:#dc2626;--bg:#0b0d0d;--bg-deep:#030404;--surface-2:#171a18;--surface-3:#27251e;--theme-symbol:"⌁";--theme-art:url('/static/themes/supernatural_road.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="supernatural_bunker"]{--primary:#d97706;--primary-strong:#92400e;--teal:#ef4444;--bg:#100d08;--bg-deep:#040302;--surface-2:#20180d;--surface-3:#342514;--theme-symbol:"⌬";--theme-art:url('/static/themes/supernatural_bunker.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="xfiles_ufo"]{--primary:#7dd3fc;--primary-strong:#0ea5e9;--teal:#4ade80;--bg:#061018;--bg-deep:#010509;--surface-2:#0d1d27;--surface-3:#15313c;--theme-symbol:"◉";--theme-art:url('/static/themes/xfiles_ufo.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="xfiles_archive"]{--primary:#86efac;--primary-strong:#16a34a;--teal:#e2e8f0;--bg:#07100b;--bg-deep:#010402;--surface-2:#102018;--surface-3:#1b3224;--theme-symbol:"X";--theme-art:url('/static/themes/xfiles_archive.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="tos_bridge"]{--primary:#f59e0b;--primary-strong:#ea580c;--teal:#ef4444;--bg:#09070d;--bg-deep:#020103;--surface-2:#18111f;--surface-3:#2b1b31;--theme-symbol:"△";--theme-art:url('/static/themes/tos_bridge.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="tos_orbit"]{--primary:#60a5fa;--primary-strong:#2563eb;--teal:#eab308;--bg:#071426;--bg-deep:#020712;--surface-2:#0e213b;--surface-3:#173454;--theme-symbol:"✦";--theme-art:url('/static/themes/tos_orbit.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="tng_bridge"]{--primary:#60a5fa;--primary-strong:#2563eb;--teal:#c084fc;--bg:#071426;--bg-deep:#020712;--surface-2:#0e213b;--surface-3:#173454;--theme-symbol:"✧";--theme-art:url('/static/themes/tng_bridge.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="tng_galaxy"]{--primary:#38bdf8;--primary-strong:#0284c7;--teal:#f59e0b;--bg:#061426;--bg-deep:#010611;--surface-2:#0d233e;--surface-3:#18385a;--theme-symbol:"✦";--theme-art:url('/static/themes/tng_galaxy.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="ds9_station"]{--primary:#c084fc;--primary-strong:#7c3aed;--teal:#f59e0b;--bg:#13091b;--bg-deep:#050207;--surface-2:#21112d;--surface-3:#351945;--theme-symbol:"◌";--theme-art:url('/static/themes/ds9_station.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="ds9_prom"]{--primary:#d8b4fe;--primary-strong:#9333ea;--teal:#f97316;--bg:#18091b;--bg-deep:#060207;--surface-2:#2a1230;--surface-3:#421b48;--theme-symbol:"¤";--theme-art:url('/static/themes/ds9_prom.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="voyager_delta"]{--primary:#38bdf8;--primary-strong:#0284c7;--teal:#a855f7;--bg:#061426;--bg-deep:#010611;--surface-2:#0d233e;--surface-3:#18385a;--theme-symbol:"△";--theme-art:url('/static/themes/voyager_delta.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="voyager_nebula"]{--primary:#c084fc;--primary-strong:#7c3aed;--teal:#22d3ee;--bg:#130826;--bg-deep:#05020c;--surface-2:#23113e;--surface-3:#371c58;--theme-symbol:"◇";--theme-art:url('/static/themes/voyager_nebula.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="enterprise_nx"]{--primary:#7dd3fc;--primary-strong:#0ea5e9;--teal:#f97316;--bg:#071619;--bg-deep:#020708;--surface-2:#10272a;--surface-3:#1b3d40;--theme-symbol:"NX";--theme-art:url('/static/themes/enterprise_nx.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="enterprise_frontier"]{--primary:#2dd4bf;--primary-strong:#0f766e;--teal:#f59e0b;--bg:#071714;--bg-deep:#020706;--surface-2:#102a23;--surface-3:#193f34;--theme-symbol:"✦";--theme-art:url('/static/themes/enterprise_frontier.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="discovery_spore"]{--primary:#a855f7;--primary-strong:#7e22ce;--teal:#f97316;--bg:#17052a;--bg-deep:#06010c;--surface-2:#2a1047;--surface-3:#421965;--theme-symbol:"✺";--theme-art:url('/static/themes/discovery_spore.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="discovery_future"]{--primary:#22d3ee;--primary-strong:#0891b2;--teal:#a855f7;--bg:#06162a;--bg-deep:#010711;--surface-2:#0d2946;--surface-3:#164064;--theme-symbol:"∞";--theme-art:url('/static/themes/discovery_future.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="picard_legacy"]{--primary:#f59e0b;--primary-strong:#b45309;--teal:#60a5fa;--bg:#1c0a0c;--bg-deep:#070203;--surface-2:#311a13;--surface-3:#4a2b1b;--theme-symbol:"P";--theme-art:url('/static/themes/picard_legacy.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="snw_frontier"]{--primary:#38bdf8;--primary-strong:#0284c7;--teal:#f59e0b;--bg:#061426;--bg-deep:#010611;--surface-2:#0d233e;--surface-3:#18385a;--theme-symbol:"✦";--theme-art:url('/static/themes/snw_frontier.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="lower_decks"]{--primary:#f472b6;--primary-strong:#db2777;--teal:#22d3ee;--bg:#130921;--bg-deep:#050207;--surface-2:#28143b;--surface-3:#40205d;--theme-symbol:"↗";--theme-art:url('/static/themes/lower_decks.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="prodigy"]{--primary:#22d3ee;--primary-strong:#0891b2;--teal:#facc15;--bg:#06152a;--bg-deep:#010711;--surface-2:#0d2846;--surface-3:#164064;--theme-symbol:"✧";--theme-art:url('/static/themes/prodigy.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="stargate_sg1"]{--primary:#38bdf8;--primary-strong:#1d4ed8;--teal:#f59e0b;--bg:#0b1524;--bg-deep:#020610;--surface-2:#142238;--surface-3:#20334e;--theme-symbol:"◉";--theme-art:url('/static/themes/stargate_sg1.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="stargate_universe"]{--primary:#eab308;--primary-strong:#a16207;--teal:#64748b;--bg:#0b0d10;--bg-deep:#020304;--surface-2:#171b20;--surface-3:#292f36;--theme-symbol:"∞";--theme-art:url('/static/themes/stargate_universe.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="avatar_elements"]{--primary:#60a5fa;--primary-strong:#2563eb;--teal:#ef4444;--bg:#0b1420;--bg-deep:#03070d;--surface-2:#17263a;--surface-3:#243a54;--theme-symbol:"☯";--theme-art:url('/static/themes/avatar_elements.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="korra_city"]{--primary:#2dd4bf;--primary-strong:#0f766e;--teal:#f59e0b;--bg:#07171c;--bg-deep:#020708;--surface-2:#102a32;--surface-3:#1b424b;--theme-symbol:"◇";--theme-art:url('/static/themes/korra_city.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="wizard_castle"]{--primary:#c084fc;--primary-strong:#7c3aed;--teal:#fbbf24;--bg:#0d0b18;--bg-deep:#030207;--surface-2:#191429;--surface-3:#2b203f;--theme-symbol:"✦";--theme-art:url('/static/themes/wizard_castle.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="wizard_library"]{--primary:#fbbf24;--primary-strong:#d97706;--teal:#c084fc;--bg:#171006;--bg-deep:#060401;--surface-2:#2b1e0c;--surface-3:#443117;--theme-symbol:"✧";--theme-art:url('/static/themes/wizard_library.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="starship_troopers"]{--primary:#f97316;--primary-strong:#c2410c;--teal:#4ade80;--bg:#11100e;--bg-deep:#040403;--surface-2:#211d17;--surface-3:#362d22;--theme-symbol:"⬡";--theme-art:url('/static/themes/starship_troopers.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 13%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 40%,transparent)}
html[data-theme-preset="charmed_book"] body,html[data-theme-preset="charmed_manor"] body,html[data-theme-preset="supernatural_road"] body,html[data-theme-preset="supernatural_bunker"] body,html[data-theme-preset="xfiles_ufo"] body,html[data-theme-preset="xfiles_archive"] body,html[data-theme-preset="tos_bridge"] body,html[data-theme-preset="tos_orbit"] body,html[data-theme-preset="tng_bridge"] body,html[data-theme-preset="tng_galaxy"] body,html[data-theme-preset="ds9_station"] body,html[data-theme-preset="ds9_prom"] body,html[data-theme-preset="voyager_delta"] body,html[data-theme-preset="voyager_nebula"] body,html[data-theme-preset="enterprise_nx"] body,html[data-theme-preset="enterprise_frontier"] body,html[data-theme-preset="discovery_spore"] body,html[data-theme-preset="discovery_future"] body,html[data-theme-preset="picard_legacy"] body,html[data-theme-preset="snw_frontier"] body,html[data-theme-preset="lower_decks"] body,html[data-theme-preset="prodigy"] body,html[data-theme-preset="stargate_sg1"] body,html[data-theme-preset="stargate_universe"] body,html[data-theme-preset="avatar_elements"] body,html[data-theme-preset="korra_city"] body,html[data-theme-preset="wizard_castle"] body,html[data-theme-preset="wizard_library"] body,html[data-theme-preset="starship_troopers"] body{background-image:linear-gradient(var(--theme-art-overlay),var(--theme-art-overlay)),var(--theme-art)!important;background-position:center,var(--theme-art-position)!important;background-size:cover!important;background-repeat:no-repeat!important;background-attachment:fixed!important}
html[data-theme="light"][data-theme-preset="charmed_book"] body,html[data-theme="light"][data-theme-preset="charmed_manor"] body,html[data-theme="light"][data-theme-preset="supernatural_road"] body,html[data-theme="light"][data-theme-preset="supernatural_bunker"] body,html[data-theme="light"][data-theme-preset="xfiles_ufo"] body,html[data-theme="light"][data-theme-preset="xfiles_archive"] body,html[data-theme="light"][data-theme-preset="tos_bridge"] body,html[data-theme="light"][data-theme-preset="tos_orbit"] body,html[data-theme="light"][data-theme-preset="tng_bridge"] body,html[data-theme="light"][data-theme-preset="tng_galaxy"] body,html[data-theme="light"][data-theme-preset="ds9_station"] body,html[data-theme="light"][data-theme-preset="ds9_prom"] body,html[data-theme="light"][data-theme-preset="voyager_delta"] body,html[data-theme="light"][data-theme-preset="voyager_nebula"] body,html[data-theme="light"][data-theme-preset="enterprise_nx"] body,html[data-theme="light"][data-theme-preset="enterprise_frontier"] body,html[data-theme="light"][data-theme-preset="discovery_spore"] body,html[data-theme="light"][data-theme-preset="discovery_future"] body,html[data-theme="light"][data-theme-preset="picard_legacy"] body,html[data-theme="light"][data-theme-preset="snw_frontier"] body,html[data-theme="light"][data-theme-preset="lower_decks"] body,html[data-theme="light"][data-theme-preset="prodigy"] body,html[data-theme="light"][data-theme-preset="stargate_sg1"] body,html[data-theme="light"][data-theme-preset="stargate_universe"] body,html[data-theme="light"][data-theme-preset="avatar_elements"] body,html[data-theme="light"][data-theme-preset="korra_city"] body,html[data-theme="light"][data-theme-preset="wizard_castle"] body,html[data-theme="light"][data-theme-preset="wizard_library"] body,html[data-theme="light"][data-theme-preset="starship_troopers"] body{--theme-art-overlay:rgba(238,244,251,.72)}
html[data-theme-preset="charmed_book"] .sidebar,html[data-theme-preset="charmed_book"] .topbar,html[data-theme-preset="charmed_manor"] .sidebar,html[data-theme-preset="charmed_manor"] .topbar,html[data-theme-preset="supernatural_road"] .sidebar,html[data-theme-preset="supernatural_road"] .topbar,html[data-theme-preset="supernatural_bunker"] .sidebar,html[data-theme-preset="supernatural_bunker"] .topbar,html[data-theme-preset="xfiles_ufo"] .sidebar,html[data-theme-preset="xfiles_ufo"] .topbar,html[data-theme-preset="xfiles_archive"] .sidebar,html[data-theme-preset="xfiles_archive"] .topbar,html[data-theme-preset="tos_bridge"] .sidebar,html[data-theme-preset="tos_bridge"] .topbar,html[data-theme-preset="tos_orbit"] .sidebar,html[data-theme-preset="tos_orbit"] .topbar,html[data-theme-preset="tng_bridge"] .sidebar,html[data-theme-preset="tng_bridge"] .topbar,html[data-theme-preset="tng_galaxy"] .sidebar,html[data-theme-preset="tng_galaxy"] .topbar,html[data-theme-preset="ds9_station"] .sidebar,html[data-theme-preset="ds9_station"] .topbar,html[data-theme-preset="ds9_prom"] .sidebar,html[data-theme-preset="ds9_prom"] .topbar,html[data-theme-preset="voyager_delta"] .sidebar,html[data-theme-preset="voyager_delta"] .topbar,html[data-theme-preset="voyager_nebula"] .sidebar,html[data-theme-preset="voyager_nebula"] .topbar,html[data-theme-preset="enterprise_nx"] .sidebar,html[data-theme-preset="enterprise_nx"] .topbar,html[data-theme-preset="enterprise_frontier"] .sidebar,html[data-theme-preset="enterprise_frontier"] .topbar,html[data-theme-preset="discovery_spore"] .sidebar,html[data-theme-preset="discovery_spore"] .topbar,html[data-theme-preset="discovery_future"] .sidebar,html[data-theme-preset="discovery_future"] .topbar,html[data-theme-preset="picard_legacy"] .sidebar,html[data-theme-preset="picard_legacy"] .topbar,html[data-theme-preset="snw_frontier"] .sidebar,html[data-theme-preset="snw_frontier"] .topbar,html[data-theme-preset="lower_decks"] .sidebar,html[data-theme-preset="lower_decks"] .topbar,html[data-theme-preset="prodigy"] .sidebar,html[data-theme-preset="prodigy"] .topbar,html[data-theme-preset="stargate_sg1"] .sidebar,html[data-theme-preset="stargate_sg1"] .topbar,html[data-theme-preset="stargate_universe"] .sidebar,html[data-theme-preset="stargate_universe"] .topbar,html[data-theme-preset="avatar_elements"] .sidebar,html[data-theme-preset="avatar_elements"] .topbar,html[data-theme-preset="korra_city"] .sidebar,html[data-theme-preset="korra_city"] .topbar,html[data-theme-preset="wizard_castle"] .sidebar,html[data-theme-preset="wizard_castle"] .topbar,html[data-theme-preset="wizard_library"] .sidebar,html[data-theme-preset="wizard_library"] .topbar,html[data-theme-preset="starship_troopers"] .sidebar,html[data-theme-preset="starship_troopers"] .topbar{background:color-mix(in srgb,var(--bg-deep) 82%,transparent)!important;backdrop-filter:blur(22px) saturate(1.15)}
html[data-theme-preset="charmed_book"] .sidebar .nav-svg,html[data-theme-preset="charmed_manor"] .sidebar .nav-svg,html[data-theme-preset="supernatural_road"] .sidebar .nav-svg,html[data-theme-preset="supernatural_bunker"] .sidebar .nav-svg,html[data-theme-preset="xfiles_ufo"] .sidebar .nav-svg,html[data-theme-preset="xfiles_archive"] .sidebar .nav-svg,html[data-theme-preset="tos_bridge"] .sidebar .nav-svg,html[data-theme-preset="tos_orbit"] .sidebar .nav-svg,html[data-theme-preset="tng_bridge"] .sidebar .nav-svg,html[data-theme-preset="tng_galaxy"] .sidebar .nav-svg,html[data-theme-preset="ds9_station"] .sidebar .nav-svg,html[data-theme-preset="ds9_prom"] .sidebar .nav-svg,html[data-theme-preset="voyager_delta"] .sidebar .nav-svg,html[data-theme-preset="voyager_nebula"] .sidebar .nav-svg,html[data-theme-preset="enterprise_nx"] .sidebar .nav-svg,html[data-theme-preset="enterprise_frontier"] .sidebar .nav-svg,html[data-theme-preset="discovery_spore"] .sidebar .nav-svg,html[data-theme-preset="discovery_future"] .sidebar .nav-svg,html[data-theme-preset="picard_legacy"] .sidebar .nav-svg,html[data-theme-preset="snw_frontier"] .sidebar .nav-svg,html[data-theme-preset="lower_decks"] .sidebar .nav-svg,html[data-theme-preset="prodigy"] .sidebar .nav-svg,html[data-theme-preset="stargate_sg1"] .sidebar .nav-svg,html[data-theme-preset="stargate_universe"] .sidebar .nav-svg,html[data-theme-preset="avatar_elements"] .sidebar .nav-svg,html[data-theme-preset="korra_city"] .sidebar .nav-svg,html[data-theme-preset="wizard_castle"] .sidebar .nav-svg,html[data-theme-preset="wizard_library"] .sidebar .nav-svg,html[data-theme-preset="starship_troopers"] .sidebar .nav-svg{box-sizing:content-box;padding:2px;color:var(--primary);border:1px solid var(--theme-icon-border);background:var(--theme-icon-bg);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--primary) 30%,transparent))}
html[data-theme-preset="charmed_book"] .sidebar .nav-svg,html[data-theme-preset="charmed_manor"] .sidebar .nav-svg,html[data-theme-preset="wizard_castle"] .sidebar .nav-svg,html[data-theme-preset="wizard_library"] .sidebar .nav-svg{border-radius:50% 50% 10px 10px;transform:rotate(-3deg)}
html[data-theme-preset="supernatural_road"] .sidebar .nav-svg,html[data-theme-preset="supernatural_bunker"] .sidebar .nav-svg,html[data-theme-preset="xfiles_ufo"] .sidebar .nav-svg,html[data-theme-preset="xfiles_archive"] .sidebar .nav-svg{border-radius:7px}
html[data-theme-preset="tos_bridge"] .sidebar .nav-svg,html[data-theme-preset="tos_orbit"] .sidebar .nav-svg,html[data-theme-preset="tng_bridge"] .sidebar .nav-svg,html[data-theme-preset="tng_galaxy"] .sidebar .nav-svg,html[data-theme-preset="ds9_station"] .sidebar .nav-svg,html[data-theme-preset="ds9_prom"] .sidebar .nav-svg,html[data-theme-preset="voyager_delta"] .sidebar .nav-svg,html[data-theme-preset="voyager_nebula"] .sidebar .nav-svg,html[data-theme-preset="enterprise_nx"] .sidebar .nav-svg,html[data-theme-preset="enterprise_frontier"] .sidebar .nav-svg,html[data-theme-preset="discovery_spore"] .sidebar .nav-svg,html[data-theme-preset="discovery_future"] .sidebar .nav-svg,html[data-theme-preset="picard_legacy"] .sidebar .nav-svg,html[data-theme-preset="snw_frontier"] .sidebar .nav-svg,html[data-theme-preset="lower_decks"] .sidebar .nav-svg,html[data-theme-preset="prodigy"] .sidebar .nav-svg{border-radius:50%;transform:rotate(-7deg)}
html[data-theme-preset="stargate_sg1"] .sidebar .nav-svg,html[data-theme-preset="stargate_universe"] .sidebar .nav-svg{border-radius:50%;outline:1px dashed color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:2px}
html[data-theme-preset="avatar_elements"] .sidebar .nav-svg,html[data-theme-preset="korra_city"] .sidebar .nav-svg{border-radius:50% 50% 45% 55%}
html[data-theme-preset="starship_troopers"] .sidebar .nav-svg{clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);padding:3px}
html[data-theme-preset="charmed_book"] .topbar-title::before,html[data-theme-preset="charmed_manor"] .topbar-title::before,html[data-theme-preset="supernatural_road"] .topbar-title::before,html[data-theme-preset="supernatural_bunker"] .topbar-title::before,html[data-theme-preset="xfiles_ufo"] .topbar-title::before,html[data-theme-preset="xfiles_archive"] .topbar-title::before,html[data-theme-preset="tos_bridge"] .topbar-title::before,html[data-theme-preset="tos_orbit"] .topbar-title::before,html[data-theme-preset="tng_bridge"] .topbar-title::before,html[data-theme-preset="tng_galaxy"] .topbar-title::before,html[data-theme-preset="ds9_station"] .topbar-title::before,html[data-theme-preset="ds9_prom"] .topbar-title::before,html[data-theme-preset="voyager_delta"] .topbar-title::before,html[data-theme-preset="voyager_nebula"] .topbar-title::before,html[data-theme-preset="enterprise_nx"] .topbar-title::before,html[data-theme-preset="enterprise_frontier"] .topbar-title::before,html[data-theme-preset="discovery_spore"] .topbar-title::before,html[data-theme-preset="discovery_future"] .topbar-title::before,html[data-theme-preset="picard_legacy"] .topbar-title::before,html[data-theme-preset="snw_frontier"] .topbar-title::before,html[data-theme-preset="lower_decks"] .topbar-title::before,html[data-theme-preset="prodigy"] .topbar-title::before,html[data-theme-preset="stargate_sg1"] .topbar-title::before,html[data-theme-preset="stargate_universe"] .topbar-title::before,html[data-theme-preset="avatar_elements"] .topbar-title::before,html[data-theme-preset="korra_city"] .topbar-title::before,html[data-theme-preset="wizard_castle"] .topbar-title::before,html[data-theme-preset="wizard_library"] .topbar-title::before,html[data-theme-preset="starship_troopers"] .topbar-title::before{content:var(--theme-symbol);display:inline-grid;place-items:center;min-width:24px;height:22px;margin-right:8px;padding:0 5px;border:1px solid color-mix(in srgb,var(--primary) 55%,transparent);border-radius:8px;color:var(--primary);font-size:.65rem;vertical-align:middle}
.theme-swatch-charmed_book{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/charmed_book.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-charmed_manor{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/charmed_manor.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-supernatural_road{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/supernatural_road.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-supernatural_bunker{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/supernatural_bunker.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-xfiles_ufo{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/xfiles_ufo.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-xfiles_archive{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/xfiles_archive.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-tos_bridge{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/tos_bridge.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-tos_orbit{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/tos_orbit.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-tng_bridge{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/tng_bridge.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-tng_galaxy{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/tng_galaxy.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-ds9_station{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/ds9_station.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-ds9_prom{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/ds9_prom.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-voyager_delta{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/voyager_delta.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-voyager_nebula{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/voyager_nebula.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-enterprise_nx{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/enterprise_nx.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-enterprise_frontier{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/enterprise_frontier.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-discovery_spore{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/discovery_spore.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-discovery_future{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/discovery_future.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-picard_legacy{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/picard_legacy.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-snw_frontier{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/snw_frontier.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-lower_decks{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/lower_decks.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-prodigy{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/prodigy.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-stargate_sg1{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/stargate_sg1.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-stargate_universe{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/stargate_universe.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-avatar_elements{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/avatar_elements.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-korra_city{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/korra_city.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-wizard_castle{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/wizard_castle.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-wizard_library{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/wizard_library.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-starship_troopers{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/starship_troopers.webp')!important;background-size:cover!important;background-position:center!important}
html[data-theme="light"][data-theme-preset="charmed_book"],html[data-theme="light"][data-theme-preset="charmed_manor"],html[data-theme="light"][data-theme-preset="supernatural_road"],html[data-theme="light"][data-theme-preset="supernatural_bunker"],html[data-theme="light"][data-theme-preset="xfiles_ufo"],html[data-theme="light"][data-theme-preset="xfiles_archive"],html[data-theme="light"][data-theme-preset="tos_bridge"],html[data-theme="light"][data-theme-preset="tos_orbit"],html[data-theme="light"][data-theme-preset="tng_bridge"],html[data-theme="light"][data-theme-preset="tng_galaxy"],html[data-theme="light"][data-theme-preset="ds9_station"],html[data-theme="light"][data-theme-preset="ds9_prom"],html[data-theme="light"][data-theme-preset="voyager_delta"],html[data-theme="light"][data-theme-preset="voyager_nebula"],html[data-theme="light"][data-theme-preset="enterprise_nx"],html[data-theme="light"][data-theme-preset="enterprise_frontier"],html[data-theme="light"][data-theme-preset="discovery_spore"],html[data-theme="light"][data-theme-preset="discovery_future"],html[data-theme="light"][data-theme-preset="picard_legacy"],html[data-theme="light"][data-theme-preset="snw_frontier"],html[data-theme="light"][data-theme-preset="lower_decks"],html[data-theme="light"][data-theme-preset="prodigy"],html[data-theme="light"][data-theme-preset="stargate_sg1"],html[data-theme="light"][data-theme-preset="stargate_universe"],html[data-theme="light"][data-theme-preset="avatar_elements"],html[data-theme="light"][data-theme-preset="korra_city"],html[data-theme="light"][data-theme-preset="wizard_castle"],html[data-theme="light"][data-theme-preset="wizard_library"],html[data-theme="light"][data-theme-preset="starship_troopers"]{--bg:#edf4f9;--bg-deep:#dce7ef;--surface-2:#fff;--surface-3:#e9f0f6;--text:#0f172a;--muted:#526276}
html[data-theme-preset="charmed_book"] .card,html[data-theme-preset="charmed_manor"] .card,html[data-theme-preset="supernatural_road"] .card,html[data-theme-preset="supernatural_bunker"] .card,html[data-theme-preset="xfiles_ufo"] .card,html[data-theme-preset="xfiles_archive"] .card,html[data-theme-preset="tos_bridge"] .card,html[data-theme-preset="tos_orbit"] .card,html[data-theme-preset="tng_bridge"] .card,html[data-theme-preset="tng_galaxy"] .card,html[data-theme-preset="ds9_station"] .card,html[data-theme-preset="ds9_prom"] .card,html[data-theme-preset="voyager_delta"] .card,html[data-theme-preset="voyager_nebula"] .card,html[data-theme-preset="enterprise_nx"] .card,html[data-theme-preset="enterprise_frontier"] .card,html[data-theme-preset="discovery_spore"] .card,html[data-theme-preset="discovery_future"] .card,html[data-theme-preset="picard_legacy"] .card,html[data-theme-preset="snw_frontier"] .card,html[data-theme-preset="lower_decks"] .card,html[data-theme-preset="prodigy"] .card,html[data-theme-preset="stargate_sg1"] .card,html[data-theme-preset="stargate_universe"] .card,html[data-theme-preset="avatar_elements"] .card,html[data-theme-preset="korra_city"] .card,html[data-theme-preset="wizard_castle"] .card,html[data-theme-preset="wizard_library"] .card,html[data-theme-preset="starship_troopers"] .card{background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(8px)}
/* Cockpit 4.7.10 – expanded native PDF Studio. */
.pdf-category-sidebar nav button small{min-width:24px;padding:2px 6px;border-radius:999px;background:var(--surface-3);color:var(--muted);text-align:center}.pdf-workbench-head{display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,420px) auto}.pdf-tool-search{width:100%}.pdf-tool-search input{width:100%}.pdf-source-hint{margin:0 0 10px}.pdf-tool-catalog{max-height:365px;overflow:auto;align-content:start}.pdf-tool-card[hidden]{display:none!important}.pdf-options-panel [data-pdf-option][hidden]{display:none!important}
@media(max-width:1050px){.pdf-workbench-head{grid-template-columns:1fr auto}.pdf-tool-search{grid-column:1/-1;grid-row:2}.pdf-tool-catalog{max-height:none}}
@media(max-width:700px){.pdf-workbench-head{grid-template-columns:1fr}.pdf-selected-tool{justify-self:start}.pdf-tool-search{grid-column:auto;grid-row:auto}}
/* Additional Star Trek series worlds: animated frontier and academy. */
html[data-theme-preset="tas_animated"]{--primary:#65c8ff;--primary-strong:#1976d2;--teal:#ff8d57;--bg:#081026;--bg-deep:#02050d;--surface-2:#101d38;--surface-3:#1a3154;--theme-symbol:"A";--theme-art:url('/static/themes/tas_animated.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.59);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="academy_campus"]{--primary:#67d5ff;--primary-strong:#1786b8;--teal:#ffc653;--bg:#061424;--bg-deep:#02070d;--surface-2:#10243a;--surface-3:#19344f;--theme-symbol:"✦";--theme-art:url('/static/themes/academy_campus.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,5,12,.61);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="tas_animated"] body,html[data-theme-preset="academy_campus"] body{background-image:linear-gradient(var(--theme-art-overlay),var(--theme-art-overlay)),var(--theme-art)!important;background-position:center,var(--theme-art-position)!important;background-size:cover!important;background-repeat:no-repeat!important;background-attachment:fixed!important}
html[data-theme="light"][data-theme-preset="tas_animated"] body,html[data-theme="light"][data-theme-preset="academy_campus"] body{--theme-art-overlay:rgba(238,244,251,.72)}
html[data-theme-preset="tas_animated"] .sidebar,html[data-theme-preset="tas_animated"] .topbar,html[data-theme-preset="academy_campus"] .sidebar,html[data-theme-preset="academy_campus"] .topbar{background:color-mix(in srgb,var(--bg-deep) 82%,transparent)!important;backdrop-filter:blur(22px) saturate(1.15)}
html[data-theme-preset="tas_animated"] .sidebar .nav-svg,html[data-theme-preset="academy_campus"] .sidebar .nav-svg{box-sizing:content-box;padding:2px;color:var(--primary);border:1px solid var(--theme-icon-border);border-radius:6px;background:var(--theme-icon-bg);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--primary) 30%,transparent))}
html[data-theme-preset="tas_animated"] .topbar-title::before,html[data-theme-preset="academy_campus"] .topbar-title::before{content:var(--theme-symbol);display:inline-grid;place-items:center;min-width:24px;height:22px;margin-right:8px;padding:0 5px;border:1px solid color-mix(in srgb,var(--primary) 55%,transparent);border-radius:8px;color:var(--primary);font-size:.65rem;vertical-align:middle}
html[data-theme-preset="tas_animated"] .card,html[data-theme-preset="academy_campus"] .card{background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(8px)}
.theme-swatch-tas_animated{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/tas_animated.webp')!important;background-size:cover!important;background-position:center!important}
.theme-swatch-academy_campus{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/academy_campus.webp')!important;background-size:cover!important;background-position:center!important}
html[data-theme="light"][data-theme-preset="tas_animated"],html[data-theme="light"][data-theme-preset="academy_campus"]{--bg:#edf4f9;--bg-deep:#dce7ef;--surface-2:#fff;--surface-3:#e9f0f6;--text:#0f172a;--muted:#526276}

/* Cockpit 4.7.10 – final UI polish, shared document picker and signature library. */
.settings-appearance-card .theme-preset-grid{grid-template-columns:1fr!important;gap:24px!important;width:100%}
.settings-appearance-card .theme-family{min-width:0;width:100%;padding:0}
.settings-appearance-card .theme-family>header{padding:0 2px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.settings-appearance-card .theme-family-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:12px!important;align-items:stretch}
.settings-appearance-card .theme-preset-card{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;align-items:center!important;gap:12px!important;min-width:0!important;min-height:92px!important;height:auto!important;padding:12px!important;overflow:hidden}
.settings-appearance-card .theme-preset-card .theme-swatch{width:82px!important;height:62px!important;border-radius:10px;align-self:center}
.settings-appearance-card .theme-preset-copy{display:block!important;min-width:0!important;overflow:hidden}
.settings-appearance-card .theme-preset-copy strong,.settings-appearance-card .theme-preset-copy small{display:block!important;position:static!important;width:auto!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.3!important}
.settings-appearance-card .theme-preset-copy strong{margin-bottom:4px;font-size:.78rem}
.settings-appearance-card .theme-preset-copy small{font-size:.68rem;color:var(--muted)}

.sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px 3px 10px 0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary) 25%,transparent) transparent}
.sidebar-scroll::-webkit-scrollbar{width:5px}.sidebar-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 25%,transparent);border-radius:999px}
.sidebar-entry-block{padding-top:5px}
.sidebar-favorites{display:block!important;flex:none!important;min-height:0!important;height:auto!important;overflow:visible!important;padding:0 0 9px!important}
.sidebar-favorite-body,.sidebar-favorite-list{min-height:0!important;height:auto!important;max-height:none!important;overflow:visible!important}
.sidebar-favorites-empty{height:auto!important;min-height:66px!important;margin:7px 4px 3px!important;padding:10px!important}
.sidebar-favorites .sidebar-section-head{margin-bottom:2px}
.sidebar-utilities{flex:0 0 auto;border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent);padding-top:7px;background:color-mix(in srgb,var(--bg-deep) 96%,transparent)}
.sidebar-bottom{flex:0 0 auto}

.photo-tabs .section-tab{display:inline-flex;align-items:center;gap:8px}
.photo-tabs .section-tab .badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;margin-left:1px;border-radius:999px;line-height:1}

.document-picker-dialog{width:min(1180px,calc(100vw - 32px))}
.document-picker-body{display:grid;gap:14px}
.document-picker-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:center}
.document-picker-shell{display:grid;grid-template-columns:minmax(235px,30%) minmax(0,1fr);min-height:510px;max-height:68vh;border:1px solid var(--border);border-radius:15px;overflow:hidden;background:var(--surface)}
.document-picker-folder-panel{min-width:0;padding:12px;border-right:1px solid var(--border);background:var(--surface);overflow:auto}
.document-picker-file-panel{min-width:0;display:flex;flex-direction:column;background:var(--surface);overflow:hidden}
.document-picker-section-title{padding:2px 6px 10px;color:var(--primary);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.document-picker-folder-tree{display:grid;gap:2px}
.document-picker-tree-node{min-width:0}
.document-picker-tree-line{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;padding-left:calc(var(--tree-depth,0) * 13px)}
.document-picker-tree-toggle{width:22px;height:30px;padding:0;border:0;background:transparent;color:var(--muted);font-size:1rem;cursor:pointer}.document-picker-tree-toggle:disabled{cursor:default;opacity:0}
.document-picker-tree-row{width:100%;min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}
.document-picker-tree-row:hover{background:color-mix(in srgb,var(--primary) 7%,transparent);color:var(--text)}
.document-picker-tree-row.active{border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--text)}
.document-picker-tree-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-picker-tree-row small{font-size:.65rem;color:var(--muted)}
.document-picker-folder-svg,.document-picker-root-svg{width:20px;height:20px;fill:color-mix(in srgb,var(--primary) 65%,var(--surface));stroke:var(--primary);stroke-width:1.2}
.document-picker-folder-svg.colour-red{fill:#ef444455;stroke:#f87171}.document-picker-folder-svg.colour-orange{fill:#f9731655;stroke:#fb923c}.document-picker-folder-svg.colour-yellow{fill:#eab30855;stroke:#facc15}.document-picker-folder-svg.colour-green{fill:#22c55e55;stroke:#4ade80}.document-picker-folder-svg.colour-teal{fill:#14b8a655;stroke:#2dd4bf}.document-picker-folder-svg.colour-purple{fill:#a855f755;stroke:#c084fc}.document-picker-folder-svg.colour-pink{fill:#ec489955;stroke:#f472b6}
.document-picker-breadcrumb{display:flex;align-items:center;gap:6px;min-height:46px;padding:8px 14px;border-bottom:1px solid var(--border);overflow:auto;white-space:nowrap}.document-picker-breadcrumb button{border:0;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}.document-picker-breadcrumb button:hover{color:var(--primary)}
.document-picker-list{flex:1;min-height:0;overflow:auto;padding:10px;display:grid;align-content:start;gap:6px}
.document-picker-row{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.document-picker-row:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--surface-2) 92%,var(--primary) 8%)}.document-picker-row.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 15%,transparent)}
.document-picker-row>span:nth-child(2){min-width:0}.document-picker-row strong,.document-picker-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-picker-row small{margin-top:3px;color:var(--muted);font-size:.69rem}.document-picker-row b{color:var(--primary);font-size:.7rem}
.document-picker-file-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--primary) 10%,var(--surface-3));color:var(--primary);font-size:.62rem;font-weight:900}
.document-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:2px}.document-picker-footer>[data-document-picker-selection]{color:var(--muted);font-size:.76rem}
.document-picker-selected-list{display:grid;gap:8px;min-height:58px;padding:10px;border:1px dashed color-mix(in srgb,var(--border) 90%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}
.document-picker-selected-list.compact{min-height:50px}.document-picker-selected-list [data-document-picker-chips]{display:flex;flex-wrap:wrap;gap:7px}.document-picker-selected-list:not(.is-empty) .document-picker-selected-empty{display:none}.document-picker-selected-list.is-empty [data-document-picker-chips]{display:none}
.document-picker-selected-empty{align-self:center;color:var(--muted);font-size:.72rem}
.document-picker-selected-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:7px 8px 7px 10px;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--primary) 8%,var(--surface-3));font-size:.72rem}.document-picker-selected-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-picker-selected-chip button{width:22px;height:22px;border:0;border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer}
.document-picker-launch-card,.pdf-document-source-button{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.document-picker-launch-card:hover,.pdf-document-source-button:hover{border-color:var(--primary);background:color-mix(in srgb,var(--surface-2) 92%,var(--primary) 8%)}.document-picker-launch-card>span:first-child,.pdf-source-button-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--primary) 13%,var(--surface-3));color:var(--primary)}.document-picker-launch-card strong,.document-picker-launch-card small,.pdf-document-source-button strong,.pdf-document-source-button small{display:block}.document-picker-launch-card small,.pdf-document-source-button small{margin-top:3px;color:var(--muted);font-size:.69rem}

.pdf-direct-upload,.pdf-document-source-button{min-height:108px}.pdf-direct-upload{margin:0!important}
.pdf-saved-signature{position:relative;display:grid;grid-template-columns:auto 46px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);cursor:pointer}.pdf-saved-signature:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 14%,transparent)}.pdf-saved-signature img{width:46px;height:38px;object-fit:contain;border-radius:7px;background:#fff}.pdf-saved-signature span{min-width:0}.pdf-saved-signature strong,.pdf-saved-signature small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-saved-signature small{color:var(--muted);font-size:.65rem}.pdf-saved-signature .icon-only{width:27px;height:27px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--muted);cursor:pointer}

@media(max-width:1180px){.settings-appearance-card .theme-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:820px){.document-picker-shell{grid-template-columns:1fr;max-height:none}.document-picker-folder-panel{max-height:230px;border-right:0;border-bottom:1px solid var(--border)}.document-picker-file-panel{min-height:360px}.pdf-source-actions{grid-template-columns:1fr}.settings-appearance-card .theme-family-grid{grid-template-columns:1fr!important}}
@media(max-width:560px){.document-picker-dialog{width:calc(100vw - 16px)}.document-picker-toolbar{grid-template-columns:1fr}.document-picker-footer{align-items:stretch;flex-direction:column}.settings-appearance-card .theme-preset-card{grid-template-columns:68px minmax(0,1fr)!important}.settings-appearance-card .theme-preset-card .theme-swatch{width:68px!important;height:54px!important}}


/* --------------------------------------------------------------------------
   Cockpit 4.7.10 · top-right system menu, subtle identity and final trash UI
   -------------------------------------------------------------------------- */
.sidebar-utilities,.build-mark{display:none!important}
.sidebar-bottom{margin-top:auto;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--border) 68%,transparent)}
.documents-secondary-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.documents-secondary-actions form{margin:0}
.documents-secondary-actions .btn[disabled]{opacity:.42;cursor:not-allowed}

.topbar-system-menu{position:relative;flex:0 0 auto}
.topbar-system-menu>summary{height:38px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);font-size:.7rem;font-weight:780;cursor:pointer;list-style:none;transition:border-color .15s ease,background .15s ease,color .15s ease}
.topbar-system-menu>summary::-webkit-details-marker{display:none}
.topbar-system-menu>summary .nav-svg{width:16px;height:16px}
.topbar-system-menu>summary i{font-style:normal;font-size:.65rem;transition:transform .15s ease}
.topbar-system-menu[open]>summary i{transform:rotate(180deg)}
.topbar-system-menu:hover>summary,.topbar-system-menu[open]>summary,.topbar-system-menu.is-active>summary{border-color:color-mix(in srgb,var(--primary) 30%,var(--border));background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:var(--text)}
.topbar-system-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:180;width:280px;display:none;gap:5px;padding:7px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(20px);box-shadow:0 22px 55px rgba(0,0,0,.35)}
.topbar-system-menu[open] .topbar-system-popover{display:grid}
@media(hover:hover){.topbar-system-menu:hover .topbar-system-popover{display:grid}}
.topbar-system-popover>a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border:1px solid transparent;border-radius:10px;color:var(--muted);text-decoration:none}
.topbar-system-popover>a:hover,.topbar-system-popover>a.active{border-color:color-mix(in srgb,var(--primary) 28%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface-2));color:var(--text)}
.topbar-system-popover .nav-svg{width:19px;height:19px;padding:6px;border-radius:9px;background:var(--surface-3);box-sizing:content-box;color:var(--primary)}
.topbar-system-popover>a>span{min-width:0;display:grid;gap:2px}
.topbar-system-popover strong{font-size:.75rem}
.topbar-system-popover small{font-size:.62rem;color:var(--muted);line-height:1.3}

.topbar-user-control{min-height:38px!important;gap:5px!important;padding:1px 2px!important;border-color:transparent!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important}
.topbar-theme-toggle{width:32px!important;height:32px!important;border-color:transparent!important;background:transparent!important}
.topbar-theme-toggle:hover{background:color-mix(in srgb,var(--surface-2) 72%,transparent)!important}
.topbar-user-identity{gap:6px!important;padding:2px 4px!important;border-radius:9px}
.topbar-user-identity:hover{background:color-mix(in srgb,var(--surface-2) 58%,transparent)}
.topbar-user-identity .avatar{width:28px!important;height:28px!important;font-size:.64rem!important}
.topbar-user-identity strong{font-size:.67rem!important;font-weight:760!important}
.topbar-user-identity small{font-size:.5rem!important;opacity:.78}
.topbar-logout{height:30px!important;padding:0 7px!important;border-color:transparent!important;background:transparent!important;font-size:.6rem!important;font-weight:720!important}
.topbar-logout:hover{border-color:color-mix(in srgb,var(--red) 28%,transparent)!important;background:color-mix(in srgb,var(--red) 8%,transparent)!important}

.ai-empty [data-ai-greeting]{max-width:720px;line-height:1.55}
.ai-dock-welcome[data-ai-greeting]{white-space:pre-line}

@media(max-width:1180px){.topbar-system-menu>summary span{display:none}.topbar-system-menu>summary{width:34px;padding:0;justify-content:center}.topbar-system-menu>summary i{display:none}.topbar-user-identity small{display:none}}
@media(max-width:760px){.topbar-system-popover{position:fixed;right:10px;top:66px;width:min(280px,calc(100vw - 20px))}.topbar-user-identity>span:last-child{display:none!important}.topbar-user-identity{padding:0!important}.topbar-logout{width:30px!important;padding:0!important;font-size:0!important}.topbar-logout::before{content:'↪';font-size:.82rem}}

/* Cockpit 4.7.10: keep the compact global controls inside the available
   content width while the desktop sidebar is still visible. History remains
   available from Versionsverlauf and returns once there is enough room. */
@media(max-width:1100px){
  .topbar-history-action,.topbar-history-button{display:none!important}
  .topbar-user-identity>span:last-child{display:none!important}
  .topbar-user-identity{padding:0!important}
  .topbar-logout{width:30px!important;padding:0!important;font-size:0!important}
  .topbar-logout::before{content:'↪';font-size:.82rem}
}
/* Preserve the hover path between the compact settings trigger and its popover. */
.topbar-system-popover::before{content:'';position:absolute;left:0;right:0;top:-9px;height:9px}

/* Cockpit 4.7.13: external Vaultwarden connection */
.vaultwarden-hero{background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 92%,#175ddc 8%),var(--surface-1));overflow:hidden}
.vaultwarden-mark{display:grid;place-items:center;width:64px;height:64px;margin-bottom:22px;border-radius:18px;background:linear-gradient(145deg,#175ddc,#0e3b98);color:#fff;font-size:1.8rem;font-weight:900;box-shadow:0 14px 34px rgba(23,93,220,.28)}
.vaultwarden-address{overflow-wrap:anywhere;color:var(--muted)}
.full-span{grid-column:1/-1}
.migration-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.migration-flow span{display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);font-size:.82rem;font-weight:700}.migration-flow b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff}.migration-flow i{color:var(--muted);font-style:normal}.migration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.migration-card{border:1px solid var(--border);border-radius:14px;background:var(--surface-2);overflow:hidden}.migration-card summary{display:flex;flex-direction:column;gap:3px;padding:15px 42px 15px 16px;cursor:pointer;position:relative}.migration-card summary::after{content:'+';position:absolute;right:16px;top:18px;color:var(--primary);font-size:1.1rem}.migration-card[open] summary::after{content:'−'}.migration-card summary small{color:var(--muted);font-size:.7rem}.migration-card>div{padding:0 16px 16px;border-top:1px solid var(--border)}.migration-card p,.migration-card ol{font-size:.8rem;line-height:1.6}.migration-card ol{padding-left:20px}.migration-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:760px){.migration-grid{grid-template-columns:1fr}.migration-flow i{display:none}}

/* Connected password-manager view: deliberately independent from the generic
   checklist styles so labels and descriptions never collapse into one line. */
.vaultwarden-access-card{padding:0;overflow:hidden;background:linear-gradient(135deg,var(--surface-1),color-mix(in srgb,var(--surface-2) 88%,var(--primary) 12%))}
.vaultwarden-access-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px}.vaultwarden-access-copy{min-width:0}.vaultwarden-access-copy h2{margin:5px 0 7px;font-size:1.35rem}.vaultwarden-access-copy>p{margin:0;color:var(--muted);overflow-wrap:anywhere}.vaultwarden-access-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px;min-width:180px}.vaultwarden-status-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:.76rem}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 14%,transparent)}.status-dot.is-online{background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 14%,transparent)}.vaultwarden-session-help{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;padding:16px 28px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--primary) 5%,transparent)}.vaultwarden-session-help>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);font-weight:800}.vaultwarden-session-help p{margin:1px 0;line-height:1.55;font-size:.79rem}.migration-assistant .report-section-title{margin:30px 0 12px;padding:0;border:0;align-items:end}.migration-assistant .report-section-title h3{margin:0}.migration-assistant .report-section-title>span{position:static;white-space:nowrap;color:var(--muted);font-size:.7rem}.vaultwarden-settings-stack{display:grid;gap:20px}.vaultwarden-admin-settings{padding-top:20px;border-top:1px solid var(--border)}
@media(max-width:900px){.vaultwarden-access-main{grid-template-columns:auto 1fr}.vaultwarden-access-actions{grid-column:1/-1;flex-direction:row}.vaultwarden-access-actions .btn{flex:1}}
@media(max-width:600px){.vaultwarden-access-main{grid-template-columns:1fr;padding:20px}.vaultwarden-access-actions{flex-direction:column}.vaultwarden-session-help{padding:14px 20px}.migration-assistant .report-section-title{align-items:flex-start;flex-direction:column}.migration-assistant .report-section-title>span{white-space:normal}}
.vaultwarden-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vaultwarden-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.vaultwarden-item-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);font-weight:850}.vaultwarden-item strong,.vaultwarden-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vaultwarden-item small{margin-top:3px;color:var(--muted);font-size:.7rem}.secret-display{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.secret-display code{overflow-wrap:anywhere}.secret-notes{white-space:pre-wrap;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}@media(max-width:760px){.vaultwarden-item-grid{grid-template-columns:1fr}}
.transfer-public-card{width:min(560px,calc(100vw - 28px))}
.transfer-upload-progress{margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(24,165,223,.07)}
.transfer-upload-progress>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.transfer-upload-progress progress{display:block;width:100%;height:10px;accent-color:var(--accent)}.transfer-upload-progress small{display:block;margin-top:8px;color:var(--muted)}
.transfer-document-select{min-height:260px;padding:8px}.transfer-document-select option{padding:9px 10px;border-radius:7px}.transfer-document-select option:checked{background:linear-gradient(90deg,var(--accent),#1679bd);color:#fff}

/* Cockpit 5.0.6: guided transfer setup and unified folder presentation. */
.transfer-primary-actions{align-items:center}.transfer-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.transfer-direction-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:1fr auto;gap:12px 14px;min-width:0;padding:18px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,var(--surface-2),color-mix(in srgb,var(--surface-2) 90%,var(--primary) 10%));overflow:hidden}.transfer-direction-card::after{content:'';position:absolute;right:-36px;top:-48px;width:130px;height:130px;border-radius:50%;background:color-mix(in srgb,var(--primary) 9%,transparent);pointer-events:none}.transfer-direction-card.receive{--direction-colour:var(--teal)}.transfer-direction-card.send{--direction-colour:var(--primary)}.transfer-direction-card.exchange{--direction-colour:var(--purple)}.transfer-direction-icon{position:relative;z-index:1;width:48px;height:48px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--direction-colour) 38%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--direction-colour) 13%,var(--surface-3));color:var(--direction-colour);font-size:1.35rem;font-weight:900}.transfer-direction-card>div{position:relative;z-index:1;min-width:0}.transfer-direction-card h2{margin:3px 0 6px;font-size:1rem}.transfer-direction-card p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}.transfer-direction-card>.btn,.transfer-direction-card>.actions{position:relative;z-index:1;grid-column:1/-1;justify-self:start}.transfer-direction-card>.actions{display:flex;gap:7px;flex-wrap:wrap}
.transfer-folder-section{overflow:visible}.transfer-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:9px;padding:14px 18px 18px}.transfer-folder-card{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:2px;min-width:0;border:1px solid var(--border);border-radius:13px;background:var(--surface-2);transition:.15s ease}.transfer-folder-card:hover,.transfer-folder-card.active{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));background:color-mix(in srgb,var(--surface-2) 93%,var(--primary) 7%)}.transfer-folder-card>a{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 6px 11px calc(12px + var(--transfer-depth,0)*10px);color:var(--text);text-decoration:none}.transfer-folder-card>a>span:nth-child(2){min-width:0}.transfer-folder-card strong,.transfer-folder-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-folder-card small{margin-top:3px;color:var(--muted);font-size:.65rem}.transfer-folder-card b{color:var(--muted);font-size:.65rem;white-space:nowrap}.transfer-folder-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;padding:0 8px 9px}.transfer-folder-card-actions form{display:contents}.transfer-folder-card-actions .btn{padding-inline:8px}.transfer-folder-delete{color:var(--danger)}.transfer-folder-icon{width:36px;height:32px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--teal) 13%,var(--surface-3));color:var(--teal);font-size:1rem}.transfer-folder-empty{grid-column:1/-1;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;border:1px dashed var(--border-strong);border-radius:14px;background:var(--surface-2)}.transfer-folder-empty>span{width:46px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--primary) 11%,var(--surface-3));color:var(--primary)}.transfer-folder-empty p{margin:4px 0 0;color:var(--muted);font-size:.75rem}
.transfer-access-management{overflow:hidden}.transfer-access-management>summary{cursor:pointer;list-style:none}.transfer-access-management>summary::-webkit-details-marker{display:none}.transfer-access-management>summary::after{content:'⌄';color:var(--muted);font-size:1.2rem}.transfer-access-management[open]>summary{border-bottom:1px solid var(--border)}
.transfer-setup-dialog{width:min(860px,calc(100vw - 28px))}.transfer-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.transfer-mode-grid label{position:relative;min-width:0;cursor:pointer}.transfer-mode-grid input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;min-height:0!important;pointer-events:none}.transfer-mode-grid label>span{height:100%;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:1px 9px;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);transition:.15s ease}.transfer-mode-grid b{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--primary) 11%,var(--surface-3));color:var(--primary);font-size:1rem}.transfer-mode-grid strong,.transfer-mode-grid small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-mode-grid strong{color:var(--text);font-size:.76rem}.transfer-mode-grid small{color:var(--muted);font-size:.61rem}.transfer-mode-grid input:checked+span{border-color:var(--primary);background:color-mix(in srgb,var(--surface-2) 90%,var(--primary) 10%);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent)}.transfer-mode-grid input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 24%,transparent)}
.transfer-folder-picker{display:grid;gap:11px;margin-top:2px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.transfer-folder-picker>header{display:flex;justify-content:space-between;gap:12px}.transfer-folder-picker>header strong,.transfer-folder-picker>header small{display:block}.transfer-folder-picker>header small{margin-top:3px;color:var(--muted);font-size:.68rem}.transfer-folder-choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:220px;overflow:auto;padding:2px}.transfer-folder-choice{position:relative;display:grid;grid-template-columns:20px 32px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--surface-3);cursor:pointer;transition:.15s ease}.transfer-folder-choice:hover,.transfer-folder-choice:has(input:checked){border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--surface-3) 91%,var(--primary) 9%)}.transfer-folder-choice>input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;min-height:0!important;pointer-events:none}.transfer-folder-checkbox{width:18px;height:18px;display:grid;place-items:center;border:1.5px solid var(--border-strong);border-radius:5px;background:var(--surface-2);color:transparent;font-size:.7rem;font-weight:950}.transfer-folder-choice input:checked+.transfer-folder-checkbox{border-color:var(--primary);background:var(--primary);color:#04111d}.transfer-folder-choice-icon{width:31px;height:28px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--teal) 12%,var(--surface-2));color:var(--teal)}.transfer-folder-choice>span:last-child{min-width:0}.transfer-folder-choice strong,.transfer-folder-choice small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-folder-choice strong{color:var(--text);font-size:.76rem}.transfer-folder-choice small{margin-top:2px;color:var(--muted);font-size:.61rem}.transfer-advanced{border:1px solid var(--border);border-radius:12px;background:var(--surface-2);overflow:hidden}.transfer-advanced>summary{padding:12px 14px;cursor:pointer;color:var(--text);font-size:.76rem;font-weight:800}.transfer-advanced[open]>summary{border-bottom:1px solid var(--border)}.transfer-advanced>.form-grid{padding:14px}
.documents-tree-separator{height:1px;margin:8px 4px;background:var(--documents-line)}.documents-transfer-tree-root,.documents-transfer-tree-node{--documents-accent:#2dd4bf;--documents-accent-soft:rgba(45,212,191,.1)}.documents-transfer-tree-root{margin-top:2px}.documents-transfer-tree-root>a,.documents-transfer-tree-node>a{color:var(--documents-text)}.documents-transfer-row{background:color-mix(in srgb,var(--documents-row) 94%,#2dd4bf 6%)}.documents-transfer-row:hover{background:color-mix(in srgb,var(--documents-row) 88%,#2dd4bf 12%)}.documents-transfer-spacer{opacity:.25}.documents-transfer-row .documents-row-menu .btn{opacity:1}
@media(max-width:980px){.transfer-direction-grid{grid-template-columns:1fr}.transfer-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.transfer-primary-actions{width:100%}.transfer-primary-actions .btn{flex:1 1 100%}.transfer-folder-grid{grid-template-columns:1fr;padding:10px}.transfer-folder-empty{grid-template-columns:42px minmax(0,1fr)}.transfer-folder-empty .btn{grid-column:1/-1}.transfer-folder-card-actions{justify-content:flex-start;padding:0 10px 10px}.transfer-mode-grid,.transfer-folder-choice-list{grid-template-columns:1fr}.transfer-direction-card{grid-template-columns:42px minmax(0,1fr);padding:14px}.transfer-direction-icon{width:42px;height:42px}}

/* --------------------------------------------------------------------------
   Cockpit 5.0 · Passkeys, Security Center and device-adaptive application UI
   -------------------------------------------------------------------------- */
.auth-separator{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.auth-separator::before,.auth-separator::after{content:"";height:1px;flex:1;background:var(--border)}
.form-error{margin:0;color:var(--red);font-size:.78rem;line-height:1.45}
.security-device-list{display:grid;gap:9px}.security-device-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,auto);align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.security-device-row>div{min-width:0}.security-device-row strong,.security-device-row small{display:block}.security-device-row small{margin-top:4px;color:var(--muted);font-size:.69rem}.security-inline-confirm{display:grid;grid-template-columns:minmax(130px,190px) auto;align-items:center;gap:7px}.security-inline-confirm input{min-height:36px;padding:7px 9px}
.security-center-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.security-center-metrics article{min-width:0;padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.security-center-metrics span,.security-center-metrics small{display:block;color:var(--muted);font-size:.68rem}.security-center-metrics strong{display:block;margin:5px 0 3px;overflow-wrap:anywhere;font-size:1rem}.security-center .sub-card{height:100%}
.responsive-table{min-width:760px}

@supports(padding:max(0px)){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .sidebar{padding-top:max(22px,env(safe-area-inset-top));padding-left:max(18px,env(safe-area-inset-left))}
}

@media(max-width:980px){
  :root{--topbar:62px}
  body{background-attachment:scroll;overscroll-behavior-y:none}
  .topbar{height:var(--topbar);padding-top:env(safe-area-inset-top);padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .content{width:100%;padding:16px 14px calc(92px + env(safe-area-inset-bottom))}
  .bottom-nav{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));height:62px;border-radius:17px}
  .page-head{margin-bottom:16px}.page-head p{font-size:.82rem;line-height:1.5}
  /* ⭐ 13.08.2026: Vorher war das eine unsichtbare Wisch-Leiste (nowrap +
     verstecktes Querscrollen) — Knöpfe ragten scheinbar abgeschnitten aus dem
     Bild. Jetzt brechen die Aktionen sichtbar um. */
  .page-actions{width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;padding:2px 0 5px}
  .page-actions>.btn,.page-actions>form,.page-actions>a{flex:0 0 auto;max-width:100%}
  .grid{gap:12px}.section{margin-top:14px!important;margin-bottom:14px!important}
  .card{border-radius:15px}.card-head{min-height:54px;padding-top:14px}.card-head h2,.card-head h3{font-size:.98rem}
  .dialog{width:min(680px,calc(100vw - 20px));max-height:calc(100dvh - 20px);margin:auto;border-radius:16px}.dialog::backdrop{backdrop-filter:blur(4px)}.dialog-head{position:sticky;z-index:3;top:0;background:var(--surface);padding:14px 16px}.dialog-body{max-height:calc(100dvh - 88px);overflow:auto;overscroll-behavior:contain;padding-bottom:max(18px,env(safe-area-inset-bottom))}.dialog .form-actions{position:sticky;bottom:0;z-index:2;margin:16px -2px -2px;padding:12px 2px max(2px,env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--surface) 20%)}
  .ai-dock{right:8px!important;left:8px!important;bottom:calc(78px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;max-height:70dvh!important}.ai-dock-body{max-height:calc(70dvh - 54px)}
  .security-center-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  :root{--topbar:58px;--radius:14px}
  body{font-size:14px}
  input,select,textarea{font-size:16px;min-height:44px}
  .content{padding:11px 10px calc(84px + env(safe-area-inset-bottom))}
  .topbar{gap:5px}.topbar-left,.topbar-actions{gap:3px}.topbar-title{font-size:.86rem;max-width:90px}.mobile-menu-btn{width:36px;min-width:36px;padding:0}.year-switch{display:none}.topbar-system-menu>summary,.topbar-theme-toggle,.topbar-logout{width:30px!important;height:30px!important;min-height:30px!important}
  .page-head{gap:12px}.page-head h1{font-size:1.65rem}.page-head p{margin-top:6px;font-size:.78rem}.eyebrow{font-size:.62rem}.page-actions .btn{min-height:38px;padding:7px 10px;font-size:.76rem}
  .card-head{padding:13px 13px 9px;gap:8px}.card-body{padding:0 13px 14px}.card-head p{font-size:.72rem}.card-head>.badge{flex:0 0 auto}
  .form-grid,.form-grid-3{gap:11px}.form-actions{display:grid;grid-template-columns:1fr;gap:8px}.form-actions>.btn,.form-actions>form,.form-actions>form>.btn{width:100%}
  .notice{grid-template-columns:25px minmax(0,1fr);padding:11px;font-size:.75rem}.notice>span:first-child{width:25px;height:25px}
  .settings-hub{display:flex;position:static;overflow-x:auto;gap:7px;padding:7px;margin-bottom:14px;scroll-snap-type:x proximity;scrollbar-width:none}.settings-hub::-webkit-scrollbar{display:none}.settings-hub a{flex:0 0 132px;scroll-snap-align:start;padding:8px}.settings-hub small{display:none}.settings-section-heading{margin-top:24px}.settings-section-heading h2{font-size:1.3rem}
  .kpi{min-height:110px;padding:14px}.kpi-value{font-size:1.45rem}.grid-auto-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
  .table-wrap{border-top:0;margin:0;overflow:visible}.responsive-table{display:block;min-width:0;padding:8px}.responsive-table thead{display:none}.responsive-table tbody{display:grid;gap:9px}.responsive-table tr{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.responsive-table td{display:grid;grid-template-columns:minmax(82px,35%) minmax(0,1fr);align-items:start;gap:8px;padding:0;border:0;font-size:.78rem;overflow-wrap:anywhere}.responsive-table td::before{content:attr(data-label);color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.responsive-table td:empty{display:none}.responsive-table td[colspan]{display:block;text-align:center}.responsive-table td[colspan]::before,.responsive-table td.select-col::before{display:none}.responsive-table .actions{justify-content:flex-start;flex-wrap:wrap}.responsive-table td:first-child:not([data-label]){display:block}.responsive-table td:first-child:not([data-label])::before{display:none}
  .security-device-row{grid-template-columns:1fr}.security-inline-confirm{grid-template-columns:minmax(0,1fr) auto}.security-center-metrics{grid-template-columns:1fr 1fr}.security-center-metrics article{padding:11px}.security-center-metrics strong{font-size:.86rem}
  .transfer-live-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.transfer-file-filter{padding:12px}.transfer-type-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-toolbar{display:grid!important;grid-template-columns:1fr!important}.transfer-toolbar>*{width:100%}
  .documents-explorer-page .content{padding:8px 6px calc(82px + env(safe-area-inset-bottom))!important}.documents-explorer-app{min-height:calc(100dvh - 78px);border-radius:10px}.documents-explorer-titlebar{padding:9px!important}.documents-title p,.documents-storage-summary{display:none}.documents-commandbar{padding-inline:6px}.documents-addressbar{padding-inline:7px}.documents-folder-panel{max-height:190px!important}.documents-list-row{min-height:52px}.documents-statusbar{position:sticky;bottom:0}
  .onenote-workspace[data-notes-workspace]>.card{min-height:220px!important}.onenote-workspace[data-notes-workspace] .onenote-notebooks,.onenote-workspace[data-notes-workspace] .onenote-pages{max-height:310px}.onenote-workspace[data-notes-workspace] .onenote-canvas{min-height:520px!important}.onenote-paper.live{padding:20px 16px!important}
  .auth-shell{padding:10px;min-height:100dvh}.auth-card{border-radius:16px}.auth-visual{display:none}.auth-form{min-height:calc(100dvh - 20px);padding:24px 20px}.auth-form h2{font-size:1.5rem}
  .pdf-reader-shell,.onlyoffice-shell{height:calc(100dvh - 170px)!important;min-height:420px}.mail-body{padding:14px}.calendar-grid{min-width:680px}
}

@media(max-width:430px){
  .content{padding-inline:8px}.grid-auto-kpi{grid-template-columns:1fr 1fr;gap:8px}.kpi{padding:12px}.kpi-value{font-size:1.25rem}.kpi-icon{width:30px;height:30px}
  .bottom-nav{left:5px;right:5px;bottom:max(5px,env(safe-area-inset-bottom));height:58px;padding:5px;border-radius:15px}.bottom-link{font-size:.55rem}.bottom-link span:first-child{font-size:1rem}
  .dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;border-inline:0}.dialog-body{max-height:calc(100dvh - 72px)}
  .security-center-metrics{grid-template-columns:1fr}.security-inline-confirm{grid-template-columns:1fr}.security-inline-confirm .btn{width:100%}
  .transfer-type-filter{grid-template-columns:1fr}.page-actions{margin-inline:-2px}.topbar-user-control{display:none!important}
}

@media(max-height:520px) and (orientation:landscape) and (max-width:980px){
  .bottom-nav{display:none}.content{padding-bottom:12px}.auth-form{min-height:100dvh}.dialog{max-height:96dvh}.ai-dock{bottom:8px!important;max-height:88dvh!important}.onenote-workspace[data-notes-workspace] .onenote-canvas{min-height:430px!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Cockpit 5.0.6 · Persönliche Star-Trek- und Stargate-Designs des Eigentümers. */
html[data-theme-preset="my_trek_blue"]{--primary:#4cc9ff;--primary-strong:#147db7;--teal:#a78bfa;--bg:#031221;--bg-deep:#01050b;--surface-2:#0c2034;--surface-3:#16334e;--theme-symbol:"✦";--theme-art:url('/static/themes/my_trek_blue.webp');--theme-art-position:62% center;--theme-art-overlay:rgba(1,5,12,.66);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_trek_planet"]{--primary:#55b8ff;--primary-strong:#2563eb;--teal:#dbeafe;--bg:#020915;--bg-deep:#010308;--surface-2:#0a1628;--surface-3:#14243a;--theme-symbol:"◇";--theme-art:url('/static/themes/my_trek_planet.webp');--theme-art-position:center center;--theme-art-overlay:rgba(1,4,10,.62);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_trek_warp"]{--primary:#a78bfa;--primary-strong:#7c3aed;--teal:#f472b6;--bg:#120b1c;--bg-deep:#050208;--surface-2:#20122e;--surface-3:#341b45;--theme-symbol:"≫";--theme-art:url('/static/themes/my_trek_warp.webp');--theme-art-position:center top;--theme-art-overlay:rgba(5,2,10,.68);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_trek_cruiser"]{--primary:#f472d0;--primary-strong:#c026d3;--teal:#60a5fa;--bg:#13071a;--bg-deep:#050207;--surface-2:#25102d;--surface-3:#3b1746;--theme-symbol:"◉";--theme-art:url('/static/themes/my_trek_cruiser.webp');--theme-art-position:60% center;--theme-art-overlay:rgba(5,2,10,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_trek_explorer"]{--primary:#38bdf8;--primary-strong:#0369a1;--teal:#fb923c;--bg:#020b14;--bg-deep:#010307;--surface-2:#0a1928;--surface-3:#142b3f;--theme-symbol:"△";--theme-art:url('/static/themes/my_trek_explorer.webp');--theme-art-position:center center;--theme-art-overlay:rgba(1,4,9,.62);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_gate_atlantis"]{--primary:#b8d8ff;--primary-strong:#3b82f6;--teal:#94a3b8;--bg:#0b1725;--bg-deep:#030811;--surface-2:#15263a;--surface-3:#233950;--theme-symbol:"◇";--theme-art:url('/static/themes/my_gate_atlantis.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,8,18,.62);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_gate_portal"]{--primary:#22d3ee;--primary-strong:#0891b2;--teal:#e2e8f0;--bg:#061419;--bg-deep:#020709;--surface-2:#0e272d;--surface-3:#183d45;--theme-symbol:"◉";--theme-art:url('/static/themes/my_gate_portal.webp');--theme-art-position:center center;--theme-art-overlay:rgba(1,7,10,.60);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}

html[data-theme-preset^="my_trek_"] body,html[data-theme-preset^="my_gate_"] body{background-image:linear-gradient(var(--theme-art-overlay),var(--theme-art-overlay)),var(--theme-art)!important;background-position:center,var(--theme-art-position)!important;background-size:cover!important;background-repeat:no-repeat!important;background-attachment:fixed!important}
html[data-theme="light"][data-theme-preset^="my_trek_"] body,html[data-theme="light"][data-theme-preset^="my_gate_"] body{--theme-art-overlay:rgba(238,244,251,.74)}
html[data-theme-preset^="my_trek_"] .sidebar,html[data-theme-preset^="my_trek_"] .topbar,html[data-theme-preset^="my_gate_"] .sidebar,html[data-theme-preset^="my_gate_"] .topbar{background:color-mix(in srgb,var(--bg-deep) 82%,transparent)!important;backdrop-filter:blur(22px) saturate(1.15)}
html[data-theme-preset^="my_trek_"] .sidebar .nav-svg,html[data-theme-preset^="my_gate_"] .sidebar .nav-svg{box-sizing:content-box;padding:2px;color:var(--primary);border:1px solid var(--theme-icon-border);border-radius:50%;background:var(--theme-icon-bg);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--primary) 30%,transparent))}
html[data-theme-preset^="my_trek_"] .sidebar .nav-svg{transform:rotate(-7deg)}
html[data-theme-preset^="my_gate_"] .sidebar .nav-svg{outline:1px dashed color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:2px}
html[data-theme-preset^="my_trek_"] .topbar-title::before,html[data-theme-preset^="my_gate_"] .topbar-title::before{content:var(--theme-symbol);display:inline-grid;place-items:center;min-width:24px;height:22px;margin-right:8px;padding:0 5px;border:1px solid color-mix(in srgb,var(--primary) 55%,transparent);border-radius:8px;color:var(--primary);font-size:.65rem;vertical-align:middle}
html[data-theme-preset^="my_trek_"] .card,html[data-theme-preset^="my_gate_"] .card{background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(8px)}
html[data-theme="light"][data-theme-preset^="my_trek_"],html[data-theme="light"][data-theme-preset^="my_gate_"]{--bg:#edf4f9;--bg-deep:#dce7ef;--surface-2:#fff;--surface-3:#e9f0f6;--text:#0f172a;--muted:#526276}
.theme-swatch-my_trek_blue{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/my_trek_blue.webp')!important;background-position:62% center!important;background-size:cover!important}
.theme-swatch-my_trek_planet{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/my_trek_planet.webp')!important;background-position:center!important;background-size:cover!important}
.theme-swatch-my_trek_warp{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/my_trek_warp.webp')!important;background-position:center top!important;background-size:cover!important}
.theme-swatch-my_trek_cruiser{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/my_trek_cruiser.webp')!important;background-position:60% center!important;background-size:cover!important}
.theme-swatch-my_trek_explorer{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/my_trek_explorer.webp')!important;background-position:center!important;background-size:cover!important}
.theme-swatch-my_gate_atlantis{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/my_gate_atlantis.webp')!important;background-position:center!important;background-size:cover!important}
.theme-swatch-my_gate_portal{background-image:linear-gradient(rgba(2,5,12,.15),rgba(2,5,12,.15)),url('/static/themes/my_gate_portal.webp')!important;background-position:center!important;background-size:cover!important}
@media(max-width:980px){html[data-theme-preset^="my_trek_"] body,html[data-theme-preset^="my_gate_"] body{background-attachment:scroll!important}}
.pdf-draft-save:hover{background:#15803d!important}.pdf-draft-head .page-actions{align-items:center}.pdf-draft-head .page-actions form{margin:0}
.groupware-quicklinks{display:flex;align-items:center;gap:4px;margin-top:-10px!important;overflow-x:auto;padding:4px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 86%,transparent)}.groupware-quicklinks a{padding:5px 11px;border-radius:7px;color:var(--muted);text-decoration:none;font-size:.76rem;font-weight:700;white-space:nowrap}.groupware-quicklinks a:hover,.groupware-quicklinks a.active{background:var(--surface-2);color:var(--text)}.groupware-quicklinks a.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 55%,var(--line))}

/* Cockpit 5.0.6 · klarere Dokumentaktionen und vollständiger ZIP-Dialog. */
.documents-commandbar{gap:6px;padding:7px 12px;background:color-mix(in srgb,var(--documents-panel,#091423) 94%,#102c46);border-bottom:1px solid var(--documents-line-strong,#2a425f)}
.documents-commandbar>button,.documents-commandbar>form>button{min-height:34px;padding:6px 10px;border:1px solid var(--documents-line-strong,#2a425f);border-radius:7px;background:color-mix(in srgb,var(--documents-surface,#091423) 72%,#173d5f);color:var(--documents-text,#dbe7f4);box-shadow:0 1px 0 rgba(255,255,255,.025);font-weight:760}
.documents-commandbar>button:hover,.documents-commandbar>form>button:hover{border-color:color-mix(in srgb,var(--documents-accent,#29c4f5) 65%,var(--documents-line-strong,#2a425f));background:color-mix(in srgb,var(--documents-accent,#29c4f5) 13%,var(--documents-surface,#091423));color:#fff}
.documents-commandbar>button>span,.documents-commandbar>form>button>span{display:inline-grid;min-width:17px;place-items:center;color:var(--documents-accent,#29c4f5);font-size:.82rem;font-weight:900}
.documents-commandbar>button.btn-primary{border-color:#36c9f4;background:linear-gradient(180deg,#27bdf0,#118fc8);color:#fff;box-shadow:0 7px 18px rgba(17,172,225,.22)}
.documents-commandbar>button.btn-primary>span{color:#fff}.documents-commandbar>button:disabled{border-color:color-mix(in srgb,var(--documents-line-strong,#2a425f) 65%,transparent);background:transparent;box-shadow:none;opacity:.42}
.documents-bulkbar button{border:1px solid color-mix(in srgb,var(--documents-accent,#29c4f5) 26%,var(--documents-line-strong,#2a425f));font-weight:730}

.archive-dialog{width:min(900px,calc(100vw - 32px));max-width:900px}.archive-dialog .dialog-head p{max-width:620px;margin:5px 0 0;color:var(--muted);font-size:.78rem}.archive-dialog-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:15px}.archive-settings-card,.archive-selection-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 88%,transparent)}.archive-settings-card{padding:17px;display:grid;align-content:start;gap:15px}.archive-card-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 55%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--primary) 15%,var(--surface));color:var(--primary);font-size:.8rem;font-weight:900;letter-spacing:.06em}.archive-settings-card .field{margin:0}.archive-settings-card .field label span{color:var(--muted);font-weight:600}.archive-security-note{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;padding:11px;border:1px solid color-mix(in srgb,var(--teal) 30%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--teal) 8%,transparent)}.archive-security-note>span{color:var(--teal)}.archive-security-note p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.5}.archive-security-note strong{color:var(--text)}.archive-selection-card{display:grid;grid-template-rows:auto auto minmax(220px,1fr);overflow:hidden}.archive-selection-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px 12px;border-bottom:1px solid var(--line)}.archive-selection-card>header div{display:grid;gap:3px}.archive-selection-card>header small{color:var(--muted);font-size:.69rem}.archive-selection-card>header>span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:.7rem;font-weight:760}.archive-select-all{display:flex;align-items:center;gap:9px;padding:9px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:700;cursor:pointer}.archive-select-all input,.archive-check-row input{accent-color:var(--primary)}.archive-check-list{max-height:355px;overflow:auto;padding:7px}.archive-check-row{display:grid;grid-template-columns:18px 34px minmax(0,1fr);align-items:center;gap:9px;padding:8px 9px;border:1px solid transparent;border-radius:9px;cursor:pointer}.archive-check-row:hover{border-color:var(--line);background:var(--surface)}.archive-check-row:has(input:checked){border-color:color-mix(in srgb,var(--primary) 50%,var(--line));background:color-mix(in srgb,var(--primary) 9%,var(--surface))}.archive-check-row>span:last-child{min-width:0;display:grid;gap:2px}.archive-check-row strong,.archive-check-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-check-row strong{font-size:.76rem}.archive-check-row small{color:var(--muted);font-size:.66rem}.archive-item-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:var(--surface-3);color:var(--muted);font-size:.55rem;font-weight:900}.archive-item-icon.folder{color:var(--primary);font-size:.9rem}.archive-empty{padding:30px 18px;text-align:center;color:var(--muted);font-size:.75rem}.archive-dialog .form-actions{margin-top:16px}

.pdf-colour-control input[type="color"]{width:50px;min-width:50px;height:38px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);cursor:pointer}.pdf-colour-control span{color:var(--muted);font-size:.7rem}.pdf-tool-option-group[data-pdf-option-group="stamp_style"],.pdf-tool-option-group[data-pdf-option-group="watermark_style"]{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:760px){.archive-dialog-layout{grid-template-columns:1fr}.archive-check-list{max-height:280px}.pdf-tool-option-group[data-pdf-option-group="stamp_style"],.pdf-tool-option-group[data-pdf-option-group="watermark_style"]{grid-template-columns:1fr}}


/* Cockpit 5.3.2 · mobile account dismissal and corrected document folder drawer. */
.auth-mobile-brand{display:none}
.mobile-account-menu{display:none;position:relative}
.documents-mobile-folders-button,.documents-mobile-folder-close,.documents-mobile-folder-backdrop{display:none}
.documents-folder-panel-actions{display:flex;align-items:center;gap:6px}
.documents-folder-panel>header .documents-folder-panel-actions>button{width:28px;height:28px;border:1px solid var(--documents-line-strong);border-radius:7px;background:var(--documents-field);color:var(--documents-accent);cursor:pointer}

@media(max-width:700px){
  /* The phone uses the hamburger navigation instead of a persistent bottom dock. */
  .bottom-nav{display:none!important}
  .content,.documents-explorer-page .content{padding-bottom:max(14px,env(safe-area-inset-bottom))!important}
  .fab{bottom:max(18px,env(safe-area-inset-bottom))}
  .ai-dock{bottom:max(8px,env(safe-area-inset-bottom))!important}

  /* Full-width login card. Hiding the illustration must not leave the form in half of a two-column grid. */
  .auth-shell{align-items:stretch;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}
  .auth-card{width:100%;max-width:560px;margin:auto;grid-template-columns:minmax(0,1fr)!important;border-radius:18px}
  .auth-form{width:100%;min-width:0;min-height:calc(100dvh - max(20px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));padding:clamp(24px,7vw,42px)!important;justify-content:center}
  .auth-mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:34px}
  .auth-mobile-brand img{width:44px;height:44px;border-radius:13px}
  .auth-mobile-brand span{display:grid;gap:2px}.auth-mobile-brand strong{font-size:1rem}.auth-mobile-brand small{color:var(--muted);font-size:.72rem}
  .auth-form form,.auth-form .stack,.auth-form .field,.auth-form input,.auth-form .btn-block{width:100%}
  .auth-form h2{font-size:clamp(1.7rem,8vw,2.2rem)}
  .auth-form>p{max-width:34rem;line-height:1.55}

  /* Direct, visible access to account and logout without consuming the whole top bar. */
  .topbar-user-control{display:none!important}
  .mobile-account-menu{display:block}
  .mobile-account-menu>summary{list-style:none;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);cursor:pointer}
  .mobile-account-menu>summary::-webkit-details-marker{display:none}
  .mobile-account-menu>summary .avatar{width:26px;height:26px;font-size:.62rem}
  .mobile-account-popover{position:fixed;z-index:210;right:max(10px,env(safe-area-inset-right));top:calc(var(--topbar) + env(safe-area-inset-top) + 7px);width:min(300px,calc(100vw - 20px));display:grid;gap:5px;padding:8px;border:1px solid var(--border);border-radius:15px;background:color-mix(in srgb,var(--surface) 97%,transparent);box-shadow:0 24px 60px rgba(0,0,0,.42);backdrop-filter:blur(20px)}
  .mobile-account-popover header{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:8px 8px 12px;border-bottom:1px solid var(--border)}
  .mobile-account-popover header .avatar{width:38px;height:38px}.mobile-account-popover header>span:last-child{min-width:0;display:grid;gap:2px}.mobile-account-popover header strong,.mobile-account-popover header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-account-popover header small{color:var(--muted);font-size:.66rem}
  .mobile-account-popover>a,.mobile-account-popover>button,.mobile-account-popover>form>button{width:100%;min-height:42px;padding:9px 11px;border:0;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:.78rem;font-weight:750;text-align:left;text-decoration:none;cursor:pointer}
  .mobile-account-popover>a:hover,.mobile-account-popover>button:hover,.mobile-account-popover>form>button:hover{background:var(--surface-3)}
  .mobile-account-popover>form{margin:0}.mobile-account-popover>form>button{color:var(--red)}

  /* Documents becomes a phone file manager, not a squeezed desktop explorer. */
  .documents-explorer-page .content{padding:6px!important;overflow:visible!important}
  .documents-explorer-app{position:relative;min-height:calc(100dvh - var(--topbar) - 12px)!important;border-radius:12px!important;overflow:hidden}
  .documents-explorer-titlebar{grid-template-columns:minmax(0,1fr) auto auto!important;gap:7px!important;padding:10px!important}
  .documents-title{min-width:0}.documents-title-icon{width:36px;height:36px}.documents-title h1{font-size:1.25rem!important}.documents-title p,.documents-storage-summary{display:none!important}
  .documents-explorer-titlebar>.btn{min-height:36px;padding:7px 9px;font-size:.72rem}
  .documents-global-search{grid-column:1/-1!important;min-width:0}.documents-global-search kbd{display:none}.documents-global-search input{min-width:0;width:100%;font-size:16px}
  .documents-commandbar{gap:7px;padding:8px!important;scrollbar-width:none}
  .documents-commandbar::-webkit-scrollbar{display:none}
  .documents-commandbar>[data-selected-action]{display:none!important}
  .documents-commandbar>button{min-height:40px!important;padding:8px 12px!important}
  .documents-addressbar{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:7px;padding:7px 8px!important}
  .documents-mobile-folders-button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid var(--documents-line-strong);border-radius:8px;background:var(--documents-field);color:var(--documents-text);font-weight:780;cursor:pointer}
  .documents-history,.documents-view-switch{display:none!important}
  .documents-breadcrumbs{min-width:0;overflow-x:auto;white-space:nowrap;padding:0 4px;scrollbar-width:none}.documents-breadcrumbs::-webkit-scrollbar{display:none}
  .documents-explorer-grid,.documents-explorer-app.hide-inspector .documents-explorer-grid{display:block!important;grid-template-columns:1fr!important;min-height:0!important}
  .documents-file-pane{min-width:0;min-height:0}
  .documents-list-header{display:none!important}
  .documents-list,.documents-explorer-app.view-tiles .documents-list{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-content:start;padding:8px!important;overflow:visible!important}
  .documents-list-row,.documents-explorer-app.view-standard .documents-list-row,.documents-explorer-app.view-list .documents-list-row,.documents-explorer-app.view-details .documents-list-row,.documents-explorer-app.view-tiles .documents-list-row{position:relative;display:grid!important;grid-template-columns:32px minmax(0,1fr) 38px!important;grid-template-rows:auto!important;align-items:center!important;min-height:68px!important;padding:8px 7px!important;border:1px solid var(--documents-line)!important;border-radius:11px!important;background:var(--documents-row)!important;transform:none!important}
  .documents-list-row.is-active{border-color:var(--documents-accent)!important;box-shadow:inset 3px 0 0 var(--documents-accent)!important}
  .documents-list-row>.selection-check,.documents-explorer-app.view-tiles .selection-check{grid-column:1!important;grid-row:1!important;align-self:center!important}
  .documents-name-cell,.documents-explorer-app.view-tiles .documents-name-cell{grid-column:2!important;grid-row:1!important;min-width:0!important;display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;grid-template-rows:auto!important;gap:10px!important;align-items:center!important;justify-items:stretch!important;text-align:left!important;padding:0!important}
  .documents-name-cell>span:last-child{min-width:0;width:100%}.documents-name-cell strong,.documents-name-cell small{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-name-cell strong{font-size:.84rem}.documents-name-cell small{margin-top:3px;font-size:.66rem;color:var(--documents-muted-2)}.documents-name-cell em{display:none!important}
  .documents-file-pane .documents-file-icon,.documents-file-pane .documents-folder-icon{width:42px!important;height:42px!important;min-width:42px!important;border-radius:9px!important}
  .documents-file-pane .documents-folder-icon svg{width:40px!important;height:40px!important}.documents-explorer-app.view-tiles .documents-file-icon b{width:34px!important;height:39px!important;font-size:.58rem!important}
  .documents-cell-muted{display:none!important}
  .documents-row-menu,.documents-explorer-app.view-tiles .documents-row-menu{grid-column:3!important;grid-row:1!important;align-self:center!important}.documents-row-menu>[hidden]{display:none!important}.documents-row-menu>[data-context-trigger]{width:36px!important;height:36px!important;min-height:36px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid var(--documents-line-strong)!important;border-radius:9px!important;background:var(--documents-field)!important;color:var(--documents-text)!important}
  .documents-bulkbar{position:sticky;z-index:18;top:calc(var(--topbar) + env(safe-area-inset-top));display:flex;overflow-x:auto;gap:6px;padding:8px;scrollbar-width:none}.documents-bulkbar::-webkit-scrollbar{display:none}.documents-bulkbar>*{flex:0 0 auto;white-space:nowrap}
  .documents-statusbar{position:static!important;grid-template-columns:1fr auto!important;gap:8px;padding:8px 10px}.documents-statusbar>*:nth-child(2),.documents-statusbar>*:nth-child(3){display:none}
  .documents-inspector{display:none!important}

  /* Folder tree is a deliberate slide-in drawer. */
  .documents-folder-panel{position:fixed!important;z-index:196;left:max(8px,env(safe-area-inset-left));top:calc(var(--topbar) + env(safe-area-inset-top) + 7px);bottom:max(8px,env(safe-area-inset-bottom));width:min(340px,calc(100vw - 34px));max-height:none!important;border:1px solid var(--documents-line-strong)!important;border-radius:15px!important;box-shadow:0 28px 70px rgba(0,0,0,.55);transform:translateX(calc(-100% - 24px));transition:transform .2s ease;visibility:hidden}
  .documents-explorer-app.mobile-folders-open .documents-folder-panel{transform:translateX(0);visibility:visible}
  .documents-folder-panel>header{min-height:56px;padding:10px 12px}.documents-folder-panel>nav{padding:8px 8px 14px}
  .documents-folder-panel .documents-tree-node{min-height:48px;grid-template-columns:26px minmax(0,1fr) 34px;padding-right:5px;padding-left:calc(var(--tree-depth,0)*14px);border-radius:10px}
  .documents-folder-panel .documents-tree-node.root{min-height:58px;grid-template-columns:26px minmax(0,1fr);padding:4px 5px 8px 0;margin-bottom:6px}
  .documents-folder-panel .documents-tree-toggle{width:26px;height:40px;font-size:.8rem}
  .documents-folder-panel .documents-tree-node>a{grid-template-columns:30px minmax(0,1fr) auto;gap:9px;padding:7px 3px}
  .documents-folder-panel .documents-tree-node.root>a{grid-template-columns:30px minmax(0,1fr)}
  .documents-folder-panel .documents-folder-icon{width:28px!important;height:28px!important;min-width:28px!important;border-radius:0!important}
  .documents-folder-panel .documents-folder-icon svg{width:26px!important;height:26px!important}
  .documents-folder-panel .documents-tree-root-icon{width:28px;height:28px;border-radius:8px}
  .documents-folder-panel .documents-tree-node>a strong{font-size:.78rem;line-height:1.2}
  .documents-folder-panel .documents-tree-node>a small{margin-top:3px;font-size:.62rem;line-height:1.25}
  .documents-folder-panel .documents-tree-node>a>b{min-width:20px;font-size:.62rem}
  .documents-folder-panel .documents-tree-menu{width:32px;height:38px}
  .documents-mobile-folder-close{display:grid;place-items:center!important;font-size:1.15rem}
  .documents-mobile-folder-backdrop{position:fixed;z-index:195;inset:0;display:block;border:0;background:rgba(0,0,0,.62);backdrop-filter:blur(2px)}
  .documents-mobile-folder-backdrop[hidden]{display:none!important}
  body.documents-folder-drawer-open{overflow:hidden}
}

@media(max-width:430px){
  .topbar-actions{gap:3px}.mobile-account-menu>summary{width:34px;height:34px}
  .documents-explorer-titlebar>.btn{font-size:0;width:38px;padding:0}.documents-explorer-titlebar>.btn::first-letter{font-size:.8rem}
  .documents-explorer-titlebar>button[data-open-dialog="documentFilterDialog"]::after{content:'Filter';font-size:.62rem}
  .documents-explorer-titlebar>button[data-open-dialog="documentViewDialog"]::after{content:'Ansicht';font-size:.62rem}
}

/* Cockpit 5.1: native observations and cross-device polish */
.observations-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:18px;align-items:start}.observations-list,.observation-detail{min-height:420px}.observation-row{display:grid;grid-template-columns:48px minmax(0,1fr) 12px;gap:12px;align-items:center;padding:14px;border-top:1px solid var(--border);color:inherit;text-decoration:none}.observation-row:hover,.observation-row.active{background:color-mix(in srgb,var(--user-primary) 12%,transparent)}.observation-kind{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--surface-3);font-size:11px;font-weight:900;color:var(--user-primary)}.observation-row span:nth-child(2){min-width:0}.observation-row strong,.observation-row small{display:block}.observation-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-top:3px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--muted)}.status-dot.ok{background:#34d399}.status-dot.warn{background:#fb7185}.observation-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 18px 18px}.observation-metrics>div{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.observation-metrics small,.observation-metrics strong{display:block}.observation-metrics small{color:var(--muted);margin-bottom:5px}.observation-diff,.observation-snapshot pre{max-height:390px;overflow:auto;padding:14px;border-radius:14px;background:#050b15;border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.observation-snapshot{border-top:1px solid var(--border);padding:10px 0}.observation-snapshot summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.observation-welcome{min-height:390px;display:grid;place-content:center;text-align:center;padding:30px}.observation-welcome>span{font-size:48px;color:var(--user-primary)}.privacy-note{padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--user-secondary) 10%,transparent);border:1px solid color-mix(in srgb,var(--user-secondary) 35%,var(--border));color:var(--muted)}
@media(max-width:900px){.observations-layout{grid-template-columns:1fr}.observation-detail{min-height:0}.observation-metrics{grid-template-columns:1fr}.observations-head{align-items:flex-start}.observations-head .btn{width:100%}}
@media(max-width:640px){.observations-layout{gap:12px}.observation-row{grid-template-columns:42px minmax(0,1fr) 10px;padding:12px 10px}.observation-kind{width:38px;height:38px}.observation-detail .card-head{display:block}.observation-detail .button-row{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.observation-detail .button-row form,.observation-detail .button-row button{width:100%}.dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.page-head h1{font-size:clamp(28px,9vw,42px)}}

/* Cockpit 5.2: Beobachtungen 2.0 and native automations */
.observations-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:10px;margin:0 0 18px}.observations-summary-strip>div,.observations-summary-strip>form{min-height:66px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.observations-summary-strip strong{font-size:23px}.observations-summary-strip small{color:var(--muted)}.observation-filter-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:8px;padding:0 12px 12px}.observation-filter-row input,.observation-filter-row select{min-width:0}.observation-detail-head{align-items:flex-start}.observation-url-text{overflow-wrap:anywhere}.observation-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.observation-ai-summary{display:flex;gap:14px;margin:0 18px 18px;padding:15px;border:1px solid color-mix(in srgb,var(--user-primary) 35%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--user-primary) 9%,var(--surface-2))}.observation-ai-summary>span{flex:0 0 42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--user-primary);color:#04111d;font-weight:900}.observation-ai-summary p{margin:5px 0 0;white-space:pre-wrap}.observation-screenshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.observation-screenshot-grid img{width:100%;max-height:420px;object-fit:contain;border:1px solid var(--border);border-radius:14px;background:#fff}.observation-snapshot summary,.automation-run summary{list-style:none}.observation-snapshot summary::-webkit-details-marker,.automation-run summary::-webkit-details-marker{display:none}.observation-snapshot summary>span,.automation-run summary>span{display:grid;gap:3px}.observation-snapshot-summary{padding:12px;margin:10px 0;border-left:3px solid var(--user-primary);background:var(--surface-2);white-space:pre-wrap}.observation-danger-zone{padding:18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.dialog-wide{width:min(1040px,calc(100vw - 32px));max-width:1040px}.dialog-wide .dialog-body{max-height:calc(100dvh - 130px);overflow:auto}.observation-builder,.automation-builder{display:grid;gap:14px}.observation-form-section,.automation-step{border:1px solid var(--border);border-radius:18px;background:var(--surface-2);overflow:hidden}.observation-form-section>header,.automation-step>header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-3) 75%,transparent)}.observation-form-section>header>span,.automation-step>header>span{min-width:36px;height:36px;padding:0 8px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--user-primary) 18%,var(--surface-1));color:var(--user-primary);font-size:11px;font-weight:900}.observation-form-section>header div,.automation-step>header div{display:grid;gap:2px}.observation-form-section>header small,.automation-step>header small{color:var(--muted)}.observation-form-section>.form-grid,.automation-step>.form-grid,.automation-action-config{padding:16px}.observation-login-separator{padding-top:10px;border-top:1px dashed var(--border)}.observation-login-separator strong,.observation-login-separator small{display:block}.check-stack{display:grid;gap:8px}.observation-picker-dialog{width:min(1180px,calc(100vw - 24px));height:min(840px,calc(100dvh - 24px));max-width:none}.observation-picker-dialog iframe{display:block;width:100%;height:calc(100% - 142px);border:0;background:#fff}.observation-picker-status{padding:9px 16px;border-bottom:1px solid var(--border);color:var(--muted)}.observation-picker-dialog .form-actions{position:sticky;bottom:0;background:var(--surface-1);border-top:1px solid var(--border)}.observation-picker-dialog .form-actions>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.observation-kind.kind-price,.observation-kind.kind-availability{font-size:9px}.observation-kind.kind-topic,.observation-kind.kind-news{background:color-mix(in srgb,#8b5cf6 18%,var(--surface-3));color:#a78bfa}.observation-kind.kind-price{background:color-mix(in srgb,#10b981 18%,var(--surface-3));color:#34d399}.observation-kind.kind-certificate,.observation-kind.kind-domain{background:color-mix(in srgb,#f59e0b 18%,var(--surface-3));color:#fbbf24}

.automation-layout{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:18px;align-items:start}.automation-list,.automation-detail{min-height:450px}.automation-row{display:grid;grid-template-columns:46px minmax(0,1fr) 12px;gap:12px;align-items:center;padding:14px;border-top:1px solid var(--border);color:inherit;text-decoration:none}.automation-row:hover,.automation-row.active{background:color-mix(in srgb,var(--user-primary) 12%,transparent)}.automation-row span:nth-child(2){min-width:0}.automation-row strong,.automation-row small{display:block}.automation-row small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.automation-trigger-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--surface-3);color:var(--user-primary);font-size:21px}.automation-flow-preview{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:10px;padding:0 18px 18px}.automation-flow-preview article{display:grid;gap:4px;padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--surface-2)}.automation-flow-preview article small{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--user-primary)}.automation-flow-preview article span{color:var(--muted);font-size:12px}.automation-flow-preview>i{display:grid;place-items:center;color:var(--muted);font-style:normal}.automation-run-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 18px 18px}.automation-run{border-top:1px solid var(--border);padding:10px 0}.automation-run summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.automation-run pre{max-height:300px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border-radius:12px;background:#050b15;border:1px solid var(--border);font-size:12px}.automation-condition-list{display:grid;gap:8px;padding:16px 16px 0}.automation-condition-row{display:grid;grid-template-columns:1.1fr 1fr 1.2fr 38px;gap:8px}.automation-condition-row>*{min-width:0}.automation-condition-actions{display:flex;justify-content:space-between;gap:10px;padding:10px 16px 16px}.automation-action-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;padding:16px 16px 4px}.automation-action-card{position:relative;display:grid;gap:5px;padding:14px;border:1px solid var(--border);border-radius:15px;background:var(--surface-1);cursor:pointer}.automation-action-card input{position:absolute;top:10px;right:10px}.automation-action-card>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--surface-3);color:var(--user-primary);font-weight:900}.automation-action-card small{color:var(--muted);line-height:1.35}.automation-action-card:has(input:checked){border-color:color-mix(in srgb,var(--user-primary) 60%,var(--border));background:color-mix(in srgb,var(--user-primary) 8%,var(--surface-1))}

@media(max-width:1100px){.automation-action-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.observation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.automation-layout{grid-template-columns:1fr}.automation-detail{min-height:0}.automation-flow-preview{grid-template-columns:1fr}.automation-flow-preview>i{transform:rotate(90deg);height:16px}.observations-summary-strip{grid-template-columns:repeat(3,1fr)}.observations-summary-strip>form{grid-column:1/-1}.observation-screenshot-grid{grid-template-columns:1fr}.dialog-wide{width:calc(100vw - 20px)}}
@media(max-width:700px){.observations-head .page-actions,.automations-head .page-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.observations-head .page-actions .btn:last-child,.automations-head .page-actions .btn:last-child{grid-column:1/-1}.observations-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.observations-summary-strip>div{padding:8px;display:grid;text-align:center}.observations-summary-strip strong{font-size:19px}.observation-filter-row{grid-template-columns:1fr}.observation-metrics{grid-template-columns:1fr 1fr;padding:0 12px 12px}.automation-action-grid{grid-template-columns:1fr 1fr}.automation-condition-row{grid-template-columns:1fr 1fr 38px}.automation-condition-row input{grid-column:1/3}.automation-condition-row button{grid-column:3;grid-row:1/3}.automation-run-actions{display:grid;grid-template-columns:1fr 1fr}.automation-run-actions form,.automation-run-actions button{width:100%}.observation-form-section>.form-grid,.automation-step>.form-grid,.automation-action-config{padding:12px}.observation-picker-dialog{width:100vw;height:100dvh;max-height:none;border-radius:0}.observation-picker-dialog iframe{height:calc(100% - 158px)}}
@media(max-width:520px){.observations-summary-strip{grid-template-columns:1fr 1fr}.observations-summary-strip>div:nth-child(3){grid-column:1/-1}.observation-metrics{grid-template-columns:1fr}.observation-detail-head .button-row{grid-template-columns:1fr 1fr}.observation-detail-head .button-row>button{grid-column:1/-1}.automation-action-grid{grid-template-columns:1fr}.automation-condition-row{grid-template-columns:1fr 38px}.automation-condition-row select,.automation-condition-row input{grid-column:1}.automation-condition-row button{grid-column:2;grid-row:1/4}.automation-condition-actions{display:grid;grid-template-columns:1fr}.automation-flow-preview{padding:0 12px 12px}.observation-ai-summary{margin:0 12px 12px}.observation-danger-zone{padding:12px}.dialog-wide .dialog-body{padding-bottom:calc(18px + env(safe-area-inset-bottom))}}

/* Cockpit 5.2 – native people management, responsive from phone to desktop */
.photo-person-detail{min-width:0;display:grid;gap:18px}.photo-person-manager .card-head{align-items:center}.photo-person-manager-avatar{width:72px;height:72px;border-radius:22px;object-fit:cover;box-shadow:var(--shadow-sm)}.photo-person-management-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:22px}.photo-person-edit-form,.photo-person-merge-form{display:grid;gap:14px;align-content:start}.photo-person-merge-form{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}.photo-person-split-controls{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;margin-bottom:18px}.photo-person-assets{margin:0}.photo-person-asset-choice{position:relative;cursor:pointer}.photo-person-asset-choice>input{position:absolute;z-index:2;top:10px;left:10px;width:22px;height:22px;accent-color:var(--accent)}.photo-person-asset-choice:has(input:checked){outline:3px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.photo-person-row.is-hidden{opacity:.68}.photo-person-manager h3{margin:.2rem 0}.choice-line{min-width:0}
@media (max-width:1100px){.photo-person-management-grid{grid-template-columns:1fr}.photo-person-split-controls{grid-template-columns:1fr 1fr}.photo-person-split-controls>.selection-check,.photo-person-split-controls>.btn{align-self:end}}
@media (max-width:820px){.photo-people-layout{grid-template-columns:1fr}.photo-people-list{max-height:none}.photo-people-list .card-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-person-row{min-width:0}.photo-person-split-controls{grid-template-columns:1fr}.photo-person-split-controls>.btn{width:100%}.photo-person-manager .card-head{gap:12px}.photo-person-manager-avatar{width:58px;height:58px;border-radius:18px}}
@media (max-width:520px){.photo-people-list .card-body{grid-template-columns:1fr}.photo-person-management-grid{gap:14px}.photo-person-manager .card-head{align-items:flex-start}.photo-person-manager-avatar{width:52px;height:52px}.photo-person-split-form .card-head{align-items:flex-start}.photo-person-assets{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-person-asset-choice span{padding:9px}.photo-person-asset-choice strong,.photo-person-asset-choice small{white-space:normal;overflow-wrap:anywhere}}

/* Cockpit 5.3 – complete observation and automation editors */
.browser-step-list{display:grid;gap:9px;padding:0 16px 8px}.browser-step-row{display:grid;grid-template-columns:28px minmax(145px,.8fr) minmax(150px,1fr) minmax(170px,1.2fr) minmax(105px,.55fr) minmax(92px,.5fr) 38px;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.browser-step-row>*{min-width:0}.browser-step-handle{display:grid;place-items:center;color:var(--muted);font-weight:900;user-select:none}.browser-step-actions{display:flex;justify-content:flex-end;padding:4px 16px 16px}.automation-condition-mode{display:flex;gap:18px;flex-wrap:wrap;padding:14px 16px 0;color:var(--muted)}.automation-condition-mode label{display:flex;align-items:center;gap:7px}.automation-ledger{display:grid;gap:8px}.automation-ledger-row{display:grid;grid-template-columns:minmax(140px,.75fr) minmax(0,1.5fr) minmax(90px,.55fr) minmax(120px,.7fr);gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--border)}.automation-ledger-row>*{min-width:0}.automation-ledger-row strong,.automation-ledger-row small{display:block}.automation-ledger-row small{color:var(--muted);overflow-wrap:anywhere}.observation-picker-dialog iframe[aria-busy="true"]{opacity:.35;pointer-events:none}.observation-picker-dialog [data-observation-picker-apply]:disabled{opacity:.55;cursor:not-allowed}.observation-form-section[hidden],.automation-step [hidden]{display:none!important}
@media(max-width:1180px){.browser-step-row{grid-template-columns:28px minmax(145px,.8fr) minmax(150px,1fr) minmax(170px,1.2fr) 38px}.browser-step-row select[name="login_step_state"],.browser-step-row input[name="login_step_timeout_ms"]{grid-row:2}.browser-step-row select[name="login_step_state"]{grid-column:2/4}.browser-step-row input[name="login_step_timeout_ms"]{grid-column:4}.browser-step-row [data-remove-browser-step]{grid-column:5;grid-row:1/3}}
@media(max-width:820px){.browser-step-row{grid-template-columns:24px minmax(0,1fr) 38px}.browser-step-row select[name="login_step_action"],.browser-step-row input[name="login_step_selector"],.browser-step-row input[name="login_step_value"],.browser-step-row select[name="login_step_state"],.browser-step-row input[name="login_step_timeout_ms"]{grid-column:2}.browser-step-row select[name="login_step_action"]{grid-row:1}.browser-step-row input[name="login_step_selector"]{grid-row:2}.browser-step-row input[name="login_step_value"]{grid-row:3}.browser-step-row select[name="login_step_state"]{grid-row:4}.browser-step-row input[name="login_step_timeout_ms"]{grid-row:5}.browser-step-row .browser-step-handle{grid-column:1;grid-row:1/6;align-self:stretch}.browser-step-row [data-remove-browser-step]{grid-column:3;grid-row:1/6;align-self:stretch;height:auto}.automation-ledger-row{grid-template-columns:1fr 1fr}.automation-ledger-row>*{overflow-wrap:anywhere}}
@media(max-width:700px){.browser-step-list{padding:0 12px 8px}.browser-step-actions{padding:4px 12px 14px}.browser-step-actions .btn{width:100%}.automation-condition-mode{display:grid;gap:10px;padding:12px}.observation-form-section textarea,.observation-form-section input,.observation-form-section select,.automation-step textarea,.automation-step input,.automation-step select{font-size:16px}.observation-picker-dialog .dialog-head{padding-top:calc(14px + env(safe-area-inset-top))}.observation-picker-dialog .form-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}
@media(max-width:520px){.browser-step-row{padding:8px;gap:7px}.automation-ledger-row{grid-template-columns:1fr}.observation-picker-dialog .form-actions{display:grid;grid-template-columns:1fr 1fr}.observation-picker-dialog .form-actions>span{grid-column:1/-1;white-space:normal}.observation-picker-dialog iframe{height:calc(100% - 210px)}.observation-detail .observation-url-text,.observation-snapshot pre,.observation-diff{overflow-wrap:anywhere;word-break:break-word}}

/* Cockpit 5.3 final: recoverable digest and automation error controls. */
.observation-digest-failure{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.observation-digest-failure>div{display:grid;gap:4px;min-width:0}
.automation-ledger-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.automation-ledger-actions form{margin:0}
@media(max-width:700px){
  .observation-digest-failure{align-items:stretch}
  .observation-digest-failure form,.observation-digest-failure button{width:100%}
  .automation-ledger-row{align-items:flex-start}
  .automation-ledger-actions{width:100%;justify-content:space-between}
}

/* Cockpit 5.3.2: complete internal PDF Studio controls */
.pdf-conversion-source[hidden],.pdf-source-panel [hidden]{display:none!important}
.pdf-signature-draw canvas{display:block;width:100%;height:180px;touch-action:none;border:1px dashed color-mix(in srgb,var(--primary) 55%,var(--border));border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.025)}.pdf-signature-draw .actions{display:flex;justify-content:flex-end}
.pdf-annotation-style-grid label{display:grid;gap:5px;color:var(--muted);font-size:.72rem}.pdf-annotation-style-grid input[type="color"]{width:100%;min-height:40px;padding:3px}
.pdf-options-panel .field.full>.inline-fields{width:100%}
@media(max-width:760px){.pdf-configurator{display:block}.pdf-source-panel,.pdf-options-panel{padding:13px}.pdf-tool-catalog{padding:10px}.pdf-tool-card{min-height:68px;padding:10px}.pdf-tool-icon{width:38px;height:38px}.pdf-annotation-style-grid{grid-template-columns:1fr 1fr}.pdf-signature-draw canvas{height:150px}.pdf-workbench-footer{position:static}.pdf-options-panel .inline-fields{grid-template-columns:1fr}.pdf-options-panel input[type="range"]{width:100%}}
@media(max-width:430px){.pdf-annotation-style-grid{grid-template-columns:1fr}.pdf-panel-title{align-items:flex-start}.pdf-panel-title>span{font-size:.7rem}.pdf-saved-signatures{grid-template-columns:1fr}.pdf-saved-signature{grid-template-columns:auto 42px minmax(0,1fr) auto}}


/* ======================================================================
   Cockpit 5.4 · Professionelle Beruhigung (Override-Schicht)
   Ziel: kompaktere Typografie, flache Flächen, dezente Schatten,
   keine Leucht-Effekte. Bewusst am Dateiende, damit diese Regeln
   die historisch gewachsenen Einzelregeln zuverlässig übersteuern.
   ====================================================================== */

/* --- Typografie: App-Massstab statt Marketing-Massstab --- */
.page-head h1 { font-size: 1.42rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
.page-head p { font-size: .88rem; margin-top: 4px; }
.page-head { margin-bottom: 18px; gap: 16px; }
.eyebrow { font-size: .66rem; font-weight: 700; letter-spacing: .09em; color: var(--muted-2); margin-bottom: 4px; }
h2 { letter-spacing: -.015em; }
.hero-amount { font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 750; letter-spacing: -.03em; }
.kpi-value { font-size: clamp(1.15rem, 1.8vw, 1.5rem); font-weight: 750; letter-spacing: -.02em; }
.topbar-title { font-weight: 700; }

/* --- Flächen: flach, dezent, ohne Blur-Overkill --- */
body, html[data-theme-preset="midnight"] body { background: linear-gradient(160deg, var(--bg-deep), var(--bg)); }
html[data-theme="light"] body { background: linear-gradient(160deg, var(--bg-deep), var(--bg)); }
.card { border-radius: var(--radius); box-shadow: 0 1px 3px rgba(0,0,0,.14); backdrop-filter: none; }
.hero-card { background: var(--surface); padding: 20px; }
.hero-card::after { display: none; }
.card-pad { padding: 18px; }
.kpi { min-height: 118px; padding: 16px 18px; }
/* ⛔⛔⛔ 17.08.2026 — HIER STAND `padding: 22px 26px`, die KURZSCHREIBWEISE.
   Sie setzt auch `padding-bottom` und steht ohne jede Media-Query fast am
   ENDE der Datei. Damit hat sie JEDE mobile Reservierung überschrieben, die
   weiter oben steht — Media-Queries erhöhen die Spezifität nicht, und bei
   Gleichstand gewinnt die spätere Regel:
       Zeile  435  (≤980 px)  padding: 24px 20px 95px
       Zeile 3168  (≤980 px)  padding: 16px 14px calc(92px + safe-area)
       Zeile 3187             padding: 11px 10px calc(84px + safe-area)
   Alle drei waren wirkungslos. Auf dem iPad-Format (768 px) blieben 22 px,
   und «Erste Automation anlegen» (y 970–1006) verschwand vollständig unter
   der Fussleiste (y 954–1016) — gemessen, `elementFromPoint` lieferte dort
   ein `span` der Leiste.
   ➤ Als Langschrift ohne `padding-bottom`: Die waagrechten Werte und der
     obere Abstand bleiben genau wie bisher, der untere gehört wieder den
     Regeln, die ihn bewusst gesetzt haben. */
.content { padding-top: 22px; padding-left: 26px; padding-right: 26px; }
.topbar { padding: 0 24px; }

/* --- Bedienelemente: kompakt und flach --- */
.btn { min-height: 36px; padding: 7px 12px; border-radius: var(--radius-sm); font-weight: 600; font-size: .875rem; }
.btn:hover { transform: none; filter: none; background: var(--surface-3); }
.btn-primary, .btn-primary:hover { background: var(--primary-strong); box-shadow: none; color: #fff; }
.btn-primary:hover { filter: brightness(1.08); }
.btn-teal, .btn-teal:hover { background: var(--teal); box-shadow: none; }
.btn-sm { min-height: 30px; padding: 4px 9px; border-radius: 7px; font-size: .8rem; }
.btn-xs { min-height: 26px; padding: 3px 8px; border-radius: 6px; font-size: .74rem; }
.btn-icon { width: 36px; }
.icon-only { min-width: 30px; }
input, select, textarea { min-height: 38px; border-radius: var(--radius-sm); }
label { font-weight: 600; }

/* --- Navigation: ruhig, ohne Glow und Versatz --- */
.nav-link:hover { transform: none; }
.nav-link.active, .sidebar .nav-link.active { background: color-mix(in srgb, var(--primary) 15%, transparent); color: var(--text); box-shadow: inset 2px 0 0 var(--primary); }
h1 { font-weight: 700; }
.avatar { background: var(--surface-3); color: var(--text); font-weight: 700; border: 1px solid var(--border); }
.user-chip { border-radius: 10px; }

/* --- Tabellen und Leerzustände --- */
td { padding: 11px 14px; }
.table-empty { padding: 26px 18px; font-size: .86rem; }

/* --- Dialoge und Menüs --- */
dialog.dialog { border-radius: var(--radius); box-shadow: 0 18px 50px rgba(0,0,0,.35); }
.badge { font-weight: 650; }

/* --- Fortschritt/Sonstiges: keine Verlaufsbalken --- */
.progress > span { background: var(--primary); }
.progress.danger > span { background: var(--red); }

/* --- Letzte Glow-/Verlaufsreste --- */
.brand-logo { box-shadow: none; border-radius: 9px; }
.security-lookup { background: var(--surface-2); }
.ai-dock-head { background: var(--surface-2); }
.hero-card, .card.hero-card { border-radius: var(--radius); }

/* ======================================================================
   Cockpit 5.4 · Kalender-Zeitraster (Woche/Tag)
   ====================================================================== */
.calendar-timegrid { overflow: hidden; }
/* ⭐ 14.08.2026 (User): 64px statt 56px — sonst war «GANZTÄGIG» links
   abgeschnitten (die Beschriftung ist breiter als die Uhrzeiten-Spalte). */
.calendar-timegrid .tg-header, .calendar-timegrid .tg-allday, .calendar-timegrid .tg-body { display: grid; grid-template-columns: 72px repeat(7, minmax(0, 1fr)); }
.calendar-timegrid.single-day .tg-header, .calendar-timegrid.single-day .tg-allday, .calendar-timegrid.single-day .tg-body { grid-template-columns: 72px minmax(0, 1fr); }
.calendar-timegrid.workweek .tg-header, .calendar-timegrid.workweek .tg-allday, .calendar-timegrid.workweek .tg-body { grid-template-columns: 72px repeat(5, minmax(0, 1fr)); }
.tg-header { border-bottom: 1px solid var(--border); }
.tg-day-head { padding: 9px 8px; text-align: center; border-left: 1px solid var(--border); }
.tg-day-head a { display: flex; align-items: baseline; justify-content: center; gap: 6px; }
.tg-day-head span { color: var(--muted); font-size: .72rem; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }
.tg-day-head strong { font-size: .86rem; font-weight: 650; }
.tg-day-head.today strong { color: var(--primary); }
.tg-day-head.today { box-shadow: inset 0 -2px 0 var(--primary); }
.tg-allday { border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--surface-3) 45%, transparent); }
.tg-allday-label { display: flex; align-items: center; justify-content: flex-end; padding: 4px 6px; color: var(--muted-2); font-size: .58rem; text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; }
.tg-allday-day { min-height: 26px; padding: 3px 4px; border-left: 1px solid var(--border); display: flex; flex-direction: column; gap: 3px; }
.tg-scroll { max-height: min(66vh, 780px); overflow-y: auto; overscroll-behavior: contain; }
.tg-body { position: relative; }
.tg-gutter { display: grid; grid-template-rows: repeat(24, 40px); }
.tg-gutter span { padding: 2px 8px 0 0; text-align: right; color: var(--muted-2); font-size: .68rem; font-variant-numeric: tabular-nums; transform: translateY(-0.6em); }
.tg-gutter span:first-child { transform: none; }
.tg-day-col { position: relative; height: 960px; border-left: 1px solid var(--border);
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 43px, var(--border) 43px, var(--border) 44px); }
.tg-day-col.today { background-color: color-mix(in srgb, var(--primary) 4%, transparent); }
.tg-block { position: absolute; z-index: 2; padding: 0 2px 1px 0; }
.tg-block-main { width: 100%; height: 100%; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 4px 7px; text-align: left; cursor: pointer;
  border: 1px solid color-mix(in srgb, var(--primary) 45%, transparent); border-left: 3px solid var(--primary); border-radius: 6px;
  background: color-mix(in srgb, var(--primary) 18%, var(--surface-2)); }
.tg-block-main:hover { background: color-mix(in srgb, var(--primary) 28%, var(--surface-2)); }
.tg-block-main strong { font-size: .74rem; font-weight: 650; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.tg-block-main small { color: var(--muted); font-size: .66rem; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.tg-reminder .tg-block-main { border-left-color: var(--orange); border-color: color-mix(in srgb, var(--orange) 40%, transparent); background: color-mix(in srgb, var(--orange) 14%, var(--surface-2)); }
.tg-reminder.completed .tg-block-main { opacity: .55; text-decoration: line-through; }
@media (max-width: 900px) {
  .calendar-timegrid .tg-header, .calendar-timegrid .tg-allday, .calendar-timegrid .tg-body { grid-template-columns: 56px repeat(7, minmax(0, 1fr)); }
  .tg-allday-label { white-space: normal; line-height: 1.05; text-align: right; }
  .tg-day-head a { flex-direction: column; gap: 0; }
}

/* ======================================================================
   Cockpit 5.4 · Dokumente: SVG-Icons, kompakte Commandbar, Mehr-Menü
   ====================================================================== */
svg.icon { flex: 0 0 auto; display: inline-block; vertical-align: -2px; }
.documents-commandbar { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.documents-commandbar > button, .documents-more-trigger { display: inline-flex; align-items: center; gap: 7px; font-size: .82rem; font-weight: 600; }
.documents-commandbar > button span { display: none; }
.documents-commandbar-divider { width: 1px; align-self: stretch; margin: 4px 4px; background: var(--border); }
.documents-more { position: relative; }
.documents-more-menu { position: absolute; z-index: 45; top: calc(100% + 6px); left: 0; min-width: 240px; padding: 6px;
  border: 1px solid var(--border-strong); border-radius: 10px; background: var(--surface-2); box-shadow: 0 14px 40px rgba(0,0,0,.35); display: grid; gap: 1px; }
.documents-more-menu button { display: flex; align-items: center; gap: 9px; width: 100%; padding: 8px 10px; border: 0; background: none;
  border-radius: 7px; color: var(--text); font-size: .84rem; font-weight: 550; text-align: left; cursor: pointer; }
.documents-more-menu button:hover:not(:disabled) { background: color-mix(in srgb, var(--primary) 12%, transparent); }
.documents-more-menu button:disabled { opacity: .45; cursor: default; }
.documents-more-menu hr { margin: 4px 6px; border: 0; border-top: 1px solid var(--border); }
.documents-more-menu .icon { color: var(--muted); }
.documents-view-switch .icon, .documents-history .icon { vertical-align: middle; }
.documents-title-icon .icon { color: var(--primary); }

/* ======================================================================
   Cockpit 5.4 · Dokumente-Ordnerbaum: ruhiger und präziser
   ====================================================================== */
.documents-tree-node { border-radius: 7px; }
.documents-tree-node > a { gap: 8px; min-height: 32px; font-size: .84rem; }
.documents-tree-node > a small { font-size: .7rem; color: var(--muted-2); }
.documents-tree-node > a b { font-size: .7rem; font-weight: 600; color: var(--muted-2); background: color-mix(in srgb, var(--muted) 12%, transparent); border-radius: 99px; padding: 1px 7px; }
.documents-tree-node.active { background: color-mix(in srgb, var(--primary) 13%, transparent); }
.documents-tree-node.active > a strong { color: var(--text); }
.documents-tree-toggle { color: var(--muted-2); }
.documents-tree-separator { margin: 8px 6px; border-top: 1px solid var(--border); }
.documents-folder-icon svg { width: 16px; height: 16px; }

/* Ordnerbaum: volle Namen, Aktionen nur bei Hover, flachere Einrückung */
.documents-tree-node > a strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.documents-tree-node > a span { min-width: 0; flex: 1 1 auto; }
.documents-tree-node .documents-tree-menu { opacity: 0; transition: opacity .12s ease; }
.documents-tree-node:hover .documents-tree-menu, .documents-tree-node:focus-within .documents-tree-menu { opacity: 1; }
.documents-tree-node { padding-left: calc(var(--tree-depth, 0) * 12px); }

/* Baum-Gruppenlabels (Transfer usw.) */
.documents-tree-label { margin: 12px 6px 4px; padding-top: 8px; border-top: 1px solid var(--border); color: var(--muted-2); font-size: .64rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

/* ======================================================================
   Cockpit 5.5 · Darstellungen (data-display auf <html>)
   klassik = bisherige Oberfläche (keine Overrides nötig)
   Begriffe/Funktionen bleiben überall identisch – nur das Kleid wechselt.
   ====================================================================== */

/* Auswahl in den Einstellungen */
.display-style-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:8px}
.display-style-option{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:9px;cursor:pointer;background:var(--surface-2)}
.display-style-option:has(input:checked){border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.display-style-option input{margin-top:3px}
.display-style-option strong{display:block;font-size:.86rem}
.display-style-option small{color:var(--muted);font-size:.72rem;line-height:1.3;display:block}

/* «Suite» wurde am 13.08.2026 entfernt (optisch identisch mit Klassik). */

/* --- STUDIO: Indigo, weichere Rundungen, Diagramm-Fokus --- */
html[data-display="studio"]{--primary:#4d68e8;--primary-strong:#2c46c8;--teal:#4d68e8;--radius:14px;--radius-sm:10px}
html[data-display="studio"][data-theme="light"]{--bg:#fcfcfd;--bg-deep:#eef0f5;--surface-2:#fff;--surface-3:#f4f5f9}
html[data-display="studio"] .nav-link.active,html[data-display="studio"] .sidebar .nav-link.active{background:color-mix(in srgb,#4d68e8 16%,transparent);box-shadow:inset 2px 0 0 #4d68e8}
html[data-display="studio"] .chart-box{border-radius:10px;background:color-mix(in srgb,#4d68e8 6%,transparent)}

/* --- VOYAGER: Konsolensegmente, Amber & Flieder, Sternenfeld --- */
html[data-display="voyager"]{--primary:#f0a05a;--primary-strong:#d9853b;--teal:#b08cc8;--radius:14px}
html[data-display="voyager"][data-theme="dark"] body{background:#05070d radial-gradient(1px 1px at 18% 22%,rgba(255,255,255,.5) 0,transparent 45%),#05070d radial-gradient(1px 1px at 72% 12%,rgba(255,255,255,.38) 0,transparent 45%);background-color:#05070d}
html[data-display="voyager"][data-theme="dark"]{--bg:#070a12;--bg-deep:#04060b;--surface:rgba(13,17,28,.86);--surface-2:#0e1320;--surface-3:#161c2d}
html[data-display="voyager"][data-theme="light"]{--bg:#f3f0ea;--bg-deep:#e9e4da;--surface-2:#fdfcf9;--surface-3:#f1ede4;--primary:#c67a2e;--primary-strong:#a86220;--teal:#8a63a8}
html[data-display="voyager"] .sidebar{border-right:2px solid #f0a05a}
html[data-display="voyager"] .sidebar .nav-link{border-radius:12px 5px 5px 12px;padding-left:6px}
html[data-display="voyager"] .sidebar .nav-link::before{content:"";width:5px;align-self:stretch;border-radius:6px;background:color-mix(in srgb,var(--teal) 55%,transparent);margin-right:7px;flex:0 0 auto}
html[data-display="voyager"] .sidebar .nav-link.active{background:color-mix(in srgb,#f0a05a 14%,transparent);box-shadow:none;color:var(--text)}
html[data-display="voyager"] .sidebar .nav-link.active::before{background:#f0a05a}
html[data-display="voyager"] .topbar{border-bottom:2px solid #b08cc8}
html[data-display="voyager"] .nav-label{color:#b08cc8;letter-spacing:.15em}
html[data-display="voyager"] .btn-primary,html[data-display="voyager"] .btn-primary:hover{background:#f0a05a;color:#241300;border-radius:12px}
html[data-display="voyager"] .btn{border-radius:12px}
html[data-display="voyager"] .card{border-radius:14px}
html[data-display="voyager"] th{color:#b08cc8}

/* --- ATLANTIS: Ozeanblau, Leuchtkanten, Glas --- */
html[data-display="atlantis"]{--primary:#48bee9;--primary-strong:#2596c4;--teal:#e8a33d}
html[data-display="atlantis"][data-theme="dark"]{--bg:#052738;--bg-deep:#03121e;--surface:rgba(6,28,44,.8);--surface-2:#0a2436;--surface-3:#103349;--border:rgba(72,190,235,.22);--border-strong:rgba(72,190,235,.4)}
html[data-display="atlantis"][data-theme="dark"] body{background:linear-gradient(170deg,#03121e,#052738),radial-gradient(420px 240px at 80% -10%,rgba(56,209,255,.14),transparent)}
html[data-display="atlantis"][data-theme="light"]{--bg:#eaf4f9;--bg-deep:#d8e9f2;--surface-2:#fff;--surface-3:#eef6fa;--primary:#1a7fa8;--primary-strong:#13678b;--teal:#c07f18}
html[data-display="atlantis"] .sidebar{backdrop-filter:blur(14px);border-right:1px solid rgba(72,190,235,.3)}
html[data-display="atlantis"] .card{backdrop-filter:blur(8px)}
html[data-display="atlantis"] .nav-link.active,html[data-display="atlantis"] .sidebar .nav-link.active{background:rgba(72,190,235,.14);box-shadow:inset 2px 0 0 #48bee9;color:var(--text)}
html[data-display="atlantis"] .btn-primary,html[data-display="atlantis"] .btn-primary:hover{background:#e8a33d;color:#231602}
html[data-display="atlantis"] .nav-label{color:#48bee9;letter-spacing:.13em}

/* --- ZAUBERSCHULE: Pergament, Serifen, Gold --- */
html[data-display="zauberschule"]{--primary:#c8a35c;--primary-strong:#a8853c;--teal:#7a2e1d;--radius:6px;--radius-sm:4px;--font:Georgia,"Times New Roman",serif}
html[data-display="zauberschule"][data-theme="light"]{--bg:#f4ecdc;--bg-deep:#eadfC8;--surface-2:#fbf6ea;--surface-3:#f0e8d4;--border:rgba(138,106,58,.3);--text:#3a2c1c;--muted:#6d5b40;--muted-2:#8a7659}
html[data-display="zauberschule"][data-theme="dark"]{--bg:#231a10;--bg-deep:#171008;--surface-2:#2b2013;--surface-3:#3a2c1a;--border:rgba(200,163,92,.25);--text:#ecdfc4;--muted:#b39b74;--muted-2:#8a7659}
html[data-display="zauberschule"] body{font-family:Georgia,"Times New Roman",serif}
html[data-display="zauberschule"] .sidebar{border-right:3px double #8a6a3a}
html[data-display="zauberschule"] .nav-label{color:#c8a35c;letter-spacing:.16em;font-family:ui-sans-serif,system-ui}
html[data-display="zauberschule"] .nav-link.active,html[data-display="zauberschule"] .sidebar .nav-link.active{background:color-mix(in srgb,#c8a35c 18%,transparent);box-shadow:inset 2px 0 0 #c8a35c;color:var(--text)}
html[data-display="zauberschule"] .btn-primary,html[data-display="zauberschule"] .btn-primary:hover{background:#7a2e1d;color:#f6e8cd}
html[data-display="zauberschule"] th{font-family:ui-sans-serif,system-ui}
html[data-display="zauberschule"] .page-head h1{font-style:italic}

/* ===== Zehn neue Darstellungen (13.08.2026, Session 32, Aufgabe 42) =====
   Reine Kleider: Formen, Dichte, Schrift und Flächen — Begriffe, Funktionen
   und Bedienwege bleiben überall identisch. */
/* --- FLACH: keine Schatten, klare Kanten, maximale Ruhe --- */
html[data-display="flach"]{--radius:7px;--radius-sm:5px}
html[data-display="flach"] .card,html[data-display="flach"] .kpi,html[data-display="flach"] .btn,html[data-display="flach"] dialog{box-shadow:none!important}
html[data-display="flach"] .card{border:1px solid var(--border)}
html[data-display="flach"] .btn-primary{box-shadow:none!important}
/* --- SANFT: grosse Rundungen, weiche Flächen --- */
html[data-display="sanft"]{--radius:22px;--radius-sm:15px}
html[data-display="sanft"] .btn{border-radius:999px}
html[data-display="sanft"] .badge,html[data-display="sanft"] .chip{border-radius:999px}
html[data-display="sanft"] .card{border-color:color-mix(in srgb,var(--border) 60%,transparent)}
html[data-display="sanft"] input,html[data-display="sanft"] select,html[data-display="sanft"] textarea{border-radius:14px}
/* --- KONTRAST: kräftige Ränder, beste Lesbarkeit --- */
html[data-display="kontrast"]{--border:color-mix(in srgb,var(--text) 34%,transparent);--border-strong:color-mix(in srgb,var(--text) 55%,transparent);--muted:color-mix(in srgb,var(--text) 72%,transparent)}
html[data-display="kontrast"] .card{border-width:2px}
html[data-display="kontrast"] a.link,html[data-display="kontrast"] .link{text-decoration:underline}
html[data-display="kontrast"] :focus-visible{outline:3px solid var(--primary);outline-offset:2px}
/* --- KOMPAKT: dichter, mehr Inhalt pro Bildschirm --- */
html[data-display="kompakt"]{font-size:14px}
html[data-display="kompakt"] .section{margin-bottom:14px}
html[data-display="kompakt"] .card-body,html[data-display="kompakt"] .card-head{padding:11px 13px}
html[data-display="kompakt"] td,html[data-display="kompakt"] th{padding-top:5px;padding-bottom:5px}
/* --- GROSSZÜGIG: grössere Schrift, mehr Luft --- */
html[data-display="gross"]{font-size:17.5px}
html[data-display="gross"] .section{margin-bottom:26px}
html[data-display="gross"] .card-body{padding:22px}
/* --- TERMINAL: Konsolen-Grün und Monospace-Zahlen --- */
html[data-display="terminal"]{--primary:#3ddc84;--primary-strong:#1faf5f;--teal:#3ddc84}
html[data-display="terminal"][data-theme="dark"]{--bg:#0a0f0a;--bg-deep:#050805;--surface-2:#101710;--surface-3:#182218;--border:rgba(61,220,132,.22);--border-strong:rgba(61,220,132,.4)}
html[data-display="terminal"][data-theme="light"]{--bg:#f2f6f2;--bg-deep:#e6eee6;--surface-2:#fff;--surface-3:#eef4ee;--primary:#177a45;--primary-strong:#0f5c33;--teal:#177a45}
html[data-display="terminal"] .kpi-value,html[data-display="terminal"] .num,html[data-display="terminal"] time,html[data-display="terminal"] th{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
html[data-display="terminal"] .nav-label{letter-spacing:.2em;font-family:ui-monospace,Consolas,monospace}
html[data-display="terminal"] .btn-primary,html[data-display="terminal"] .btn-primary:hover{background:var(--primary-strong)}
/* --- PAPIER: Papieroptik mit Serifentiteln --- */
html[data-display="papier"]{--radius:8px;--radius-sm:6px;--primary:#4a6da8;--primary-strong:#33507f;--teal:#7a8f5f}
html[data-display="papier"][data-theme="light"]{--bg:#f7f5f0;--bg-deep:#efece2;--surface-2:#fffef9;--surface-3:#f3f0e8;--border:rgba(90,80,60,.24);--text:#2c2a22;--muted:#6d675a}
html[data-display="papier"][data-theme="dark"]{--bg:#1c1a15;--bg-deep:#12110d;--surface-2:#26231c;--surface-3:#322e25;--border:rgba(214,203,178,.2)}
html[data-display="papier"] h1,html[data-display="papier"] h2,html[data-display="papier"] h3{font-family:Georgia,"Times New Roman",serif}
html[data-display="papier"] .card{box-shadow:0 1px 0 rgba(0,0,0,.06),0 8px 22px rgba(0,0,0,.05)}
/* --- GLAS: siehe MATERIALSYSTEM am Dateiende ----------------------------
   ⛔⛔⛔ 15.08.2026 — hier standen bis heute die ERSTEN FÜNF Glas-Regeln aus
   der Zeit, als «Glas» noch eine Handvoll Milchglasflächen war. Beim Umbau
   zum Materialsystem habe ich den neuen Block ans Dateiende gestellt und
   diese fünf schlicht VERGESSEN. Sie sind nicht harmlos liegengeblieben,
   sie haben gewonnen:
       html[data-display="glas"][data-theme="light"] .card   → (0,3,1)
       html[data-display="glas"] .card  (neu, am Dateiende)  → (0,2,1)
   Die Karte war damit weiter zu 78 % deckendes Weiss — unabhängig vom
   Hintergrund immer gleich, also genau das, was der User «falsch
   implementiert» nennt. Der neue Block hat nie gewirkt, und im Bild war der
   Unterschied zu klein, um es zu merken.
   ➤ Regel daraus: Wird ein Abschnitt neu gebaut, wird der alte GELÖSCHT,
   nicht überschrieben. Ein zweiter Satz Regeln zum selben Merkmal ist keine
   Redundanz, sondern ein stiller Sieger.
   ➤ Gemessen mit einer Regelsuche im Browser (welche Regeln treffen dieses
   Element wirklich?) — im Bild allein war es nicht zu sehen. */
/* --- RETRO: klare Doppelrahmen wie klassische Fenster --- */
html[data-display="retro"]{--radius:5px;--radius-sm:3px}
html[data-display="retro"] .card{border:1px solid var(--border-strong);box-shadow:2px 2px 0 color-mix(in srgb,var(--border-strong) 60%,transparent)}
html[data-display="retro"] .card-head{border-bottom:1px solid var(--border-strong)}
html[data-display="retro"] .btn{border:1px solid var(--border-strong);border-radius:4px}
html[data-display="retro"] .nav-label{text-transform:uppercase;letter-spacing:.14em}
/* --- LINIEN: farbige Akzentlinien statt schwerer Karten --- */
html[data-display="linien"] .card{border:0;border-left:3px solid color-mix(in srgb,var(--primary) 65%,transparent);border-radius:10px;box-shadow:none;background:color-mix(in srgb,var(--surface-2) 82%,transparent)}
html[data-display="linien"] .kpi{border-left-color:var(--teal)}
html[data-display="linien"] .section-tabs .section-tab.active{box-shadow:inset 0 -2px 0 var(--primary)}
html[data-display="linien"] .nav-link.active,html[data-display="linien"] .sidebar .nav-link.active{background:transparent;box-shadow:inset 3px 0 0 var(--primary)}

/* Einstellungen: Hub-Leiste scrollt normal mit (nicht mehr fixiert) */
.settings-hub { position: static; box-shadow: none; backdrop-filter: none; }

/* Voyager: Konsolensegmente kräftiger wie im Entwurf */
html[data-display="voyager"] .sidebar .nav-link::before { width: 12px; border-radius: 8px 3px 3px 8px; }

/* Geburtstags-Hinweise im Kalender */
.calendar-birthday-chip { display: inline-flex; align-items: center; gap: 4px; margin: 1px 0; padding: 1px 7px; border-radius: 99px; font-size: .68rem; font-weight: 600; color: #b45309; background: color-mix(in srgb, #f59e0b 16%, transparent); border: 1px solid color-mix(in srgb, #f59e0b 35%, transparent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
html[data-theme="dark"] .calendar-birthday-chip { color: #fbbf24; }

/* KI-Chatliste: kompakt und übersichtlich */
.ai-chat-group { margin-bottom: 6px; }
.ai-chat-group > span { font-size: .62rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--muted-2); padding: 4px 8px 2px; display: block; }
.ai-conversation-row { border-radius: 7px; margin: 0; }
.ai-conversation-row .ai-conversation-link { padding: 5px 8px; gap: 2px; }
.ai-conversation-row .ai-conversation-link strong { font-size: .8rem; font-weight: 600; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.ai-conversation-row .ai-conversation-link small { font-size: .66rem; color: var(--muted-2); line-height: 1.2; }
.ai-conversation-row.active { background: color-mix(in srgb, var(--primary) 14%, transparent); box-shadow: inset 2px 0 0 var(--primary); }

/* Bibliothek: Buch-Optik für Bücher, Fachbücher und Comics */
.library-card.media-book .library-cover-image,
.library-card.media-technicalbook .library-cover-image,
.library-card.media-comic .library-cover-image {
  border-radius: 2px 7px 7px 2px;
  box-shadow: inset 4px 0 8px rgba(0,0,0,.28), inset 1px 0 0 rgba(255,255,255,.12), 0 8px 14px rgba(0,0,0,.35);
}
.library-card.media-book .library-cover-wrap::after,
.library-card.media-technicalbook .library-cover-wrap::after,
.library-card.media-comic .library-cover-wrap::after {
  content: ""; position: absolute; left: -6%; right: -6%; bottom: -7px; height: 7px; border-radius: 2px;
  background: linear-gradient(180deg, #7c5a38, #5d422a); box-shadow: 0 3px 6px rgba(0,0,0,.35);
}
.library-card .library-cover-wrap { position: relative; }

/* Dokumente: sichtbare Ablagefläche beim Datei-Hineinziehen */
[data-documents-surface].is-file-dragover { outline: 2px dashed var(--primary); outline-offset: -6px; background: color-mix(in srgb, var(--primary) 6%, transparent); }

/* PDF Studio: eingeklappter Werkzeugkatalog nach der Auswahl */
/* ============================================================
   Cockpit 5.5 · Globale Suche (Sidebar)
   ============================================================ */
.global-search{position:relative;margin:0 4px 12px;z-index:60}
.global-search-field input{width:100%;height:34px;padding:0 54px 0 34px;font-size:.82rem;background:color-mix(in srgb,var(--surface) 88%,var(--bg-deep));border:1px solid var(--border);border-radius:9px}
.global-search-field input:focus{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}
.global-search-field .search-icon{left:11px;width:15px;height:15px}
.global-search-kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:2px 6px;font-size:.6rem;font-family:inherit;color:var(--muted);background:color-mix(in srgb,var(--surface) 70%,var(--bg-deep));border:1px solid var(--border);border-radius:5px;pointer-events:none}
.global-search-results{position:absolute;left:0;right:0;top:calc(100% + 6px);max-height:min(62vh,540px);overflow-y:auto;padding:6px;background:var(--surface);border:1px solid var(--border-strong);border-radius:11px;box-shadow:0 18px 40px -18px rgb(2 8 23 / .75);scrollbar-width:thin}
.global-search-results .gsr-label{padding:7px 9px 3px;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.global-search-results .gsr-item{display:flex;flex-direction:column;gap:1px;padding:6px 9px;border-radius:7px;text-decoration:none;color:var(--text)}
.global-search-results .gsr-item strong{font-size:.8rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-search-results .gsr-item small{font-size:.68rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-search-results .gsr-item:hover,.global-search-results .gsr-item.is-active{background:color-mix(in srgb,var(--primary) 14%,transparent)}
.global-search-results .gsr-empty{padding:12px 10px;font-size:.78rem;color:var(--muted)}
html[data-theme="light"] .global-search-results{box-shadow:0 18px 40px -20px rgb(15 23 42 / .35)}

/* ============================================================
   Cockpit 5.5 · Native Checkboxen und Radios bleiben kompakt
   (erben nie mehr die generische Feldhöhe/-breite)
   ============================================================ */
input[type="checkbox"],input[type="radio"]{width:16px!important;height:16px!important;min-height:16px!important;min-width:16px!important;max-width:16px!important;padding:0!important;flex:0 0 auto;accent-color:var(--primary)}
/* Modul-Schalter behalten ihre bewusst grössere Fläche */
.module-switch input[type="checkbox"]{width:20px!important;height:20px!important;min-height:20px!important;min-width:20px!important;max-width:20px!important}
label:has(>input[type="checkbox"]),label:has(>input[type="radio"]){align-items:center}

/* ============================================================
   Cockpit 5.5 · Kompaktere Grundmasse
   ============================================================ */
.card-head{padding:17px 19px 13px}
.card-body{padding:17px 19px}
input,select,textarea{min-height:36px}
.page-head{margin-bottom:14px}
.page-head p{max-width:70ch}
.kpi-icon svg{width:15px;height:15px}
.groupware-quicklinks{margin-bottom:10px}

/* ============================================================
   Cockpit 5.5 · Start-Widgets: Hinzufügen/Entfernen im Bearbeitungsmodus
   ============================================================ */
.start-widget.is-removed{display:none}
.widget-remove-btn{margin-left:auto;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:7px;cursor:pointer}
.widget-remove-btn:hover{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,var(--border))}
.start-widget-tray{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:12px 14px;border:1px dashed var(--border-strong);border-radius:12px;background:color-mix(in srgb,var(--surface) 88%,transparent)}
.start-widget-tray small{color:var(--muted);font-weight:600}
.start-widget-tray .chip{cursor:pointer;border:1px solid var(--border);background:var(--surface);padding:5px 11px;border-radius:999px;font-size:.76rem;color:var(--text)}
.start-widget-tray .chip:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}
.start-widget-tray .chip.is-added{background:color-mix(in srgb,var(--primary) 18%,var(--surface));border-color:var(--primary)}

/* ============================================================
   Cockpit 5.5 · PDF Studio dokumentzentriert
   (Viewer links, kompakte Werkzeugspalte rechts)
   ============================================================ */





















.pdf-category-chips button.active{color:var(--text);border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--primary) 12%,transparent)}




.pdf-tools-column .pdf-tool-card.active{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--primary) 13%,transparent)}




.pdf-studio-form.catalog-collapsed .pdf-tool-catalog,.pdf-studio-form.catalog-collapsed .pdf-category-chips,.pdf-studio-form.catalog-collapsed .pdf-tool-search{display:none}

.pdf-studio-form .pdf-options-panel .form-grid{grid-template-columns:1fr;gap:10px}


.pdf-studio-form .pdf-workbench-footer .btn{width:100%}
.pdf-source-hint[hidden]{display:none}
@media(max-width:1100px){.pdf-studio-form{grid-template-columns:1fr}.pdf-viewer-column{position:static}.pdf-viewer-pages{max-height:60dvh}}

/* ============================================================
   Cockpit 5.5 · Transfer: kompakte Ein-Flow-Erklärung
   ============================================================ */
.transfer-howto{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:15px 18px}
.transfer-howto-steps{display:flex;flex:1 1 480px;flex-wrap:wrap;gap:14px}
.transfer-howto-step{display:flex;align-items:flex-start;gap:9px;flex:1 1 180px;min-width:170px}
.transfer-howto-step b{flex:0 0 auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 55%,var(--border));border-radius:50%}
.transfer-howto-step strong{display:block;font-size:.8rem}
.transfer-howto-step small{display:block;font-size:.7rem;color:var(--muted);line-height:1.35}
.transfer-howto>.btn{flex:0 0 auto}

/* ============================================================
   Cockpit 5.5 · KI-Live-Ansicht (Office/PDF/E-Mail neben dem Chat)
   ============================================================ */
.ai-layout.has-office{grid-template-columns:270px minmax(0,1fr) minmax(380px,42%)}
@media(max-width:1500px){.ai-layout.has-office{grid-template-columns:minmax(0,1fr) minmax(360px,46%)}.ai-layout.has-office .ai-chat-sidebar{display:none}}
@media(max-width:1000px){.ai-layout.has-office{grid-template-columns:1fr}.ai-office-panel{min-height:70dvh}}
.ai-office-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.ai-office-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}
.ai-office-head small{display:block;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ai-office-head strong{display:block;font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:38ch}
.ai-office-frame{flex:1 1 auto;width:100%;min-height:520px;border:0;background:var(--bg)}
/* Arbeitet die KI am BEREITS offenen Dokument weiter, wird der Rahmen NICHT neu
   geladen (kein Flackern, kein Sprung im Bildlauf). Damit man die Änderung
   trotzdem bemerkt, blitzt kurz der Rand des Panels auf. */
@keyframes cockpit-office-aktualisiert{0%{box-shadow:0 0 0 0 var(--accent)}100%{box-shadow:0 0 0 6px transparent}}
.ai-office-panel.is-aktualisiert{animation:cockpit-office-aktualisiert 900ms ease-out}
@media(prefers-reduced-motion:reduce){.ai-office-panel.is-aktualisiert{animation:none}}

/* Embed-Modus: Seite ohne App-Schale für die Live-Ansicht */
body.embed-mode .sidebar,body.embed-mode .topbar,body.embed-mode .bottom-nav,body.embed-mode .ai-dock,body.embed-mode .global-context-menu{display:none!important}
body.embed-mode .main-wrap{margin:0}
body.embed-mode .content{padding:12px 14px}
/* ⚠⚠⚠ Gemeldeter Fehler vom 10.08.2026: in «Nebeneinander» zeigte jede Fläche die
   GANZE Office-Seite — Titel, «Dokument schliessen», «Download» — und darunter einen
   Editor, der wegen `height:calc(100vh - 164px)` plus `min-height:620px` grösser war
   als der Rahmen. Ergebnis: verschachtelte Rollbalken und eine leere graue Fläche.
   Im Einbettungsmodus gehört ALLES weg ausser dem Editor, und der bekommt die volle
   Höhe des Rahmens. Dasselbe gilt für den PDF-Leser. */
/* ⚠⚠ Hier MUSS `!important` stehen. `.onlyoffice-shell` und `.content` werden in
   mehreren Medienabfragen neu gesetzt (u. a. bei ≤980px, und der Rahmen einer
   Werkbank-Fläche IST schmaler als 980px). Gemessen am 10.08.2026: ohne `!important`
   gewann `height:calc(100vh - 164px)` und der Editor blieb 582 von 740 Pixeln —
   genau die halbleere graue Fläche aus dem Bildschirmfoto des Users. */
body.embed-mode .onlyoffice-page-head,body.embed-mode .office-state{display:none!important}
body.embed-mode.onlyoffice-page .content{padding:0!important;overflow:hidden}
body.embed-mode .onlyoffice-shell{height:100dvh!important;min-height:0!important;border:0;border-radius:0;box-shadow:none}
/* ⭐ Der Anstoss gegen die graue PDF-Fläche: EIN Pixel weniger, einen Bildlauf lang.
   ⚠ Es braucht eine eigene Klasse mit `!important` — die Regel darüber trägt selbst
   `!important`, ein Inline-Stil käme dagegen nicht an. */
body.embed-mode .onlyoffice-shell.is-anstoss{height:calc(100dvh - 1px)!important}
body.embed-mode .pdf-reader-head{display:none!important}
body.embed-mode.pdf-reader-page .content{padding:0!important}
body.embed-mode .pdf-reader-shell{height:100dvh!important;min-height:0!important;border-radius:0}

/* ============================================================
   Cockpit 5.5 · Stift-Seiten (Notizen): Zeichnen wie in OneNote
   ============================================================ */
.ink-workspace{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}
.ink-ribbon{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ink-ribbon button{display:inline-flex;align-items:center;gap:5px}
.ink-tool-group{display:inline-flex;gap:3px}
.ink-tool-group button span:last-child{font-size:.72rem}
.ink-ribbon [data-ink-tool].active,.ink-ribbon [data-ink-shape].active{background:color-mix(in srgb,var(--primary) 16%,transparent);border-color:color-mix(in srgb,var(--primary) 55%,var(--border));color:var(--text)}
.ink-marker-swatch{width:13px;height:9px;border-radius:2px;background:linear-gradient(180deg,#eab308cc,#eab30866)}
.ink-colours{display:inline-flex;gap:4px}
.ink-colour{width:20px;height:20px;border-radius:50%;border:2px solid transparent;background:var(--ink-c);cursor:pointer;padding:0}
.ink-colour.active{border-color:var(--text);box-shadow:0 0 0 2px var(--surface)}
.ink-w{display:block;border-radius:999px;background:currentColor}
.ink-w1{width:14px;height:1.5px}.ink-w2{width:14px;height:3px}.ink-w3{width:14px;height:5.5px}
[data-ink-width].active{background:color-mix(in srgb,var(--primary) 16%,transparent)}
.ink-finger-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:var(--muted);cursor:pointer;margin-left:auto}
.ink-scroll{flex:1 1 auto;overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fbfcfe;max-height:calc(100dvh - var(--topbar) - 300px);min-height:420px}
html[data-theme="dark"] .ink-scroll{background:#f4f6fb}
.ink-canvas{display:block;cursor:crosshair}
[data-ink-editor] [data-ink-delete-selection]{color:var(--red)}
@media(pointer:coarse){.ink-ribbon button{min-height:36px}}

/* ============================================================
   Cockpit 5.5 · Mail: Empfänger-Vorschläge aus Kontakten
   ============================================================ */
.mail-suggest-panel{position:absolute;z-index:40;margin-top:4px;min-width:280px;max-width:420px;padding:5px;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 14px 34px -16px rgb(2 8 23 / .7)}
.field:has(.mail-suggest-panel){position:relative}
.mail-suggest-row{display:flex;flex-direction:column;gap:1px;width:100%;padding:7px 10px;text-align:left;background:transparent;border:0;border-radius:7px;cursor:pointer;color:var(--text)}
.mail-suggest-row strong{font-size:.8rem}
.mail-suggest-row small{font-size:.7rem;color:var(--muted)}
.mail-suggest-row:hover,.mail-suggest-row.is-active{background:color-mix(in srgb,var(--primary) 14%,transparent)}

/* ============================================================
   Cockpit 5.5 · Bibliothek: Regal-Ansicht
   (Buchreihen auf Holzbrettern – reine CSS-Gradients)
   ============================================================ */
.library-grid.is-shelf{display:flex;flex-wrap:wrap;align-items:flex-end;column-gap:16px;row-gap:0;padding:10px 28px 4px;border:1px solid var(--border);border-radius:16px;
  background:
    repeating-linear-gradient(180deg,
      transparent 0, transparent 232px,
      #8a5a33 232px, #74491f 236px,
      #5b3517 236px, #47280f 244px,
      rgba(0,0,0,.38) 244px, rgba(0,0,0,.12) 250px,
      transparent 250px, transparent 272px),
    linear-gradient(180deg, color-mix(in srgb,var(--surface) 88%,#2b1a0c) 0%, color-mix(in srgb,var(--surface) 78%,#1d1207) 100%)}
html[data-theme="light"] .library-grid.is-shelf{background:
    repeating-linear-gradient(180deg,
      transparent 0, transparent 232px,
      #b98a5a 232px, #a06f3f 236px,
      #8a5a2e 236px, #7a4d26 244px,
      rgba(60,36,16,.35) 244px, rgba(60,36,16,.1) 250px,
      transparent 250px, transparent 272px),
    linear-gradient(180deg,#f3ead9,#e9dcc4)}
.library-grid.is-shelf .library-card{position:relative;height:272px;flex:0 0 auto;width:auto;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0 0 40px;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;transition:transform .15s ease}
.library-grid.is-shelf .library-card:hover{transform:translateY(-7px)}
.library-grid.is-shelf .library-card:hover::after{content:attr(data-shelf-title);position:absolute;left:50%;bottom:6px;transform:translateX(-50%);white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis;padding:3px 9px;font-size:.68rem;color:#fff;background:rgba(15,20,34,.92);border-radius:6px;pointer-events:none;z-index:5}
.library-grid.is-shelf .library-cover-wrap{position:relative;display:flex;align-items:flex-end;height:auto;width:auto;padding:0;background:transparent;border-radius:0}
.library-grid.is-shelf .library-cover-image{display:block;height:188px;width:auto;max-width:148px;min-width:44px;object-fit:cover;border-radius:2px 5px 5px 2px;box-shadow:inset 8px 0 12px -8px rgba(0,0,0,.55), 0 12px 16px -8px rgba(0,0,0,.6)}
.library-grid.is-shelf .media-technicalbook .library-cover-image{height:200px}
.library-grid.is-shelf .media-comic .library-cover-image{height:172px}
.library-grid.is-shelf .media-audiobook .library-cover-image{height:148px;width:148px;border-radius:6px}
.library-grid.is-shelf .library-cover-fallback:not([hidden]){display:flex;align-items:center;justify-content:center;height:188px;width:120px;font-size:1.1rem;color:#f3ead9;background:linear-gradient(160deg,#5b6577,#39415a);border-radius:2px 5px 5px 2px;box-shadow:inset 8px 0 12px -8px rgba(0,0,0,.55), 0 12px 16px -8px rgba(0,0,0,.6)}
.library-grid.is-shelf .media-audiobook .library-cover-fallback:not([hidden]){height:148px;width:148px;border-radius:6px}
.library-grid.is-shelf .library-card-body,.library-grid.is-shelf .library-selection-check,.library-grid.is-shelf .library-progress{display:none!important}
@media(max-width:700px){
  .library-grid.is-shelf{padding:6px 14px 2px;column-gap:10px;background:
    repeating-linear-gradient(180deg,
      transparent 0, transparent 172px,
      #8a5a33 172px, #74491f 176px,
      #5b3517 176px, #47280f 182px,
      rgba(0,0,0,.38) 182px, rgba(0,0,0,.12) 187px,
      transparent 187px, transparent 204px),
    linear-gradient(180deg, color-mix(in srgb,var(--surface) 88%,#2b1a0c), color-mix(in srgb,var(--surface) 78%,#1d1207))}
  .library-grid.is-shelf .library-card{height:204px;padding-bottom:32px}
  .library-grid.is-shelf .library-cover-image{height:136px;max-width:104px}
  .library-grid.is-shelf .media-technicalbook .library-cover-image{height:144px}
  .library-grid.is-shelf .media-comic .library-cover-image{height:126px}
  .library-grid.is-shelf .media-audiobook .library-cover-image{height:108px;width:108px}
  .library-grid.is-shelf .library-cover-fallback:not([hidden]){height:136px;width:88px}
}

/* ============================================================
   Cockpit 5.5 · Bibliothek: typgerechte Regale und Buch-Details
   ============================================================ */
/* Fachbücher / spezielle PDFs: sachliches Büroregal in Grau */
.library-grid.is-shelf.shelf-type-technicalbook{background:
    repeating-linear-gradient(180deg,
      transparent 0, transparent 232px,
      #9aa3b2 232px, #7d8797 236px,
      #5f6a7c 236px, #4a5464 244px,
      rgba(0,0,0,.4) 244px, rgba(0,0,0,.12) 250px,
      transparent 250px, transparent 272px),
    linear-gradient(180deg, color-mix(in srgb,var(--surface) 90%,#0f1522), color-mix(in srgb,var(--surface) 78%,#0a0f1a))}
.library-grid.is-shelf .media-technicalbook .library-cover-image{border-radius:2px;box-shadow:inset 8px 0 12px -8px rgba(0,0,0,.55), 0 12px 16px -8px rgba(0,0,0,.6), inset 0 -8px 0 rgba(30,64,120,.85)}

/* Comics: Präsentationsregal mit Pop-Farben, Hefte leicht geneigt */
.library-grid.is-shelf.shelf-type-comic{background:
    repeating-linear-gradient(180deg,
      transparent 0, transparent 232px,
      #f6c945 232px, #f79009 238px,
      #d92d20 238px, #b42318 244px,
      rgba(0,0,0,.35) 244px, rgba(0,0,0,.1) 250px,
      transparent 250px, transparent 272px),
    linear-gradient(180deg, color-mix(in srgb,var(--surface) 86%,#20104a), color-mix(in srgb,var(--surface) 74%,#160a33))}
.library-grid.is-shelf .media-comic{transform:rotate(-2deg)}
.library-grid.is-shelf .media-comic:hover{transform:rotate(0deg) translateY(-7px)}
.library-grid.is-shelf .media-comic .library-cover-image{border:3px solid #fff;border-radius:2px;box-shadow:0 12px 16px -8px rgba(0,0,0,.6)}

/* Hörbücher: dunkle Medienleiste mit Glaskante statt Holz */
.library-grid.is-shelf.shelf-type-audiobook{background:
    repeating-linear-gradient(180deg,
      transparent 0, transparent 236px,
      rgba(125,211,252,.85) 236px, rgba(56,132,255,.55) 239px,
      #10182b 239px, #0a101f 246px,
      rgba(0,0,0,.5) 246px, rgba(0,0,0,.15) 251px,
      transparent 251px, transparent 272px),
    linear-gradient(180deg, color-mix(in srgb,var(--surface) 88%,#04070f), color-mix(in srgb,var(--surface) 72%,#020409))}
.library-grid.is-shelf .media-audiobook .library-cover-image,
.library-grid.is-shelf .media-audiobook .library-cover-fallback:not([hidden]){border-radius:8px;box-shadow:0 0 0 1px rgba(125,211,252,.35), 0 14px 20px -10px rgba(0,0,0,.7)}
.library-grid.is-shelf .media-audiobook .library-cover-wrap::after{content:"🎧";position:absolute;right:-7px;top:-9px;font-size:15px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}

/* Gemischte Ansicht (Alle Medien): Typen gruppiert nacheinander */
.library-grid.is-shelf .media-ebook{order:1}
.library-grid.is-shelf .media-technicalbook{order:2}
.library-grid.is-shelf .media-comic{order:3}
.library-grid.is-shelf .media-audiobook{order:4}

/* ============================================================
   Cockpit 5.5 · Beobachtungen: Anlege-Wizard
   ============================================================ */
.observation-builder.is-wizard .observation-form-section.wizard-off{display:none}
.observation-wizard-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 4px;padding-top:12px;border-top:1px solid var(--border)}
.observation-wizard-steps{display:flex;flex-wrap:wrap;gap:6px}
.observation-wizard-step{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 5px;font-size:.72rem;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:999px;cursor:default}
.observation-wizard-step b{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:.66rem;border-radius:50%;background:color-mix(in srgb,var(--muted) 22%,transparent)}
.observation-wizard-step.is-active{color:var(--text);border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}
.observation-wizard-step.is-active b{background:var(--primary);color:#fff}
.observation-wizard-step.is-done{cursor:pointer;color:var(--text)}
.observation-wizard-step.is-done b{background:color-mix(in srgb,var(--green) 45%,transparent)}
.observation-wizard-buttons{display:flex;gap:8px}

/* ============================================================
   Cockpit 5.5 · KI-Dock: Chat-Auswahl im schwebenden Fenster
   ============================================================ */
.ai-dock-chatlist{margin:0 12px 8px;border:1px solid var(--border-strong);border-radius:10px;background:color-mix(in srgb,var(--surface) 96%,var(--bg-deep));overflow:hidden}
.ai-dock-chatlist-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border)}
.ai-dock-chatlist-head strong{font-size:.78rem}
.ai-dock-chatlist-rows{max-height:240px;overflow-y:auto;padding:5px;display:grid;gap:2px;scrollbar-width:thin}
.ai-dock-chatlist-rows small{padding:8px;color:var(--muted)}
.ai-dock-chat-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;padding:7px 9px;text-align:left;background:transparent;border:0;border-radius:7px;cursor:pointer;color:var(--text)}
.ai-dock-chat-row strong{font-size:.78rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ai-dock-chat-row small{flex:0 0 auto;font-size:.66rem;color:var(--muted)}
.ai-dock-chat-row:hover,.ai-dock-chat-row.is-active{background:color-mix(in srgb,var(--primary) 14%,transparent)}

/* KI-Chatliste: Zeilen nie durch Grid-Stretch aufblähen */
.ai-conversation-list{align-content:start}
.ai-chat-group{align-content:start}

/* ===== Cockpit 5.4 · KI-Dock breiter + Chatverwaltung (Mehrfachauswahl/Ordner/Favoriten) ===== */
.ai-dock{width:min(520px,calc(100vw - 32px))}
.ai-dock-actions{flex-wrap:wrap;overflow-x:visible}
.ai-chat-bulkbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--primary) 40%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--primary) 9%,var(--surface-2));margin-bottom:8px}
.ai-chat-bulk-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}
.ai-conversation-row .ai-chat-check{flex:0 0 auto;display:grid;place-items:center;padding:4px;cursor:pointer}
.ai-conversation-row .ai-chat-check input{width:15px;height:15px;min-height:0;accent-color:var(--primary)}

/* ===== Cockpit 5.4 · Kompakte Seitenköpfe + offene Dokumente-Befehlsleiste ===== */
.page-head{margin-bottom:10px;gap:10px}
.page-head h1{font-size:1.28rem;letter-spacing:-.02em}
.page-head p{margin-top:3px;font-size:.74rem;max-width:640px}
.documents-commandbar{flex-wrap:wrap;row-gap:6px}
.documents-commandbar>button{white-space:nowrap}

/* ===== Cockpit 5.4 · Start-Schnellzugriff als kompakte Leiste ===== */
.start-launcher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:8px}
.start-launcher-eyebrow{grid-column:1/-1;color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em}
.start-launcher-chip{display:flex;align-items:center;gap:8px;width:100%;min-width:0;padding:9px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);color:var(--text);font-size:.78rem;font-weight:650;text-decoration:none;overflow:hidden;white-space:nowrap}.start-launcher-chip>*{flex:none}.start-launcher-chip .chip-text,.start-launcher-chip span:last-child{overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0;text-align:left}
.start-launcher-chip:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--primary) 10%,var(--surface-2))}
.start-launcher-chip .start-launcher-icon{display:grid;place-items:center;color:var(--primary)}
.start-launcher-chip .start-launcher-icon svg{width:15px;height:15px}

/* ===== Downloads: Cockpit-Programme für die eigenen Geräte =====
   Bestellt am 11.08.2026. Bewusst schlicht gehalten — die Seite hat genau eine
   Aufgabe, und der Knopf zum Herunterladen soll sofort ins Auge fallen. */
.topbar-downloads-link{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;
  border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);
  font-size:.78rem;font-weight:600;text-decoration:none;white-space:nowrap}
.topbar-downloads-link:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));
  background:color-mix(in srgb,var(--primary) 10%,var(--surface-2))}
.topbar-downloads-link.is-active{border-color:var(--primary);color:var(--primary)}
.topbar-downloads-link svg{width:16px;height:16px}
/* ⚠ Auf dem Telefon nur das Symbol: gemessen nahm der Verweis mit Beschriftung
   116 von 215 Pixeln der Leiste ein, während seine Nachbarn 30 messen. Der
   Wortlaut steht dort im Konto-Menü. */
@media(max-width:700px){
  .topbar-downloads-link{padding:0 9px}
  .topbar-downloads-link span{display:none}
}

.download-card{max-width:760px}
.download-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.download-head h2{margin:0;font-size:1.12rem;letter-spacing:-.01em}
.download-lead{margin:4px 0 0;color:var(--muted);font-size:.82rem}
.download-points{margin:14px 0 0;padding-left:18px;display:grid;gap:5px;color:var(--text);font-size:.82rem}
.download-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.download-actions small{color:var(--muted);font-size:.74rem}
.download-facts{margin:16px 0 0;display:grid;gap:8px}
.download-facts>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:baseline}
.download-facts dt{color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.download-facts dd{margin:0;font-size:.8rem;min-width:0}
/* ⚠ Der sha256 ist 64 Zeichen lang und muss umbrechen dürfen, sonst schiebt er
   die Karte auf schmalen Fenstern waagrecht auseinander. */
.download-hash{display:block;overflow-wrap:anywhere;font-size:.72rem;line-height:1.5;color:var(--muted)}
@media(max-width:640px){.download-facts>div{grid-template-columns:1fr;gap:2px}}

/* ===== Cockpit 5.4 · Neues Office-Dokument (Commandbar, Kontextmenü, Office-Leiste) ===== */
/* ⭐⭐⭐ GEMELDET AM 11.08.2026: Im Menü «Neues Dokument» fehlte am 24-Zoll-Schirm
   im Büro der dritte Eintrag «PowerPoint-Präsentation». Am 27-Zöller zu Hause
   war er da, und mit Zoom ≥120 % erschien er auch am kleinen Schirm.
   ⚠ NACHGEMESSEN, und es ist NICHT das, wonach es aussieht: der Knopf lag bei
   y=268..303, das Ordner-Panel darunter beginnt bei y=271 — der Eintrag wurde
   schlicht ÜBERDECKT. Im Trefferstapel an dieser Stelle stand das Menü mit
   drin, nur unterhalb von `form.documents-folder-panel`. Es wird also
   überzeichnet, nicht abgeschnitten.
   ⚠ Warum der Zoom half: schmaler → die Befehlsleiste bricht auf mehr Zeilen
   um → sie wird höher → der Inhalt darunter beginnt tiefer → das Menü liegt
   wieder frei. Ein Menü, dessen Inhalt an der Bildschirmgrösse hängt, ist
   kaputt; auf 24 Zoll muss es genauso vollständig sein wie auf 27.
   ➤ URSACHE: das Menü trug zwar `z-index:45`, aber seine Befehlsleiste war
   selbst nicht positioniert. Damit lag der ganze Zweig in derselben Ebene wie
   der Inhalt darunter, und bei Überlappung gewinnt dort das SPÄTERE Element im
   Dokument — also das Ordner-Panel.
   ➤ Die Leiste bekommt darum einen eigenen, höher liegenden Stapelplatz. Alles
   was sie aufklappt, liegt damit über dem Inhalt darunter, unabhängig von
   Fenstergrösse und Zoom.
   ⚠ Die 20 ist mit Absicht klein gewählt: hoch genug über dem Inhalt darunter
   (der liegt auf «auto» bis 3), aber UNTER der Kopfzeile (30) und der
   Seitenleiste (40). Ein grosser Wert wie 999 würde die Leiste beim Scrollen
   über die klebende Kopfzeile schieben — ein Fehler gegen den nächsten
   eingetauscht. */
.documents-commandbar{overflow:visible;position:relative;z-index:20}
.documents-office-menu form{display:grid;gap:2px}
.documents-office-menu button{display:flex;align-items:center;gap:9px;width:100%;text-align:left}
.context-menu [data-context-action^="office-"]{display:flex;align-items:center;gap:8px}
.groupware-quicklinks{display:flex;align-items:center;flex-wrap:wrap;gap:6px}

/* ===== Cockpit 5.4 · Kalender & Erinnerungen im iOS-Stil ===== */
.dav-setup-details summary{cursor:pointer;color:var(--muted);font-size:.74rem;font-weight:700}
.dav-setup-details[open] summary{margin-bottom:4px}
.calendar-toolbar-card .card-body{padding:12px 16px}
.calendar-toolbar h2{font-size:1.02rem;letter-spacing:-.01em}
.calendar-weekdays span{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.calendar-month-grid{border-radius:14px;overflow:hidden;border:1px solid var(--border)}
.calendar-day-cell{min-height:118px;border-radius:0;border:1px solid color-mix(in srgb,var(--border) 55%,transparent);background:var(--surface)}
.calendar-day-cell:nth-child(7n),.calendar-day-cell:nth-child(7n-1){background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}
.calendar-day-cell.outside{opacity:.45}
.calendar-day-cell header a{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:.78rem;font-weight:700}
.calendar-day-cell.today header a{background:var(--primary);color:#fff}
.calendar-day-cell.today header span{display:none}
.calendar-context-event.compact .calendar-event-main{border-radius:7px;padding:2px 7px;font-size:.7rem;line-height:1.3}
.calendar-context-event.compact .calendar-event-main small{font-weight:700;opacity:.75;margin-right:3px}
.calendar-more{font-size:.66rem;color:var(--muted);font-weight:700}
.reminder-quick-add{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}
.reminder-quick-circle{display:grid;place-items:center;width:24px;height:24px;border:2px solid color-mix(in srgb,var(--primary) 65%,var(--border));border-radius:50%;color:var(--primary);font-weight:800;flex:0 0 auto}
.reminder-quick-title{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important}
.reminder-quick-due{flex:0 0 auto;max-width:190px}
.reminder-check{width:24px;height:24px;border-radius:50%;border:2px solid color-mix(in srgb,var(--primary) 55%,var(--border));background:transparent;flex:0 0 auto;cursor:pointer;transition:background .15s,border-color .15s}
.reminder-check:hover{border-color:var(--primary)}
.reminder-row-pro.is-complete .reminder-check{background:var(--primary);border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--surface)}
.reminder-row-pro.is-complete .reminder-main strong{text-decoration:line-through;opacity:.55}
.reminder-row-pro.is-overdue .reminder-main strong{color:#e5484d}
.reminder-row-pro{border-radius:12px;padding:9px 12px}

/* ===== Cockpit 5.4 · Mail: Auswahl, Sammelaktionen, Markierungen ===== */
.mail-bulkbar{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:0 0 8px;padding:8px 11px;border:1px solid color-mix(in srgb,var(--primary) 40%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--primary) 9%,var(--surface-2))}
.mail-bulk-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.mail-bulk-actions select{height:30px;padding:0 24px 0 8px;font-size:.74rem;max-width:170px}
/* ⚠ Grosszügige Klickfläche (12.08.2026, vom User gemeldet: «ein bisschen zu
   weit links und die Mail geht auf»). Das Label deckt als vollhoher Streifen
   den linken Rand der Zeile ab — die negativen Ränder schlucken die
   Zeilenpolsterung, ein Klick irgendwo im Streifen trifft das Kästchen. */
.mail-row-check{position:relative;z-index:2;display:grid;place-items:center;align-self:stretch;margin:-10px 0 -10px -14px;padding:0 10px 0 14px;cursor:pointer}
/* ⛔ Der eigentliche Grund für das Präzisionsklicken: die Abschaltregel
   «.mail-message-row>*:not(…):not(…)» (Spezifität 0,3,0) schlug die
   Wieder-Einschaltung «.mail-message-row .mail-row-check» (0,2,0) — das LABEL
   blieb pointer-events:none, klickbar war nur das 16-px-Kästchen selbst.
   Die verdoppelte Klasse hebt die Spezifität auf 0,3,0 und steht später. */
.mail-message-row>.mail-row-check.mail-row-check{pointer-events:auto}
.mail-row-check input{width:16px;height:16px;min-height:0;accent-color:var(--primary);cursor:pointer}
.mail-message-row{display:flex;align-items:center;gap:9px}
.mail-message-row .mail-sender{flex:0 0 190px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-message-row .mail-subject{flex:1;min-width:0}
.mail-message-row.unread .mail-sender{position:relative;padding-left:14px;font-weight:800}
.mail-message-row.unread .mail-sender::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--primary)}
.mail-message-row.unread .mail-subject strong{font-weight:800}
.mail-flag-indicator{color:#f5a623;margin-right:5px}

/* ===== Cockpit 5.4 · Feinschliff: Neues-Dokument-Knopf angleichen, OnlyOffice-Hover ===== */
.documents-commandbar .documents-more{display:inline-flex}
.documents-commandbar .documents-more-trigger{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--documents-line-strong,#2a425f);border-radius:7px;background:color-mix(in srgb,var(--documents-surface,#091423) 72%,#173d5f);color:var(--documents-text,#dbe7f4);box-shadow:0 1px 0 rgba(255,255,255,.025);font:inherit;font-size:.68rem;font-weight:760;white-space:nowrap;cursor:pointer}
.documents-commandbar .documents-more-trigger:hover{border-color:color-mix(in srgb,var(--documents-accent,#29c4f5) 65%,var(--documents-line-strong,#2a425f));background:color-mix(in srgb,var(--documents-accent,#29c4f5) 13%,var(--documents-surface,#091423));color:#fff}
.documents-commandbar .documents-more-trigger svg{color:var(--documents-accent,#29c4f5)}

/* ===== Cockpit 5.4 · OnlyOffice-Dropdown (nach unten) + verstellbare Ordnerspalte ===== */
.quicklinks-office{margin-left:6px;position:relative;display:inline-flex}
.quicklinks-office .quicklinks-office-label{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}
.quicklinks-office:hover .quicklinks-office-label,.quicklinks-office:focus-within .quicklinks-office-label{border-color:var(--border);color:var(--text)}
.quicklinks-office .quicklinks-office-caret{font-size:.62rem;letter-spacing:0;margin:0;padding:0;border:0;color:inherit}
.quicklinks-office-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:1400;display:none;flex-direction:column;gap:2px;min-width:245px;padding:6px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);box-shadow:0 18px 44px rgba(0,0,0,.4)}

.quicklinks-office-menu button{display:flex;align-items:center;gap:9px;width:100%;height:auto;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:.78rem;font-weight:600;text-align:left;cursor:pointer}
.quicklinks-office-menu button:hover{background:color-mix(in srgb,var(--primary) 13%,transparent)}
.documents-folder-panel{position:relative}
.documents-folder-resizer{position:absolute;top:0;bottom:0;right:-4px;width:8px;cursor:col-resize;z-index:40}
.documents-folder-resizer:hover,.documents-folder-resizer.dragging{background:color-mix(in srgb,var(--documents-accent,#29c4f5) 40%,transparent)}
@media(min-width:1381px){.documents-explorer-grid{grid-template-columns:var(--documents-folder-width,276px) minmax(480px,1fr) 350px}.documents-explorer-app.hide-inspector .documents-explorer-grid{grid-template-columns:var(--documents-folder-width,238px) minmax(0,1fr)}}
@media(max-width:1380px) and (min-width:1081px){.documents-explorer-grid{grid-template-columns:var(--documents-folder-width,248px) minmax(440px,1fr) 315px!important}.documents-explorer-app.hide-inspector .documents-explorer-grid{grid-template-columns:var(--documents-folder-width,210px) minmax(0,1fr)!important}}

/* ===== Cockpit 5.4 · Suchseite ===== */
.search-page-form{display:flex;align-items:center;gap:10px;padding:10px 14px}
.search-page-form .search-page-icon{color:var(--muted);font-size:1.05rem}
.search-page-form input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;font-size:.95rem}
.search-page-count{font-size:.78rem}
.search-result-group .card-head h2{display:flex;align-items:center;gap:8px;font-size:.95rem}
.search-result-row{display:flex!important;align-items:flex-start;gap:11px;padding:10px 12px;text-decoration:none;color:inherit}
.search-result-icon{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--primary) 12%,var(--surface-2));color:var(--primary)}
.search-result-copy{flex:1;min-width:0;display:grid;gap:2px}
.search-result-copy strong{font-size:.84rem}
.search-result-copy small{color:var(--muted);font-size:.7rem}
.search-result-snippet{font-style:normal;color:var(--muted);font-size:.73rem;line-height:1.45;overflow-wrap:anywhere}
.search-result-open{flex:0 0 auto;align-self:center;color:var(--primary);font-size:.72rem;font-weight:700;opacity:0;transition:opacity .12s}
.search-result-row:hover .search-result-open{opacity:1}

/* ===== Cockpit 5.4 · OnlyOffice-Dropdown: Clipping-Fix + Alt-Regeln neutralisiert ===== */
.groupware-quicklinks{overflow:visible}
.quicklinks-office .quicklinks-office-label{white-space:nowrap}
.quicklinks-office .quicklinks-office-label .quicklinks-office-caret{display:inline;padding:0;margin:0;border:0;background:transparent;font-size:.62rem;letter-spacing:0;text-transform:none}
.quicklinks-office:hover .quicklinks-office-menu button,.quicklinks-office:focus-within .quicklinks-office-menu button{display:flex;width:100%;height:auto;place-items:unset}

/* ===== Cockpit 5.4 · OnlyOffice-Klick-Toggle + Topbar nicht markierbar ===== */
.quicklinks-office.is-suppressed .quicklinks-office-menu{display:none!important}
.quicklinks-office .quicklinks-office-label,.groupware-quicklinks a{user-select:none;-webkit-user-select:none}
details.topbar-system-menu summary,details.topbar-system-menu .topbar-system-popover a,details.topbar-menu summary{user-select:none;-webkit-user-select:none}
.topbar-user-control,.topbar-user-identity,.ai-notification-menu summary{user-select:none;-webkit-user-select:none}

/* ===== Cockpit 5.4 · Auswahl-Werkzeugleiste: umbrechen statt scrollen ===== */
.text-selection-tools{flex-wrap:wrap;overflow:visible;max-width:min(94vw,900px)}

/* ===== Cockpit 5.4 · Metrik-Kacheln (Admin/Einstellungen): fehlendes Layout ===== */
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}
.metric-grid .metric{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.metric-grid .metric>span{color:var(--muted);font-size:.66rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.metric-grid .metric>strong{font-size:.95rem}

/* ==================== Kalender: iPhone-Interaktion (06.08.2026) ==================== */
/* Kalenderfarben: --cal kommt serverseitig je Kalender (calendar_colors) */
.tg-event .tg-block-main{border-color:color-mix(in srgb,var(--cal,var(--primary)) 45%,transparent);border-left:3px solid var(--cal,var(--primary));background:color-mix(in srgb,var(--cal,var(--primary)) 18%,var(--surface-2))}
.tg-event .tg-block-main:hover{background:color-mix(in srgb,var(--cal,var(--primary)) 30%,var(--surface-2))}
.calendar-context-event{border-left-color:var(--cal,var(--primary));background:color-mix(in srgb,var(--cal,var(--primary)) 12%,var(--surface-2))}
.calendar-context-event:hover{background:color-mix(in srgb,var(--cal,var(--primary)) 19%,var(--surface-2))!important}
.badge-cal{border:1px solid color-mix(in srgb,var(--cal,#0a84ff) 45%,transparent);background:color-mix(in srgb,var(--cal,#0a84ff) 14%,transparent);color:var(--text)}
/* Kalender-Filterchips in der Toolbar */
/* ⭐ 14.08.2026 (User, Outlook-Fotos): Kalender-Arbeitsfläche zweispaltig —
   links Mini-Monat + «Ihre Kalender», rechts gross die Ansicht. */
.calendar-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;align-items:start;margin-top:22px}
/* Die erste Karte rechts bringt als .section eigenen oberen Abstand mit —
   ohne diese Null-Regel sass der Mini-Kalender 19px höher als die Ansicht. */
.calendar-main>.section:first-child{margin-top:0}
.calendar-sidebar{display:flex;flex-direction:column;gap:14px;position:sticky;top:94px}
.calendar-mini-card,.calendar-list-card{padding:14px 15px}
.calendar-mini-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:10px}
.calendar-mini-head strong{font-size:.9rem;font-weight:650}
.mini-nav{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:1rem}
.mini-nav:hover{background:var(--surface-2);color:var(--text)}
.calendar-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.mini-dow{font-size:.66rem;font-weight:650;color:var(--muted);padding:3px 0;text-transform:uppercase}
.mini-day{display:flex;align-items:center;justify-content:center;height:27px;border-radius:50%;font-size:.76rem;color:var(--text);text-decoration:none}
.mini-day:hover{background:var(--surface-2)}
.mini-day.outside{color:var(--muted);opacity:.55}
.mini-day.anchor:not(.today){box-shadow:inset 0 0 0 1px var(--primary)}
.mini-day.today{background:var(--primary);color:#fff;font-weight:650}
.calendar-list-head{font-size:.72rem;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.calendar-list-subhead{font-size:.68rem;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:10px 0 2px}
.calendar-sidebar-list{display:flex;flex-direction:column;gap:4px}
.calendar-sidebar-list .calendar-filter-chip{justify-content:flex-start;width:100%;text-align:left;font-size:.8rem;padding:6px 10px;border-radius:9px}
@media(max-width:1100px){.calendar-workspace{grid-template-columns:1fr}.calendar-sidebar{position:static;display:grid;grid-template-columns:minmax(230px,270px) minmax(0,1fr);align-items:start}.calendar-sidebar .calendar-list-card{min-width:0}}
@media(max-width:700px){.calendar-sidebar{grid-template-columns:1fr}}
.calendar-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:11px}
.calendar-filter-label{color:var(--muted);font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.calendar-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text);font-size:.72rem;font-weight:650;cursor:pointer;transition:.14s ease}
.calendar-filter-chip:hover{border-color:var(--border-strong)}
.calendar-filter-dot{width:9px;height:9px;border-radius:50%;background:var(--cal,#0a84ff)}
.calendar-filter-chip.is-off{opacity:.45}
.calendar-filter-chip.is-off .calendar-filter-dot{background:var(--muted)}
[data-cal].cal-hidden{display:none!important}
/* Jetzt-Linie im Zeitraster */
.tg-now-line{position:absolute;left:0;right:0;border-top:2px solid #ff453a;z-index:5;pointer-events:none}
.tg-now-dot{position:absolute;left:52px;top:-5px;width:8px;height:8px;border-radius:50%;background:#ff453a}
.tg-now-label{position:absolute;left:2px;top:-9px;padding:0 4px;border-radius:5px;background:var(--surface);color:#ff453a;font-size:.62rem;font-weight:800;font-variant-numeric:tabular-nums}
/* Ziehen und Groesse aendern */
.tg-resize{position:absolute;left:4px;right:6px;bottom:1px;height:8px;cursor:ns-resize;z-index:3}
.tg-block.is-dragging{opacity:.88;z-index:30;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.tg-block.is-dragging .tg-block-main{pointer-events:none}
.tg-day-col.is-drop-target{background:color-mix(in srgb,var(--primary) 7%,transparent)}
.tg-drag-badge{position:fixed;z-index:1000;padding:3px 9px;border-radius:7px;background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text);font-size:.72rem;font-weight:700;pointer-events:none;font-variant-numeric:tabular-nums;box-shadow:0 8px 20px rgba(0,0,0,.3)}
.calendar-day-cell.is-drop-target{outline:2px dashed var(--primary);outline-offset:-2px;background:color-mix(in srgb,var(--primary) 7%,var(--surface))!important}
.calendar-context-event[draggable=true] .calendar-event-main{cursor:grab}
.calendar-context-event.is-month-dragging{opacity:.5}
/* Kalender-Feedback 06.08.: Outlook-Monat, Agenda-Datum, Verwalten-Dialog */
.calendar-day-cell header{justify-content:flex-end}
.calendar-day-cell header a{min-width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;font-weight:750}
.calendar-day-cell.today{box-shadow:none}
.calendar-day-cell.today header a{background:var(--primary);color:#fff}
.calendar-cell-events{display:grid;gap:2px}
.calendar-context-event.compact .calendar-event-main{padding:2px 5px;font-size:.66rem;gap:4px}
.calendar-context-event.compact .calendar-event-main small{font-size:.6rem}
.calendar-context-event.compact .calendar-event-main strong{font-size:.66rem;font-weight:700}
.calendar-context-event.compact{border-left-width:3px;border-radius:5px}
.calendar-context-event.compact .calendar-event-menu{width:20px}
.calendar-birthday-chip{font-size:.62rem}
.calendar-more{font-size:.64rem}
.agenda-row-pro .agenda-date{width:88px;padding:6px 4px;gap:0}
.agenda-row-pro .agenda-date small{font-size:.62rem;color:var(--muted);font-weight:750;text-transform:uppercase}
.agenda-row-pro .agenda-date strong{font-size:1.3rem;line-height:1.15}
.agenda-row-pro .agenda-date span{font-size:.66rem;color:var(--muted)}
.agenda-row-pro .actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.calendar-manage-list{display:grid;gap:6px;margin-bottom:14px}
.calendar-manage-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.calendar-manage-row small{color:var(--muted)}
.calendar-manage-row form{margin:0}
.calendar-manage-default{color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.calendar-manage-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.calendar-manage-trigger{margin-left:auto}
/* Groupware-Runde 2 (06.08.): DAV-Panels, Gruppen-Chips, Verwalten-Dialoge, Agenda 2-spaltig */
.page-head .eyebrow{font-size:.58rem;opacity:.8}
.page-head .page-actions .btn{min-height:34px;padding:6px 11px;font-size:.76rem}
.dav-right{display:flex;justify-content:flex-end;margin-top:8px}
.dav-setup-details{position:relative}
.dav-setup-details summary{cursor:pointer;color:var(--muted);font-size:.7rem;font-weight:700;padding:3px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);list-style:none;white-space:nowrap}
.dav-setup-details summary::-webkit-details-marker{display:none}
.dav-setup-details[open] summary{color:var(--text);border-color:var(--border-strong)}
.dav-setup-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:min(480px,86vw);padding:13px 14px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);box-shadow:0 18px 40px rgba(0,0,0,.35);display:grid;gap:11px}
.dav-setup-urls{display:grid;gap:7px}
.dav-setup-urls>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;align-items:center}
.dav-setup-urls strong{grid-column:1/-1;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.dav-setup-urls code{overflow-wrap:anywhere;font-size:.7rem;padding:4px 7px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}
.dav-login-hint{color:var(--muted);font-size:.66rem}
.dav-platforms{display:grid;gap:7px;border-top:1px solid var(--border);padding-top:10px}
.dav-platforms>div{display:grid;gap:2px}
.dav-platforms strong{font-size:.7rem}
.dav-platforms small{color:var(--muted);font-size:.66rem;line-height:1.45}
.calendar-filter-chip{text-decoration:none}
.calendar-filter-chip.is-active{border-color:color-mix(in srgb,var(--primary) 60%,var(--border));background:color-mix(in srgb,var(--primary) 14%,var(--surface-2));color:var(--text)}
.calendar-filter-chip small{color:var(--muted);font-weight:650}
.calendar-manage-name{display:grid;min-width:0}
.calendar-manage-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-color-form{display:inline-grid;margin:0}
.calendar-color-form input[type=color]{width:26px;height:26px;padding:0;border:1px solid var(--border);border-radius:8px;background:transparent;cursor:pointer}
.calendar-rename-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:-2px 0 6px;padding:0 10px}
.calendar-manage-row{grid-template-columns:auto minmax(0,1fr) auto auto}
/* Agenda: Karten nebeneinander, Badge nicht mehr volle Breite */
.calendar-agenda.professional{display:grid;grid-template-columns:repeat(auto-fill,minmax(430px,1fr));gap:10px;align-items:start}
.agenda-content{align-items:flex-start}
.agenda-content .badge{width:max-content}
@media(max-width:960px){.calendar-agenda.professional{grid-template-columns:1fr}.dav-setup-panel{width:min(420px,92vw)}}
/* Dialog-Runde 06.08.: Anhänge, Karten-Suche, Fällig-Felder, Abstands-Rhythmus */
.page-head .eyebrow{margin-bottom:7px}
.page-head h1{margin-bottom:7px}
.attachment-field{display:grid;gap:7px}
.attachment-chips{display:flex;flex-wrap:wrap;gap:6px}
.attachment-chips:empty{display:none}
.attachment-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);font-size:.72rem}
.attachment-chip a{color:var(--text);text-decoration:none;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachment-chip a:hover{color:var(--primary)}
.attachment-chip button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:.8rem;padding:0}
.attachment-chip button:hover{color:var(--red)}
.attachment-chip.is-pending{color:var(--muted);border-style:dashed}
.attachment-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.attachment-doc-search{position:relative;flex:1 1 220px;min-width:200px}
.floating-suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;display:grid;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);box-shadow:0 14px 32px rgba(0,0,0,.35);overflow:hidden}
.floating-suggest button{border:0;background:transparent;color:var(--text);text-align:left;padding:8px 11px;font-size:.74rem;cursor:pointer}
.floating-suggest button:hover{background:var(--surface-2)}
.floating-suggest button+button{border-top:1px solid color-mix(in srgb,var(--border) 66%,transparent)}
.geo-field{position:relative}
.geo-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
.geo-map-link{white-space:nowrap}
.recurrence-enable-row .checkbox{font-weight:700}
.ai-badge-pulse{animation:aiBadgePulse 1.2s ease 2}
@keyframes aiBadgePulse{50%{transform:scale(1.18);filter:brightness(1.4)}}
.invite-field .geo-input-wrap{grid-template-columns:minmax(0,1fr) auto}
/* Kompakter Wiederholen-Baustein in den Dialogen (halbe Spaltenbreite) */
.recurrence-compact .recurrence-grid,.recurrence-compact .recurrence-end-grid{grid-template-columns:1fr}
.recurrence-compact .recurrence-options{margin-top:8px}
.attachment-field.note-attachment-panel{grid-column:1/-1}
/* Feinschliff 07.08.: Checkbox-Ausrichtung, Erinnerungsgruppen, schlankere Ansichten-Tabs */
.form-grid .checkbox{display:flex;align-items:center;gap:9px;min-height:40px;margin:0;font-weight:700}
.form-grid .recurrence-builder{display:flex;align-items:center;min-height:40px}
.form-grid .recurrence-builder .recurrence-enable-row{margin:0}
.recurrence-enable-row .checkbox{min-height:0}
.reminder-row-pro{align-items:center}
.reminder-row-pro .reminder-main{align-self:center;display:grid;gap:3px}
.reminder-row-pro .reminder-title-line{align-items:center}
.reminder-group-head{margin:14px 2px 6px;font-size:.82rem;font-weight:800;letter-spacing:.01em;color:var(--text)}
.reminder-group-head small{color:var(--muted);font-weight:650;margin-left:5px}
.reminder-group-head:first-child{margin-top:0}
.segmented-control a{padding:5px 10px;font-weight:600;font-size:.78rem}
.segmented-control a.active{font-weight:700}
.reminder-quick-due{width:160px}
/* Nachbesserung 07.08.: Checkbox-Fluchtlinie, Datumsfeld, Sidebar-Trennlinien */
.form-grid .recurrence-builder.recurrence-compact{padding:0;margin:0;border:0;background:transparent;display:flex;align-items:center;min-height:40px}
.recurrence-compact .recurrence-enable-row{margin:0;padding:0;min-height:0}
.recurrence-compact .recurrence-enable-row .checkbox{margin:0;padding:0;min-height:0}
.form-grid>.checkbox{padding:0}
.reminder-quick-due{width:215px;padding-right:12px}
.reminder-quick-due::-webkit-calendar-picker-indicator{margin:0}
.reminder-row-pro .reminder-check{width:24px;height:24px;border-radius:8px}
.reminder-row-pro{grid-template-columns:24px 28px minmax(0,1fr) auto}
.sidebar-nav-group{border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);padding-bottom:6px;margin-bottom:6px}
.sidebar-nav-group:last-child{border-bottom:0}
/* Ganztägig + Wiederholen als kompakter Stapel in einer Zelle */
.checkbox-stack{display:grid;gap:9px;align-content:center}
.checkbox-stack-span{grid-row:span 2}
.checkbox-stack .checkbox,.checkbox-stack .recurrence-builder{min-height:0}
/* Datumsfeld: Kalendersymbol symmetrisch zum linken Textabstand */
.reminder-quick-due{padding-left:12px;padding-right:12px}
input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{margin-left:6px;opacity:.8}
/* Batch 6: details-Dropdown OnlyOffice, Auswahlbox aussen, Inline-Rename, Mail ruhiger */
details.quicklinks-office>summary{list-style:none;cursor:pointer}
details.quicklinks-office>summary::-webkit-details-marker{display:none}
details.quicklinks-office[open] .quicklinks-office-menu{display:flex}
details.quicklinks-office[open] .quicklinks-office-caret{transform:rotate(180deg)}
.quicklinks-office-caret{display:inline-block;transition:transform .15s ease}
.reminder-row-pro{position:relative;margin-left:34px;grid-template-columns:28px minmax(0,1fr) auto}
.reminder-row-pro .selection-check{position:absolute!important;left:-34px!important;top:50%!important;transform:translateY(-50%)!important}
.mail-onboarding h2{font-size:1.02rem;letter-spacing:0}
.mail-onboarding p{font-size:.8rem;line-height:1.55}
.inline-rename-input{font:inherit;padding:2px 6px;border:1px solid var(--primary);border-radius:6px;background:var(--surface);color:var(--text);min-width:160px;max-width:100%}
/* Runde 7: Erinnerungszeile final, Dokument-Icon-Boxen weg */
.reminder-row-pro{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center}
.reminder-row-pro .reminder-main{display:grid;gap:3px;justify-items:start;text-align:left;min-width:0}
.reminder-row-pro .reminder-title-line{display:flex;align-items:center;gap:8px}
.reminder-row-pro .reminder-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;justify-content:flex-end;grid-column:auto}
.documents-file-icon{display:none!important}
.documents-name-cell{grid-template-columns:minmax(0,1fr)}
/* ⭐ 13.08.2026 (User): Dateinamen bündig unter den Ordnernamen. Ordner haben
   ein Symbol (27px-Spur + 9px Abstand), Dateien seit «Runde 7» bewusst keins
   mehr — die Dateizeile rückt darum um dieselbe Distanz ein. Mobil greift
   das media-query-eigene padding:0!important, dort bleibt alles unverändert. */
.documents-list-row.file-row .documents-name-cell{padding-left:36px}
.reminder-row-pro{align-items:start}
.reminder-row-pro .reminder-check{margin-top:1px;align-self:start}
.reminder-row-pro .reminder-main{align-self:start}
.reminder-row-pro .reminder-actions{align-self:center}
/* KI-Chatliste: Checkbox-Spalte war im Raster nicht vorgesehen (Titel kollabierte auf 0) */
.ai-conversation-row{display:grid;grid-template-columns:auto minmax(0,1fr) 26px;gap:6px;align-items:center}
.ai-conversation-row .ai-conversation-link{min-width:0}
.ai-conversation-row .ai-conversation-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
/* KI-Verlauf: Datum nur im geöffneten Chat, nicht in der Liste */
.ai-conversation-link small{display:none}
.ai-chat-date{color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums;align-self:center;margin-right:4px}
/* Fotos: echte Leaflet-Weltkarte */
.photo-leaflet-map{height:480px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:#0b1526}
.photo-leaflet-map .leaflet-container{background:#0b1526}
.photo-map-divicon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#ff453a;border:2px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.45);color:#fff;font-size:.68rem;font-weight:800}
.photo-map-divicon span{line-height:1}
.photo-map-place{margin:0 0 8px}
.leaflet-tooltip{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:8px;font-size:.72rem;font-weight:650}
.leaflet-control-attribution{background:rgba(9,20,35,.75)!important;color:#8499af!important;font-size:.58rem!important}
.leaflet-control-attribution a{color:#71aac9!important}
/* KI-Runde 10: Bulkleiste horizontal über Heute, Datum rechts im Kopf, Panel-Abstand */
.ai-chat-bulkbar{display:grid;gap:5px;padding:7px 8px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.ai-chat-bulk-actions{display:flex;flex-wrap:wrap;gap:5px}
.ai-chat-bulk-actions .btn{padding:4px 8px;font-size:.7rem;white-space:nowrap}
.ai-universal-upload-compact{margin-bottom:16px!important}
.ai-chat-head .actions{align-items:center}
.ai-chat-date{margin-left:6px}
/* Sidebar: Gruppentitel exakt auf der Fluchtlinie der Einträge */
.sidebar-section-title{display:inline-grid;grid-template-columns:26px minmax(0,auto);align-items:center;gap:0}
.sidebar-section-title svg{width:17px!important;height:17px!important;margin-left:1px;justify-self:start}
.sidebar-scroll .nav-label-icon.sidebar-group-toggle{margin-left:3px}
/* KI: feste Höhen (Liste scrollt intern), kein horizontales Scrollen */
.ai-layout{align-items:start}
.ai-conversations{height:calc(100vh - 250px);min-height:480px;overflow:hidden}
.ai-chat-panel{height:calc(100vh - 250px);min-height:480px}
.ai-conversation-list{overflow-y:auto;overflow-x:hidden}
.ai-conversation-row{min-width:0}
.ai-conversation-row{gap:4px;max-width:100%}
/* Tresor-Dateiablage */
.vault-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:12px;font-size:.78rem}
.vault-breadcrumbs a{color:var(--muted);text-decoration:none;font-weight:650}
.vault-breadcrumbs a.active{color:var(--text)}
.vault-breadcrumbs span{color:var(--muted)}
.vault-crumb-actions{display:inline-flex;gap:6px;margin-left:10px}
.vault-crumb-actions form{margin:0}
.vault-upload-form{margin-bottom:13px}
.vault-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-bottom:13px}
.vault-folder-card{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);color:var(--text);text-decoration:none;font-weight:650;font-size:.8rem}
.vault-folder-card:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}
.vault-folder-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vault-file-list{display:grid;gap:6px}
.vault-file-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.vault-file-row .vault-file-name{color:var(--text);text-decoration:none;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vault-file-row small{color:var(--muted);white-space:nowrap}
.vault-file-actions{display:flex;align-items:center;gap:5px}
.vault-file-actions form{margin:0}
.vault-files-empty{margin:4px 0 0}
/* Tresor-Ablage: Commandbar oben, kompakte Quell-Boxen, Ordnerbaum links unter den Boxen */
.vault-tree{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.vault-tree .vault-tree{padding-left:14px;margin-top:2px}
.vault-tree a{display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:.76rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vault-tree a:hover{background:var(--surface-2);color:var(--text)}
.vault-tree a.active{background:color-mix(in srgb,var(--primary) 13%,var(--surface-2));color:var(--text)}
.vault-tree-root{margin-bottom:4px}
#vaultExportDialog .field,#vaultImportDialog .field{display:grid;gap:7px;margin-bottom:4px}
#vaultExportDialog .field .help,#vaultImportDialog .field .help{margin-top:2px}
#vaultExportDialog .notice,#vaultImportDialog .notice{margin-top:14px}
#vaultExportDialog .dialog-body,#vaultImportDialog .dialog-body{display:grid;gap:10px}
.vault-files-card>.vault-commandbar{margin:0 0 14px;border-top:1px solid var(--border);border-radius:0}
.vault-sources{display:grid;grid-template-columns:minmax(240px,330px) minmax(260px,400px);gap:12px;align-items:stretch;margin-bottom:14px}
.vault-sources .vault-upload-form{display:grid;grid-template-rows:minmax(0,1fr);height:100%;align-self:stretch}
.vault-sources .vault-dropzone{height:100%;box-sizing:border-box}
.vault-doc-picker .document-picker-selected-list{min-height:44px}
.vault-doc-picker-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:8px 12px;border-top:1px solid var(--border)}
.vault-doc-picker-foot small{font-size:.68rem;margin-right:auto}
.vault-files-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start}
.vault-tree-panel{min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:10px 8px;align-self:stretch}
.vault-tree-panel>header{display:grid;gap:1px;padding:2px 9px 9px}
.vault-tree-panel>header small{color:var(--muted);font-size:.6rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.vault-tree-panel>header strong{font-size:.82rem}
.vault-files-main{min-width:0;display:grid;gap:10px;align-content:start}
@media(max-width:900px){.vault-files-grid{grid-template-columns:1fr}.vault-sources{grid-template-columns:1fr}}
/* Tresor: KPI-Dreierreihe (Tresorwert | Hinweis | Öffnungsdauer) + dunkler Look auf allen Tresorseiten */
.vault-kpi-row .card.kpi{min-height:118px}
.vault-kpi-hint p{margin:0;color:#e5e0c8;font-size:.72rem;line-height:1.45;font-weight:600}
body.vault-open .vault-tabs{background:#050505;border-color:rgba(255,255,255,.09)}
body.vault-open .vault-tabs a.active{background:rgba(250,204,21,.13);color:#fde047}
.vault-files-card.vault-panel .vault-commandbar{background:#070707;border-color:rgba(255,255,255,.08)}
.vault-files-card.vault-panel .vault-commandbar>button.btn-primary{border-color:#facc15;background:linear-gradient(180deg,#fde047,#d97706);color:#1a1503;box-shadow:0 7px 18px rgba(250,204,21,.22)}
.vault-files-card.vault-panel .vault-commandbar>button.btn-primary>span{color:#1a1503}
.vault-files-card.vault-panel .vault-commandbar>button.btn-primary svg{color:#1a1503}
.vault-files-card.vault-panel .vault-commandbar>button.btn-primary:hover{background:linear-gradient(180deg,#fef08a,#f59e0b);color:#1a1503}
/* Gesperrte Tresorseite: keine Buchungs-Schnellaktion in der Topbar */
body.vault-locked-page .topbar a.btn-primary[href="/transactions#new-booking"]{display:none}
/* Tresorseiten: «Neue Buchung» in der Topbar im gelben Tresor-Look */
body.vault-open .topbar a.btn-primary[href="/transactions#new-booking"]{border-color:#facc15;background:linear-gradient(180deg,#fde047,#d97706);color:#1a1503;box-shadow:0 7px 18px rgba(250,204,21,.22)}
body.vault-open .topbar a.btn-primary[href="/transactions#new-booking"] span{color:#1a1503}
body.vault-open .topbar a.btn-primary[href="/transactions#new-booking"]:hover{background:linear-gradient(180deg,#fef08a,#f59e0b)}
/* Transaktionsjournal im Tresor */
.vault-tx-list{display:grid;gap:5px;margin-bottom:14px;max-height:260px;overflow:auto}
.vault-tx-row{display:grid;grid-template-columns:86px 110px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 11px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#0b0b0b;font-size:.76rem}
.vault-tx-row .badge{justify-self:start}
.vault-tx-empty{padding:12px;border:1px dashed rgba(255,255,255,.14);border-radius:9px;color:var(--muted);font-size:.76rem;margin-bottom:14px}
.vault-files-card.vault-panel .vault-commandbar>button:not(.btn-primary){background:#0d0d0d;border-color:rgba(255,255,255,.12);color:#e8e8e8}
.vault-files-card.vault-panel .vault-commandbar>button:not(.btn-primary):hover{border-color:rgba(250,204,21,.5);background:#151304;color:#fff}
.vault-files-card.vault-panel .vault-tree-panel{background:#0a0a0a;border-color:rgba(255,255,255,.09)}
.vault-files-card.vault-panel .vault-tree a:hover{background:#151515;color:#fff}
.vault-files-card.vault-panel .vault-tree a.active{background:rgba(250,204,21,.14);color:#fde047}
.vault-files-card.vault-panel .vault-row{background:#0b0b0b;border-color:rgba(255,255,255,.08)}
.vault-files-card.vault-panel .vault-dropzone,.vault-files-card.vault-panel .vault-doc-picker{background:#0a0a0a;border-color:rgba(255,255,255,.1)}
.vault-files-card.vault-panel .vault-doc-picker-foot{border-color:rgba(255,255,255,.08)}
/* Zielordner-Dialog für Verschieben/Kopieren (Dokumente + Commandbar) */
.documents-destination-list{display:grid;gap:2px;max-height:330px;overflow:auto;margin-bottom:14px;border:1px solid var(--border);border-radius:10px;padding:8px}
/* Optionale Zusatz-Option im Dokument-Auswahl-Dialog (z. B. Tresor: Original in Papierkorb) */
.document-picker-footer{flex-wrap:wrap}
.document-picker-option{margin:0;display:inline-flex;align-items:center;gap:7px;font-size:.74rem;color:var(--muted);white-space:nowrap;cursor:pointer}
.document-picker-option input{width:15px;height:15px}
/* PIN-Felder: type=text mit CSS-Maskierung, damit Passwortmanager sie ignorieren */
.pin-shield{-webkit-text-security:disc}
.pin-shield.is-revealed{-webkit-text-security:none}
/* Tresor-Finanzwelle: Tab-Abstände (Basisregel hat margin-top:-10px!important), Depot-Gruppen, kompakter Ordner-Picker */
.vault-tabs{margin-top:18px!important}
.vault-subtabs{margin-top:14px!important;margin-bottom:14px}
.vault-kpi-hint .kpi-value{display:none}
.vault-kpi-note{margin:0;color:#e5e0c8;font-size:.72rem;line-height:1.45;font-weight:600}
.vault-depot-head td{background:rgba(250,204,21,.07);border-top:1px solid rgba(250,204,21,.25);padding-top:9px;padding-bottom:9px}
.vault-depot-head strong{color:#fde047;font-size:.78rem;letter-spacing:.02em}
.vault-depot-subtotal td{background:rgba(255,255,255,.025);border-bottom:2px solid rgba(250,204,21,.25);font-size:.76rem}
.vault-holdings-table .actions{white-space:nowrap}
.vault-extract-target{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.document-folder-picker-dialog{width:min(720px,calc(100vw - 32px))}
.document-folder-picker-dialog .document-picker-shell{grid-template-columns:minmax(200px,34%) minmax(0,1fr);min-height:320px;max-height:48vh}
.document-folder-picker-dialog .document-picker-list{gap:5px}
.document-folder-picker-dialog .document-picker-row{padding:8px 10px}
/* Depot-Zwischentotale im normalen Wertschriften-Modul */
.depot-subtotal-table td,.depot-subtotal-table th{padding:8px 12px}
.depot-subtotal-table tfoot td{border-top:2px solid var(--border);font-weight:750}
.vault-item-list{display:grid;gap:5px}
.vault-row{display:grid;grid-template-columns:30px 24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.vault-row .vault-row-icon{display:grid;place-items:center;color:var(--primary)}
.vault-row .vault-row-name{min-width:0;display:grid;gap:1px;color:var(--text);text-decoration:none}
.vault-row .vault-row-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}
.vault-row .vault-row-name small{color:var(--muted);font-size:.66rem}
.vault-row .actions{display:flex;align-items:center;gap:5px}
.vault-bulk-form .bulk-toolbar{margin-bottom:8px}
/* KI-Welle Session 7: Live-Ansicht exakt gleich hoch wie das Chat-Panel */
.ai-office-panel{height:calc(100vh - 250px);min-height:480px}
.ai-office-frame{min-height:0}
@media(max-width:1000px){.ai-office-panel{height:auto;min-height:70dvh}}
/* Tresor-Explorer: Spaltenansicht wie Dokumente (Details-Look) */
.vault-row{grid-template-columns:30px 24px minmax(0,1fr) 64px 122px 92px 132px}
.vault-row .actions{justify-content:flex-end}
.vault-row-more{display:none}
.vault-more-btn{padding:2px 7px;letter-spacing:.08em}
.vault-list-header{display:grid;grid-template-columns:30px 24px minmax(0,1fr) 64px 122px 92px 132px;gap:10px;align-items:center;padding:2px 12px 8px;border-bottom:1px solid var(--border);margin-bottom:6px}
.vault-list-header .selection-check{margin:0}
.vault-list-header button{border:0;background:transparent;color:var(--muted);font-size:.66rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:2px 0;cursor:pointer}
.vault-list-header button:hover{color:var(--text)}
.vault-list-header button.is-sorted{color:#fde047}
.vault-list-header button.is-sorted::after{content:' ↑';opacity:.75}
.vault-list-header button.is-sorted.desc::after{content:' ↓'}
.vault-cell-muted{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1150px){
  .vault-row,.vault-list-header{grid-template-columns:30px 24px minmax(0,1fr) 132px}
  .vault-row .vault-cell-muted,.vault-list-header [data-vault-sort="type"],.vault-list-header [data-vault-sort="date"],.vault-list-header [data-vault-sort="size"]{display:none}
}
/* OneNote-Welle (Session 7): Lila Akzent-UI, Menüband-Register, Kategorien, Dateiausdruck */
.onenote-app-mark{background:linear-gradient(135deg,#7719aa,#a06bfa)!important;color:#fff!important}
.notes-page .notes-page-head .btn-primary,.onenote-workspace .btn-primary{background:linear-gradient(135deg,#8b5cf6,#7719aa);border-color:#8b5cf6}
.notes-page .notes-page-head .btn-primary:hover,.onenote-workspace .btn-primary:hover{filter:brightness(1.12)}
.onenote-workspace .note-notebook-link.active{background:color-mix(in srgb,#a06bfa 13%,transparent);box-shadow:inset 2px 0 0 #a06bfa}
.onenote-workspace .onenote-page-item.active{box-shadow:inset 2px 0 0 #a06bfa}
.onenote-ribbon-tabs{display:flex;gap:2px;padding:6px 12px 0;border-bottom:1px solid var(--border);background:var(--panel)}
.onenote-ribbon-tabs button{position:relative;border:0;background:transparent;color:var(--muted);font-size:.78rem;font-weight:700;padding:7px 11px 9px;cursor:pointer;border-radius:8px 8px 0 0}
.onenote-ribbon-tabs button:hover{color:var(--text);background:var(--surface-2)}
.onenote-ribbon-tabs button.active{color:#c9abff}
.onenote-ribbon-tabs button.active::after{content:'';position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:#a06bfa;border-radius:2px}
.onenote-style-select{min-width:148px;font-size:.76rem;padding:5px 8px}
.note-tags-menu{position:relative}
.note-tags-menu summary{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:8px;font-size:.76rem;cursor:pointer;color:var(--text);list-style:none}
.note-tags-menu summary::-webkit-details-marker{display:none}
.note-tags-menu summary:hover{background:var(--surface-3)}
.note-tags-menu[open] summary{background:color-mix(in srgb,#a06bfa 16%,transparent)}
.note-tags-popover{position:absolute;z-index:90;top:calc(100% + 6px);left:0;display:grid;gap:2px;min-width:176px;padding:6px;border:1px solid var(--border);border-radius:11px;background:var(--panel);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.note-tags-popover button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--text);padding:7px 9px;border-radius:7px;font-size:.78rem;cursor:pointer}
.note-tags-popover button:hover{background:var(--surface-2)}
.ribbon-hint{color:var(--muted);font-size:.74rem}
.ribbon-check{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted);white-space:nowrap}
.onenote-tag{display:inline-flex;align-items:center;justify-content:center;min-width:21px;padding:0 3px;margin-right:3px;border-radius:6px;background:color-mix(in srgb,#a06bfa 16%,transparent)}
.note-printout{display:grid;gap:10px;margin:10px 0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.note-printout img{max-width:100%;border-radius:8px;border:1px solid var(--border);background:#fff}
.note-printout-caption{margin:0;color:var(--muted);font-size:.76rem;font-weight:650}
/* Kalender-Abos (ICS, Hoster-Sync Etappe 1): read-only Darstellung + Verwalten-Dialog */
.calendar-context-event.external .calendar-event-main,.tg-block.tg-external .tg-block-main,.agenda-row-pro.external{cursor:default}
.calendar-context-event.external,.tg-block.tg-external{opacity:.94}
.calendar-context-event.external .calendar-event-main{display:grid;padding:2px 6px}
.tg-block.tg-external .tg-block-main{display:block;padding:3px 6px}
.calendar-manage-subtitle{display:block;margin:16px 0 8px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.calendar-subs-dot{width:13px;height:13px;border-radius:50%;background:var(--cal, #64d2ff);flex:0 0 auto}
.calendar-subs-add{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr) auto auto;gap:7px;margin-top:10px;align-items:center}
.calendar-subs-add input[type="color"]{width:36px;height:30px;padding:2px;border-radius:8px}
/* CalDAV-Kalenderkonten (Hoster-Sync Etappe 2) */
.calendar-dav-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}
.calendar-dav-row .calendar-manage-name small{display:block;line-height:1.35}
.calendar-dav-row .calendar-manage-name small.text-danger{color:#f87171}
.caldav-scope{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.caldav-scope .checkbox{margin:0;white-space:nowrap}
.caldav-scope input:disabled+*,.caldav-scope .checkbox:has(input:disabled){opacity:.5}
/* OneNote-Welle 2: Freihand-Ebene über der Textseite + Seitenfarben */
/* Die Hülle übernimmt den Platz, den vorher die Seite im Flex-Layout hatte.
   Die feste Mindesthöhe ist Absicht: eine ältere Generation setzt
   .onenote-paper.live auf min-height:0!important, weil damals der Flex-Container
   die Höhe vorgab. So gibt es immer eine echte Seite zum Zeichnen. */
.onenote-page-wrap{position:relative;display:flex;flex-direction:column;flex:1;min-height:560px;overflow:auto}
/* Die HÜLLE scrollt, nicht die Seite: nur so ist die Seite so hoch wie ihr
   Inhalt (z. B. ein mehrseitiger PDF-Ausdruck) und die Zeichenebene deckt
   alles ab und scrollt mit. Vorher scrollte .onenote-paper selbst — dann lag
   die Tinte nur über dem sichtbaren Ausschnitt und blieb beim Scrollen stehen. */
/* !important ist nötig: ältere Generationen setzen flex:1 1 0% mit Vorrang,
   wodurch die Seite auf Containerhöhe schrumpfen würde. */
.onenote-page-wrap>.onenote-paper{flex:1 0 auto!important;overflow:visible!important}
.onenote-ink-layer{position:absolute;left:0;top:0;pointer-events:none;z-index:3}
.onenote-page-wrap.is-drawing .onenote-paper{cursor:crosshair;user-select:none}
.onenote-page-wrap.is-drawing::after{content:'Zeichenmodus — «Auswahl» im Menüband beendet ihn';position:sticky;bottom:8px;display:block;width:max-content;margin:0 auto;padding:5px 11px;border-radius:999px;background:color-mix(in srgb,#a06bfa 22%,var(--panel));color:var(--text);font-size:.7rem;font-weight:650;z-index:4;pointer-events:none}
/* Seitenfarben wie in OneNote (dezent, damit der Text lesbar bleibt) */
.onenote-page-wrap.page-gelb .onenote-paper{background:color-mix(in srgb,#facc15 11%,var(--panel))}
.onenote-page-wrap.page-gruen .onenote-paper{background:color-mix(in srgb,#22c55e 10%,var(--panel))}
.onenote-page-wrap.page-blau .onenote-paper{background:color-mix(in srgb,#38bdf8 11%,var(--panel))}
.onenote-page-wrap.page-rosa .onenote-paper{background:color-mix(in srgb,#f472b6 11%,var(--panel))}
.onenote-page-wrap.page-grau .onenote-paper{background:color-mix(in srgb,#94a3b8 13%,var(--panel))}
/* Zeichnen-Register: Werkzeuge im Menüband */
[data-note-draw-bar] .ink-colours{display:inline-flex;gap:5px;align-items:center}
[data-note-draw-bar] .ink-colour{width:19px;height:19px;padding:0;border-radius:50%;border:2px solid transparent;background:var(--ink-c);cursor:pointer}
[data-note-draw-bar] .ink-colour.active{border-color:var(--text);box-shadow:0 0 0 2px color-mix(in srgb,var(--ink-c) 45%,transparent)}
[data-note-draw-bar] .ink-tool-group{display:inline-flex;gap:3px;align-items:center}
[data-note-draw-bar] button.active{background:color-mix(in srgb,#a06bfa 20%,transparent);color:var(--text)}
[data-note-draw-bar] .ink-w{display:block;background:currentColor;border-radius:99px}
[data-note-draw-bar] .ink-w1{width:14px;height:2px}
[data-note-draw-bar] .ink-w2{width:14px;height:3.5px}
[data-note-draw-bar] .ink-w3{width:14px;height:6px}
[data-note-draw-bar] .ink-marker-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;background:#facc15;vertical-align:-1px}
[data-note-draw-bar] .ink-finger-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.73rem;color:var(--muted);white-space:nowrap}
/* OneNote-Welle 2: Menüband-Bedienelemente */
.onenote-font-select{min-width:120px;font-size:.75rem;padding:5px 7px}
.onenote-size-select{min-width:58px;font-size:.75rem;padding:5px 7px}
.ribbon-label{color:var(--muted);font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.ribbon-zoom{min-width:44px;text-align:center;font-size:.74rem;font-weight:700;color:var(--text)}
.ribbon-colour{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border-radius:7px;font-size:.78rem;cursor:pointer;color:var(--text)}
.ribbon-colour:hover{background:var(--surface-3)}
.ribbon-colour input[type="color"]{width:20px;height:16px;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer}
.ribbon-link{display:inline-flex;align-items:center;padding:6px 9px;border-radius:8px;font-size:.76rem;color:var(--text);text-decoration:none}
.ribbon-link:hover{background:var(--surface-3)}
.note-symbol-popover{display:grid!important;grid-template-columns:repeat(6,1fr);gap:2px;min-width:210px}
.note-symbol-popover button{text-align:center!important;font-size:.95rem;padding:6px 2px!important}
.onenote-paper img{max-width:100%;height:auto;border-radius:6px}
/* Drucken: nur die Notizseite, ohne App-Schale */
@media print{
  body.notes-printing .sidebar,body.notes-printing .topbar,body.notes-printing .bottom-nav,
  body.notes-printing .onenote-notebooks,body.notes-printing .onenote-pages,
  body.notes-printing .onenote-ribbon,body.notes-printing .onenote-ribbon-tabs,
  body.notes-printing .onenote-canvas-head .actions,body.notes-printing .onenote-statusbar,
  body.notes-printing .groupware-quicklinks,body.notes-printing .page-actions,
  body.notes-printing .ai-dock{display:none!important}
  body.notes-printing .onenote-workspace{display:block!important}
  body.notes-printing .onenote-paper{border:0!important;box-shadow:none!important;background:#fff!important;color:#000!important}
  body.notes-printing .main-wrap{margin:0!important}
  /* Stift-Seiten drucken die Leinwand selbst. */
  body.notes-printing .onenote-section-tabbar{display:none!important}
  body.notes-printing .ink-scroll{overflow:visible!important;border:0!important;background:#fff!important;max-height:none!important}
}
/* OneNote-Welle 3: Papierkorb-Reiter und Kategorien-Übersicht */
.note-trash-actions{grid-column:1/-1;display:flex;gap:6px;justify-content:flex-end;padding-top:6px}
.note-tagsummary-filter{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}
.note-tagsummary-filter button{border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--muted);padding:5px 11px;font-size:.74rem;cursor:pointer}
.note-tagsummary-filter button.active{background:color-mix(in srgb,#a06bfa 18%,transparent);color:var(--text);border-color:#a06bfa}
.note-tagsummary-list{display:grid;gap:6px;max-height:56vh;overflow:auto}
.note-tagsummary-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.note-tagsummary-text{min-width:0;display:grid;gap:2px}
.note-tagsummary-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
.note-tagsummary-text small{color:var(--muted);font-size:.68rem}
.note-tagsummary-row .actions{display:flex;gap:5px;white-space:nowrap}

/* OneNote-Welle 3 Teil 2: waagrechte Abschnitts-Register über der Seite,
   Unterseiten in der Seitenliste, Formatvorlagen-Galerie, Register auf
   Stift-Seiten. */
.onenote-section-tabbar{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding:6px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);overflow:hidden}
.onenote-tabbar-book{display:inline-flex;align-items:center;gap:6px;flex:none;max-width:200px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.onenote-tabbar-book strong{color:var(--text);font-size:.78rem;letter-spacing:0;text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.onenote-section-tabs{display:flex;align-items:center;gap:3px;min-width:0;flex:1;overflow-x:auto;padding-bottom:2px}
.onenote-section-tab{display:inline-flex;align-items:center;gap:7px;flex:none;padding:7px 12px;border:1px solid transparent;border-radius:9px 9px 0 0;color:var(--muted);font-size:.79rem;font-weight:650;white-space:nowrap;text-decoration:none}
.onenote-section-tab:hover{background:var(--surface);color:var(--text)}
.onenote-section-tab.active{background:var(--surface);color:var(--text);border-color:var(--border);border-bottom-color:transparent;box-shadow:inset 0 2px 0 #a06bfa}
.onenote-section-tab b{font-weight:700;font-size:.68rem;color:var(--muted-2);padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--border) 60%,transparent)}
.onenote-section-tab .section-dot{width:9px;height:9px;border-radius:3px;flex:none}
.onenote-section-add{flex:none;margin-left:4px;border:1px dashed var(--border);background:transparent;color:var(--muted);border-radius:9px;padding:6px 11px;font-size:.75rem;cursor:pointer;white-space:nowrap}
.onenote-section-add:hover{color:var(--text);border-color:#a06bfa}
/* Die Arbeitsfläche rechnet mit der ganzen Fensterhöhe — die neue Leiste
   darüber muss deshalb von ihrer Höhe abgezogen werden. */
.onenote-section-tabbar+.onenote-workspace[data-notes-workspace]{height:min(760px,calc(100dvh - 240px))!important}
/* Auf schmalen Geräten bleibt die Leiste die einzige Möglichkeit, den Abschnitt
   zu wechseln — sie wird deshalb nie ausgeblendet, sondern nur schmaler. */
@media(max-width:820px){.onenote-section-tabbar{gap:8px;padding:5px 8px}.onenote-tabbar-book{max-width:110px}.onenote-section-tab{padding:6px 9px;font-size:.74rem}}

/* Unterseiten: eingerückt direkt unter der Elternseite (OneNote-Seitenebenen). */
.onenote-page-item.note-level-1{margin-left:16px}
.onenote-page-item.note-level-2{margin-left:32px}
.onenote-page-item.note-level-1>a>span:first-child,.onenote-page-item.note-level-2>a>span:first-child{opacity:.55}
.onenote-page-item.note-level-1,.onenote-page-item.note-level-2{border-left:2px solid color-mix(in srgb,#a06bfa 40%,transparent);border-top-left-radius:4px;border-bottom-left-radius:4px}
.onenote-page-item.note-level-1 strong,.onenote-page-item.note-level-2 strong{font-weight:600}

/* Formatvorlagen als Galerie statt Auswahlfeld. */
.note-style-gallery .note-tags-popover{width:250px;padding:8px;gap:3px}
.note-style-gallery .note-tags-popover button{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;padding:7px 9px;border-radius:8px;text-align:left;line-height:1.25}
.note-style-gallery .note-tags-popover button:hover{background:color-mix(in srgb,#a06bfa 15%,transparent)}
.note-style-gallery .note-tags-popover small{color:var(--muted);font-size:.64rem;white-space:nowrap}
.note-style-preview-h1{font-size:1.3rem;font-weight:800;letter-spacing:-.02em}
.note-style-preview-h2{font-size:1.1rem;font-weight:750}
.note-style-preview-h3{font-size:.95rem;font-weight:700}
.note-style-preview-p{font-size:.85rem}
.note-style-preview-quote{font-size:.85rem;font-style:italic;padding-left:8px;border-left:3px solid color-mix(in srgb,#a06bfa 60%,transparent)}
.note-style-preview-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}

/* Kopf, Register, Menüband und Statuszeile sind feste Leisten — auf kürzeren
   Fenstern quetschte der Flex-Container bisher das Menüband auf wenige Pixel
   zusammen, weil die Seite selbst eine Mindesthöhe von 560px erzwang. Jetzt
   schrumpft die Seite (sie scrollt ohnehin selbst), nicht die Bedienleisten. */
.onenote-live-editor>.onenote-canvas-head,.onenote-live-editor>.onenote-ribbon-tabs,
.onenote-live-editor>.onenote-ribbon,.onenote-live-editor>.onenote-statusbar,
.onenote-live-editor>.ink-workspace>.onenote-ribbon{flex:none}
.onenote-page-wrap{min-height:320px}

/* ====== Undurchsichtige Menüs und Aufklappfenster (Wunsch 08.08.2026) ======
   Zwei Ursachen, warum Menüs bisher durchsichtig waren:
   1) Die Variablen --panel und --panel-2 wurden an rund 85 Stellen benutzt,
      aber NIE definiert — jedes Menü mit background:var(--panel) hatte damit
      gar keinen Hintergrund und zeigte das Themenbild darunter.
   2) Die übrigen Menüs mischten var(--surface), das selbst nur 78 % deckt.
   Beides ist hier behoben: die Variablen bekommen deckende Werte, und jedes
   schwebende Fenster (Kontextmenü, Aufklappmenü, Popover) wird ausdrücklich
   deckend gezeichnet — ohne Weichzeichner, der die Kanten aufweicht. */
:root{--panel:var(--surface-2);--panel-2:var(--surface-3);--menu-surface:var(--surface-2)}
.global-context-menu,.context-menu,.universal-context-menu,
[data-page-context-menu],[data-context-menu],[data-universal-context-menu],
[data-documents-surface-menu],[data-calendar-context-menu],
.note-tags-popover,.note-view-popover,.note-symbol-popover,
.documents-more-menu,.documents-office-menu,.documents-row-menu,.documents-tree-menu,
.cloud-row-menu,.calendar-context-menu,.calendar-event-menu,.external-edit-menu,
.quicklinks-office-menu,.sidebar-favorite-menu,.topbar-menu,.topbar-system-menu,
.topbar-system-popover,.mobile-account-menu,.mobile-account-popover,
.ai-notification-popover,.ai-notification-menu,.ai-chat-row-menu,.action-menu{
  background:var(--menu-surface)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  opacity:1!important;
  border-color:var(--border-strong)!important;
}

/* Notizen-Seitenleiste: Schnelle Notizen zuoberst, dann die Notizbücher, der
   Papierkorb ganz unten — alle drei in derselben Optik. Die frühere Reiterleiste
   «Notizen | Papierkorb» ist ersatzlos entfallen (sie teilte sich die Höhe mit
   der Notizbuchliste und riss ein grosses leeres Feld auf). */
.note-quick-link{order:-1}
.note-trash-link{flex:none;display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;min-height:48px;margin:0 8px 10px;padding:7px 9px;border-radius:9px;color:var(--muted);text-decoration:none}
.note-trash-link>span:last-child{display:grid;min-width:0}
.note-trash-link strong{font-size:.84rem}
.note-trash-link small{color:var(--muted-2);font-size:.7rem;margin-top:2px}
.note-trash-link:hover{background:color-mix(in srgb,#a06bfa 11%,transparent);color:var(--text)}
.note-trash-link.active{background:color-mix(in srgb,#a06bfa 13%,transparent);color:var(--text);box-shadow:inset 2px 0 0 #a06bfa}
.onenote-notebooks .note-trash-link{border-top:1px solid var(--border);border-radius:0 0 9px 9px;margin-top:4px;padding-top:12px}

/* ====== Fehlende Gestaltungsvariablen (08.08.2026) ======
   Wie schon bei --panel: mehrere Variablen wurden im ganzen Blatt benutzt, aber
   nie definiert. Jede Regel mit einer davon war ungültig und fiel ersatzlos aus.
   Sichtbarste Folge: --line (71 Verwendungen) — deshalb zeichneten die
   Hilfslinien der Notizen (Linien/Raster) NICHTS, und viele feine Trennlinien
   erschienen in Textfarbe statt dezent. Werte hier bewusst von den vorhandenen
   Tokens abgeleitet, damit jedes Farbthema automatisch stimmt. */
:root{
  --line: var(--border);
  --surface-1: var(--surface-2);
  --surface-soft: var(--surface-3);
  --input: var(--surface-3);
  --primary-soft: color-mix(in srgb, var(--primary) 18%, transparent);
  --primary-contrast: #04111d;
  --secondary: var(--teal);
  --accent: var(--primary);
  --amber: #f59e0b;
  --danger: #f87171;
  --success: #34d399;
  --warning: #fbbf24;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --shadow-sm: 0 6px 18px rgba(0, 0, 0, .18);
  --documents-sidebar: var(--surface-2);
  --documents-surface: var(--surface);
  --documents-panel: var(--surface-2);
}
html[data-theme="light"]{--danger:#dc2626;--success:#15803d;--warning:#b45309;--primary-contrast:#ffffff}

/* ====== Menüband aufgeräumt (Wunsch 08.08.2026) ======
   Vorher lief die Leiste in einer einzigen Zeile und musste waagrecht gescrollt
   werden; ausserdem mischten sich Emoji, Pfeilzeichen und Text. Jetzt: Umbruch
   auf mehrere Zeilen, gleich grosse Schaltflächen und die zentralen SVG-Icons. */
.onenote-ribbon{flex-wrap:wrap!important;overflow:visible!important;row-gap:5px!important;column-gap:3px!important;align-items:center;padding:7px 12px!important}
.ribbon-group{display:flex;align-items:center;gap:3px;flex:none}
.onenote-ribbon .ribbon-divider{height:20px;margin:0 5px;background:var(--line)}
.onenote-ribbon button,.onenote-ribbon summary{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px!important;border-radius:8px;font-size:.76rem!important;font-weight:600;color:var(--text);white-space:nowrap;cursor:pointer}
.onenote-ribbon .ribbon-icon{justify-content:center;min-width:30px;padding:5px!important}
.onenote-ribbon .icon{opacity:.85}
.onenote-ribbon button:hover,.onenote-ribbon summary:hover{background:color-mix(in srgb,var(--primary) 14%,transparent)}
.onenote-ribbon button:hover .icon,.onenote-ribbon summary:hover .icon{opacity:1}
.onenote-ribbon .ribbon-label{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:0 2px}
/* Alle Bedienelemente sind gleich hoch, damit die Zeilen ruhig wirken. */
.onenote-ribbon .ribbon-colour{display:inline-flex;align-items:center;gap:3px;height:30px;padding:0 6px;border-radius:8px;cursor:pointer}
.onenote-ribbon .ribbon-colour:hover{background:color-mix(in srgb,var(--primary) 14%,transparent)}
.onenote-ribbon .ribbon-colour input[type="color"]{width:20px;height:14px;min-height:0;padding:0;border:0;border-radius:3px;background:transparent;cursor:pointer}
.onenote-ribbon .ribbon-colour input[type="color"]::-webkit-color-swatch-wrapper{padding:0}
.onenote-ribbon .ribbon-colour input[type="color"]::-webkit-color-swatch{border:1px solid var(--line);border-radius:3px}
.onenote-ribbon .ribbon-check{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--muted);white-space:nowrap;padding:0 4px}
.onenote-ribbon .segmented{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.onenote-ribbon .segmented button{min-height:24px;padding:3px 9px!important;border-radius:7px;font-size:.72rem!important;color:var(--muted)}
.onenote-ribbon .segmented button.active{background:color-mix(in srgb,#a06bfa 26%,transparent);color:var(--text)}
.onenote-ribbon .ribbon-zoom{min-width:46px;text-align:center;font-size:.74rem;color:var(--muted)}
.onenote-ribbon select{min-height:30px;font-size:.75rem}
.onenote-ribbon-tabs{padding:7px 12px 0}
.onenote-ribbon-tabs button{font-size:.79rem;padding:7px 13px 9px}

/* Hilfslinien sichtbar: die alte Mischung mit --line war selbst mit gültiger
   Variable zu blass, um auf dunklem Papier etwas zu zeigen. */
.onenote-workspace[data-paper="lined"] .onenote-paper.live{background:repeating-linear-gradient(180deg,transparent 0,transparent 29px,color-mix(in srgb,var(--text) 20%,transparent) 30px)!important}
.onenote-workspace[data-paper="grid"] .onenote-paper.live{background-image:linear-gradient(color-mix(in srgb,var(--text) 15%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 15%,transparent) 1px,transparent 1px)!important;background-size:26px 26px!important;background-color:var(--surface)!important}
.onenote-workspace[data-paper="lined"] .ink-scroll,.onenote-workspace[data-paper="lined"] .ink-canvas{background:repeating-linear-gradient(180deg,transparent 0,transparent 29px,color-mix(in srgb,var(--text) 18%,transparent) 30px)}

/* Versionsverlauf sitzt jetzt oben neben «Speichern». */
.note-versions-menu{position:relative}
.note-versions-menu summary b{font-weight:800;opacity:.75}
.note-versions-popover{width:330px;max-height:340px;overflow:auto}
.note-versions-popover .note-version-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.note-versions-popover .note-version-row:last-child{border-bottom:0}
.note-versions-popover .note-version-row span{display:grid;min-width:0}
.note-versions-popover .note-version-row strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.note-versions-popover .note-version-row small{color:var(--muted);font-size:.68rem}

/* Abschnitts-Spalte: Aktionen in einer Reihe ÜBER der Beschriftung. */
.onenote-column-head.stacked{display:grid!important;grid-template-columns:1fr;gap:8px;align-items:stretch;min-height:0}
.onenote-column-head.stacked .actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;justify-content:flex-start}
.onenote-column-head.stacked .actions form{display:inline-flex}
.onenote-column-head.stacked .actions .btn{min-height:28px;padding:4px 9px;font-size:.72rem}
.onenote-column-title{display:grid;gap:2px;min-width:0}
.onenote-column-title small{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.onenote-column-title strong{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ====== KI-Seite: einklappbare Chatliste und breitere Live-Ansicht ======
   Mit offener Live-Ansicht war das Office-Dokument zu schmal. Jetzt lässt sich
   die Chatliste zu einer schmalen Leiste einklappen (sie tut das beim Öffnen
   eines Dokuments von selbst), und die Live-Ansicht bekommt doppelt so viel
   Breite wie das Chatfenster. */
.ai-conversations{position:relative}
/* Der Einklapp-Pfeil sitzt in der «Neuer Chat»-Zeile (dort, wo früher
   «Temporär» stand) und bleibt als einziges Bedienelement sichtbar,
   wenn die Spalte eingeklappt ist. */
.ai-new-chat-actions{display:flex;align-items:center;gap:8px}
.ai-new-chat-actions .btn{flex:1}
.ai-sidebar-toggle{flex:none;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted);cursor:pointer}
.ai-sidebar-toggle:hover{color:var(--text);border-color:var(--primary)}
.ai-layout.sidebar-collapsed{grid-template-columns:46px minmax(0,1fr)}
.ai-layout.sidebar-collapsed .ai-conversations{min-height:0;padding:10px 8px;align-items:center;overflow:hidden}
.ai-layout.sidebar-collapsed .ai-conversations>*:not(.ai-new-chat-actions){display:none}
.ai-layout.sidebar-collapsed .ai-new-chat-actions>*:not(.ai-sidebar-toggle){display:none}
.ai-layout.sidebar-collapsed .ai-new-chat-actions{justify-content:center;gap:0}
.ai-layout.sidebar-collapsed .ai-sidebar-toggle .icon{transform:rotate(180deg)}
/* Live-Ansicht: doppelt so breit wie der Chat. */
.ai-layout.has-office{grid-template-columns:300px minmax(280px,1fr) minmax(420px,2fr)}
.ai-layout.sidebar-collapsed.has-office{grid-template-columns:46px minmax(300px,1fr) minmax(520px,2fr)}
@media(max-width:1500px){
  .ai-layout.has-office{grid-template-columns:46px minmax(280px,1fr) minmax(420px,2fr)}
  .ai-layout.has-office .ai-conversations>*:not(.ai-new-chat-actions){display:none}
  .ai-layout.has-office .ai-new-chat-actions>*:not(.ai-sidebar-toggle){display:none}
  .ai-layout.has-office .ai-conversations{min-height:0;padding:10px 8px;align-items:center;overflow:hidden}
  .ai-layout.has-office .ai-new-chat-actions{justify-content:center;gap:0}
}
@media(max-width:1000px){.ai-layout.has-office,.ai-layout.sidebar-collapsed.has-office{grid-template-columns:1fr}.ai-layout.sidebar-collapsed{grid-template-columns:1fr}}

/* Standortzeile unter dem Eingabefeld */
.ai-location-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 18px 0;font-size:.74rem;color:var(--muted)}
.ai-location-state{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-location-row .btn{min-height:26px;padding:3px 9px;font-size:.7rem}

/* Mail: Filterzeile über der Nachrichtenliste */
.mail-list-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.mail-list-filters form{display:inline-flex}

/* Duplikate aufräumen: Gruppen, Kopienliste und Vorschau vor dem Papierkorb */
.documents-duplicate-link{color:var(--documents-muted, #7f94aa);text-decoration:none;white-space:nowrap}
.documents-duplicate-link:hover{color:var(--documents-accent, #35c6f5);text-decoration:underline}
.documents-duplicate-link.has-duplicates{color:var(--documents-warning, #f4c35b)}
.duplicates-section{display:grid;gap:14px}
.duplicates-section form{display:grid;gap:12px}
.duplicate-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:13px 16px}
.duplicate-kpis{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:.72rem}
.duplicate-kpis strong{display:block;color:var(--text);font-size:1.1rem;line-height:1.2}
.duplicate-presets{display:flex;gap:6px;flex-wrap:wrap}
.duplicate-group{padding:0;overflow:hidden}
.duplicate-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}
.duplicate-group-head strong{display:block;font-size:.92rem}
.duplicate-group-head small{color:var(--muted);font-size:.7rem}
.duplicate-waste{padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.68rem;white-space:nowrap}
.duplicate-copies{list-style:none;margin:0;padding:0;display:grid}
.duplicate-copy{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 16px;border-top:1px solid var(--line)}
.duplicate-copy:first-child{border-top:0}
.duplicate-copy.is-keep{background:var(--surface-soft)}
.duplicate-copy.is-last{opacity:.75}
.duplicate-choice{display:flex;align-items:flex-start;gap:10px;min-width:0;margin:0;cursor:pointer}
.duplicate-choice input[disabled]{cursor:not-allowed}
.duplicate-copy-text{display:grid;gap:2px;min-width:0}
.duplicate-copy-text strong{font-size:.82rem}
.duplicate-copy-text small{color:var(--muted);font-size:.68rem;overflow-wrap:anywhere}
.duplicate-flags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.duplicate-chip{padding:2px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.62rem;white-space:nowrap}
.duplicate-chip.keep{border-color:var(--success);color:var(--success)}
.duplicate-chip.warn{border-color:var(--warning);color:var(--warning)}
.duplicate-links{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.duplicate-footer{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px}
.duplicate-footer span{color:var(--muted);font-size:.74rem}
.duplicate-preview-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:7px;max-height:46vh;overflow:auto}
.duplicate-preview-list li{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}
.duplicate-preview-list strong{font-size:.8rem}
.duplicate-preview-list small{color:var(--muted);font-size:.66rem;overflow-wrap:anywhere}
.duplicate-preview-note{margin:0 0 14px;color:var(--muted);font-size:.72rem}
@media(max-width:820px){
  .duplicate-copy{grid-template-columns:minmax(0,1fr);gap:8px}
  .duplicate-flags,.duplicate-links{justify-content:flex-start}
  .documents-duplicate-link{display:none}
}

/* Mail-Ausbau: Gesprächsfaden, Regeln und Signatur im Verfassen-Fenster */
.mail-thread-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;margin-left:7px;padding:0 6px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:.62rem;font-weight:700}
.mail-thread-list{list-style:none;margin:0;padding:0;display:grid}
.mail-thread-entry{border-top:1px solid var(--line)}
.mail-thread-entry:first-child{border-top:0}
.mail-thread-entry>a{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 4px;color:inherit;text-decoration:none}
.mail-thread-entry>a:hover{background:var(--surface-2)}
.mail-thread-entry.unread strong{color:var(--primary)}
.mail-thread-when{color:var(--muted);font-size:.7rem;white-space:nowrap}
.mail-thread-text{display:grid;gap:2px;min-width:0}
.mail-thread-text strong{font-size:.8rem}
.mail-thread-text small{color:var(--muted);font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-thread-folder{color:var(--muted);font-size:.66rem;white-space:nowrap}
.mail-rule-list{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.mail-rule{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}
.mail-rule.is-paused{opacity:.6}
.mail-rule-text{display:grid;gap:2px;min-width:0}
.mail-rule-text strong{font-size:.82rem}
.mail-rule-text small{color:var(--muted);font-size:.68rem;overflow-wrap:anywhere}
.mail-rule-actions{display:flex;gap:6px;flex-wrap:wrap}
.mail-rule-form{padding-top:14px;border-top:1px solid var(--line)}
.mail-rule-run{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding:12px;border:1px dashed var(--line);border-radius:var(--radius-sm)}
.mail-rule-run small{display:block;color:var(--muted);font-size:.7rem}
/* Farbige Kategorien (18.08.2026, Auftragsliste Modul 4).
   ⛔ Die Farbe kommt als `--kategorie-farbe` aus dem Modell, NICHT aus dem
   Design: «Rot» muss in jedem Design rot bleiben, sonst stimmt die Markierung
   auf dem iPhone nicht mehr mit der in Cockpit überein. */
.mail-kategorien-leiste,
.mail-kategorien-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 12px}
.mail-kategorien-titel{color:var(--muted);font-size:.72rem;margin-right:.2rem}
.mail-kategorie-knopf{display:inline-flex;align-items:center;gap:.35rem;padding:3px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.72rem;cursor:pointer;text-decoration:none}
.mail-kategorie-knopf:hover{border-color:var(--kategorie-farbe)}
.mail-kategorie-knopf.ist-gesetzt{border-color:var(--kategorie-farbe);color:var(--text);font-weight:600}
.mail-kategorie-punkt{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--kategorie-farbe);flex:0 0 auto}
.mail-subject-line .mail-kategorie-punkt{margin-right:4px;vertical-align:baseline}

/* Kalender-Einladung in der Nachricht (18.08.2026, Auftragsliste Modul 4).
   ⛔ Die Absage-Farbe steht als feste Zahl da, nicht als Designvariable: Ein
   Zustand muss in JEDEM Design als Zustand erkennbar bleiben. */
.mail-einladung{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface-2)}
.mail-einladung.ist-abgesagt{border-left-color:#c0392b}
.mail-einladung-kopf{display:flex;align-items:flex-start;gap:10px}
.mail-einladung-kopf strong{display:block;color:var(--text)}
.mail-einladung-kopf small{display:block;margin-top:2px;color:var(--muted);font-size:.74rem}
.mail-einladung-zeichen{font-size:1.05rem;line-height:1.5}
.mail-einladung p{margin:8px 0 0;font-size:.74rem}
.mail-einladung-knoepfe{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:10px}
.mail-einladung-senden{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--muted);font-size:.74rem}
.mail-signature-preview{margin-top:8px;color:var(--muted);font-size:.74rem}
.mail-signature-preview summary{cursor:pointer}
.mail-signature-preview pre,
.mail-signatur-vorschau{margin:8px 0 0;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:var(--font);font-size:.72rem}
.mail-signature-preview pre{white-space:pre-wrap}
/* Nur die reine Textsignatur braucht erhaltene Zeilenumbrueche — eine
   HTML-Signatur bringt ihre eigenen Absaetze mit. */
.mail-signatur-vorschau.ist-text{white-space:pre-wrap}
.mail-signature-hint{display:block;margin-top:6px;color:var(--muted);font-size:.72rem}
@media(max-width:820px){
  .mail-thread-entry>a{grid-template-columns:minmax(0,1fr);gap:4px}
  .mail-thread-folder,.mail-thread-when{font-size:.64rem}
}

/* Tresor-Dateien: Suche, Detailbereich und Statusleiste wie im Dokumente-Explorer */
.vault-search{max-width:420px;margin-left:auto}
.vault-search .btn{margin-left:6px}
.vault-search-note{margin:0 0 12px;color:var(--muted);font-size:.72rem}
.vault-files-card .vault-files-grid{grid-template-columns:230px minmax(0,1fr) 260px}
.vault-inspector{align-self:stretch;min-width:0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.vault-inspector-empty{display:grid;justify-items:center;gap:6px;padding:22px 10px;text-align:center;color:var(--muted)}
.vault-inspector-empty>span{font-size:1.6rem;color:var(--amber)}
.vault-inspector-empty p{margin:0;font-size:.7rem}
.vault-inspector-content>header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.vault-inspector-content>header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}
.vault-inspector-content>header button{margin-left:auto;border:0;background:transparent;color:var(--muted);font-size:1.1rem;cursor:pointer}
.vault-inspector-note{margin:12px 0;color:var(--muted);font-size:.66rem}
.vault-inspector-actions{display:flex;gap:6px;flex-wrap:wrap}
.vault-row.is-active{border-color:var(--amber);box-shadow:inset 2px 0 var(--amber)}
.vault-statusbar{margin-top:14px;border-top:1px solid var(--border);border-radius:0 0 12px 12px;grid-template-columns:auto auto auto auto minmax(0,1fr)}
.vault-statusbar-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
@media(max-width:1100px){
  .vault-files-card .vault-files-grid{grid-template-columns:200px minmax(0,1fr)}
  .vault-inspector{grid-column:1/-1}
}
@media(max-width:820px){
  .vault-files-card .vault-files-grid{grid-template-columns:1fr}
  .vault-search{max-width:none;margin-left:0}
  .vault-statusbar{grid-template-columns:auto auto;gap:8px}
  .vault-statusbar>span:nth-child(3),.vault-statusbar>span:nth-child(4),.vault-statusbar-path{display:none}
  /* Die Explorer-Regel blendet auf schmalen Geräten auch die Elementzahl aus;
     im Tresor bleibt sie stehen, sonst steht dort nur „0 ausgewählt“. */
  .vault-statusbar>span:nth-child(2){display:inline}
}

/* Nachrichtenliste: Zeilen dürfen die Liste nicht sprengen.
   Die Liste ist ein Raster; ohne feste Spaltenbreite wächst die Spalte auf die
   Textlänge (gemessen: 3075px in einer 695px breiten Karte). Der Ausschnitt
   wurde dann einfach abgeschnitten — daher der fehlende Rand rechts und das
   nie erscheinende Auslassungszeichen. */
.mail-message-list{grid-template-columns:minmax(0,1fr)}
.mail-message-row{max-width:100%;min-width:0}
.mail-message-row>*{min-width:0}
.mail-subject{flex:1 1 auto;min-width:0;padding-right:10px}
/* Betreffzeile und Zähler nebeneinander, Ausschnitt darunter — beide gekürzt. */
.mail-subject-line{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%}
.mail-subject-line strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-subject .mail-snippet{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-thread-count{flex:0 0 auto}
.mail-sender{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-date{flex:0 0 auto;white-space:nowrap;text-align:right}

/* Nachrichtenliste: Auswahlkästchen muss anklickbar bleiben.
   Die Zeile legt einen Überzug-Link über die ganze Fläche und schaltet die
   Zeigerereignisse ihrer Kinder ab — dabei fiel das Kästchen mit heraus, ein
   Klick öffnete die Nachricht statt sie zu markieren. */
.mail-message-row .mail-row-check,
.mail-message-row .mail-row-check input,
.mail-message-row label,
.mail-message-row input[type=checkbox]{pointer-events:auto}
.mail-outbox-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
/* Vorschaufenster (12.08.2026, präzisiert): klappt DIREKT UNTER der
   angeklickten Zeile auf — app.js setzt das Element per zeile.after(...)
   dorthin; derselbe Klick klappt es wieder zu. */
.mail-preview{display:flex;flex-direction:column;margin:0 10px 10px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:14px;overflow:hidden;background:var(--panel);box-shadow:0 14px 34px rgba(0,0,0,.22)}
.mail-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border)}
.mail-preview-meta{display:grid;min-width:0}
.mail-preview-meta strong,.mail-preview-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-preview-meta small{color:var(--muted)}
.mail-preview-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;flex-wrap:wrap}
.mail-preview-frame{width:100%;height:min(44vh,520px);border:0;background:transparent}
.mail-message-row.is-previewed{background:color-mix(in srgb,var(--primary) 10%,transparent)}
@media(max-width:980px){.mail-preview{display:none}}
.mail-list-selectall{padding:8px 14px;border-bottom:1px solid var(--border);color:var(--muted);font-size:.74rem}
.mail-list-selectall label{display:inline-flex;align-items:center;gap:8px;margin:0;cursor:pointer}

/* Tresor-Dateien im Explorer-Gerüst: gleiche Bauweise, Tresorfarben.
   Der Explorer holt seine Farben aus --documents-*; hier werden nur diese
   Variablen umgesetzt, damit Aufbau und Abstände eins zu eins gleich bleiben. */
.documents-explorer-app.vault-skin{
  --documents-accent: var(--amber, #f0c45c);
  --documents-accent-strong: #d9a83a;
  --documents-accent-soft: color-mix(in srgb, var(--amber, #f0c45c) 16%, var(--documents-bg-panel));
  --documents-hover: color-mix(in srgb, var(--amber, #f0c45c) 10%, var(--documents-row));
  --documents-active: color-mix(in srgb, var(--amber, #f0c45c) 22%, var(--documents-row));
  --documents-line: color-mix(in srgb, var(--amber, #f0c45c) 20%, var(--documents-line-strong));
  border-color: color-mix(in srgb, var(--amber, #f0c45c) 30%, var(--documents-line-strong));
}
.vault-skin .documents-title-icon,
.vault-skin .documents-breadcrumbs a:last-child{color:var(--amber, #f0c45c)}
.vault-skin .documents-folder-icon{color:var(--amber, #f0c45c)}
.vault-skin .documents-list-row.is-active,
.vault-skin .documents-list-row[aria-selected="true"]{box-shadow:inset 2px 0 var(--amber, #f0c45c)}
.vault-skin .file-kind-badge{background:color-mix(in srgb, var(--amber, #f0c45c) 18%, transparent);color:var(--amber, #f0c45c)}
.vault-skin .btn-primary{background:var(--amber, #f0c45c);border-color:var(--amber, #f0c45c);color:#1a1206}
.vault-skin .documents-inspector-empty>span{color:var(--amber, #f0c45c)}
.vault-skin .vault-inspector-note{margin:0;color:var(--documents-muted);font-size:.66rem}
.vault-skin .documents-search-hint{margin-left:auto;color:var(--documents-muted);font-size:.68rem;white-space:nowrap}
.vault-skin .vault-crumb-actions{display:inline-flex;gap:6px;margin-left:10px}
.vault-skin .vault-row-more{display:none;position:absolute;right:34px;z-index:5;gap:5px;padding:6px;border:1px solid var(--documents-line);border-radius:9px;background:var(--documents-bg-panel);box-shadow:0 10px 26px rgba(0,0,0,.35)}
.vault-skin .vault-row-more.open{display:inline-flex;flex-wrap:wrap;max-width:330px}
.vault-skin .documents-statusbar .vault-statusbar-path{margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------------------------------------------------------------------------
   Dateiliste der Dokumentenablage in derselben Grösse wie der Ordnerbaum.
   Bewusst am Dateiende: Die Schriftgrössen der Liste werden weiter oben mehrfach
   nachgesetzt: eine Änderung mittendrin wäre wirkungslos geblieben.
   Nur für den Schreibtisch — die Handy-Ansicht bleibt kompakt.
--------------------------------------------------------------------------- */
@media(min-width:1081px){
  .documents-list-row .documents-name-cell strong{font-size:.84rem;line-height:1.3}
  .documents-list-row .documents-name-cell small{font-size:.68rem;margin-top:3px}
  .documents-list-row .documents-cell-muted{font-size:.72rem}
  .documents-list-header{font-size:.66rem;letter-spacing:.03em}
  .documents-list-row{min-height:52px}
}

/* ---------------------------------------------------------------------------
   Namensspalte der Listen: Weiter oben wird sie einspaltig gesetzt, weil die
   Dateisymbol-Kästchen abgeschafft wurden. Das Kürzel-Kästchen des Tresors
   («XLSX», «DOCX») blieb dabei sichtbar und wurde dadurch zum breiten Balken
   ÜBER dem Namen. Es sagt ohnehin nur, was die Spalte «Typ» schon zeigt.
   Der Ordner behält sein Symbol — dafür braucht die Zelle wieder zwei Spalten.
--------------------------------------------------------------------------- */
.documents-list-row .file-kind-badge{display:none!important}
.documents-name-cell:has(.documents-folder-icon){grid-template-columns:27px minmax(0,1fr)}


/* Eigene Bilder des Benutzers, zweite Lieferung. Farben aus dem jeweiligen
   Bild abgeleitet, damit Oberfläche und Hintergrund zusammenpassen. */
html[data-theme-preset="my_gate_teams"]{--primary:#6cc4f5;--primary-strong:#1f6f9c;--teal:#f0b429;--bg:#050f1c;--bg-deep:#020712;--surface-2:#0d2032;--surface-3:#16344c;--theme-symbol:"✦";--theme-art:url('/static/themes/my_gate_teams.webp');--theme-art-position:center 30%;--theme-art-overlay:rgba(2,7,16,.70);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_gate_rock"]{--primary:#7bd0f7;--primary-strong:#1d6d99;--teal:#f59e0b;--bg:#050b14;--bg-deep:#01050c;--surface-2:#0b1c2c;--surface-3:#142c42;--theme-symbol:"✦";--theme-art:url('/static/themes/my_gate_rock.webp');--theme-art-position:center center;--theme-art-overlay:rgba(2,6,13,.66);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_gate_night"]{--primary:#5cb8e0;--primary-strong:#1a5f88;--teal:#8fd3f4;--bg:#040c16;--bg-deep:#010509;--surface-2:#0a1a28;--surface-3:#12293c;--theme-symbol:"✦";--theme-art:url('/static/themes/my_gate_night.webp');--theme-art-position:center 55%;--theme-art-overlay:rgba(1,6,12,.62);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_trek_constitution"]{--primary:#c9a9f0;--primary-strong:#7c4fd0;--teal:#f7a8b8;--bg:#0d0620;--bg-deep:#050211;--surface-2:#1a0f33;--surface-3:#281a4a;--theme-symbol:"✦";--theme-art:url('/static/themes/my_trek_constitution.webp');--theme-art-position:58% center;--theme-art-overlay:rgba(8,3,20,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_trek_homeworld"]{--primary:#7cc4ff;--primary-strong:#1f6fc4;--teal:#f3d38a;--bg:#020a18;--bg-deep:#01040d;--surface-2:#09182a;--surface-3:#12253c;--theme-symbol:"✦";--theme-art:url('/static/themes/my_trek_homeworld.webp');--theme-art-position:center 42%;--theme-art-overlay:rgba(1,5,14,.66);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_trek_cube_close"]{--primary:#63d99a;--primary-strong:#1d8a56;--teal:#f97316;--bg:#040e0b;--bg-deep:#010604;--surface-2:#0a1d16;--surface-3:#123024;--theme-symbol:"✦";--theme-art:url('/static/themes/my_trek_cube_close.webp');--theme-art-position:62% center;--theme-art-overlay:rgba(1,8,6,.66);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_trek_fleet_battle"]{--primary:#8fb7f2;--primary-strong:#3060b8;--teal:#f0a03c;--bg:#03080f;--bg-deep:#010409;--surface-2:#0a1420;--surface-3:#132135;--theme-symbol:"✦";--theme-art:url('/static/themes/my_trek_fleet_battle.webp');--theme-art-position:center center;--theme-art-overlay:rgba(1,4,10,.60);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_trek_cube_green"]{--primary:#5ef08a;--primary-strong:#17924a;--teal:#a3f7bf;--bg:#030b06;--bg-deep:#010502;--surface-2:#08190f;--surface-3:#0f2818;--theme-symbol:"✦";--theme-art:url('/static/themes/my_trek_cube_green.webp');--theme-art-position:center center;--theme-art-overlay:rgba(1,7,4,.64);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_trek_ringworld"]{--primary:#8fb8ff;--primary-strong:#2f66c8;--teal:#f4a3c0;--bg:#040a18;--bg-deep:#01040e;--surface-2:#0b182c;--surface-3:#14263f;--theme-symbol:"✦";--theme-art:url('/static/themes/my_trek_ringworld.webp');--theme-art-position:center 46%;--theme-art-overlay:rgba(2,5,14,.62);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-theme-preset="my_trek_classic"]{--primary:#9ec9f5;--primary-strong:#2f6ea8;--teal:#e2e8f0;--bg:#02070f;--bg-deep:#010408;--surface-2:#081522;--surface-3:#102334;--theme-symbol:"✦";--theme-art:url('/static/themes/my_trek_classic.webp');--theme-art-position:center 44%;--theme-art-overlay:rgba(1,4,9,.66);--theme-icon-bg:color-mix(in srgb,var(--primary) 14%,transparent);--theme-icon-border:color-mix(in srgb,var(--primary) 45%,transparent)}

/* Vorschaubildchen in der Design-Auswahl für die zweite Bildlieferung. */
.theme-swatch-my_gate_teams{background-image:linear-gradient(rgba(2,7,16,.15),rgba(2,7,16,.15)),url('/static/themes/my_gate_teams.webp')!important;background-position:center 30%!important;background-size:cover!important}
.theme-swatch-my_gate_rock{background-image:linear-gradient(rgba(2,6,13,.15),rgba(2,6,13,.15)),url('/static/themes/my_gate_rock.webp')!important;background-position:center center!important;background-size:cover!important}
.theme-swatch-my_gate_night{background-image:linear-gradient(rgba(1,6,12,.15),rgba(1,6,12,.15)),url('/static/themes/my_gate_night.webp')!important;background-position:center 55%!important;background-size:cover!important}
.theme-swatch-my_trek_constitution{background-image:linear-gradient(rgba(8,3,20,.15),rgba(8,3,20,.15)),url('/static/themes/my_trek_constitution.webp')!important;background-position:58% center!important;background-size:cover!important}
.theme-swatch-my_trek_homeworld{background-image:linear-gradient(rgba(1,5,14,.15),rgba(1,5,14,.15)),url('/static/themes/my_trek_homeworld.webp')!important;background-position:center 42%!important;background-size:cover!important}
.theme-swatch-my_trek_cube_close{background-image:linear-gradient(rgba(1,8,6,.15),rgba(1,8,6,.15)),url('/static/themes/my_trek_cube_close.webp')!important;background-position:62% center!important;background-size:cover!important}
.theme-swatch-my_trek_fleet_battle{background-image:linear-gradient(rgba(1,4,10,.15),rgba(1,4,10,.15)),url('/static/themes/my_trek_fleet_battle.webp')!important;background-position:center center!important;background-size:cover!important}
.theme-swatch-my_trek_cube_green{background-image:linear-gradient(rgba(1,7,4,.15),rgba(1,7,4,.15)),url('/static/themes/my_trek_cube_green.webp')!important;background-position:center center!important;background-size:cover!important}
.theme-swatch-my_trek_ringworld{background-image:linear-gradient(rgba(2,5,14,.15),rgba(2,5,14,.15)),url('/static/themes/my_trek_ringworld.webp')!important;background-position:center 46%!important;background-size:cover!important}
.theme-swatch-my_trek_classic{background-image:linear-gradient(rgba(1,4,9,.15),rgba(1,4,9,.15)),url('/static/themes/my_trek_classic.webp')!important;background-position:center 44%!important;background-size:cover!important}

/* ==================== Suchbare Auswahlfelder (08.08.2026) ====================
   Das echte <select> liegt durchsichtig über dem Feld (opacity 0 statt
   display:none — nur so bleibt es für die Pflichtfeldprüfung des Browsers
   erreichbar), sichtbar ist das Suchfeld mit eigener Trefferliste. */
.search-select{position:relative;display:block;width:100%;min-width:0}
.search-select>select{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;opacity:0!important;pointer-events:none!important;-webkit-appearance:none;appearance:none}
.search-select>.search-select-input{width:100%;padding-right:38px;cursor:pointer;text-overflow:ellipsis}
.search-select>.search-select-input::placeholder{color:var(--muted)}
.search-select-toggle{position:absolute;right:7px;top:50%;display:grid;place-items:center;width:26px;height:26px;min-height:0;padding:0;border:0;border-radius:8px;transform:translateY(-50%);background:transparent;color:var(--muted);cursor:pointer;transition:.15s ease}
.search-select-toggle svg{width:16px;height:16px}
.search-select.is-open .search-select-toggle{color:var(--primary);transform:translateY(-50%) rotate(180deg)}
/* Karten schneiden ab (.card{overflow:hidden}) — bei der Erfassungskarte wurde
   dadurch die Kontenliste abgeschnitten, und man musste erst scrollen
   (09.08.2026 gemeldet). Nur DIESE Karte darf ueberstehen; ein globaler Umbau
   auf position:fixed war der falsche Weg: Ein Vorfahre mit transform/filter
   macht «fixed» relativ zu sich selbst, und die Liste landete weit daneben. */
.booking-composer{overflow:visible;position:relative;z-index:5}
/* Das z-index gehoert dazu: .card traegt backdrop-filter:blur(8px), und das
   macht JEDE Karte zu einem eigenen Stapelraum. Die ueberstehende Liste
   verschwand darum hinter dem naechsten Block «Buchungen und Vorgaenge»,
   obwohl sie selbst z-index:60 hat — das gilt nur INNERHALB ihrer Karte.
   Erst der Wert an der Karte hebt sie ueber die nachfolgenden Geschwister.
   (Derselbe backdrop-filter war der Grund, warum der Umbau auf
   position:fixed die Liste weit neben das Feld gesetzt hat.) */
/* Der Eintrag zum Anlegen steht am Ende der Liste und hebt sich ab. */
.search-select-option.search-select-create{margin-top:4px;border-top:1px solid var(--border);color:var(--primary);font-weight:750}
.search-select-option.search-select-create.is-active{background:color-mix(in srgb,var(--primary) 18%,transparent)}
.search-select-panel{position:absolute;z-index:60;top:calc(100% + 4px);left:0;right:0;max-height:320px;overflow:auto;overscroll-behavior:contain;padding:5px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--border));border-radius:12px;background-color:var(--bg);background-image:linear-gradient(var(--surface),var(--surface));box-shadow:0 18px 44px rgba(0,0,0,.32)}
.search-select.is-above .search-select-panel{top:auto;bottom:calc(100% + 4px)}
.search-select-panel[hidden]{display:none}
.search-select-option{padding:8px 10px;border-radius:9px;color:var(--text);font-size:.82rem;line-height:1.35;cursor:pointer;overflow-wrap:anywhere}
.search-select-option.is-current{font-weight:750}
.search-select-option.is-active{background:color-mix(in srgb,var(--primary) 16%,transparent)}
.search-select-empty{padding:8px 10px;color:var(--muted);font-size:.78rem}
.bulk-mutation-bar .search-select{flex:1;min-width:140px;max-width:190px}
@media(max-width:900px){.bulk-mutation-bar .search-select{max-width:none}}

/* ============== Vereinfachte Erfassung im Treuhänder-Stil (08.08.2026) ==============
   Eine Zeile je Buchung: Datum · Beleg-Nr · Soll · Haben · Text · Betrag · Buchen.
   Das Abzeichen in der Kartenkopfzeile schaltet zwischen den beiden Masken um. */
.booking-layout-switch{text-decoration:none;cursor:pointer;white-space:nowrap;transition:.15s ease}
.booking-layout-switch:hover{border-color:color-mix(in srgb,var(--primary) 70%,var(--border));color:var(--text)}
.simple-booking{display:grid;gap:9px;padding:0 20px 20px}
.simple-booking-row{display:grid;grid-template-columns:176px minmax(118px,.95fr) minmax(118px,.95fr) minmax(220px,2.1fr) 116px auto;gap:9px;align-items:end}
.simple-booking-row input[type="date"]{min-width:0;padding-right:34px!important}
.simple-booking-row input[type="date"]::-webkit-calendar-picker-indicator{right:9px}
.simple-booking-row .field{min-width:0;gap:5px}
.simple-booking-row .field label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.simple-booking-row>.btn{min-height:44px;white-space:nowrap}
.simple-booking-help{color:var(--muted);font-size:.72rem;line-height:1.45}
/* ⭐ Der Umschalter traegt jetzt DREI Masken (16.08.2026) — als Leiste, in der
   die aktive markiert ist, statt eines Knopfs mit zwei Zustaenden. */
.booking-layout-switch{display:inline-flex;gap:6px;flex-wrap:wrap}
.booking-layout-switch .badge{text-decoration:none;cursor:pointer;white-space:nowrap;transition:.15s ease}
.booking-layout-switch .badge:hover{border-color:color-mix(in srgb,var(--primary) 70%,var(--border));color:var(--text)}

/* ===== Kompakte Maske (16.08.2026, Wunsch des Users) =====================
   «kuerzer resp. kompakter, es braucht oft schlicht auch nicht so grosse
   Felder» — darum kleinere Schrift, weniger Hoehe und engere Abstaende als
   in der vereinfachten Maske. Zwei Zeilen: Buchung oben, Zuordnung unten. */
.kompakt-booking{display:grid;gap:7px;padding:0 20px 16px}
.kompakt-row{display:grid;gap:7px;align-items:end}
.kompakt-row{grid-template-columns:150px minmax(110px,1fr) minmax(110px,1fr) minmax(180px,2fr) 110px}
.kompakt-row-zwei{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(130px,1fr) minmax(110px,.8fr) auto}
.kompakt-row .field{min-width:0;gap:3px}
.kompakt-row .field label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.68rem}
.kompakt-row input,.kompakt-row select{min-height:34px;padding-top:5px;padding-bottom:5px;font-size:.82rem}
.kompakt-row input[type="date"]{min-width:0;padding-right:30px!important}
.kompakt-buchen{min-height:34px;padding:0 16px;white-space:nowrap;font-size:.82rem}

/* Die Live-Vorschau: links Soll, rechts Haben. */
.kompakt-vorschau{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px 20px}
.kompakt-seite{border:1px solid var(--border);border-radius:11px;background:var(--surface-2);overflow:hidden}
.kompakt-seite>header{display:flex;align-items:center;gap:8px;padding:8px 11px;border-bottom:1px solid var(--border)}
.kompakt-seite>header strong{font-size:.78rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kompakt-seite-marke{flex:none;padding:2px 8px;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.04em;
  background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}
.kompakt-seite-marke-haben{background:color-mix(in srgb,var(--amber) 20%,transparent);color:var(--amber)}
.kompakt-liste{padding:7px 11px 11px;display:grid;gap:3px}
.kompakt-liste .muted{font-size:.74rem;margin:6px 0}
/* Eine Zeile: Balken als Hintergrund, darueber Datum, Text und Betrag. */
/* ⭐ 16.08.2026: Vorn die Soll/Haben-Marke, darum eine Spalte mehr. */
.kompakt-zeile{position:relative;display:grid;grid-template-columns:18px 62px minmax(0,1fr) auto;gap:8px;align-items:center;
  padding:4px 7px;border-radius:6px;font-size:.74rem;overflow:hidden;
  color:inherit;text-decoration:none}
/* ⛔ SOLL/HABEN sind BEDEUTUNG, keine Gestaltung — darum feste Farben, wie bei
   den Betraegen darunter. Sie muessen in jedem Design gleich lesbar bleiben.
   ⚠ Nicht dieselben Farben wie ab/zu (rot/gruen): Soll ist nicht «schlecht».
   Die Marke traegt darum eine eigene, ruhige Paarung. */
/* ⛔⛔⛔ 16.08.2026 — NAMENSKONFLIKT, im Browser gemessen und behoben.
   Hier hiess die kleine S/H-Marke der ZEILE ebenfalls `.kompakt-seite` — genau
   wie das ganze Vorschau-FELD zwölf Zeilen weiter oben. Weil diese Regel
   SPÄTER steht und gleich stark ist, gewann sie: Gemessen bekamen BEIDE
   Vorschau-Felder `width:18px; height:18px; overflow:hidden` — die ganze
   Soll/Haben-Vorschau war ein 18-Pixel-Quadrat und damit unsichtbar.
   ⚠ Der Datenfehler dahinter war am selben Tag bereits behoben; die Vorschau
   wäre trotzdem leer geblieben, und zwar unabhängig von jeder Buchung.
   ⚠ Kein Prüfstand konnte das sehen: Die Prüfungen fragen die Route ab, und
   die antwortete korrekt. Sichtbar wird es nur durch eine Messung im Browser.
   ➤ Die Marke der Zeile heisst jetzt `.kompakt-zeile-seite`, die Marke im
   Kopf `.kompakt-seite-marke-haben`. Das Feld behält `.kompakt-seite`. */
.kompakt-zeile-seite{position:relative;display:grid;place-items:center;width:18px;height:18px;
  border-radius:5px;font-weight:900;font-size:.62rem;letter-spacing:0}
.kompakt-zeile-seite-soll{background:rgba(56,189,248,.18);color:#0284c7}
.kompakt-zeile-seite-haben{background:rgba(168,85,247,.18);color:#9333ea}
.kompakt-zeile-seite-offen{background:rgba(148,163,184,.16);color:var(--muted)}
html[data-theme="dark"] .kompakt-zeile-seite-soll,:root:not([data-theme="light"]) .kompakt-zeile-seite-soll{color:#7dd3fc}
html[data-theme="dark"] .kompakt-zeile-seite-haben,:root:not([data-theme="light"]) .kompakt-zeile-seite-haben{color:#d8b4fe}
/* Die zweite Zeile: Gegenkonto und Gegenpartei, klein unter dem Text. */
.kompakt-gegen{display:block;color:var(--muted);font-size:.66rem;line-height:1.25;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kompakt-klickbar{cursor:pointer}
.kompakt-klickbar:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}
.kompakt-klickbar:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.kompakt-balken{position:absolute;inset:0;pointer-events:none}
.kompakt-balken span{display:block;height:100%;border-radius:6px;opacity:.16}
/* ⛔ Zustandsfarben NIE aus den Designvariablen — sie sind Bedeutung, nicht
   Gestaltung, und muessen in jedem Design gleich lesbar bleiben. */
.kompakt-ab .kompakt-balken span{background:#dc2626}
.kompakt-zu .kompakt-balken span{background:#16a34a}
.kompakt-ab .kompakt-betrag{color:#dc2626}
.kompakt-zu .kompakt-betrag{color:#16a34a}
.kompakt-datum,.kompakt-text,.kompakt-betrag{position:relative}
.kompakt-datum{color:var(--muted);font-variant-numeric:tabular-nums}
.kompakt-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kompakt-betrag{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
/* ⭐ 16.08.2026, aus dem Maskenvorschlag des Users: Kontoart unter dem Feld,
   Saldo unter der Vorschau, «Buchen + Neu» neben dem Buchen-Knopf.
   ⚠ Die Kontoart ist eine LEISE Angabe — sie soll beim Hinsehen helfen und
   nicht mit der Beschriftung des Feldes konkurrieren. */
.kompakt-kontoart{display:block;margin-top:2px;font-size:.65rem;line-height:1.2;color:var(--muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kompakt-saldo{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding:7px 11px;border-top:1px solid var(--border);font-size:.72rem;color:var(--muted)}
.kompakt-saldo strong{font-size:.82rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
/* ⛔ Ein negativer Saldo ist ein ZUSTAND, keine Gestaltung — feste Farbe, wie
   bei den Beträgen darüber. */
.kompakt-saldo .kompakt-saldo-minus{color:#dc2626}
.kompakt-buchen-neu{min-height:34px;padding:0 12px;white-space:nowrap;font-size:.78rem}
/* ⭐ 16.08.2026: «Beleg von der KI lesen lassen» unter dem Dateifeld.
   ⚠ Die gefüllten Felder bekommen kurz einen Akzentrand — sonst sieht der
   Benutzer nicht, WAS die KI eingetragen hat, und müsste alles nachlesen. */
.beleg-ki{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 2px}
.beleg-ki small{color:var(--muted);font-size:.72rem;line-height:1.35}
/* ⛔ Zustandsfarbe, darum fest: eine niedrige Trefferqualität muss in jedem
   Design gleich gut auffallen. */
.beleg-ki small.beleg-unsicher{color:#b45309}
.beleg-gefuellt{border-color:var(--primary)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}

/* ⭐⭐ 16.08.2026: Metadaten in der Bibliothek selbst bearbeiten — und sehen,
   welches Feld WEM gehört. Bis heute liess sich ein falsch erkannter
   Serientitel gar nicht korrigieren. */
.metadata-edit-box{margin:14px 0;border:1px solid var(--border);border-radius:11px;
  background:var(--surface-2);padding:10px 13px}
.metadata-edit-box>summary{cursor:pointer;font-weight:650;font-size:.84rem}
.metadata-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px;margin-top:11px}
.metadata-edit-grid .full{grid-column:1/-1}
.metadata-edit-grid .field label{display:flex;align-items:center;gap:6px;font-size:.7rem}
.metadata-edit-grid input,.metadata-edit-grid textarea{min-height:32px;font-size:.82rem}
.metadata-edit-grid .form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.metadata-edit-grid .form-actions small{color:var(--muted);font-size:.7rem}
/* ⛔ «deins» ist eine ZUSAGE, keine Zierde — feste Farbe, damit sie in jedem
   Design gleich deutlich bleibt. */
.feld-eigen{padding:1px 6px;border-radius:999px;font-size:.6rem;font-weight:800;
  letter-spacing:.03em;background:rgba(22,163,74,.16);color:#15803d}
html[data-theme="dark"] .feld-eigen,:root:not([data-theme="light"]) .feld-eigen{color:#86efac}
.feld-quelle{color:var(--muted);font-size:.6rem;font-weight:500}
.candidate-eigene{display:flex;align-items:center;gap:6px;font-size:.68rem;color:var(--muted);
  white-space:nowrap;margin-right:8px}
@media(max-width:760px){.metadata-edit-grid{grid-template-columns:1fr}}

/* ⭐⭐ 16.08.2026: «Vergleich vor Übernahme». Alt und Neu nebeneinander,
   Unterschiede hervorgehoben, jede Zeile abwählbar. */
.vergleich-kopf,.vergleich-zeile{display:grid;grid-template-columns:minmax(160px,1fr) 1.3fr 1.3fr;
  gap:12px;align-items:start;padding:7px 10px}
.vergleich-kopf{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);
  border-bottom:1px solid var(--border)}
.vergleich-zeile{border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent);
  font-size:.82rem;cursor:pointer}
.vergleich-zeile:hover{background:color-mix(in srgb,var(--primary) 6%,transparent)}
.vergleich-feld{display:flex;align-items:center;gap:7px;font-weight:600;font-size:.78rem}
.vergleich-alt{color:var(--muted)}
/* ⛔ «geändert» ist BEDEUTUNG, nicht Gestaltung — feste Farbe, damit der
   Unterschied in jedem Design gleich deutlich bleibt. */
.vergleich-zeile.ist-anders .vergleich-neu{font-weight:650;color:#0f766e}
html[data-theme="dark"] .vergleich-zeile.ist-anders .vergleich-neu,
:root:not([data-theme="light"]) .vergleich-zeile.ist-anders .vergleich-neu{color:#5eead4}
.vergleich-zeile:not(.ist-anders){opacity:.6}
.vergleich-cover{display:flex;gap:22px;margin:16px 0 4px;flex-wrap:wrap}
.vergleich-cover div{display:grid;gap:5px}
.vergleich-cover small{color:var(--muted);font-size:.7rem}
.vergleich-cover img{max-height:190px;border-radius:8px;border:1px solid var(--border)}
.hinweis-eigen{display:flex;align-items:center;gap:9px;padding:9px 12px;margin:0 0 14px;
  border-radius:10px;font-size:.8rem;
  background:color-mix(in srgb,var(--primary) 9%,transparent);
  border:1px solid color-mix(in srgb,var(--primary) 26%,var(--border))}
@media(max-width:760px){.vergleich-kopf{display:none}
  .vergleich-zeile{grid-template-columns:1fr;gap:3px}}

/* ⭐⭐ 16.08.2026: Hörbuch — Kapitelliste, Einschlafzeit.
   Ohne Kapitel ist ein zwölfstündiges Buch ein einziger Balken. */
.audiobook-kapitel{margin-top:14px;border:1px solid var(--border);border-radius:11px;
  background:var(--surface-2);padding:9px 12px}
.audiobook-kapitel>summary{cursor:pointer;font-weight:650;font-size:.82rem}
.kapitel-liste{list-style:none;margin:9px 0 0;padding:0;display:grid;gap:2px;
  max-height:340px;overflow-y:auto}
.kapitel-liste button{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;
  align-items:center;width:100%;padding:6px 8px;border:0;border-radius:7px;
  background:transparent;color:inherit;font-size:.8rem;text-align:left;cursor:pointer}
.kapitel-liste button:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}
.kapitel-liste button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.kapitel-nr{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}
.kapitel-titel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kapitel-zeit{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}
/* ⛔ «hier bin ich» ist Zustand, nicht Gestaltung — feste Farbe. */
.kapitel-liste button.ist-hier{background:rgba(10,132,255,.16);font-weight:650}
.kapitel-liste button.ist-hier .kapitel-nr{color:#0a84ff}
.audio-sleep-stand{color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}

/* ⭐ 16.08.2026: Metadatenverlauf mit Rückweg. */
.metadata-verlauf-box{margin:12px 0;border:1px solid var(--border);border-radius:11px;
  background:var(--surface-2);padding:9px 13px}
.metadata-verlauf-box>summary{cursor:pointer;font-weight:650;font-size:.82rem}
.verlauf-liste{display:grid;gap:4px;margin-top:10px}
.verlauf-zeile{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1fr) auto minmax(0,1fr) minmax(140px,.9fr) auto;
  gap:9px;align-items:center;padding:5px 8px;border-radius:7px;font-size:.75rem;
  border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}
.verlauf-feld{font-weight:650}
.verlauf-vorher{color:var(--muted);text-decoration:line-through;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.verlauf-nachher{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.verlauf-pfeil{color:var(--muted)}
.verlauf-quelle{color:var(--muted);font-size:.68rem;white-space:nowrap}
.verlauf-zeile form{margin:0;justify-self:end}
@media(max-width:760px){.verlauf-zeile{grid-template-columns:1fr;gap:2px}
  .verlauf-pfeil{display:none}.verlauf-zeile form{justify-self:start}}

/* ⭐ 16.08.2026: Adminliste der Metadatenquellen. */
.quellen-liste{display:grid;gap:7px}
.quellen-zeile{display:grid;grid-template-columns:minmax(150px,1fr) minmax(110px,.8fr) auto minmax(160px,1.1fr) auto auto;
  gap:12px;align-items:center;padding:8px 11px;border:1px solid var(--border);
  border-radius:10px;background:var(--surface-2);font-size:.8rem}
.quellen-zeile.ist-aus{opacity:.55}
.quellen-an{margin:0;white-space:nowrap}
.quellen-wofuer{color:var(--muted);font-size:.72rem}
.quellen-rang,.quellen-key{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--muted)}
.quellen-rang input{width:64px;min-height:30px}
.quellen-key input{min-height:30px;font-size:.78rem}
.quellen-frei{font-style:italic}
.quellen-loeschen{margin:0;font-size:.68rem;white-space:nowrap}
.quellen-stand{justify-self:end;white-space:nowrap}
@media(max-width:980px){.quellen-zeile{grid-template-columns:1fr 1fr;gap:7px}
  .quellen-stand{justify-self:start}}
@media(max-width:1180px){
  .kompakt-row,.kompakt-row-zwei{grid-template-columns:1fr 1fr}
  .kompakt-buchen{grid-column:1/-1}
  .kompakt-buchen-neu{grid-column:1/-1}
  .kompakt-vorschau{grid-template-columns:1fr}
}
/* Der Inhaltsbereich ist um die Seitenleiste (264 px) schmaler als das Fenster —
   darum liegt die Grenze fuer die einzeilige Erfassung bei 1180 px Fensterbreite. */
@media(max-width:1180px){
  .simple-booking-row{grid-template-columns:176px minmax(0,1fr) minmax(0,1fr)}
  .simple-booking-row>.btn{grid-column:1/-1}
}
@media(max-width:620px){
  .simple-booking{padding:0 14px 16px}
  .simple-booking-row{grid-template-columns:1fr 1fr}
}
/* =============== Bankabstimmung mit Saldo-Erkennung (08.08.2026) =============== */
.reconciliation-scan{display:grid;gap:12px}
.reconciliation-scan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.reconciliation-scan-head strong{display:block}
.reconciliation-scan-head small{display:block;margin-top:3px;color:var(--muted);line-height:1.45}
.reconciliation-scan .form-grid{grid-template-columns:minmax(0,1fr) 170px}
.reconciliation-scan .form-actions{margin:0}
@media(max-width:720px){.reconciliation-scan .form-grid{grid-template-columns:1fr}}

/* ============ Ordnerwechsel ohne Flackern (Wunsch des Users, 08.08.2026) ============
   Vorher riss der Browser beim Ordnerwechsel die ganze Seite ab und baute sie neu
   auf — ein weisses Zucken, und die Ordnerspalte sprang nach oben.

   Der Browser kann das selbst besser: Mit einem Seitenübergang hält er das ALTE
   Bild stehen, bis die neue Seite fertig ist, und blendet dann weich über. Das
   geschieht ohne eine Zeile Skript — Auswahl, Rechtsklick und
   Ziehen-und-Ablegen bleiben deshalb genau, wie sie sind. Wo der Browser das
   noch nicht kann, verhält sich Cockpit wie bisher.

   Die ruhenden Teile bekommen einen eigenen Namen: Ordnerspalte, Kopfzeile und
   Werkzeugleiste werden dadurch NICHT mit übergeblendet, sondern stehen still —
   nur die Dateifläche wechselt. Genau das ergibt den Eindruck, dass gar nicht
   neu geladen wird. */
/* Beim Seitenwechsel blitzte zwischen zwei dunklen Seiten kurz WEISS auf
   (User-Meldung 13.08.2026: «grosser schwarzer Kreis mit weiss aussen» —
   das runde Cockpit-Zeichen vor weissem Grund). Das Weiss ist die Leinwand
   des Browsers: html selbst hatte keine Farbe, und während des Übergangs
   (bzw. bevor die neue Seite zeichnet) scheint die Leinwand durch. Mit
   eigener Farbe auf html ist dieser Moment im Dunkeln dunkel und im Hellen
   hell — je Design über --bg-deep. (Steht VOR dem Übergangsblock: Prüfstand
   test_ui_polish (g) erwartet den «weniger Bewegung»-Rückfall dicht dahinter.)
   html[lang] statt html: gleiche Spezifität (0,1,1) wie der Not-Stil im
   <head> von base.html — diese Regel kommt SPÄTER und gewinnt damit wieder,
   sobald app.css angewendet ist. */
html[lang] { background: var(--bg-deep, #07101f); }
/* Gegenstück zum Not-Stil im <head> (body{visibility:hidden}): Erst wenn
   DIESES Stylesheet angewendet ist, wird der Inhalt sichtbar — beim harten
   Neuladen (Ctrl+F5, umgeht auch den Service-Worker) erscheint so nie mehr
   ungestylter Rohtext, nur dunkle Fläche → fertige Seite. */
body { visibility: visible; }

@view-transition { navigation: auto; }

.documents-explorer-page .documents-folder-panel{view-transition-name:cockpit-ordnerspalte}
.documents-explorer-page .documents-explorer-titlebar{view-transition-name:cockpit-titelzeile}
.documents-explorer-page .documents-commandbar{view-transition-name:cockpit-werkzeugleiste}
.documents-explorer-page .sidebar{view-transition-name:cockpit-seitenleiste}
.documents-explorer-page .topbar{view-transition-name:cockpit-kopfleiste}

/* Kurz halten: ein Ordnerwechsel darf sich nicht wie eine Animation anfühlen. */
::view-transition-old(root),::view-transition-new(root){animation-duration:.16s}
::view-transition-group(cockpit-ordnerspalte),
::view-transition-group(cockpit-titelzeile),
::view-transition-group(cockpit-werkzeugleiste),
::view-transition-group(cockpit-seitenleiste),
::view-transition-group(cockpit-kopfleiste){animation-duration:.01s}

@media (prefers-reduced-motion: reduce){
  @view-transition { navigation: none; }
}
/* ====== Widgetfarbe je Widget + Cockpit-Zeichen im Design (08.08.2026) ======
   (h) In der Bearbeitungsleiste jedes Widgets stehen jetzt Farbtupfer. Der
   erste («A») heisst «Farbe des Designs» — dann bleibt der Vorschlag aus dem
   Widgetkatalog. (i) Das Zeichen oben links ist ein Inline-SVG und nimmt die
   Farben des Designs, statt sie eingebrannt mitzubringen. */
.widget-accent-picker{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.widget-accent-swatch{width:18px;height:18px;min-height:0;padding:0;border:2px solid transparent;border-radius:50%;background:var(--accent-color,var(--primary));cursor:pointer;font-size:.55rem;font-weight:800;line-height:1;color:var(--muted);transition:.14s ease}
.widget-accent-swatch:hover{transform:scale(1.12)}
.widget-accent-swatch.active{border-color:var(--text);box-shadow:0 0 0 2px color-mix(in srgb,var(--text) 22%,transparent)}
.widget-accent-swatch.accent-design{display:grid;place-items:center;background:var(--surface-3);border-color:var(--border)}
.widget-accent-swatch.accent-design.active{border-color:var(--text)}
.widget-accent-swatch.accent-blue{background:#38bdf8}
.widget-accent-swatch.accent-cyan{background:#22d3ee}
.widget-accent-swatch.accent-teal{background:#2dd4bf}
.widget-accent-swatch.accent-green{background:#4ade80}
.widget-accent-swatch.accent-gold{background:#facc15}
.widget-accent-swatch.accent-orange{background:#fb923c}
.widget-accent-swatch.accent-pink{background:#f472b6}
.widget-accent-swatch.accent-purple{background:#a78bfa}
@media(max-width:520px){.widget-accent-picker{width:100%;order:3}}

.brand-logo-svg{display:block;width:44px;height:44px;border-radius:14px;box-shadow:0 12px 28px color-mix(in srgb,var(--user-primary,#0ea5e9) 28%,transparent);overflow:visible}
.brand-logo-plate{fill:var(--surface-2);stroke:color-mix(in srgb,var(--user-primary,#38bdf8) 34%,var(--border));stroke-width:1.4}
.brand-logo-stop-a{stop-color:var(--user-primary,#38bdf8)}
.brand-logo-stop-b{stop-color:var(--user-secondary,#2dd4bf)}
.brand-logo-needle{stroke:var(--text);fill:none}
.brand-logo-hub{fill:var(--text)}
.brand-logo-dot-top{fill:color-mix(in srgb,var(--user-primary,#38bdf8) 55%,var(--muted))}
.brand-logo-dot-a{fill:var(--user-primary,#38bdf8)}
.brand-logo-dot-b{fill:var(--user-secondary,#2dd4bf)}
.brand-logo-dot-c{fill:color-mix(in srgb,var(--user-secondary,#2dd4bf) 45%,var(--purple,#a78bfa))}
@media(max-width:980px){.brand-logo-svg{width:38px;height:38px}}
/* Beim Durchsehen der Widgets aufgefallen: In der kleinen Grösse schob der
   Titelblock den «Öffnen»-Knopf, weil der innere Kasten mit Titel und
   Untertitel min-width:auto behielt — die Auslassungspunkte am Titel griffen
   deshalb nie und der Text lief unter den Knopf. */
.start-widget-title>div{min-width:0}
/* Anteilsbalken in der Tresor-Vermögensübersicht (08.08.2026). */
.vault-share-bar{display:block;width:100%;max-width:120px;height:5px;margin:5px 0 0 auto;border-radius:99px;background:var(--surface-3);overflow:hidden}
.vault-share-bar>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--user-primary,#38bdf8),var(--user-secondary,#2dd4bf))}

/* Ablagefläche für Dateien UND Ordner im Hochladen-Dialog (11.08.2026).
   ⚠ Die gemeinsame Ablagefläche erbt von .attachment-dropzone eine Anordnung
   nebeneinander — Überschrift, Hinweis und Knöpfe standen dadurch in einer
   Zeile und wirkten unruhig. Hier ausdrücklich untereinander und zentriert:
   eine Fläche, auf die man etwas wirft, soll wie eine Fläche aussehen. */
.attachment-dropzone[data-ordner-ablage]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:26px 20px;min-height:132px}
.attachment-dropzone[data-ordner-ablage] strong{font-size:1.02rem}
.attachment-dropzone[data-ordner-ablage] small{max-width:52ch;color:var(--muted)}
/* ⛔⛔⛔ HIER STAND var(--teal) — und genau das kostete am 11.08.2026 einen
   ganzen Abend. «--teal» wird von 58 Designs überschrieben; im Design
   «Discovery Spore» ist es #f97316, ein WARN-ORANGE. Der Hinweis «807 Dateien
   bereit zum Hochladen» erschien dem Benutzer damit als oranger Text in einem
   orangen Rahmen — er hielt es für eine Fehlermeldung und klickte nie auf
   «Hochladen». Am Server kam folgerichtig NIE eine Anfrage an.
   ➤ Zustandsfarben NIEMALS aus einer Designvariablen nehmen. Hier steht darum
     ein fester Grünwert — er bedeutet in JEDEM der 58 Designs dasselbe.
   ⚠⚠ «!important» ist hier PFLICHT, nicht Bequemlichkeit: Zeile 1397 setzt
     «.attachment-dropzone.has-files{border-color:var(--teal)!important}».
     Ohne eigenes «!important» gewinnt das Orange trotz höherer Spezifität —
     genau daran ist der erste Reparaturversuch am 11.08.2026 gescheitert.
   ⚠ MERKSATZ: «bereit» und «kaputt» dürfen nie gleich aussehen. */
.attachment-dropzone[data-ordner-ablage].has-files{border-style:solid!important;border-color:#34d399!important;background:rgba(52,211,153,.08)}
.attachment-dropzone[data-ordner-ablage].has-files small{color:#34d399!important;font-weight:600}
.attachment-dropzone[data-ordner-ablage] progress{width:min(420px,100%);height:8px;accent-color:var(--primary)}
.attachment-dropzone[data-ordner-ablage] progress[hidden]{display:none}

/* Cockpits eigener Editor für Textdateien (11.08.2026). ONLYOFFICE kann «.txt»
   nicht bearbeiten — in seiner Formatliste stehen dafür nur «view» und
   «lossy-edit». Hier reicht ein Schreibfeld, das sich wie ein Editor anfühlt. */
.text-editor-feld{width:100%;min-height:min(62vh,640px);resize:vertical;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-deep);color:var(--text);font-family:ui-monospace,"Cascadia Mono","Consolas","SFMono-Regular",monospace;font-size:.9rem;line-height:1.6;tab-size:4;white-space:pre;overflow-wrap:normal;overflow-x:auto}
.text-editor-feld:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%,transparent)}
.text-editor-feld[readonly]{opacity:.85;cursor:default}
.text-editor-page .form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}
/* ⚠ Nur für Vorleseprogramme — sichtbar hätte die Beschriftung den Dateinamen
   ein zweites Mal wiederholt, er steht schon in der Überschrift. Ohne diese
   Regel stand sie einfach mitten auf der Seite. */
/* ⛔⛔⛔ 17.08.2026, VOM USER GEMELDET: «Schau mal bei Notes das Suchfeld,
   ich muss rechts reinklicken zum Suchen.»
   Ursache: Die Blätter benutzen an acht Stellen `class="visually-hidden"` —
   diese Klasse war NIRGENDS definiert. Nur `.sr-only` gab es. Der Text stand
   also in voller Grösse da («Notizen durchsuchen» vor dem Feld) und schob das
   Eingabefeld nach rechts.
   ⚠ Der einzige andere Treffer auf `visually-hidden` in der ganzen Datei war
     ein `:not(.visually-hidden)` in einer Mail-Regel — das DEFINIERT nichts,
     es sah nur so aus, als gäbe es die Klasse.
   ➤ Beide Namen zeigen jetzt auf dieselbe Regel. Das repariert alle acht
     Stellen auf einmal (Notes 4×, Mail 2×, Tresor 1×) — und die nächste,
     die jemand schreibt, ohne nachzusehen, welcher Name hier gilt. */
.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Eigene Farben: der Wähler gehört NEBEN seine Karte, nicht ans Seitenende
   (11.08.2026). Er sitzt jetzt im Designraster und nimmt dort eine volle
   Zeile ein — sonst quetschte ihn die Rasterspalte zusammen und die
   Farbfelder wurden abgeschnitten. */
.theme-family-grid [data-custom-theme-colors]{grid-column:1/-1;margin-top:10px}
[data-custom-theme-colors] input[type="color"]{width:100%;min-height:44px;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);cursor:pointer}

/* ===== Kein Knopf schneidet je seinen Text ab (12.08.2026) =================
   Vom User gemeldet: «in den diversen Einstellungen gibt es ein paar Buttons,
   wo der Text nicht richtig drin ist.» Ursache: einzelne Varianten setzen
   white-space:nowrap bei fester Höhe — wird der Platz knapp (schmale Spalte,
   längere Beschriftung), läuft der Text unsichtbar über den Rand.
   ⚠ Diese Regel steht BEWUSST ZULETZT und gewinnt über die Varianten:
   Textknöpfe brechen notfalls um und wachsen in die Höhe. Reine Symbolknöpfe
   (btn-icon, icon-only) bleiben ausgenommen — ein Symbol bricht nicht um. */
.btn:not(.btn-icon):not(.icon-only){white-space:normal;overflow-wrap:break-word;height:auto;line-height:1.25}

/* ============ Aufklappmenüs in der Dokument-Befehlsleiste (13.08.2026):
   seltene Aktionen gruppiert statt fünfzehn Einzelknöpfe. */
.commandbar-menu{position:relative;flex:0 0 auto}
.commandbar-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;user-select:none;
  min-height:34px;padding:7px 10px;border-radius:7px;color:#b9c8d8;font-size:.72rem;font-weight:680;white-space:nowrap}
.commandbar-menu>summary:hover,.commandbar-menu[open]>summary{background:#11253c;color:#f3f8ff}
.commandbar-menu>summary::-webkit-details-marker{display:none}
.commandbar-menu>summary i{font-style:normal;font-size:.7em;opacity:.7}
.commandbar-menu[open]>summary{color:var(--text)}
.commandbar-menu-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:120;min-width:220px;display:grid;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);box-shadow:0 16px 40px rgba(0,0,0,.28)}
.commandbar-menu-popover button{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:none;color:var(--text);text-align:left;font:inherit;cursor:pointer}
.commandbar-menu-popover button:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 10%,var(--surface-3))}
.commandbar-menu-popover button:disabled{opacity:.4;cursor:default}
.commandbar-menu-popover button.danger{color:var(--danger)}

/* ============ Proportionale Verkleinerung für schmalere Bildschirme
   (13.08.2026): Der 27-Zoll-Bildschirm des Users ist die Referenz (1:1).
   Auf einem 15-Zoll-Notebook war «alles zu gross und man muss überall
   scrollen» — statt einzelne Bausteine umzubauen, verkleinert `zoom` die
   GANZE Oberfläche im Verhältnis. Media-Queries messen weiterhin die echte
   Fensterbreite (zoom beeinflusst sie nicht), und unter 981 px übernimmt
   ohnehin das Mobil-Layout mit eigener Navigation. */
@media (min-width:981px) and (max-width:1199px){ body{zoom:.8} }
@media (min-width:1200px) and (max-width:1449px){ body{zoom:.86} }
@media (min-width:1450px) and (max-width:1679px){ body{zoom:.93} }

/* ⭐ 13.08.2026 (User: «schöne Tabellen wie bei ChatGPT»): Markdown-Tabellen
   der KI-Antworten — auf der /ai-Seite UND im Andock-Fenster. */
.ai-message-content .ai-md-table,.ai-dock-message .ai-md-table{overflow-x:auto;margin:9px 0;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.ai-message-content .ai-md-table table,.ai-dock-message .ai-md-table table{width:100%;border-collapse:collapse;font-size:.82rem;line-height:1.4}
.ai-message-content .ai-md-table th,.ai-dock-message .ai-md-table th{text-align:left;padding:7px 11px;background:var(--surface-3);border-bottom:1px solid var(--border);white-space:nowrap}
.ai-message-content .ai-md-table td,.ai-dock-message .ai-md-table td{padding:6px 11px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);vertical-align:top}
.ai-message-content .ai-md-table tbody tr:last-child td,.ai-dock-message .ai-md-table tbody tr:last-child td{border-bottom:0}
.ai-message-content .ai-md-table tbody tr:nth-child(even) td,.ai-dock-message .ai-md-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--surface-3) 45%,transparent)}

/* ==================== Runde 13.08.2026 abends (Session 32) ====================
   Kalender im Outlook-Stil, «Einstellungen»-Aufklapper in den Kopfzeilen,
   neu gestalteter Wiederholen-Baustein, aufgeräumte Verwalten-Dialoge. */

/* --- «Einstellungen»-Aufklapper (Kalender, Erinnerungen, Kontakte, …) --- */
.page-settings-menu{position:relative}
.page-settings-menu summary{list-style:none;cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:7px}
.page-settings-menu summary::-webkit-details-marker{display:none}
.page-settings-menu[open] summary{color:var(--primary)}
.page-settings-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:90;min-width:240px;display:grid;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 18px 48px rgba(0,0,0,.32)}
.page-settings-panel a,.page-settings-panel button{display:block;width:100%;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:.82rem;text-align:left;text-decoration:none;cursor:pointer;white-space:nowrap}
.page-settings-panel a:hover,.page-settings-panel button:hover{background:var(--surface-2);color:var(--primary)}

/* --- Kalender-Werkzeugleiste: Ansichten + PDF rechts --- */
.calendar-toolbar-right{display:flex;align-items:center;gap:9px}

/* «Sichtbare Seitenlinks»: Buchhaltung steht unter Vermögen; das Häkchen im
   Bereichstitel schaltet den ganzen Bereich. */
.sidebar-settings-stack{display:grid;gap:14px;align-content:start}
.sidebar-group-master{display:inline-flex;align-items:center;gap:7px;cursor:pointer;min-width:0}
.sidebar-group-master input{margin:0}

/* Widgets-Einstellungskarten kompakter (User: «kleiner machen»). */
/* ⭐ 14.08.2026 (User-Foto «völlig versaut»): kompakt heisst ALLES kleiner —
   Karten, Icon, Schrift UND die Klein/Mittel/Gross-Pillen. Vorher wurden nur
   die Karten verengt und der Inhalt lief über den Rand. */
.start-widget-settings-grid.professional{grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:10px}
.start-widget-settings-grid.professional .start-widget-setting-card{padding:11px 12px;gap:8px;min-width:0}
.start-widget-settings-grid.professional .start-widget-setting-main{grid-template-columns:28px minmax(0,1fr) auto;gap:9px}
.start-widget-settings-grid.professional .start-widget-setting-icon{width:28px;height:28px;border-radius:8px}
.start-widget-settings-grid.professional .start-widget-setting-icon svg{width:16px;height:16px}
.start-widget-settings-grid.professional .start-widget-setting-main strong{font-size:.84rem}
.start-widget-settings-grid.professional .start-widget-setting-main small{font-size:.68rem}
.start-widget-settings-grid.professional .start-widget-setting-size{flex-wrap:wrap;gap:7px;padding-top:9px;min-width:0}
.start-widget-settings-grid.professional .start-widget-setting-size>span{font-size:.68rem}
.start-widget-settings-grid.professional .size-choice{gap:2px;padding:2px}
.start-widget-settings-grid.professional .size-choice span{padding:4px 8px;font-size:.66rem;border-radius:7px}
.start-widget-settings-grid.professional .start-widget-setting-option .checkbox{font-size:.72rem}
.start-widget-settings-grid.professional .start-widget-setting-main{grid-template-columns:28px minmax(0,1fr) auto;gap:9px}
.start-widget-settings-grid.professional .start-widget-setting-main small{font-size:.68rem}
.start-widget-settings-grid.professional .start-widget-setting-size{gap:6px;font-size:.7rem}

/* Aufgabe «Design & Farben zu lang»: Die Design-Familien sind Aufklapper —
   offen ist nur die Familie des aktiven Designs (und «Cockpit»). */
.settings-appearance-card .theme-family>.theme-family-summary{display:flex;align-items:baseline;gap:10px;padding:9px 2px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);cursor:pointer;user-select:none;list-style:none}
.settings-appearance-card .theme-family>.theme-family-summary::-webkit-details-marker{display:none}
.settings-appearance-card .theme-family-summary small{color:var(--muted)}
.settings-appearance-card .theme-family-summary .theme-family-caret{margin-left:auto;color:var(--muted);transition:transform .15s ease}
.settings-appearance-card .theme-family[open] .theme-family-summary .theme-family-caret{transform:rotate(180deg)}
.settings-appearance-card .theme-family-grid{margin-top:12px}
.settings-appearance-card .theme-preset-grid{gap:10px!important}

/* --- Helligkeit «Mittel»: heller Modus mit weichem Weissblau statt grellem
   Weiss. Steht am Dateiende und gewinnt so gegen die Hell-Blöcke der Presets. --- */
/* ⭐ 14.08.2026 abends (User): «Mittel» ist abgeschafft — das Weissblau IST
   jetzt der Hell-Modus. Der wirksame Block steht am DATEIENDE (Kaskade über
   allen hellen Preset-Blöcken); hier bleibt nur dieser Hinweis. */

/* --- Monatsansicht wie Outlook: volle Wochentagsnamen, Zahl oben links,
   heutiger Tag mit farbiger Oberkante, fremde Monate zurückhaltend. --- */
.calendar-month-outlook{padding:0;background:transparent;border:0;box-shadow:none}
.calendar-month-outlook .calendar-weekdays{border:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0;overflow:hidden;background:var(--panel);gap:0}
.calendar-month-outlook .calendar-weekdays span{padding:9px 12px;text-align:left;text-transform:none;letter-spacing:.01em;font-size:.74rem;font-weight:700;color:var(--muted);background:var(--panel);border-left:1px solid color-mix(in srgb,var(--border) 45%,transparent)}
.calendar-month-outlook .calendar-weekdays span:first-child{border-left:0}
.calendar-month-outlook .calendar-month-grid{gap:0!important;border-radius:0 0 12px 12px;border:1px solid var(--border);background:var(--panel);box-shadow:0 16px 45px rgba(0,0,0,.10)}
.calendar-month-outlook .calendar-day-cell{min-height:118px!important;padding:7px 9px!important;border:0;border-left:1px solid color-mix(in srgb,var(--border) 45%,transparent);border-top:1px solid color-mix(in srgb,var(--border) 45%,transparent);border-radius:0;background:var(--panel);opacity:1}
.calendar-month-outlook .calendar-day-cell:nth-child(-n+7){border-top:0}
.calendar-month-outlook .calendar-day-cell:nth-child(7n+1){border-left:0}
.calendar-month-outlook .calendar-day-cell:nth-child(7n),.calendar-month-outlook .calendar-day-cell:nth-child(7n-1){background:color-mix(in srgb,var(--surface-2) 45%,var(--panel))}
.calendar-month-outlook .calendar-day-cell.outside{background:color-mix(in srgb,var(--surface-2) 70%,var(--panel));opacity:1}
.calendar-month-outlook .calendar-day-cell.outside header a{color:var(--muted)}
.calendar-month-outlook .calendar-day-cell header{justify-content:flex-start}
.calendar-month-outlook .calendar-day-cell header a{width:auto;min-width:0;height:auto;display:inline-block;padding:2px 5px;border-radius:7px;background:transparent;font-size:.8rem;font-weight:650;color:var(--text);white-space:nowrap}
.calendar-month-outlook .calendar-day-cell header a:hover{background:var(--surface-3)}
.calendar-month-outlook .calendar-day-cell.today{box-shadow:inset 0 2px 0 var(--primary),inset 0 0 0 1px color-mix(in srgb,var(--primary) 45%,transparent);background:color-mix(in srgb,var(--primary) 7%,var(--panel))}
.calendar-month-outlook .calendar-day-cell.today header a{background:var(--primary);color:#fff}
.calendar-month-outlook .calendar-cell-events{margin-top:5px;gap:3px}
.calendar-month-outlook .calendar-context-event.compact{border-radius:6px}

/* --- Wiederholen-Baustein (Termine + Erinnerungen) --- */
.recurrence-builder{border:0;padding:0;background:transparent}
.recurrence-enable-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.recurrence-enable-row .checkbox{font-weight:700;margin:0;min-height:0}
.recurrence-summary{color:var(--muted)}
.recurrence-options{margin-top:10px;padding:13px 14px;border:1px solid var(--border);border-top:2px solid color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--surface-2) 60%,transparent)}
.recurrence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px}
.recurrence-grid .field{margin:0}
.recurrence-interval{display:flex;align-items:center;gap:9px}
.recurrence-interval input{width:76px}
.recurrence-interval span{color:var(--muted);font-size:.82rem;white-space:nowrap}
.recurrence-weekdays{margin-top:11px}
.recurrence-weekdays label{display:block;margin-bottom:7px;font-size:.72rem;font-weight:700;color:var(--muted)}
.recurrence-weekdays div{display:flex;gap:6px;flex-wrap:wrap}
.recurrence-weekdays button{width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);font-size:.76rem;font-weight:700;cursor:pointer;transition:.14s ease}
.recurrence-weekdays button:hover{border-color:var(--primary)}
.recurrence-weekdays button.active{background:var(--primary);border-color:var(--primary);color:#fff}
.recurrence-compact .recurrence-options{margin-top:8px}

/* --- Verwalten-Dialoge: klare Abschnitte --- */
.manage-dialog{width:min(680px,94vw)}
.manage-section{padding:14px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--surface-2) 40%,transparent)}
.manage-section + .manage-section{margin-top:13px}
.manage-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px;flex-wrap:wrap}
.manage-section-head strong{font-size:.92rem}
.manage-section-head span{color:var(--muted);font-size:.74rem}
.calendar-subs-add .inline-field{display:flex;gap:8px}
.calendar-subs-add .inline-field input{flex:1;min-width:0}
.dav-setup-bare{display:grid;gap:14px}

/* Aufgabe 19: Firefox zeichnet das Kalendersymbol INLINE am Textende — der
   generische padding-right:42px (für das absolut gesetzte WebKit-Symbol)
   liess dort rechts ein Loch. Rechts gleich viel Abstand wie links. */
.reminder-quick-add .reminder-quick-due{padding-right:12px!important}

/* Aufgabe 9: Der Inhaltsblock einer Notiz-Zeile (.notice) sass auf Inhaltsbreite —
   die Portaladresse wurde abgeschnitten. Der Block nimmt jetzt die volle Breite. */
.notice>div{flex:1;min-width:0}

/* Aufgabe 34: Spaltenauswahl der Smart-Tabellen — zwei Spalten nebeneinander
   statt einer langen Liste. */
.column-dialog{width:min(500px,94vw)}
.column-dialog .column-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}

/* Aufgabe 32: Methodik-Hinweise der Dividenden-Seite — unten als ruhige Karte
   statt drei Farbbalken ganz oben. */
.tax-explainer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tax-explainer-item{padding:14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 50%,transparent)}
.tax-explainer-item strong{display:block;margin-bottom:6px}
.tax-explainer-item p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}
@media(max-width:900px){.tax-explainer-grid{grid-template-columns:1fr}}

/* Aufgabe 38: «Woher Effektiv kommt» braucht Luft zum nächsten Block. */
.budget-method-note{margin-bottom:22px}

/* --- Foto-Einstellungen: Kachelgrösse (nur Desktop; Mobil behält sein Raster) --- */
@media(min-width:761px){
  .photo-size-small .photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
  .photo-size-small .photo-tile{min-height:150px}
  .photo-size-small .photo-media{height:150px}
  .photo-size-large .photo-grid{grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:12px}
  .photo-size-large .photo-tile{min-height:290px}
  .photo-size-large .photo-media{height:290px}
}

/* ⭐ 14.08.2026 (User: «Mittel funktioniert nicht»): Bei Bild-Designs lag das
   Design-Hintergrundbild mit hellem Schleier ÜBER dem weichen Mittel-Ton —
   der Ton blieb unsichtbar (empirisch gemessen: --bg kam an, body malte das
   Bild). Im Mittel-Modus zeigt die Grundfläche darum IMMER den ruhigen Ton
   selbst; Akzente, Karten und Farben des gewählten Designs bleiben erhalten.
   !important ist hier bewusst: die :is()-Preset-Regeln haben höhere
   Spezifität und stehen teils später in der Datei. */
/* (Der Hell-Verlauf wohnt seit dem 14.08.2026 abends am Dateiende.) */

/* ⭐ 14.08.2026 (User: «keine Vorschaubilder»): Vorschau-Kacheln der zehn
   Cockpit-Designs vom 13.08. — gleiche Machart wie die bestehenden Swatches. */
.theme-swatch-nordlicht{background:linear-gradient(135deg,#0d1b26 0 40%,#6fc2e8 41% 70%,#9be0d8 71%)}
.theme-swatch-onyx{background:linear-gradient(135deg,#101216 0 40%,#a8b2c0 41% 70%,#d8c07a 71%)}
.theme-swatch-espresso{background:linear-gradient(135deg,#191310 0 40%,#c9a27a 41% 70%,#efe0cd 71%)}
.theme-swatch-marine{background:linear-gradient(135deg,#101a2b 0 40%,#5f8fd0 41% 70%,#9db8e0 71%)}
.theme-swatch-smaragd{background:linear-gradient(135deg,#0e1b15 0 40%,#46b884 41% 70%,#a2d8bd 71%)}
.theme-swatch-kupfer{background:linear-gradient(135deg,#191210 0 40%,#d08a5f 41% 70%,#e8bd9d 71%)}
.theme-swatch-flieder{background:linear-gradient(135deg,#161221 0 40%,#b294d6 41% 70%,#d7c4ea 71%)}
.theme-swatch-schiefer{background:linear-gradient(135deg,#14181c 0 40%,#7d9db8 41% 70%,#b3c6d6 71%)}
.theme-swatch-bernstein{background:linear-gradient(135deg,#191507 0 40%,#d9a441 41% 70%,#eccf8d 71%)}
.theme-swatch-arktis{background:linear-gradient(135deg,#0f1d24 0 40%,#70b8d9 41% 70%,#b5e0ef 71%)}

/* ============================================================ */
/* ⭐ 14.08.2026 · Cockpit II — zehn weitere Designs (je dunkel+hell),
   bewusst andere Stimmungen als die erste Cockpit-Reihe. */
html[data-theme-preset="rubin"]{--primary:#e05661;--primary-strong:#b83a45;--teal:#d8935f;--bg:#1c1114;--bg-deep:#120a0c;--surface-2:#2a181d;--surface-3:#38222a}
html[data-theme="light"][data-theme-preset="rubin"]{--bg:#faf0f1;--bg-deep:#f2e2e4;--surface-2:#fff;--surface-3:#f7ecee;--primary:#b02a37;--primary-strong:#8c1f2b;--teal:#a8642f}
html[data-theme-preset="royal"]{--primary:#5b7fe6;--primary-strong:#3a5cc4;--teal:#d4af5a;--bg:#0f1424;--bg-deep:#090d1a;--surface-2:#1a2138;--surface-3:#242e4e}
html[data-theme="light"][data-theme-preset="royal"]{--bg:#f0f3fb;--bg-deep:#e3e8f6;--surface-2:#fff;--surface-3:#edf1fa;--primary:#2843b8;--primary-strong:#1d3193;--teal:#a37c1e}
html[data-theme-preset="tinte"]{--primary:#57e6c0;--primary-strong:#2fbf9a;--teal:#7dd3fc;--bg:#0b1220;--bg-deep:#060b16;--surface-2:#141d31;--surface-3:#1d2a45}
html[data-theme="light"][data-theme-preset="tinte"]{--bg:#eef4f6;--bg-deep:#e0eaee;--surface-2:#fff;--surface-3:#e9f2f4;--primary:#0d8a6d;--primary-strong:#0a6b55;--teal:#0e7490}
html[data-theme-preset="sand"]{--primary:#d6a35c;--primary-strong:#b5813c;--teal:#8fae8a;--bg:#1a1610;--bg-deep:#100d08;--surface-2:#282217;--surface-3:#362e1f}
html[data-theme="light"][data-theme-preset="sand"]{--bg:#f6f1e7;--bg-deep:#ece4d3;--surface-2:#fffdf8;--surface-3:#f3ecdd;--primary:#a3702a;--primary-strong:#7f5620;--teal:#5f7d5a}
html[data-theme-preset="perle"]{--primary:#d4a3b8;--primary-strong:#b57f97;--teal:#9db4c9;--bg:#171317;--bg-deep:#0e0b0e;--surface-2:#241d24;--surface-3:#312731}
html[data-theme="light"][data-theme-preset="perle"]{--bg:#f7f4f6;--bg-deep:#efe9ee;--surface-2:#fff;--surface-3:#f4eef2;--primary:#a4577b;--primary-strong:#83405f;--teal:#537a99}
html[data-theme-preset="wald"]{--primary:#7fba6b;--primary-strong:#5c9a49;--teal:#c8b56a;--bg:#111a10;--bg-deep:#0a110a;--surface-2:#1b2a1a;--surface-3:#253a24}
html[data-theme="light"][data-theme-preset="wald"]{--bg:#f0f5ec;--bg-deep:#e2ecdb;--surface-2:#fff;--surface-3:#ebf3e6;--primary:#3e7d2d;--primary-strong:#2f6122;--teal:#8a7420}
html[data-theme-preset="pflaume"]{--primary:#c98bd6;--primary-strong:#a763b6;--teal:#e0a37a;--bg:#190f1d;--bg-deep:#100812;--surface-2:#281a2d;--surface-3:#37243e}
html[data-theme="light"][data-theme-preset="pflaume"]{--bg:#f7f1f8;--bg-deep:#efe3f0;--surface-2:#fff;--surface-3:#f3ebf4;--primary:#8a3d9c;--primary-strong:#6d2c7d;--teal:#b06a35}
html[data-theme-preset="stahl"]{--primary:#8fb6d9;--primary-strong:#6a94ba;--teal:#e8944f;--bg:#12181d;--bg-deep:#0b1013;--surface-2:#1c262e;--surface-3:#27343f}
html[data-theme="light"][data-theme-preset="stahl"]{--bg:#eff3f6;--bg-deep:#e2e9ee;--surface-2:#fff;--surface-3:#eaf0f4;--primary:#3a6f99;--primary-strong:#2b567a;--teal:#c26a1f}
html[data-theme-preset="nebel"]{--primary:#a3b8cc;--primary-strong:#8098b0;--teal:#7fc4bd;--bg:#151a20;--bg-deep:#0d1116;--surface-2:#212933;--surface-3:#2d3844}
html[data-theme="light"][data-theme-preset="nebel"]{--bg:#f2f5f8;--bg-deep:#e7ecf1;--surface-2:#fff;--surface-3:#eef2f6;--primary:#4a6785;--primary-strong:#385069;--teal:#2e8a82}
html[data-theme-preset="karbon"]{--primary:#b8e05a;--primary-strong:#93c22f;--teal:#6ee7b7;--bg:#121412;--bg-deep:#0a0c0a;--surface-2:#1d211d;--surface-3:#282e28}
html[data-theme="light"][data-theme-preset="karbon"]{--bg:#f2f5ee;--bg-deep:#e6ecdd;--surface-2:#fff;--surface-3:#edf2e6;--primary:#5a7d12;--primary-strong:#44600d;--teal:#0f8a68}
/* Gleiche Profi-Behandlung wie die erste Cockpit-Reihe (ruhiger Verlauf, satte Knoepfe). */
html:is([data-theme-preset="rubin"],[data-theme-preset="royal"],[data-theme-preset="tinte"],[data-theme-preset="sand"],[data-theme-preset="perle"],[data-theme-preset="wald"],[data-theme-preset="pflaume"],[data-theme-preset="stahl"],[data-theme-preset="nebel"],[data-theme-preset="karbon"]) body{background:linear-gradient(180deg,var(--bg-deep),var(--bg) 340px)}
html:is([data-theme-preset="rubin"],[data-theme-preset="royal"],[data-theme-preset="tinte"],[data-theme-preset="sand"],[data-theme-preset="perle"],[data-theme-preset="wald"],[data-theme-preset="pflaume"],[data-theme-preset="stahl"],[data-theme-preset="nebel"],[data-theme-preset="karbon"]) .btn-primary{background:var(--primary-strong);box-shadow:none}
/* Vorschau-Kacheln Cockpit II */
.theme-swatch-rubin{background:linear-gradient(135deg,#1c1114 0 40%,#e05661 41% 70%,#d8935f 71%)}
.theme-swatch-royal{background:linear-gradient(135deg,#0f1424 0 40%,#5b7fe6 41% 70%,#d4af5a 71%)}
.theme-swatch-tinte{background:linear-gradient(135deg,#0b1220 0 40%,#57e6c0 41% 70%,#7dd3fc 71%)}
.theme-swatch-sand{background:linear-gradient(135deg,#f6f1e7 0 40%,#d6a35c 41% 70%,#8fae8a 71%)}
.theme-swatch-perle{background:linear-gradient(135deg,#f7f4f6 0 40%,#d4a3b8 41% 70%,#9db4c9 71%)}
.theme-swatch-wald{background:linear-gradient(135deg,#111a10 0 40%,#7fba6b 41% 70%,#c8b56a 71%)}
.theme-swatch-pflaume{background:linear-gradient(135deg,#190f1d 0 40%,#c98bd6 41% 70%,#e0a37a 71%)}
.theme-swatch-stahl{background:linear-gradient(135deg,#12181d 0 40%,#8fb6d9 41% 70%,#e8944f 71%)}
.theme-swatch-nebel{background:linear-gradient(135deg,#f2f5f8 0 40%,#a3b8cc 41% 70%,#2e8a82 71%)}
.theme-swatch-karbon{background:linear-gradient(135deg,#121412 0 40%,#b8e05a 41% 70%,#6ee7b7 71%)}

/* ⭐ 14.08.2026 · Zehn weitere Darstellungen — gleiche Bauart wie flach/terminal. */
/* --- KARTEN: schwebende Karten mit kraeftigen Schatten --- */
html[data-display="karten"]{--radius:14px;--radius-sm:10px}
html[data-display="karten"] .card{border-color:transparent;box-shadow:0 2px 6px rgba(0,0,0,.16),0 14px 34px rgba(0,0,0,.18)}
html[data-display="karten"][data-theme="light"] .card{box-shadow:0 1px 3px rgba(15,30,50,.1),0 12px 30px rgba(15,30,50,.12)}
html[data-display="karten"] .card:hover{transform:translateY(-1px)}
/* --- RUND: maximale Rundungen --- */
html[data-display="rund"]{--radius:26px;--radius-sm:18px}
html[data-display="rund"] .btn,html[data-display="rund"] .badge,html[data-display="rund"] .chip,html[data-display="rund"] input,html[data-display="rund"] select{border-radius:999px}
html[data-display="rund"] textarea{border-radius:20px}
html[data-display="rund"] .kpi,html[data-display="rund"] dialog{border-radius:26px}
/* --- ECKIG: null Rundung, streng geometrisch --- */
html[data-display="eckig"]{--radius:0px;--radius-sm:0px}
html[data-display="eckig"] .btn,html[data-display="eckig"] .badge,html[data-display="eckig"] .chip,html[data-display="eckig"] input,html[data-display="eckig"] select,html[data-display="eckig"] textarea,html[data-display="eckig"] .card,html[data-display="eckig"] dialog,html[data-display="eckig"] .kpi{border-radius:0!important}
html[data-display="eckig"] .card{border:1px solid var(--border-strong)}
/* --- LUFTIG: viel Weissraum, leichte Titel --- */
html[data-display="luftig"]{font-size:15.5px}
html[data-display="luftig"] .section{margin-bottom:30px}
html[data-display="luftig"] .card-body,html[data-display="luftig"] .card-head{padding:24px 26px}
html[data-display="luftig"] h1,html[data-display="luftig"] h2{font-weight:550;letter-spacing:.01em}
html[data-display="luftig"] .card{border-color:color-mix(in srgb,var(--border) 55%,transparent)}
/* --- ZEITUNG: Serifentitel und feine Trennlinien --- */
html[data-display="zeitung"]{--radius:4px;--radius-sm:3px}
html[data-display="zeitung"] h1,html[data-display="zeitung"] h2,html[data-display="zeitung"] h3,html[data-display="zeitung"] .kpi-value{font-family:Georgia,"Times New Roman",serif}
html[data-display="zeitung"] .card{box-shadow:none;border:0;border-top:2px solid var(--text);border-bottom:1px solid var(--border);border-radius:0}
html[data-display="zeitung"] .eyebrow{letter-spacing:.14em}
html[data-display="zeitung"] td,html[data-display="zeitung"] th{border-bottom:1px dotted var(--border)}
/* --- NEON: dezente Leuchtkanten --- */
html[data-display="neon"] .card{border-color:color-mix(in srgb,var(--primary) 38%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 16%,transparent),0 0 22px color-mix(in srgb,var(--primary) 13%,transparent)}
html[data-display="neon"] .btn-primary{box-shadow:0 0 14px color-mix(in srgb,var(--primary) 45%,transparent)}
html[data-display="neon"] h1,html[data-display="neon"] h2{text-shadow:0 0 16px color-mix(in srgb,var(--primary) 30%,transparent)}
html[data-display="neon"][data-theme="light"] .card{box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent)}
/* --- TAFEL: matte Flaechen, gestrichelte Kreide-Raender --- */
html[data-display="tafel"]{--radius:6px;--radius-sm:4px}
html[data-display="tafel"][data-theme="dark"]{--bg:#1b201d;--bg-deep:#121614;--surface-2:#242b27;--surface-3:#2e3733;--border:rgba(226,232,224,.26)}
html[data-display="tafel"][data-theme="light"]{--bg:#eef0ec;--bg-deep:#e1e5df;--surface-2:#f9faf7;--surface-3:#eef1ec}
html[data-display="tafel"] .card{border:1.5px dashed var(--border);box-shadow:none}
html[data-display="tafel"] h1,html[data-display="tafel"] h2{letter-spacing:.03em}
/* --- BLAUPAUSE: feines Linienraster --- */
html[data-display="blueprint"][data-theme="dark"]{--bg:#0d1b2e;--bg-deep:#081221;--surface-2:#12233a;--surface-3:#1a3050;--border:rgba(125,170,220,.3);--primary:#7db8f0;--primary-strong:#4f92d6}
html[data-display="blueprint"][data-theme="light"]{--bg:#eef4fb;--bg-deep:#dfe9f6;--surface-2:#fff;--surface-3:#e9f1fa;--primary:#1f5fa8;--primary-strong:#174a85}
html[data-display="blueprint"] body{background-image:linear-gradient(color-mix(in srgb,var(--primary) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--primary) 7%,transparent) 1px,transparent 1px);background-size:26px 26px}
html[data-display="blueprint"] .card{border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));box-shadow:none}
/* --- MAGAZIN: grosse Titel, markante Kontraste --- */
html[data-display="magazin"] h1{font-size:2.1rem;font-weight:800;letter-spacing:-.02em}
html[data-display="magazin"] h2{font-size:1.35rem;font-weight:750}
html[data-display="magazin"] .eyebrow{font-weight:800;letter-spacing:.16em;color:var(--primary)}
html[data-display="magazin"] .card{border-width:0;border-left:4px solid var(--primary);border-radius:8px}
html[data-display="magazin"] .kpi-value{font-weight:800}
/* --- MONO: durchgehend Monospace --- */
html[data-display="mono"] body,html[data-display="mono"] input,html[data-display="mono"] select,html[data-display="mono"] textarea,html[data-display="mono"] button{font-family:ui-monospace,SFMono-Regular,Consolas,"Cascadia Mono",monospace}
html[data-display="mono"]{font-size:14.5px;--radius:5px;--radius-sm:4px}
html[data-display="mono"] h1,html[data-display="mono"] h2{letter-spacing:-.01em}
html[data-display="mono"] .card{box-shadow:none;border:1px solid var(--border)}

/* ⭐ 14.08.2026 (User): Synchronisierungsoptionen-Dialoge zeigten nicht alles.
   Jetzt breit und zweispaltig wie der Vaultwarden-Import/Export — Adressen
   links, Plattform-Anleitungen rechts, alles ohne Scrollen sichtbar
   (mit Sicherheitsnetz fuer kleine Fenster). */
.dialog.dav-dialog{width:min(880px,calc(100vw - 36px));max-width:none}
/* ⭐⭐ 14.08.2026 (User-Foto): Das dav_setup-Makro trägt BEIDE Klassen
   (dav-setup-panel dav-setup-bare). Im Dialog riss die absolute
   Popover-Positionierung von .dav-setup-panel den Inhalt nach rechts aus der
   Karte (Kästchen schwebte über dem Seitentext, Dialog nur kopfhoch).
   Im Dialog wird das Popover darum vollständig neutralisiert. */
.dav-dialog .dav-setup-panel{position:static;width:auto;max-width:none;padding:0;border:0;background:transparent;box-shadow:none}
.dav-dialog .dialog-body{max-height:calc(88dvh - 130px);overflow:auto}
.dav-dialog .dav-setup-bare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.dav-dialog .dav-setup-urls{display:grid;gap:12px;align-content:start}
.dav-dialog .dav-setup-urls code{display:block;overflow-wrap:anywhere;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);margin:5px 0}
.dav-dialog .dav-platforms{display:grid;gap:12px;align-content:start}
.dav-dialog .dav-platforms>div{display:grid;gap:3px}
@media(max-width:760px){.dialog.dav-dialog{width:auto}.dav-dialog .dav-setup-bare{grid-template-columns:1fr}}

/* ⭐ 14.08.2026 (User): Depots als Karten, jeweils 2 nebeneinander — wie die
   Krypto-Wallets, statt der bisherigen Zwischentotal-Tabelle. */
.depot-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.depot-card{display:grid;gap:8px;align-content:start;padding:14px 16px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}
.depot-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.depot-card-head>div{display:flex;align-items:center;gap:10px;min-width:0}
.depot-card-head h3{margin:0;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.depot-card-icon{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);font-size:.78rem;font-weight:800}
.depot-card-value{font-size:1.28rem;font-weight:800}
.depot-card .td-sub{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:720px){.depot-card-grid{grid-template-columns:1fr}}

/* ⭐ 14.08.2026 zweiter Anlauf (User): die POSITIONEN selbst als Karten,
   jeweils 2 nebeneinander — die Tabelle ist ersetzt; Suche/Filter wirken
   über data-Attribute (setupPositionCards in app.js). */
/* ⭐⭐ 14.08.2026 abends (User: «so wie bei Kryptopositionen»): Suchfeld über
   die volle Breite, die vier Auswahlfelder darunter als ZWEIERRASTER, Knöpfe
   und Zähler in eigener Zeile — Bauart identisch zu .crypto-filter-toolbar.
   ⚠ Vorher war es ein flex-Streifen; weil select global width:100% trägt,
   sprang dort JEDES Feld auf eine eigene Zeile (User-Foto). */
.position-filterbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;align-items:center;padding:12px 18px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 72%,transparent)}
.position-filterbar .search-field{grid-column:1/-1;max-width:none}
.position-filterbar select{width:100%;min-width:0;min-height:36px;padding:6px 10px;border-radius:10px}
.position-toolbar-actions{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.position-toolbar-actions .table-result-count{margin-left:auto}
.position-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.position-card{display:grid;gap:9px;align-content:start;padding:14px 16px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2);color:var(--text);text-decoration:none}
.position-card:hover,.position-card:focus-visible{border-color:var(--primary);outline:none}
.position-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.position-card-head .security-cell{min-width:0}
.position-card-value{font-size:1.24rem;font-weight:800}
.position-card-meta,.position-card-foot{display:flex;gap:6px 14px;flex-wrap:wrap;color:var(--muted);font-size:.76rem}
.position-card-foot{border-top:1px solid var(--border);padding-top:9px}
.position-card .positive{color:var(--green)}.position-card .negative{color:var(--red)}
/* ⭐ 14.08.2026 abends (User: «nicht 2 nebeneinander»): Grenze auf 720px —
   auch im halbbreiten Fenster stehen zwei Karten nebeneinander. */
@media(max-width:720px){.position-card-grid{grid-template-columns:1fr}}

/* ⭐ 14.08.2026 zweiter Anlauf (User): rechte Sicherheitsspalte = ZWEI Karten
   übereinander (Zwei-Faktor + Passkeys), zusammen exakt so hoch wie die linke
   Karte — die untere streckt sich auf die Resthöhe. */
.security-stack{display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;min-height:100%}
.security-stack>.card{min-height:0}
.passkey-add summary{list-style:none;cursor:pointer;width:max-content}
.passkey-add summary::-webkit-details-marker{display:none}

/* ⭐ 14.08.2026 (User): schoene KI-Antworten — Diagramme, Bilder, Listen, Zitate. */
.ai-md-chart{margin:10px 0;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.ai-md-chart svg{width:100%;height:auto;display:block}
.ai-md-chart figcaption{margin-top:8px;font-size:.76rem;font-weight:650;color:var(--muted);text-align:center}
.ai-md-chart text{fill:var(--text);font-size:11px}
.ai-md-chart .ai-chart-achse,.ai-md-chart .ai-chart-wert{fill:var(--muted);font-size:10.5px}
.ai-md-chart .ai-chart-label{fill:var(--text);font-size:11px;font-weight:600}
.ai-md-chart .ai-chart-linieachse{stroke:var(--border);stroke-width:1}
.ai-chart-kuchen{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ai-chart-kuchen svg{width:150px;flex:0 0 auto}
.ai-chart-legende{display:grid;gap:5px;font-size:.78rem;min-width:0}
.ai-chart-legende-zeile{display:flex;align-items:center;gap:7px}
.ai-chart-legende-zeile span{width:11px;height:11px;border-radius:3px;flex:0 0 auto}
.ai-md-image{max-width:min(430px,100%);border:1px solid var(--border);border-radius:10px;display:block;margin:9px 0}
.ai-md-ul,.ai-md-ol{margin:7px 0 7px 5px;padding-left:20px;display:grid;gap:4px}
.ai-md-hr{border:0;border-top:1px solid var(--border);margin:12px 0}
.ai-md-quote{margin:8px 0;padding:7px 12px;border-left:3px solid var(--primary);background:var(--surface-2);border-radius:0 9px 9px 0;color:var(--muted)}

/* ⭐⭐ 14.08.2026 abends (User): «Mittel» ist Geschichte — HELL ist jetzt das
   weiche Weissblau (Bildvorlage), in ALLEN Designs. Der Block steht bewusst
   am DATEIENDE, damit er die hellen Preset-Blöcke aller Familien überstimmt.
   Feinjustierung übernimmt der Helligkeitsregler (filter:brightness am
   <html>, inline aus base.html — 100 % setzt bewusst KEINEN Filter). */
html[data-theme="light"][data-theme-tone="light"]{--bg:#d9e9fa;--bg-deep:#c6dcf4;--surface:#f2f8fe;--surface-2:#e9f2fc;--surface-3:#dcebfa;--panel:#eef5fd}
/* ⛔⛔⛔ 15.08.2026 — DIE ECHTE URSACHE, warum der atmosphärische Hintergrund
   der Darstellung «Glas» im HELLMODUS nie erschien. Ich hatte sie zuerst bei
   der SPEZIFITÄT gesucht und dort nachgebessert; das war die falsche Fährte.
   Es ist das `!important` in dieser Zeile: Es schlägt JEDE Regel ohne
   `!important`, ganz gleich wie spezifisch sie ist und wie weit unten sie
   steht. Der Glas-Hintergrund hatte damit nie eine Chance — gemessen:
   dunkel 3 Lichtzonen, hell 0.
   ➤ Statt eines `!important`-Wettrüstens nimmt die Regel die Darstellung
   «Glas» ausdrücklich aus. Glas bringt seinen eigenen Grund mit; alle
   übrigen Darstellungen behalten das weiche Weissblau unverändert. */
html[data-theme="light"][data-theme-tone="light"]:not([data-display="glas"]) body{background:linear-gradient(180deg,#e0eefb 0%,#cde1f6 60%,#c2d9f3 100%) fixed!important}
/* Chips lesbar im Hellen (User-Foto: «nicht aktiv», «0 hinterlegt» kaum
   erkennbar): satte dunkle Schrift auf zarter Farbfläche. */
html[data-theme="light"] .badge{color:#334155;background:#e2e8f0;border-color:#cbd5e1}
html[data-theme="light"] .badge-green{color:#166534;background:#dcfce7;border-color:#86efac}
html[data-theme="light"] .badge-red{color:#991b1b;background:#fee2e2;border-color:#fca5a5}
html[data-theme="light"] .badge-orange{color:#9a3412;background:#ffedd5;border-color:#fdba74}
html[data-theme="light"] .badge-blue{color:#1e40af;background:#dbeafe;border-color:#93c5fd}
html[data-theme="light"] .badge-purple{color:#6b21a8;background:#f3e8ff;border-color:#d8b4fe}
html[data-theme="light"] .badge-black{color:#f8fafc;background:#1f2937;border-color:#111827}

/* ⭐⭐ 14.08.2026 abends (User): Der Tresor war fest auf Schwarz verdrahtet und
   stand im hellen Design als Fremdkörper zwischen den hellen Karten (auch in
   «Daten & Cloud»). Im HELLEN Modus folgt er jetzt dem Design; der goldene
   Akzent bleibt als Erkennungszeichen erhalten, nur auf hellem Grund.
   ⚠ Reihenfolge: Der Block steht am Dateiende und überstimmt damit die
   Ursprungsregeln (Zeilen ~397 und ~4412 ff.). */
/* Die Bühne des Sperrbildschirms war der grosse schwarze Kasten. */
html[data-theme="light"] .vault-stage{border-color:#fcd34d;color:var(--text);box-shadow:inset 0 0 60px rgba(180,140,20,.06),0 18px 50px rgba(15,23,42,.10);
  background:radial-gradient(circle at 50% 28%,rgba(245,158,11,.14),transparent 15rem),
  repeating-radial-gradient(circle at 50% 48%,rgba(120,53,15,.035) 0 1px,transparent 2px 9px),
  linear-gradient(145deg,#fdf6e3,#fefaf0 62%,#fdf1d6)}
html[data-theme="light"] .vault-lock h1{color:#78350f}
/* Die Tresortür bleibt plastisch, aber in warmem Messing statt Schwarz. */
html[data-theme="light"] .vault-door{border-color:#d6b45a;box-shadow:0 0 0 7px #f3e3bd,0 0 0 9px rgba(245,158,11,.35),inset 0 0 30px rgba(120,53,15,.25);
  background:radial-gradient(circle,#e8d9a8 0 24%,#c8a955 25% 34%,#f0e6c8 35% 38%,#b99a48 39% 100%)}
html[data-theme="light"] .vault-wheel{border-color:#8a6d2f}
html[data-theme="light"] .vault-wheel::before,html[data-theme="light"] .vault-wheel::after{background:#8a6d2f}
/* Notfallweg auf der Sperrseite: dezenter Aufklapper unter dem PIN-Feld. */
.vault-reset{text-align:left}
.vault-reset>summary{cursor:pointer;list-style:none;font-size:.78rem;font-weight:700;color:var(--muted);text-align:center}
.vault-reset>summary::-webkit-details-marker{display:none}
.vault-reset[open]>summary{color:var(--text);margin-bottom:4px}
html[data-theme="light"] .vault-panel{background:var(--surface);border-color:var(--border);box-shadow:0 14px 40px rgba(15,23,42,.10)}
html[data-theme="light"] .vault-panel input,html[data-theme="light"] .vault-panel select,html[data-theme="light"] .vault-panel textarea{background:var(--surface-2);border-color:var(--border);color:var(--text)}
html[data-theme="light"] .vault-panel h1,html[data-theme="light"] .vault-panel h2,html[data-theme="light"] .vault-panel h3,html[data-theme="light"] .vault-panel strong{color:var(--text)}
html[data-theme="light"] .vault-panel p,html[data-theme="light"] .vault-panel small,html[data-theme="light"] .vault-lock p{color:var(--muted)}
html[data-theme="light"] .vault-warning{color:#92400e}
html[data-theme="light"] .vault-kpi{background:linear-gradient(135deg,var(--surface-2),var(--surface-3));border-color:#fcd34d}
html[data-theme="light"] .vault-kpi .kpi-value{color:#92400e}
html[data-theme="light"] .vault-kpi-hint p{color:#78350f}
html[data-theme="light"] body.vault-open .vault-tabs,
html[data-theme="light"] .vault-files-card.vault-panel .vault-commandbar,
html[data-theme="light"] .vault-files-card.vault-panel .vault-tree-panel,
html[data-theme="light"] .vault-files-card.vault-panel .vault-row,
html[data-theme="light"] .vault-files-card.vault-panel .vault-dropzone,
html[data-theme="light"] .vault-files-card.vault-panel .vault-doc-picker,
html[data-theme="light"] .vault-tx-row{background:var(--surface-2);border-color:var(--border);color:var(--text)}
html[data-theme="light"] body.vault-open .vault-tabs a.active,
html[data-theme="light"] .vault-files-card.vault-panel .vault-tree a.active{background:#fef3c7;color:#92400e}
html[data-theme="light"] .vault-files-card.vault-panel .vault-tree a:hover{background:var(--surface-3);color:var(--text)}
html[data-theme="light"] .vault-files-card.vault-panel .vault-commandbar>button:not(.btn-primary){background:var(--surface);border-color:var(--border);color:var(--text)}
html[data-theme="light"] .vault-files-card.vault-panel .vault-commandbar>button:not(.btn-primary):hover{background:#fef3c7;border-color:#f59e0b;color:#78350f}
html[data-theme="light"] .vault-files-card.vault-panel .vault-doc-picker-foot,
html[data-theme="light"] .vault-tx-empty{border-color:var(--border)}
/* Der Tresor-Eintrag in der Seitenleiste bleibt erkennbar, ohne schwarzen Block. */
html[data-theme="light"] .nav-vault{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;color:#78350f}
html[data-theme="light"] .nav-vault.active{background:#fde68a;color:#78350f;box-shadow:0 0 0 1px rgba(245,158,11,.35),0 10px 24px rgba(120,53,15,.12)}

/* ==========================================================================
   Gemeinsame Ordner + grössere Ordnersymbole   (14.08.2026, Wunsch des Users)
   ========================================================================== */
/* ⭐ «Ordnersymbole vergrössern, besonders in der normalen Ablage»: In der
   Dateiliste waren Ordner mit 18px deutlich kleiner als die Dateikacheln
   daneben (25–29px) — der wichtigste Klick war der unscheinbarste. */
.documents-file-pane .documents-folder-icon{width:27px;height:27px;min-width:27px}
.documents-file-pane .documents-folder-icon svg{width:26px;height:26px;stroke-width:1.4}
.documents-file-pane .documents-folder-icon .documents-folder-lock{width:9px;height:9px;right:-2px;bottom:-1px}
/* Im Ordnerbaum bleibt es kompakt, nur eine Spur grösser als bisher. */
.documents-folder-panel .documents-folder-icon{width:20px;height:20px}
.documents-folder-panel .documents-folder-icon svg{width:19px;height:19px}

/* Ein gemeinsamer Ordner ist etwas anderes als ein privater — er bekommt
   darum nicht nur ein eigenes Symbol, sondern auch einen ruhigen Farbstich. */
.documents-folder-icon.shared{color:color-mix(in srgb,#2dd4bf 80%,var(--documents-text-subtle,#94a3b8))}
.documents-tree-place>a{opacity:.95}
.documents-tree-place>a small{display:block;font-size:.6rem;color:var(--documents-text-subtle,#8aa2ba);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.documents-tree-place>a strong{display:block;line-height:1.15}

/* Verwaltung der gemeinsamen Ordner in den Systemeinstellungen. */
.shared-folder-list{display:grid;gap:12px}
.shared-folder-item{border:1px solid var(--border);border-radius:12px;background:var(--surface-2);padding:12px 14px}
.shared-folder-item>header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.shared-folder-item>header strong{display:flex;align-items:center;gap:7px;font-size:.92rem}
.shared-folder-item>header small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}
.shared-folder-people{display:flex;flex-wrap:wrap;gap:5px}
/* Der Löschknopf steht ganz rechts, die Namen davor — sonst schiebt
   space-between bei drei Kindern die Namen in die Mitte (15.08.2026). */
.shared-folder-item>header .shared-folder-people{margin-left:auto}
.shared-folder-item>header .shared-folder-delete{margin:0;flex:0 0 auto}
.shared-folder-item details{margin-top:10px}
.shared-folder-item details>summary{cursor:pointer;font-size:.76rem;color:var(--accent);padding:4px 0}
.shared-folder-item details[open]>summary{margin-bottom:8px}
.shared-folder-create{border-top:1px solid var(--border)}
.shared-folder-create h3{margin:0 0 10px;font-size:.92rem}

/* ⭐ 14.08.2026 (User): «Nur wenn ich in einem anderen Datenraum als meinem
   privaten bin, soll es in der Kopfleiste GROSS und SICHTBAR stehen.»
   Bewusst laut: orange, fett, mit Rahmen — man soll es nicht übersehen. */
.foreign-workspace-flag{display:inline-flex;flex-direction:column;line-height:1.1;gap:1px;padding:6px 14px;border-radius:9px;text-decoration:none;background:linear-gradient(135deg,#f59e0b,#f97316);color:#1b1206;border:1px solid #fbbf24;box-shadow:0 6px 18px rgba(249,115,22,.28)}
.foreign-workspace-flag span{font-size:.58rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;opacity:.85}
.foreign-workspace-flag strong{font-size:.95rem;font-weight:900;white-space:nowrap}
.foreign-workspace-flag:hover{filter:brightness(1.07)}
@media (max-width:720px){.foreign-workspace-flag{padding:4px 9px}.foreign-workspace-flag strong{font-size:.8rem;max-width:38vw;overflow:hidden;text-overflow:ellipsis}}

/* ⛔ 14.08.2026 (echter Vorfall): Zwei Personen aus demselben Haushalt waren
   gleichzeitig angemeldet. Der zweite Faktor landete am falschen Konto, weil
   nirgends stand, WELCHES Konto man gerade ändert. Dieser Balken sagt es. */
.account-warning{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);max-width:420px}
.account-warning span{font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.account-warning strong{font-size:1rem;font-weight:900;word-break:break-all}
.account-warning small{font-size:.7rem;color:var(--muted)}
.account-warning-wide{max-width:none;margin:0 0 14px;border-left:4px solid var(--accent)}

/* ==========================================================================
   DIE DARSTELLUNGSAUSWAHL — brauchbar auf dem Telefon
   ==========================================================================
   ⛔ Rückmeldung des Users (15.08.2026): «Die Darstellungsoptionen auf iOS
   sehen furchtbar aus.» Und er hat recht. Der Grund ist ein Ungleichgewicht,
   das man erst auf einem schmalen Bildschirm sieht:
   Die DESIGNS haben ein Vorschaubildchen — die DARSTELLUNGEN nicht. Bei
   fünfundzwanzig Einträgen wird daraus auf dem Telefon eine Wand aus
   fünfundzwanzig gleich aussehenden Textzeilen mit einem winzigen
   Radioknöpfchen, und man muss jede einzelne ausprobieren.

   ⚠ Ein ECHTES Vorschaubildchen je Darstellung ist hier nicht mit ein paar
   Zeilen zu haben: Die Regeln hängen an ``html[data-display="…"]`` und greifen
   deshalb nur auf der ganzen Seite, nie auf einem Vorschauelement. Sie dafür
   umzuschreiben wären rund zweihundert Regeln — ein eigener Arbeitsblock, den
   ich nicht nebenbei aufreisse.
   ➤ Was hier gemacht wird, ohne zu raten: EINE ZEILE JE EINTRAG mit grosser
     Antippfläche, deutlich sichtbarer Auswahl und lesbarer Beschreibung —
     und ein Formfeld, das die Rundung der jeweiligen Darstellung andeutet.
*/
@media (max-width:720px){
  .display-style-picker{grid-template-columns:1fr; gap:6px}
  /* ⭐ 44 px ist die Fingerbreite, unter der Antippen unzuverlässig wird. */
  .display-style-option{min-height:52px; align-items:center; padding:11px 13px;
    border-radius:12px; gap:11px}
  /* ⚠ Der Auswahlknopf bleibt bei 16 px. Cockpit setzt für ALLE
     Kontrollkästchen und Auswahlknöpfe eine globale Grösse mit `!important` —
     eine bewusste Vorgabe für ein einheitliches Bild. Sie hier zu brechen,
     wäre eine Ausnahme, die niemand mehr zurücknimmt.
     ➤ Die Antippfläche ist ohnehin die GANZE Zeile: Das umschliessende
     <label> ist anklickbar und jetzt 78 px hoch — deutlich über den 44 px,
     unter denen Antippen unzuverlässig wird. Der Knopf ist die Anzeige, nicht
     das Ziel. */
  .display-style-option input{margin-top:0; flex:none}
  .display-style-option strong{font-size:.94rem}
  .display-style-option small{font-size:.78rem}
  /* Die getroffene Wahl muss man sehen, ohne sie zu suchen. */
  .display-style-option:has(input:checked){
    background:color-mix(in srgb,var(--primary) 12%,var(--surface-2));
    box-shadow:inset 0 0 0 2px var(--primary);
  }
}
/* Auch auf grossen Bildschirmen: die Auswahl deutlicher zeigen. */
.display-style-option{transition:border-color .14s ease, background .14s ease}
.display-style-option:has(input:checked) strong{color:var(--primary)}

/* ==========================================================================
   GLAS — die vier Farbwelten der iOS-Vorlage
   ==========================================================================
   ⚠ Die Flächen (`--surface…`) tragen ALPHA. Das ist hier keine Kosmetik,
   sondern Voraussetzung: Ohne Transparenz kann durch das Glas nichts
   hindurchscheinen, und die Darstellung «Glas» hätte nichts zu tun. */
html[data-theme-preset="glas_hell_blau"]{--primary:#4f95f5;--primary-strong:#2f74d8;--teal:#7fb4e8;--bg:#0d1a2e;--bg-deep:#08111f;--surface:rgba(18,32,54,.42);--surface-2:rgba(24,40,66,.52);--surface-3:rgba(32,52,84,.62)}
html[data-theme="light"][data-theme-preset="glas_hell_blau"]{--primary:#2f7ef0;--primary-strong:#1c63d4;--teal:#4f9bd8;--bg:#e4edfa;--bg-deep:#eef4fd;--surface:rgba(255,255,255,.36);--surface-2:rgba(255,255,255,.46);--surface-3:rgba(255,255,255,.58)}
html[data-theme-preset="glas_hell_weiss"]{--primary:#2fbfae;--primary-strong:#199c8d;--teal:#6fd0c2;--bg:#141a1e;--bg-deep:#0d1114;--surface:rgba(22,30,34,.44);--surface-2:rgba(28,38,43,.54);--surface-3:rgba(36,48,54,.64)}
html[data-theme="light"][data-theme-preset="glas_hell_weiss"]{--primary:#0e9c8e;--primary-strong:#0b7d72;--teal:#4fb3a8;--bg:#f5f7fa;--bg-deep:#fbfcfe;--surface:rgba(255,255,255,.42);--surface-2:rgba(255,255,255,.52);--surface-3:rgba(255,255,255,.64)}
html[data-theme-preset="glas_dunkel_blau"]{--primary:#3d9bff;--primary-strong:#2277e0;--teal:#7cc4ff;--bg:#0a1526;--bg-deep:#08111f;--surface:rgba(10,22,40,.46);--surface-2:rgba(16,30,52,.56);--surface-3:rgba(24,42,70,.66)}
html[data-theme="light"][data-theme-preset="glas_dunkel_blau"]{--primary:#1d6fd0;--primary-strong:#15559f;--teal:#4a94d8;--bg:#e8f0fb;--bg-deep:#f2f7fd;--surface:rgba(255,255,255,.38);--surface-2:rgba(255,255,255,.48);--surface-3:rgba(255,255,255,.60)}
html[data-theme-preset="glas_dunkel_violett"]{--primary:#a855f7;--primary-strong:#8b3ee0;--teal:#c89bf9;--bg:#160f28;--bg-deep:#130e21;--surface:rgba(26,16,44,.46);--surface-2:rgba(36,24,60,.56);--surface-3:rgba(48,34,78,.66)}
html[data-theme="light"][data-theme-preset="glas_dunkel_violett"]{--primary:#7c3aed;--primary-strong:#6023c9;--teal:#9d6ff0;--bg:#f3eefb;--bg-deep:#f8f5fd;--surface:rgba(255,255,255,.40);--surface-2:rgba(255,255,255,.50);--surface-3:rgba(255,255,255,.62)}
.theme-swatch-glas_hell_blau{background:linear-gradient(135deg,#e4edfa 0 40%,#2f7ef0 41% 70%,#8fb8ef 71%)}
.theme-swatch-glas_hell_weiss{background:linear-gradient(135deg,#f7f9fb 0 40%,#0e9c8e 41% 70%,#9fd6cf 71%)}
.theme-swatch-glas_dunkel_blau{background:linear-gradient(135deg,#0a1526 0 40%,#3d9bff 41% 70%,#7cc4ff 71%)}
.theme-swatch-glas_dunkel_violett{background:linear-gradient(135deg,#160f28 0 40%,#a855f7 41% 70%,#c89bf9 71%)}

/* ==========================================================================
   DARSTELLUNG «GLAS» — ein MATERIALSYSTEM, keine hellblauen Karten
   ==========================================================================
   ⭐⭐⭐ 15.08.2026, Vorgabe des Users im Wortlaut: «Mit Glass Design meine ich
   nicht, dass du lediglich die Farben der Referenz übernimmst oder hellblaue
   Karten zeichnest. Die Referenz zeigt ein MATERIALSYSTEM.»
   Und sein Abnahmekriterium: «Wenn man die Hintergrundfarben ändert, muss
   diese Veränderung durch die darüberliegenden Glass-Flächen diffus sichtbar
   sein. Wenn die Karten unabhängig vom Hintergrund immer gleich aussehen, ist
   das Glass-System falsch implementiert.»

   ⛔ MEINE ZWEI FEHLVERSUCHE DAVOR, als Warnung stehen gelassen:
   1. Nur Farben getauscht, Flächen zu 58 % deckend — das ist getöntes
      Milchglas. Transparenz IST der Effekt, nicht sein Beiwerk.
   2. `position:relative` nebenbei auf `.sidebar` gesetzt, um eine Lichtkante
      anzuhängen. Die Seitenleiste ist `position:fixed`; sie fiel damit in den
      Textfluss und schob JEDE Seite nach unten — der leere obere Bereich, den
      der User gemeldet hat. ➤ Positionierung nie nebenbei umstellen; die
      Lichtkante ist heute ein INNERER Schatten und braucht gar keine.

   VIER MATERIALSTUFEN, wie in der Vorgabe verlangt:
     · Hintergrund — Lichtzonen, keine Karte
     · Primary     — Navigation, Kopfleiste, Dialoge (starker Blur)
     · Secondary   — Inhaltskarten (mittlerer Blur, geringere Deckung)
     · Control     — Knöpfe, Marken (kompakt, klarere Lichtkante)
   Der Blur ist je Stufe verschieden — daraus entsteht die räumliche Tiefe.
*/
html[data-display="glas"]{
  --radius:20px; --radius-sm:14px;
  /* Vorgabe: Controls 14–20, Karten 20–26, Navigation 24–30, Modal 28–40. */
  --glas-blur-control:16px;
  --glas-blur-card:24px;
  --glas-blur-nav:28px;
  --glas-blur-modal:34px;
  --glas-sat:155%;
  --glas-kante:rgba(255,255,255,.50);
  --glas-rand:rgba(255,255,255,.40);
  --glas-schatten:0 12px 32px rgba(20,50,90,.12);
}
html[data-display="glas"][data-theme="dark"]{
  --glas-kante:rgba(255,255,255,.10);
  --glas-rand:rgba(255,255,255,.12);
  --glas-schatten:0 14px 38px rgba(0,0,0,.34);
}

/* ---- ⭐⭐⭐ DIE FLÄCHEN — hier entscheidet sich das Abnahmekriterium ------
   ⛔⛔⛔ 15.08.2026, der Fehler, den die erste Fassung noch hatte: Die
   Darstellung «Glas» nahm die Fläche unverändert aus dem DESIGN
   (`background:var(--surface)`). Bei den vier Glas-Designs ging das gut —
   deren `--surface` trägt Alpha. Bei den ÜBRIGEN 25 Designs ist `--surface`
   DECKEND, und damit war «Glas» dort wirkungslos: kein Durchscheinen, kein
   Unterschied zum Hintergrund. Genau der Fall, den die Vorgabe des Users
   «falsch implementiert» nennt — nur eben in 25 von 29 Fällen.
   ⛔ Und der Bauentscheid des Users lautet: «Glas» ist EINE Darstellung,
   kombinierbar mit JEDEM Design. Dann muss die DARSTELLUNG die Durchsicht
   mitbringen, nicht das Design.

   ➤ Die Fläche wird darum aus der Designfarbe neu gemischt: Farbton vom
   Design, Deckung von der Darstellung. `rgb(from … r g b / …)` nimmt die
   drei Farbkanäle und SETZT die Deckung — anders als `color-mix(…,
   transparent)`, das eine schon vorhandene Deckung noch einmal
   multipliziert hätte (bei den Glas-Designs 0,36 × 0,42 = 0,15: unlesbar).
   ⚠ Ohne relative Farben greift der Rückfall in `var(…, …)`: dann steht
   dort schlicht die Fläche des Designs, wie bisher. */
@supports (background:rgb(from white r g b / 50%)){
  html[data-display="glas"]{
    --glas-flaeche:rgb(from var(--surface) r g b / 42%);        /* Karten   */
    --glas-flaeche-nav:rgb(from var(--surface-2) r g b / 55%);  /* Leisten  */
    --glas-flaeche-modal:rgb(from var(--surface-2) r g b / 62%);/* Dialoge  */
    --glas-flaeche-control:rgb(from var(--surface-3) r g b / 58%);
  }
  /* Im Dunkeln trägt die Schrift weniger Kontrast — etwas mehr Deckung. */
  html[data-display="glas"][data-theme="dark"]{
    --glas-flaeche:rgb(from var(--surface) r g b / 52%);
    --glas-flaeche-nav:rgb(from var(--surface-2) r g b / 62%);
    --glas-flaeche-modal:rgb(from var(--surface-2) r g b / 68%);
    --glas-flaeche-control:rgb(from var(--surface-3) r g b / 64%);
  }
}

/* ---- Stufe 0: der atmosphärische Hintergrund ---------------------------
   ⚠ Er ist BESTANDTEIL des Effekts, nicht Dekor: Ohne Lichtzonen dahinter
   kann durch das Glas nichts hindurchscheinen, und jede Karte sähe überall
   gleich aus — genau der Fall, den die Vorgabe «falsch implementiert» nennt.
   Die Zonen mischen sich aus den Designfarben, damit jedes der vier
   Glas-Designs seine eigene Stimmung durchscheinen lässt. */
/* ⛔⛔⛔ DIE LEHRE AUS ZWEI VERLORENEN ANLÄUFEN — hier stand einmal, die
   Ursache sei die SPEZIFITÄT der hellen Regel weiter oben. Das war falsch,
   und die falsche Diagnose hat den zweiten Anlauf gekostet: Jene Regel trägt
   `!important`, und dagegen hilft KEINE Spezifität. Behoben ist es dort, wo
   es entsteht — die helle Regel nimmt `[data-display="glas"]` aus (Zeile
   ~5678). Hier steht darum bewusst KEIN `!important`.
   ⚠ `[data-theme-tone]` bleibt in der ersten Zeile stehen: Es kostet nichts
   und hält die Regel auch dann vorn, wenn später wieder jemand eine
   tonabhängige Hintergrundregel ergänzt.
   ➤ Merksatz: Greift eine Regel nicht, ZUERST nach `!important` in der
   Konkurrenz suchen, erst danach Spezifität zählen. */
html[data-display="glas"][data-theme-tone] body,
html[data-display="glas"] body{
  background:
    radial-gradient(720px 420px at 78% -6%, color-mix(in srgb,var(--primary) 26%,transparent), transparent 70%),
    radial-gradient(620px 380px at 4% 102%, color-mix(in srgb,var(--teal) 20%,transparent), transparent 72%),
    radial-gradient(520px 300px at 50% 46%, color-mix(in srgb,var(--primary-strong) 12%,transparent), transparent 76%),
    linear-gradient(160deg, var(--bg-deep), var(--bg));
  background-attachment:fixed;
}

/* ---- Stufe 1: Primary — Navigation, Kopfleiste, Dialoge ----------------
   ⚠ NUR Material: Unschärfe, Fläche, Kante. Die Positionierung (sticky bzw.
   fixed) bleibt unberührt — siehe Warnung im Kopf. */
/* ⛔ Vorher standen hier feste Weiss- und Blauwerte
   (`rgba(255,255,255,.44)` / `rgba(10,22,40,.50)`). Damit sah die
   Seitenleiste in JEDEM Design gleich aus — dieselbe Rüge, die der User
   schon für die Karten ausgesprochen hat. Jetzt kommt der Farbton aus dem
   Design, die Deckung aus der Darstellung. */
html[data-display="glas"] .sidebar,
html[data-display="glas"] .topbar{
  background:var(--glas-flaeche-nav, var(--surface-2));
  backdrop-filter:blur(var(--glas-blur-nav)) saturate(var(--glas-sat));
  -webkit-backdrop-filter:blur(var(--glas-blur-nav)) saturate(var(--glas-sat));
  border-color:var(--glas-rand);
}

html[data-display="glas"] dialog{
  background:var(--glas-flaeche-modal, var(--surface-2));
  backdrop-filter:blur(var(--glas-blur-modal)) saturate(var(--glas-sat));
  -webkit-backdrop-filter:blur(var(--glas-blur-modal)) saturate(var(--glas-sat));
  border:1px solid var(--glas-rand);
  box-shadow:0 26px 70px rgba(10,25,50,.30), inset 0 1px 0 var(--glas-kante);
}

/* ---- Stufe 2: Secondary — die Inhaltskarten ---------------------------
   ⭐ HIER ENTSCHEIDET SICH DAS ABNAHMEKRITERIUM: Die Fläche bleibt
   überwiegend durchsichtig, und `--surface` kommt aus dem gewählten DESIGN.
   Ein anderer Hintergrund schlägt dadurch sichtbar durch. */
html[data-display="glas"] .card{
  background:var(--glas-flaeche, var(--surface));
  border:1px solid var(--glas-rand);
  backdrop-filter:blur(var(--glas-blur-card)) saturate(var(--glas-sat));
  -webkit-backdrop-filter:blur(var(--glas-blur-card)) saturate(var(--glas-sat));
  box-shadow:var(--glas-schatten), inset 0 1px 0 var(--glas-kante);
}

/* ---- Stufe 3: Control — Knöpfe, Marken, Segmente -----------------------
   ⛔⛔⛔ 15.08.2026 — ZUSTANDSFARBEN BLEIBEN ZUSTANDSFARBEN.
   Die erste Fassung setzte `background` pauschal auf ALLEN `.btn`, `.chip`
   und `.badge`. Weil der Glas-Block am Dateiende steht, schlug er damit
   jede vorher vergebene Zustandsfarbe: Der rote «Löschen»-Knopf wurde ein
   neutrales Glasplättchen, «Fehler» sah aus wie «erledigt», und die Marken,
   die der User im Hellen erst mühsam lesbar bekommen hat (badge-green,
   -red, -orange …), waren wieder einfarbig.
   ➤ Getrennt in zwei Regeln: Das MATERIAL — Form, Unschärfe, Lichtkante —
   bekommen alle. Die FLÄCHE nur die Bedienelemente ohne eigene Aussage.
   (Merksatz aus den Sessions 19–26: Zustandsfarben nie aus
   Designvariablen. Er gilt auch für Darstellungen.) */
html[data-display="glas"] .btn:not(.btn-primary),
html[data-display="glas"] .chip,
html[data-display="glas"] .badge{
  border-radius:999px;
  backdrop-filter:blur(var(--glas-blur-control)) saturate(var(--glas-sat));
  -webkit-backdrop-filter:blur(var(--glas-blur-control)) saturate(var(--glas-sat));
  box-shadow:inset 0 1px 0 var(--glas-kante);
}
html[data-display="glas"] .btn:not(.btn-primary,.btn-danger,.btn-warning,.btn-teal),
html[data-display="glas"] .chip:not(.chip-ok,.chip-danger,.chip-accent,.chip-delete),
html[data-display="glas"] .badge:not(.badge-green,.badge-red,.badge-orange,.badge-blue,.badge-purple,.badge-black,.badge-cal){
  background:var(--glas-flaeche-control, var(--surface-3));
  border:1px solid var(--glas-rand);
}

/* ---- Die Startseite ist das ERSTE, was man nach dem Umschalten sieht ----
   ⛔ `.start-widget` setzt seinen Verlauf mit `!important` (Zeile ~1781) und
   blieb deshalb als einziges Feld deckend: Wer auf «Glas» umstellt, landet
   auf der Startseite und sieht — nichts. Gegen ein `!important` hilft nur
   ein `!important`; von zwei gleich wichtigen Regeln gewinnt die
   spezifischere, und (0,2,1) schlägt (0,1,0). Kein Wettrüsten, sondern die
   einzige Stelle, an der es sich nicht vermeiden liess. */
html[data-display="glas"] .start-widget{
  background:var(--glas-flaeche, var(--surface))!important;
  border-color:var(--glas-rand)!important;
  backdrop-filter:blur(var(--glas-blur-card)) saturate(var(--glas-sat));
  -webkit-backdrop-filter:blur(var(--glas-blur-card)) saturate(var(--glas-sat));
  box-shadow:var(--glas-schatten), inset 0 1px 0 var(--glas-kante);
}

/* Auf Glas trennt der Helligkeitssprung, nicht der Strich. */
html[data-display="glas"] table th,
html[data-display="glas"] table td{border-color:color-mix(in srgb,var(--border) 40%,transparent)}
html[data-display="glas"] .card-head{border-bottom-color:color-mix(in srgb,var(--border) 35%,transparent)}

/* ---- ⛔ BARRIEREFREIHEIT UND RÜCKFALL ----------------------------------
   Vorgabe: «Glass darf die Lesbarkeit niemals verschlechtern. Reduce
   Transparency respektieren. Fallback ohne backdrop-filter bereitstellen.» */
/* ⛔⛔ 15.08.2026 — der Rückfall war selbst nicht deckend. Beide Blöcke
   unten setzten `background:var(--surface-2)` und der Kommentar behauptete
   «dann deckend». Bei den VIER GLAS-DESIGNS trägt aber schon `--surface-2`
   Alpha (rgba(255,255,255,.46)). Eine 46-%-Fläche OHNE Unschärfe ist der
   schlechteste aller Fälle — und er traf ausgerechnet die Benutzer, die
   «Transparenz reduzieren» eingeschaltet haben.
   ➤ Deckung wird jetzt erzwungen, ohne relative Farben (die ein Browser
   ohne `backdrop-filter` erst recht nicht kennt): eine deckende Grundfarbe
   und darüber die Designfläche als Bild. Das Ergebnis ist immer opak und
   behält trotzdem den Farbton des Designs. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  html[data-display="glas"] .card,
  html[data-display="glas"] dialog,
  html[data-display="glas"] .sidebar,
  html[data-display="glas"] .topbar{
    background-color:var(--bg-deep);
    background-image:linear-gradient(var(--surface-2),var(--surface-2));
  }
}
@media (prefers-reduced-transparency:reduce){
  /* Die Unschärfe fällt bei ALLEN weg — auch bei Marken und Knöpfen mit
     Zustandsfarbe, deren Fläche unten aber unangetastet bleibt. */
  html[data-display="glas"] .card,
  html[data-display="glas"] dialog,
  html[data-display="glas"] .sidebar,
  html[data-display="glas"] .topbar,
  html[data-display="glas"] .btn,
  html[data-display="glas"] .chip,
  html[data-display="glas"] .badge{
    backdrop-filter:none; -webkit-backdrop-filter:none;
  }
  html[data-display="glas"] .card,
  html[data-display="glas"] dialog,
  html[data-display="glas"] .sidebar,
  html[data-display="glas"] .topbar,
  html[data-display="glas"] .btn:not(.btn-primary,.btn-danger,.btn-warning,.btn-teal),
  html[data-display="glas"] .chip:not(.chip-ok,.chip-danger,.chip-accent,.chip-delete),
  html[data-display="glas"] .badge:not(.badge-green,.badge-red,.badge-orange,.badge-blue,.badge-purple,.badge-black,.badge-cal){
    background-color:var(--bg-deep);
    background-image:linear-gradient(var(--surface-2),var(--surface-2));
  }
  html[data-display="glas"] body{background:linear-gradient(160deg,var(--bg-deep),var(--bg))}
}
/* ⭐ 15.08.2026: Balken für blockierte Mailbilder — zweiter Knopf «Von diesem
   Absender immer laden» daneben, und die leise Zeile für bereits freigegebene
   Absender. Sie muss auffindbar bleiben: Eine Ausnahme, die man nicht mehr
   sieht, ist eine Falle. */
.mail-extern-knoepfe{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.mail-extern-knoepfe .inline-form{margin:0}
.mail-extern-freigabe{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;font-size:.85rem}
.mail-extern-freigabe .inline-form{margin:0}

/* ===== Buchungsregeln: Bedingungen und Aktionen als Zeilen (16.08.2026) ===
   ⛔ Vorher gab es hier nur ein Textfeld mit fest verdrahtetem «enthält».
   Die Zeilen sind bewusst EIN Raster statt vier freier Felder: So stehen
   Feld, Operator und Wert in jeder Zeile untereinander bündig, auch wenn die
   Beschriftungen unterschiedlich lang sind. */
.regel-block { margin: 0 0 14px; }
.regel-block-kopf { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.regel-block-kopf select { max-width: 22rem; }
.regel-zeile { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.2fr) auto auto;
  gap: 7px; align-items: center; margin-bottom: 6px; }
/* Aktionszeilen haben eine Spalte weniger (kein Operator, keine Verneinung). */
[data-regel-aktionen] .regel-zeile { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.4fr) auto; }
.regel-zeile .checkbox { margin: 0; white-space: nowrap; }
.regel-zeile-text { line-height: 1.35; }
.regel-vorschau { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border); }
.regel-treffer { font-size: .78rem; color: var(--muted); padding: 2px 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dialog-wide { max-width: min(940px, 96vw); }
/* Auf dem Telefon untereinander — nebeneinander wäre jede Spalte 60 px breit. */
@media (max-width: 760px) {
  .regel-zeile, [data-regel-aktionen] .regel-zeile { grid-template-columns: 1fr 1fr; }
  .regel-zeile [data-wert] { grid-column: 1 / -1; }
}
/* Der «Auswahl leeren»-Knopf direkt unter der Dateiliste der PDF-Werkzeuge. */
.pdfwerkzeug-listenaktion { margin: -4px 0 10px; }

/* ===== KI-Chat: kursiv, durchgestrichen, Aufgabenlisten, Verschachtelung ===
   ⭐ 16.08.2026 (User: «sie muss im Chatfeld schöne Grafiken darstellen können
   und bei Bedarf Bilder, Tabellen, etc. — alles, was Claude und ChatGPT auch
   können»). Tabellen, Listen, Diagramme und Bilder gab es schon; kursiv,
   durchgestrichen, Ebene 4–6, Aufgabenlisten und verschachtelte Listen nicht. */
.ai-message-content em { font-style: italic; }
.ai-message-content del { opacity: .65; }
.ai-message-content h5, .ai-message-content h6 { margin: 12px 0 4px; font-size: .86rem; }
.ai-message-content h6 { color: var(--muted); }
/* Unterlisten enger einrücken als der Browser-Standard — sonst wandert eine
   dritte Ebene im schmalen Chatfenster aus dem Bild. */
.ai-md-ul .ai-md-ul, .ai-md-ul .ai-md-ol,
.ai-md-ol .ai-md-ul, .ai-md-ol .ai-md-ol { margin: 2px 0 2px 2px; padding-left: 18px; }
.ai-md-aufgabe { display: inline-flex; align-items: baseline; gap: 7px; }
/* ⚠ Das Kästchen ist deaktiviert (die Antwort ist ein Text, keine Bedienung) —
   darum NICHT ausgegraut darstellen, sonst sieht der Punkt kaputt aus. */
.ai-md-aufgabe input[type="checkbox"] { opacity: 1; cursor: default; margin: 0; }

/* Zielsprache über der Übersetzung — eine Zeile, kein eigener Kasten. */
.selection-translate-bar { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.selection-translate-bar label { display: inline-flex; align-items: center; gap: 7px;
  font-size: .78rem; color: var(--muted); }
.selection-translate-bar select { min-width: 10rem; }

/* ===== Waagrechter Überlauf auf dem Telefon (16.08.2026) ==================
   ⛔ Gemessen mit `tools/responsive_release_check.py` im Container:
      /calendar                   486 px zu breit bei 360 px Fenster
      /documents/nebeneinander    241 px zu breit
   ⭐ URSACHE — die klassische Gitter-/Flex-Falle: `.calendar-month` hat
   bereits `overflow:auto` und innen `min-width:820px` (ein Monat BRAUCHT
   Breite, das ist richtig so). Der Scrollrahmen greift trotzdem nie, weil
   `min-width` bei Gitter- und Flex-Kindern standardmässig `auto` ist — also
   «so breit wie mein Inhalt». Das Kind weigert sich zu schrumpfen, und die
   Breite wandert nach aussen bis zum Seitenrand.
   ➤ `min-width:0` erlaubt dem Platz zu schrumpfen; erst dann darf der
     Scrollrahmen im Innern seine Arbeit tun. KEIN Umbau des Layouts. */
.calendar-workspace > *, .calendar-main, .calendar-sidebar { min-width: 0; }
.calendar-main > *, .calendar-sidebar > * { min-width: 0; max-width: 100%; }
/* Die Werkzeugleiste über dem Kalender: umbrechen statt hinausschieben, und
   die Ansichtsumschaltung darf für sich allein seitlich rollen. */
.calendar-toolbar-right { flex-wrap: wrap; min-width: 0; max-width: 100%; }
.segmented-control { max-width: 100%; overflow-x: auto; scrollbar-width: thin; }
/* Werkbank («Zwei Dokumente nebeneinander»): dieselbe Falle, dazu eine
   Kopfzeile mit langem Text ohne Umbruchpunkt. */
.werkbank-einleitung, .werkbank-kopfzeile { min-width: 0; max-width: 100%; }
.werkbank-einleitung .eyebrow, .werkbank-einleitung p { overflow-wrap: anywhere; }
.werkbank-kopfzeile .page-actions { flex-wrap: wrap; min-width: 0; }

/* ===== KI-Antworten: Platz, Umbruch und Farbe (16.08.2026) ================
   ⭐ Vom User gemeldet, mit Bildschirmfoto: «Die KI darf die ganze Breite
   nutzen des Fensters, das tut sie ja nicht, das gibt schon mal Platz.
   Sicherstellen dass es Platz hat (siehe Screenshot die Umbrüche). Die KI darf
   durchaus Farben einsetzen, grafisch schöner darstellen … die Darstellung /
   Ränder von Diagrammen und Aufstellungen in der Cockpit-Farbe.»

   ⛔ ZWEI URSACHEN, beide im Bestand gefunden:
   1. `.ai-message{max-width:min(82%,850px)}` — eine Antwort mit Tabelle wurde
      dadurch auf 850 px gequetscht, egal wie breit das Fenster ist.
   2. `.ai-message-content{overflow-wrap:anywhere}` — «anywhere» darf MITTEN
      IM WORT trennen. Genau das zeigt sein Foto: «Fortbildungs|jahr»,
      «zusätzli|ches». `break-word` trennt nur, wenn es sonst NICHT passt. */
.ai-message-assistant { max-width: min(96%, 1400px); }
.ai-message-content { overflow-wrap: break-word; }
/* In Tabellen zusätzlich Silbentrennung — eine schmale Spalte bricht damit an
   der richtigen Stelle statt irgendwo. */
.ai-message-content .ai-md-table td { overflow-wrap: break-word; hyphens: auto; }
/* Die erste Spalte ist fast immer die Bezeichnung — sie darf mehr Platz haben. */
.ai-message-content .ai-md-table td:first-child { min-width: 8.5rem; }
/* ⭐⭐ 16.08.2026, aus einem Bildschirmfoto des Users: Eine fünfspaltige
   Ausbildungsübersicht war so gequetscht, dass «Fortbildungsjahr,
   Hauswirtschaftlicher Jahreskurs» über SIEBEN Zeilen lief (gemessen: 6,7),
   während die Spalte daneben mit «2019» fast leer stand.
   ⛔ URSACHE: `width:100%` zwingt die Tabelle in die verfügbare Breite. Der
   Auto-Algorithmus verteilt sie dann so, dass alles gerade noch passt — und
   weil `overflow-wrap:break-word` jede Zelle beliebig schmal werden lässt,
   gibt es keine Untergrenze, gegen die er rechnen müsste. Kurze und lange
   Spalten werden dadurch fast gleich breit (gemessen: 138/155/165/173/160).
   ➤ `width:max-content` lässt die Spalten wieder am INHALT wachsen; der
   Rahmen scrollt waagrecht, wie bei ChatGPT.
   ⛔⛔ DIE ZWEITE HÄLFTE IST DIE WICHTIGE — und ohne Messung unsichtbar:
   Ohne `min-width:0` scrollt der Rahmen NICHT, sondern WÄCHST MIT. Gemessen
   ohne diese Zeile: Rahmen 1423 px in einem 790-px-Feld, und die ganze Seite
   lief waagrecht über. Genau die Falle, die am selben Tag den Kalender
   getroffen hat: Bei Gitter- und Flex-Kindern ist `min-width` von Haus aus
   `auto` — «so breit wie mein Inhalt».
   ⚠ `max-width` an der ZELLE begrenzt die längste Spalte (gemessen 1653 →
   1423 px). An der TABELLE wirkt `max-width` nicht — im Tabellenlayout wird
   sie ignoriert; das wurde durchprobiert, nicht angenommen.
   Ergebnis der Messung: höchste Zelle 6,7 → 2,7 Zeilen, Seitenbreite
   unverändert, Rahmen scrollt innen. */
.ai-message-content { min-width: 0; }
.ai-message-content .ai-md-table,
.ai-dock-message .ai-md-table { min-width: 0; max-width: 100%; }
.ai-message-content .ai-md-table table,
.ai-dock-message .ai-md-table table { width: max-content; min-width: 100%; }
.ai-message-content .ai-md-table td,
.ai-dock-message .ai-md-table td { max-width: 22rem; }
.ai-message-content .ai-md-table th { font-size: .72rem; letter-spacing: .04em;
  text-transform: uppercase; color: var(--muted); }

/* Farbe: Tabellen, Diagramme und Zitate tragen den Cockpit-Akzent.
   ⚠ Bewusst als ZARTER Rahmen und Kopfstreifen, nicht als Füllfarbe — eine
     Tabelle voller Farbe liest sich schlechter, nicht besser. */
.ai-message-content .ai-md-table { border-color: color-mix(in srgb, var(--primary) 32%, var(--border));
  box-shadow: 0 6px 18px rgba(0,0,0,.07); }
.ai-message-content .ai-md-table thead tr { background: color-mix(in srgb, var(--primary) 12%, var(--surface-3)); }
.ai-message-content .ai-md-table thead th { background: transparent;
  border-bottom: 2px solid color-mix(in srgb, var(--primary) 45%, var(--border)); }
.ai-message-content .ai-md-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--primary) 4%, transparent); }
.ai-message-content figure { margin: 12px 0; padding: 12px;
  border: 1px solid color-mix(in srgb, var(--primary) 28%, var(--border)); border-radius: 12px;
  background: color-mix(in srgb, var(--primary) 5%, var(--surface)); }
.ai-message-content figcaption { margin-bottom: 6px; color: var(--muted);
  font-size: .74rem; font-weight: 750; }
.ai-md-quote { border-left: 3px solid color-mix(in srgb, var(--primary) 60%, var(--border));
  padding-left: 11px; margin: 8px 0; color: var(--muted); }
.ai-md-hr { border: 0; border-top: 1px solid color-mix(in srgb, var(--primary) 25%, var(--border)); margin: 14px 0; }
/* Überschriften in der Antwort bekommen einen farbigen Anstrich — das gliedert
   eine lange Auskunft, ohne sie bunt zu machen. */
.ai-message-content h2, .ai-message-content h3 {
  color: color-mix(in srgb, var(--primary) 62%, var(--text)); }

/* ============================================================
   Notizen: [[Verknüpfungen]] und «Erwähnt in …»  (16.08.2026)
   ⚠ Zustandsfarben NICHT aus Designvariablen — Lehre aus Session 19-26:
     ein Design darf eine Verknüpfung nicht unsichtbar machen.
   ============================================================ */
.note-link {
  color: var(--accent, #2563eb);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--accent, #2563eb) 40%, transparent);
  padding: 0 .08em;
}
.note-link:hover { border-bottom-color: currentColor; }

/* Eine Verknüpfung, deren Ziel es noch nicht gibt — sichtbar anders, aber
   nicht als Fehler: sie ist ein gültiger Vorgriff. */
.note-link-offen {
  color: #9a6b00;
  border-bottom-style: dashed;
}
:root[data-theme="dark"] .note-link-offen { color: #e0b23c; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .note-link-offen { color: #e0b23c; }
}

.notiz-verknuepfung-liste {
  position: fixed;
  z-index: 4000;
  min-width: 220px;
  max-width: min(360px, 92vw);
  max-height: 260px;
  overflow-y: auto;
  background: var(--surface, #fff);
  border: 1px solid var(--border, #d8dee9);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .18);
  padding: 4px;
}
.notiz-verknuepfung-eintrag {
  display: block;
  width: 100%;
  text-align: left;
  padding: 7px 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notiz-verknuepfung-eintrag:hover,
.notiz-verknuepfung-eintrag.ist-gewaehlt {
  background: color-mix(in srgb, var(--accent, #2563eb) 14%, transparent);
}
/* ⚠ Die Auswahl darf nicht NUR farbig sein (Barrierefreiheit). */
.notiz-verknuepfung-eintrag.ist-gewaehlt { box-shadow: inset 3px 0 0 var(--accent, #2563eb); }
.notiz-verknuepfung-leer {
  padding: 8px 10px;
  font-size: .85em;
  opacity: .75;
}

.notiz-backlinks {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border, #e2e8f0);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.notiz-backlink-kopf {
  flex-basis: 100%;
  font-size: .78em;
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .65;
  margin-bottom: 2px;
}
.notiz-backlink {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent, #2563eb) 10%, transparent);
  color: var(--accent, #2563eb);
  text-decoration: none;
  font-size: .88em;
}
.notiz-backlink:hover { background: color-mix(in srgb, var(--accent, #2563eb) 20%, transparent); }
.notiz-backlink-offen {
  background: color-mix(in srgb, #9a6b00 12%, transparent);
  color: #9a6b00;
  cursor: default;
}
:root[data-theme="dark"] .notiz-backlink-offen { color: #e0b23c; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .notiz-backlink-offen { color: #e0b23c; }
}

/* ---- Comicleser: Doppelseite, Fortschritt, Wischfläche ------------------ */
/* ⭐ 17.08.2026 neu gebaut. Vorher war jede Seite ein Seitenwechsel. */

.comic-reader .comic-toolbar { flex-wrap: wrap; }
.comic-stand { font-variant-numeric: tabular-nums; }

/* Zwei Seiten nebeneinander. ⚠ Auf einem schmalen Bildschirm wären zwei
   Seiten unlesbar klein — dort bleibt es bei einer, unabhängig vom Modus. */
.comic-mode-double .comic-canvas { display: flex; gap: 4px; justify-content: center; align-items: flex-start; }
.comic-mode-double .comic-canvas img { max-width: calc(50% - 2px); }
@media (max-width: 820px) {
  .comic-mode-double .comic-canvas { display: grid; }
  .comic-mode-double .comic-canvas img { max-width: 100%; }
}

.comic-fortschritt { height: 4px; border-radius: 999px; background: var(--surface-3); overflow: hidden; }
.comic-fortschritt i { display: block; height: 100%; width: var(--fortschritt, 0%);
  background: linear-gradient(90deg, var(--primary), var(--teal)); transition: width .2s; }

/* ⚠ `touch-action: pan-y`: senkrecht darf gescrollt werden, waagrecht fängt
   der Leser das Wischen ab. Ohne das scrollt der Browser mit und das
   Umblättern fühlt sich zäh an. */
.comic-reader .comic-canvas { touch-action: pan-y; }
.comic-reader .comic-canvas img { user-select: none; -webkit-user-drag: none; }

/* Ein abgeschalteter Knopf soll auch abgeschaltet AUSSEHEN. */
.comic-toolbar button[disabled] { opacity: .45; cursor: default; }

/* ---- Beleg-Zeile in den Soll/Haben-Masken (17.08.2026) ----------------- */
/* ⭐ User: «Beleg-Feld auch in der kompakten Maske? Ja überall.»
   ⚠ Bewusst EINE schmale Zeile: Die vereinfachte Maske lebt davon, dass man
   mit Tab durchläuft und mit Enter bucht. Ein grosses Feld mitten darin
   zerrisse den Fluss. */
.beleg-zeile {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-top: 8px; padding-top: 8px; border-top: 1px dashed var(--border);
}
.beleg-waehlen {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 11px; border: 1px solid var(--border); border-radius: 999px;
  color: var(--muted); font-size: .82rem; cursor: pointer;
}
.beleg-waehlen:hover { border-color: var(--primary); color: var(--text); }
/* Das Dateifeld selbst bleibt bedienbar, aber unsichtbar — der ganze
   Rahmen ist die Fläche. ⛔ NICHT `display:none`: Ein so verstecktes Feld
   ist für die Tastatur nicht mehr erreichbar. */
.beleg-waehlen input[type="file"] {
  position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none;
}
.beleg-waehlen:focus-within { outline: 2px solid var(--primary); outline-offset: 2px; }
.beleg-zeile .beleg-ki { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }

/* ---- «Notizen»: Export-Menü, Import-Vorschau, Rechnen im Text ----------
   ⭐ 17.08.2026 (User: «all die Funktionen die Notes hat auch zu Notizen»).
   ⛔ NACHGEZÄHLT, bevor diese Regeln entstanden: `notes-exportzeile`,
      `notes-importliste`, `notes-importzeile`, `notes-importfehler`,
      `notes-rechenschicht` und `notes-rechenwert` waren im ganzen Projekt
      nirgends definiert. Genau so blieb in Session 45 `.visually-hidden`
      wirkungslos — die Maske stand da, aber ungestaltet. */
.notes-exportzeile{display:block;padding:7px 9px;border-radius:8px;color:inherit;
  text-decoration:none;font-size:.78rem}
.notes-exportzeile:hover{background:color-mix(in srgb,var(--primary) 16%,transparent)}
.notes-importliste{display:flex;flex-direction:column;gap:6px;max-height:46vh;
  overflow-y:auto;margin-top:12px;padding:8px;border:1px solid var(--line);border-radius:9px}
.notes-importzeile{display:flex;flex-direction:column;gap:1px;min-width:0}
.notes-importzeile small{color:var(--muted);font-size:.78em;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
/* ⛔ Zustandsfarbe fest, nie aus den Designvariablen (Merksatz Session 26). */
.notes-importfehler{margin:10px 0 0;font-size:.8rem;font-weight:600;color:#f43f5e}
/* Die Ergebnisse liegen NEBEN dem Text, nicht darin — der Text des Benutzers
   wird nicht angefasst. `pointer-events:none`, damit die Schicht das Schreiben
   nicht abfängt. */
.notes-rechenschicht{position:absolute;inset:0;pointer-events:none;z-index:3}
.notes-rechenwert{position:absolute;right:14px;padding:1px 8px;border-radius:999px;
  font-size:.76rem;font-weight:700;font-variant-numeric:tabular-nums;
  background:color-mix(in srgb,var(--primary) 20%,transparent);color:var(--text)}
/* In-Notiz-Suche (Strg+F) — dieselbe Bauform wie in «Notes». */
.notes-notizsuche{display:flex;align-items:center;gap:6px;padding:7px 12px;
  border-bottom:1px solid var(--line);background:var(--surface-2)}
.notes-notizsuche input{flex:1;min-width:0;max-width:320px}
.notes-notizsuche-zahl{font-size:.75rem;color:var(--muted);
  font-variant-numeric:tabular-nums;white-space:nowrap}
/* ---- «Notizen»: Ansicht und Sortierung je Ordner, Galerieansicht -------
   ⭐ 17.08.2026 (User: «all die Funktionen die Notes hat auch zu Notizen»). */
.notes-ansichtsleiste{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:6px 12px;border-top:1px solid var(--line)}
.notes-ansichtswahl{display:flex;gap:2px}
.notes-ansichtswahl .ist-aktiv{background:color-mix(in srgb,var(--primary) 22%,transparent)}
.notes-sortierung{flex:1;min-width:0}
.notes-sortierung select{width:100%;min-height:30px;padding:3px 8px;font-size:.75rem}
/* Galerie: zwei Spalten statt einer Liste. Die Vorschau darf mehr Zeilen
   zeigen — dafür ist die Galerie da. */
.onenote-page-list.ist-galerie{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;align-content:start}
.onenote-page-list.ist-galerie .onenote-page-item{min-height:118px!important;
  border:1px solid var(--line);border-radius:11px}
.onenote-page-list.ist-galerie .onenote-page-item a{flex-direction:column;align-items:flex-start}
.onenote-page-list.ist-galerie .onenote-page-item small{-webkit-line-clamp:4}
@media (max-width:1100px){.onenote-page-list.ist-galerie{grid-template-columns:1fr}}
/* KI auf markiertem Text in «Notizen» — Auftrag des Users vom 17.08.2026. */
.notes-kileiste{position:absolute;z-index:60;padding:2px;border-radius:999px;
  border:1px solid var(--line);background:var(--surface);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.notes-kimenue{position:absolute;z-index:61;min-width:180px;padding:5px;
  border:1px solid var(--line);border-radius:11px;background:var(--surface);
  box-shadow:0 16px 40px rgba(0,0,0,.35);display:grid;gap:2px}
.notes-kieintrag{border:0;background:transparent;color:inherit;font:inherit;
  font-size:.79rem;text-align:left;padding:6px 10px;border-radius:7px;cursor:pointer}
.notes-kieintrag:hover{background:color-mix(in srgb,var(--primary) 18%,transparent)}
.notes-kieintrag:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.notes-ki-gegenueber{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.notes-ki-gegenueber pre{white-space:pre-wrap;overflow-wrap:break-word;max-height:260px;
  overflow-y:auto;padding:9px;border-radius:8px;font-size:.86em;
  background:color-mix(in srgb,currentColor 6%,transparent)}
@media (max-width:820px){.notes-ki-gegenueber{grid-template-columns:1fr}}

/* ---- Depotpositionen: Listenansicht wie bei den Kryptowährungen ---------
   ⭐ 17.08.2026 (User: «die Ansicht bei Finanzanlagen soll vom Stil her wie bei
      Kryptowährungen sein, ist schöner als 2 riesen Blöcke nebeneinander …
      allenfalls brauchts einfach ein Ansicht-Knopf?»).
   ⚠ DIESELBEN Elemente, nur anders gesetzt: eine Spalte, flache Zeilen,
      Zahlen rechts. Kein zweites Markup — sonst müssten Suche, Filter und
      Sortierung zweimal gepflegt werden. */
.position-ansichtswahl{display:inline-flex;gap:2px;margin-right:6px}
.position-ansichtswahl .ist-aktiv{background:color-mix(in srgb,var(--primary) 22%,transparent)}

/* Listenansicht der Depotpositionen: eine echte Tabelle wie bei den Kryptos.
   ⛔ 17.08.2026, vom User zurückgewiesen: zusammengedrückte Karten haben keine
      Spaltentitel — «man sieht nur schlecht den Unterschied». */
.position-tabelle[hidden]{display:none}
.position-tabelle .security-logo-sm{width:30px;height:30px}
.position-tabelle .td-sub{color:var(--muted);font-size:.73rem}
/* Stand des Abgleichs in der Kopfleiste — Auftrag des Users vom 17.08.2026.
   ⛔ Verborgen, solange nichts läuft und nichts aussteht. */
.topbar-sync{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;
  border:1px solid var(--line);border-radius:999px;background:transparent;
  color:var(--muted);font:inherit;font-size:.74rem;font-weight:650;cursor:pointer;
  white-space:nowrap}
.topbar-sync:hover{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--text)}
.topbar-sync[hidden]{display:none}
.topbar-sync-punkt{width:8px;height:8px;border-radius:50%;flex:0 0 auto;
  background:var(--muted-2)}
/* Nur WÄHREND eines Abgleichs pulsiert der Punkt. Ruht er, ist er still. */
.topbar-sync.ist-aktiv{color:var(--text);border-color:color-mix(in srgb,var(--primary) 45%,transparent)}
.topbar-sync.ist-aktiv .topbar-sync-punkt{background:var(--primary);animation:sync-puls 1.4s ease-in-out infinite}
@keyframes sync-puls{0%,100%{opacity:1}50%{opacity:.25}}
@media(max-width:900px){.topbar-sync span:not(.topbar-sync-punkt){display:none}
  .topbar-sync{padding:6px 8px}}

/* ⭐ 17.08.2026 — Fotokacheln werden nachgeladen (Nextcloud-Prinzip).
   Auf dem NAS gemessen: Nextclouds Fotoseite ist serverseitig 163 Byte,
   Cockpits war 5'690 KB, weil ALLE 2'541 Kacheln im HTML standen. Jetzt
   liefert der Seitenaufbau 60 Kacheln, der Rest kommt beim Scrollen.
   Gruppenüberschrift und Nachlade-Knopf sind Kinder des Rasters und müssen
   deshalb über die ganze Breite gehen. */
.photo-grid>.photo-gruppe,.photo-grid>.photo-nachschub{grid-column:1/-1}
.photo-grid>.photo-gruppe{margin:18px 0 2px}
.photo-grid>.photo-gruppe:first-child{margin-top:0}
.photo-nachschub{display:grid;place-items:center;padding:22px 0}
.photo-nachschub a.is-error{color:var(--danger,#ef4444)}
/* ⚠ Der Browser darf Kacheln ausserhalb des Sichtfelds überspringen. Die
   angegebene Ersatzgrösse verhindert, dass die Bildlaufleiste springt. */
.photo-tile{content-visibility:auto;contain-intrinsic-size:auto 210px}

/* ==========================================================================
   Fotos: Kacheln · Liste · Details
   ⭐ 17.08.2026 (User): «nebst Kacheln noch ein grundsätzlicher Ansichtmodus:
      Kacheln, Liste, Details oder einfach etwas das Sinn macht.»
   ⚠ DREI LAYOUTS ÜBER DERSELBEN AUSZEICHNUNG. Die Kachel wird für den
     Seitenaufbau UND für das Nachladen beim Scrollen aus derselben Vorlage
     erzeugt (photos_kacheln.html). Drei verschiedene HTML-Bäume wären drei
     Stellen, die auseinanderlaufen können — und der Nachschub müsste jede
     kennen. Darum bleibt die Auszeichnung gleich; nur das Layout wechselt.
   ========================================================================== */
.photo-darstellung{display:inline-flex;gap:2px;margin-left:auto}

/* --- Liste: eine Zeile je Aufnahme, kleines Bild links ------------------- */
.photo-grid.als-liste,.photo-grid.als-details{display:block;gap:0}
.photo-grid.als-liste .photo-tile,
.photo-grid.als-details .photo-tile{
  display:grid;grid-template-columns:34px 64px minmax(0,1fr) auto;gap:10px;align-items:center;
  aspect-ratio:auto;min-height:56px;padding:6px 10px;border-radius:0;
  border-bottom:1px solid var(--border);background:transparent}
.photo-grid.als-liste .photo-tile:hover,
.photo-grid.als-details .photo-tile:hover{background:var(--surface-2)}
.photo-grid.als-liste .photo-open,
.photo-grid.als-details .photo-open{display:block;width:64px;height:48px;border-radius:6px;overflow:hidden;position:relative}
.photo-grid.als-liste .photo-open img,
.photo-grid.als-details .photo-open img{width:100%;height:100%;object-fit:cover}
/* Die Beschriftung liegt im Kachelmodus ALS ÜBERLAGERUNG auf dem Bild.
   In Liste und Details wird daraus eine gewöhnliche Textspalte. */
.photo-grid.als-liste .photo-tile-overlay,
.photo-grid.als-details .photo-tile-overlay{
  position:static;display:flex;align-items:center;gap:8px;padding:0;
  background:none;opacity:1;transform:none;color:inherit}
.photo-grid.als-liste .photo-tile-overlay>div,
.photo-grid.als-details .photo-tile-overlay>div{min-width:0;display:grid;gap:1px}
.photo-grid.als-liste .photo-tile-overlay strong,
.photo-grid.als-details .photo-tile-overlay strong{
  font-size:.78rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.photo-grid.als-liste .photo-tile-overlay small,
.photo-grid.als-details .photo-tile-overlay small{font-size:.66rem;color:var(--muted)}
.photo-grid.als-liste .video-play-badge,
.photo-grid.als-details .video-play-badge{font-size:.6rem;left:4px;top:4px}
.photo-grid.als-liste .video-duration,
.photo-grid.als-details .video-duration{font-size:.55rem}
/* Die Gruppenüberschrift bleibt, wird aber flacher. */
.photo-grid.als-liste .photo-gruppe,
.photo-grid.als-details .photo-gruppe{margin:14px 0 4px;padding:0 10px}

/* --- Details: dieselbe Zeile, nur höher und mit Technikzeile ------------- */
.photo-grid.als-details .photo-tile{grid-template-columns:34px 92px minmax(0,1fr) auto;min-height:74px}
.photo-grid.als-details .photo-open{width:92px;height:64px}
.photo-technik{display:none}
.photo-grid.als-details .photo-technik{
  display:block;font-size:.63rem;color:var(--muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:700px){
  .photo-darstellung{margin-left:0}
  .photo-grid.als-liste .photo-tile,
  .photo-grid.als-details .photo-tile{grid-template-columns:30px 52px minmax(0,1fr);}
  .photo-grid.als-liste .photo-open,
  .photo-grid.als-details .photo-open{width:52px;height:40px}
  .photo-grid.als-details .photo-tile-overlay .icon-btn{display:none}
}

/* ⭐⭐ 18.08.2026 — Smart-Notizbücher (Oberfläche zu einem Regelwerk, das es
   seit dem 17.08. schon gab). Ein Smart-Notizbuch ist eine REGEL, keine
   Ablage — darum optisch abgesetzt unter den echten Notizbüchern. */
.note-smart-kopf {
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; padding: 14px 12px 6px;
  border-top: 1px solid var(--line);
  margin-top: 8px;
}
.note-smart-kopf small {
  text-transform: uppercase; letter-spacing: .06em;
  font-size: 11px; font-weight: 600; color: var(--muted);
}
.note-smart-leer { padding: 0 12px 10px; line-height: 1.5; }

/* Der Bearbeiten-Knopf liegt IM Link und erscheint erst beim Darüberfahren —
   sonst stünde neben jedem Eintrag dauerhaft ein Zahnrad. */
.note-smart-bearbeiten {
  margin-left: auto; border: 0; background: transparent; cursor: pointer;
  color: var(--muted); padding: 4px; border-radius: 6px; line-height: 0;
  opacity: 0; transition: opacity .12s ease, background .12s ease;
}
.note-notebook-link:hover .note-smart-bearbeiten,
.note-smart-bearbeiten:focus-visible { opacity: 1; }
.note-smart-bearbeiten:hover { background: var(--surface-2); color: var(--text); }

/* Eine Regelzeile: Feld · Operator · Wert · Entfernen.
   ⚠ `minmax(0, …)` verhindert, dass ein langer Feldname die Zeile sprengt. */
.note-smart-regeln { display: grid; gap: 8px; margin-top: 12px; }
.note-smart-regel {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, 1.3fr) auto;
  gap: 8px; align-items: center;
}
.note-smart-regel select, .note-smart-regel input { min-width: 0; }
.note-smart-weg { padding: 2px 8px; font-size: 15px; line-height: 1; }

/* Auf schmalen Schirmen untereinander statt gequetscht nebeneinander. */
@media (max-width: 640px) {
  .note-smart-regel { grid-template-columns: 1fr auto; }
  .note-smart-regel .note-smart-wert { grid-column: 1 / -1; }
}

/* ⭐⭐ 18.08.2026 — Versionsvergleich der Notizen (Auftragsliste Modul 1). */
.note-version-knoepfe { display: inline-flex; gap: 4px; margin-left: auto; }
.note-vergleich-legende { color: var(--muted); margin: 6px 0 12px; }
.note-vergleich-inhalt {
  max-height: 55vh; overflow-y: auto;
  padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--surface-2); line-height: 1.65;
  /* ⚠ Notizen können lange ungetrennte Zeichenketten enthalten (Links,
     Dateinamen). Ohne das schöbe eine davon den ganzen Kasten seitwärts. */
  overflow-wrap: anywhere;
}
/* Rot/grün allein genügt nicht — wer Farben schlecht unterscheidet, sieht
   nichts. Darum zusätzlich Durchstreichen bzw. Unterstreichen. */
.note-vergleich-inhalt del {
  background: color-mix(in srgb, var(--danger) 14%, transparent);
  color: inherit; text-decoration: line-through; border-radius: 3px;
  padding: 0 2px;
}
.note-vergleich-inhalt ins {
  background: color-mix(in srgb, var(--success) 18%, transparent);
  color: inherit; text-decoration: underline; border-radius: 3px;
  padding: 0 2px;
}
.note-vergleich-legende del, .note-vergleich-legende ins { padding: 0 3px; border-radius: 3px; }
.note-vergleich-legende del { background: color-mix(in srgb, var(--danger) 14%, transparent); }
.note-vergleich-legende ins { background: color-mix(in srgb, var(--success) 18%, transparent); }

/* ⭐⭐ 18.08.2026 — «An diesem Tag» im Journal (Auftragsliste Modul 2).
   Steht über der Zeitleiste und nur, wenn es wirklich etwas zu erinnern gibt. */
.journal-rueckblick { padding: 14px 16px; margin-bottom: 16px; }
.journal-rueckblick header {
  display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
  margin-bottom: 10px;
}
.journal-rueckblick header strong { display: inline-flex; align-items: center; gap: 6px; }
.journal-rueckblick header small { color: var(--muted); }
.journal-rueckblick ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.journal-rueckblick a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px; align-items: baseline;
  padding: 7px 10px; border-radius: 8px; text-decoration: none; color: inherit;
}
.journal-rueckblick a:hover { background: var(--surface-2); }
.journal-rueckblick-zeit {
  font-size: 12px; font-weight: 600; color: var(--muted);
  white-space: nowrap;
}
/* ⚠ `minmax(0, 1fr)` oben plus das hier: Ein langer Titel darf die Zeile
   nicht sprengen, sondern wird gekürzt. */
.journal-rueckblick-titel { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.journal-rueckblick-datum { font-size: 12px; color: var(--muted); white-space: nowrap; }

/* Auf schmalen Schirmen untereinander — sonst bliebe vom Titel nichts übrig. */
@media (max-width: 560px) {
  .journal-rueckblick a { grid-template-columns: 1fr; gap: 2px; }
  .journal-rueckblick-titel { white-space: normal; }
}

/* ⭐⭐ 18.08.2026 — Kalenderansicht im Journal (Auftragsliste Modul 2). */
.journal-kalender { padding: 14px 16px; margin-bottom: 16px; }
.journal-kalender header {
  display: flex; align-items: center; gap: 8px; margin-bottom: 10px;
}
.journal-kalender header strong { min-width: 84px; text-align: center; }
.journal-kalender header small { color: var(--muted); margin-left: auto; }
.journal-kalender-raster {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px;
}
.journal-kalender-kopf {
  text-align: center; font-size: 11px; font-weight: 600; color: var(--muted);
  padding-bottom: 4px;
}
.journal-kalender-tag, .journal-kalender-leer {
  aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
  border-radius: 8px; font-size: 13px; color: var(--muted);
}
.journal-kalender-tag { border: 1px solid transparent; }
/* Tage MIT Eintrag heben sich ab und sind anklickbar. */
.journal-kalender-tag.hat-eintrag {
  color: var(--text); font-weight: 600; text-decoration: none;
  background: var(--surface-2); border-color: var(--line);
}
.journal-kalender-tag.hat-eintrag:hover { border-color: var(--accent); }
/* ⚠ Die Stimmung liegt als FARBSTREIFEN unten, nicht als Flächenfarbe: Sonst
   konkurriert sie mit der Hervorhebung «hat Eintrag» und mit «heute». */
.journal-kalender-tag.stimmung-gut { box-shadow: inset 0 -3px 0 var(--success); }
.journal-kalender-tag.stimmung-mittel { box-shadow: inset 0 -3px 0 var(--warning, #d9a441); }
.journal-kalender-tag.ist-heute { outline: 2px solid var(--accent); outline-offset: -2px; }

/* ⭐⭐ 18.08.2026 — Ansicht «Doppelte» in Fotos (Auftragsliste Modul 3). */
.foto-duplikat-gruppe {
  border: 1px solid var(--line); border-radius: 10px;
  padding: 12px 14px; margin-top: 14px;
}
.foto-duplikat-gruppe header {
  display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px;
}
.foto-duplikat-gruppe header code { font-size: 11px; color: var(--muted); }
.foto-duplikat-reihe {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
}
.foto-duplikat-karte {
  display: grid; gap: 4px; text-decoration: none; color: inherit;
  padding: 8px; border-radius: 8px; border: 1px solid transparent;
}
.foto-duplikat-karte:hover { border-color: var(--accent); background: var(--surface-2); }
.foto-duplikat-karte img {
  width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px;
  background: var(--surface-2);
}
/* ⚠ Dateinamen aus Kameras sind lang und ohne Trennstellen — ohne das
   sprengte einer die ganze Spalte. */
.foto-duplikat-name { font-size: 12px; overflow-wrap: anywhere; }

/* ⭐⭐ 18.08.2026 — Diashow für Fotos (Auftragsliste Modul 3). */
.foto-diashow {
  border: 0; padding: 0; max-width: 100vw; max-height: 100vh;
  width: 100vw; height: 100vh; background: #0b0b0d;
  display: grid; grid-template-rows: 1fr auto auto;
}
.foto-diashow::backdrop { background: rgba(0,0,0,.85); }
.foto-diashow img {
  min-width: 0; min-height: 0; width: 100%; height: 100%;
  object-fit: contain; display: block;
}
.foto-diashow-leiste {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  flex-wrap: wrap; padding: 10px 14px; background: rgba(255,255,255,.06);
}
/* ⚠ Eigene helle Schrift: Die Leiste liegt auf schwarzem Grund, die
   Vorgabefarben der Knöpfe wären dort unlesbar. */
.foto-diashow-leiste, .foto-diashow-leiste .btn, .foto-diashow-leiste select { color: #f4f4f6; }
.foto-diashow-leiste .btn:hover { background: rgba(255,255,255,.14); }
.foto-diashow-leiste select {
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  border-radius: 6px; padding: 3px 6px;
}
.foto-diashow-stand { font-size: 13px; opacity: .85; min-width: 92px; text-align: center; }
.foto-diashow-tempo { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }
.foto-diashow-hinweis { color: #f4f4f6; opacity: .75; text-align: center; padding: 0 14px 10px; }

/* ⭐ 18.08.2026 — Einstellung der Serienerkennung (Auftragsliste Modul 3). */
.foto-serien-einstellung {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding-bottom: 12px; margin-bottom: 4px; border-bottom: 1px solid var(--line);
}
.foto-serien-einstellung label { display: inline-flex; align-items: center; gap: 8px; }
.foto-serien-einstellung input { width: 72px; }

/* Journalvorlagen (18.08.2026, Auftragsliste Modul 2).
   Eine Zeile aus Auswahl, zwei Knoepfen und einem Namensfeld. `flex-wrap`
   ist wichtig: Auf dem Telefon steht sonst das Namensfeld ausserhalb. */
.journal-vorlagen-leiste {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
}
.journal-vorlagen-leiste select { min-width: 11rem; }
.journal-vorlagen-leiste input[name="vorlage_name"] { flex: 1 1 12rem; min-width: 9rem; }
.journal-vorlagen-trenner { opacity: .35; padding: 0 .15rem; }
.journal-vorlagen-hinweis { margin: .3rem 0 0; font-size: .78rem; }
@media (max-width: 640px) {
  .journal-vorlagen-leiste select,
  .journal-vorlagen-leiste input[name="vorlage_name"] { flex: 1 1 100%; }
  .journal-vorlagen-trenner { display: none; }
}

/* Sicherheitswarnungen an einer E-Mail (18.08.2026, Auftragsliste Modul 4).
   ⛔ Die Farben stehen ABSICHTLICH fest und kommen NICHT aus den
   Designvariablen: Es ist eine Zustandsaussage, kein Designelement — ein
   Business-Design darf eine Fälschungswarnung nicht blass machen.
   ⛔⛔ HAUSREGEL, am 18.08. falsch gemacht und korrigiert: In dieser Datei ist
   das GRUNDDESIGN DUNKEL, und `html[data-theme="light"]` schaltet auf hell.
   Ich hatte es umgekehrt gebaut und die dunkle Fassung an
   `@media (prefers-color-scheme: dark)` gehängt — dadurch stand ein
   dunkelroter Balken mitten auf der hellen Seite, weil sein BETRIEBSSYSTEM
   auf dunkel steht, Cockpit aber auf hell. Die Bildschirmeinstellung des
   Rechners hat mit dem Design in Cockpit nichts zu tun. */
.mail-sicherheit {
  display: flex;
  gap: .6rem;
  align-items: flex-start;
  padding: .7rem .9rem;
  border-radius: .55rem;
  margin: 0 0 .7rem;
  line-height: 1.45;
}
.mail-sicherheit ul { margin: .25rem 0 0; padding-left: 1.1rem; }
.mail-sicherheit li { margin: .12rem 0; }
.mail-sicherheit p { margin: .4rem 0 0; font-size: .82rem; }
.mail-sicherheit-zeichen { font-size: 1.1rem; line-height: 1.3; }
/* Grunddesign = dunkel */
.mail-sicherheit-laut { background: #3b1414; border: 1px solid #7f2b2b; color: #fecaca; }
.mail-sicherheit-leise { background: #1e293b; border: 1px solid #475569; color: #cbd5e1; }
.mail-sicherheit-laut .muted { color: #f0a5a5; }
.mail-sicherheit-leise .muted { color: #94a3b8; }
/* Helles Design */
html[data-theme="light"] .mail-sicherheit-laut { background: #fde8e8; border-color: #f5b5b5; color: #7f1d1d; }
html[data-theme="light"] .mail-sicherheit-leise { background: #f1f5f9; border-color: #cbd5e1; color: #334155; }
html[data-theme="light"] .mail-sicherheit-laut .muted { color: #9b3232; }
html[data-theme="light"] .mail-sicherheit-leise .muted { color: #5b6b7f; }

/* Textbausteine im Verfassen-Fenster (18.08.2026, Auftragsliste Modul 4).
   Gleicher Aufbau wie die Journalvorlagen — `flex-wrap`, damit auf dem
   Telefon nichts aus dem Fenster ragt. */
.mail-bausteine-leiste { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.mail-bausteine-leiste select { min-width: 10rem; }
.mail-bausteine-leiste input[name="baustein_name"],
.mail-bausteine-leiste input[name="signatur_name"] { flex: 1 1 11rem; min-width: 9rem; }
.mail-bausteine-trenner { opacity: .35; padding: 0 .15rem; }
@media (max-width: 640px) {
  .mail-bausteine-leiste select,
  .mail-bausteine-leiste input[name="baustein_name"],
  .mail-bausteine-leiste input[name="signatur_name"] { flex: 1 1 100%; }
  .mail-bausteine-trenner { display: none; }
}

/* Sprachaufnahmen in der Notiz (18.08.2026).
   ⛔ Grunddesign DUNKEL, `html[data-theme="light"]` schaltet auf hell —
   Hausregel dieser Datei, siehe die Sicherheitswarnungen weiter oben. */
.notiz-audio { margin: 1.1rem 0 0; }
.notiz-audio-kopfzeile { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.notiz-audio-kopfzeile h3 { margin: 0; font-size: .95rem; }
.notiz-audio-leiste { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.notiz-audio-punkt { color: #e05252; }
.notiz-audio-uhr { font-variant-numeric: tabular-nums; opacity: .8; }
.notiz-audio-datei { cursor: pointer; }
.notiz-audio-hinweis { font-size: .82rem; opacity: .85; }
.notiz-audio-fehler { color: #fca5a5; }
.notiz-audio-gut { color: #86efac; }
.notiz-audio-leise { opacity: .7; }
.notiz-audio-liste { display: flex; flex-direction: column; gap: .6rem; margin-top: .6rem; }
.notiz-audio-eintrag { border: 1px solid rgba(255,255,255,.14); border-radius: .5rem; padding: .6rem .7rem; }
.notiz-audio-kopf { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.notiz-audio-kopf strong { flex: 1 1 auto; min-width: 6rem; word-break: break-word; }
.notiz-audio-spieler { width: 100%; margin: .45rem 0 .2rem; }
.notiz-audio-abschrift { font-size: .88rem; line-height: 1.5; }
.notiz-audio-abschrift p { margin: .3rem 0; }
/* Jeder Satz ist ein Knopf — sieht aber wie Text aus, damit die Abschrift
   lesbar bleibt und nicht wie eine Knopfleiste wirkt. */
.notiz-audio-marke {
  background: none; border: 0; padding: 0; margin: 0;
  font: inherit; color: inherit; cursor: pointer; text-align: left;
  border-bottom: 1px dotted rgba(255,255,255,.28);
}
.notiz-audio-marke:hover { background: rgba(125,175,255,.18); }
.notiz-audio-fehlertext { font-size: .8rem; }
.notiz-audio-werkzeuge { display: flex; gap: .35rem; margin-top: .45rem; flex-wrap: wrap; }
.notiz-audio-feld { width: 100%; margin-bottom: .4rem; }
html[data-theme="light"] .notiz-audio-eintrag { border-color: rgba(15,23,42,.14); }
html[data-theme="light"] .notiz-audio-marke { border-bottom-color: rgba(15,23,42,.3); }
html[data-theme="light"] .notiz-audio-marke:hover { background: rgba(37,99,235,.12); }
html[data-theme="light"] .notiz-audio-fehler { color: #b91c1c; }
html[data-theme="light"] .notiz-audio-gut { color: #15803d; }

/* Angeheftete Nachricht (18.08.2026). Eigene Farbe, damit sie sich vom
   Sternchen unterscheidet: Das Sternchen geht zum Mailserver, das Anheften
   bleibt in Cockpit. */
.mail-pin-indicator { color: #7aa7ff; margin-right: .2rem; }
html[data-theme="light"] .mail-pin-indicator { color: #2563eb; }

/* Audio-Tagebuch im Journal (18.08.2026). */
.journal-audio { display: flex; flex-direction: column; gap: .3rem; }
.journal-audio audio { width: 100%; }
.journal-audio-abschrift { font-size: .85rem; line-height: 1.5; }
.journal-audio-abschrift p { margin: .2rem 0; }
/* Jeder Satz ist ein Knopf, sieht aber wie Text aus — sonst wirkt die
   Abschrift wie eine Knopfleiste und liest sich nicht mehr. */
.journal-audio-marke {
  background: none; border: 0; padding: 0; margin: 0;
  font: inherit; color: inherit; cursor: pointer; text-align: left;
  border-bottom: 1px dotted rgba(255,255,255,.28);
}
.journal-audio-marke:hover { background: rgba(125,175,255,.18); }
.journal-audio-fehler { font-size: .78rem; }
html[data-theme="light"] .journal-audio-marke { border-bottom-color: rgba(15,23,42,.3); }
html[data-theme="light"] .journal-audio-marke:hover { background: rgba(37,99,235,.12); }

/* Zurückstellen einer Nachricht (18.08.2026). */
.mail-zurueck-form { display: inline-flex; align-items: center; gap: .25rem; }
.mail-zurueck-wahl { max-width: 10.5rem; }

/* Favoriten im Ordnerbaum der Ablage (18.08.2026).
   ⛔ Eigene Liste, nicht die der Seitenleiste — vom User ausdrücklich getrennt
   gewünscht.
   ⛔⛔ Sein Wunsch am 18.08.: «Den Strich zwischen Dokumentenablage und
   Uploads löschen, also Dokumentenablage und die Ordner dort drin gehören in
   den gleichen Block. Favoriten in einem separaten Block.»
   ➤ Genau EINE Trennung: unter dem Favoritenblock. Innerhalb der Ablage
   keine Linie mehr — der Strich kam von `border-top` an jeder
   `.documents-tree-label`. */
/* ⚠ `margin-top`: Er wollte «oben bisschen mehr abstand zum oberen rand» — die Überschrift klebte an der Kopfzeile darüber. */
.documents-tree-favoritenblock { margin-top: .55rem; padding-bottom: .5rem; border-bottom: 1px solid var(--border); margin-bottom: .45rem; }
/* Die erste Beschriftung bekommt KEINE obere Linie: Sie steht ganz oben, dort
   trennt sie nichts — sie sähe nur aus wie ein abgeschnittener Rand. */
.documents-tree-label-erste { margin-top: 0; padding-top: 0; border-top: 0; }
.documents-tree-favorit .documents-tree-toggle { visibility: hidden; }
.documents-tree-leer { margin: .2rem .4rem .1rem; font-size: .72rem; line-height: 1.4; opacity: .65; }


/* Kurze Rückmeldung für Strg+C/X/V in der Ablage (18.08.2026).
   ⚠ Ein Tastendruck ohne sichtbare Wirkung fühlt sich kaputt an — darum
   diese kleine Einblendung unten rechts. */
.ablage-kuerzel-hinweis {
  position: fixed; right: 1rem; bottom: 1rem; z-index: 60;
  padding: .4rem .8rem; border-radius: .45rem;
  background: rgba(15, 23, 42, .9); color: #e2e8f0;
  font: 500 .82rem/1.3 system-ui, sans-serif;
  opacity: 0; transform: translateY(.4rem);
  transition: opacity .15s, transform .15s; pointer-events: none;
}
.ablage-kuerzel-hinweis.sichtbar { opacity: 1; transform: none; }
html[data-theme="light"] .ablage-kuerzel-hinweis { background: rgba(30, 41, 59, .92); }

/* Regelmaske «Regeln 2.0» (18.08.2026, Auftragsliste Modul 4). Die Zeilen
   stehen als Raster, damit Feld, Vergleich und Text untereinander fluchten. */
.mail-regel-zeilen { margin-top: 14px; }
.mail-regel-zeilen > label { display: block; margin-bottom: 6px; font-size: .74rem; color: var(--muted); }
.mail-regel-zeile { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .4rem; }
/* ⛔ `flex-basis` MUSS eine Länge sein, nicht `auto`. Weiter oben steht
   `input, select, textarea { width: 100% }`; bei `flex: 0 1 auto` gilt genau
   diese Breite — jedes Feld nähme eine eigene Zeile ein. Genau so sah die
   Maske im Browser aus, bevor ich hingeschaut habe. */
.mail-regel-zeile > select { flex: 1 1 7.5rem; width: auto; min-width: 6.5rem; }
.mail-regel-zeile > input { flex: 2 1 11rem; width: auto; min-width: 8rem; }
@media (max-width: 720px) {
  .mail-regel-zeile select, .mail-regel-zeile input { flex: 1 1 100%; }
}

/* Erinnerungen: Unteraufgaben, Flagge, Tags (18.08.2026, Auftragsliste Modul 6). */
.reminder-row-pro.ist-unteraufgabe { margin-left: 2rem; border-left: 2px solid var(--line); }
.reminder-flagge { border: 0; background: none; padding: 0 .35rem 0 0; cursor: pointer; color: var(--muted); font-size: .95rem; line-height: 1; }
/* ⛔ Feste Farbe, keine Designvariable: Eine Markierung muss in jedem Design
   als Markierung erkennbar bleiben. */
.reminder-flagge.ist-gesetzt { color: #ea580c; }
.reminder-tagleiste { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin: 0 0 12px; }
.reminder-tagleiste-titel { color: var(--muted); font-size: .72rem; margin-right: .2rem; }
.chip-tag { text-decoration: none; }
.chip-tag.ist-gewaehlt { border-color: var(--accent); font-weight: 600; }
.reminder-smart-tabs { margin-bottom: 10px; }

/* Vorlagen für Aufgabenlisten (18.08.2026, Auftragsliste Modul 6). */
.reminder-vorlagen > summary { cursor: pointer; padding: 12px 14px; font-weight: 600; }
.reminder-vorlagen-inhalt { padding: 0 14px 14px; }
.reminder-vorlagen-zeile { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-bottom: .6rem; }
.reminder-vorlagen-zeile > select { flex: 1 1 10rem; width: auto; min-width: 8rem; }
.reminder-vorlagen-zeile > input { flex: 2 1 14rem; width: auto; min-width: 9rem; }
.reminder-vorlagen-liste { list-style: none; margin: 0 0 .6rem; padding: 0; }
.reminder-vorlagen-liste li { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .25rem 0; border-bottom: 1px solid var(--line); font-size: .78rem; }
.reminder-vorlagen-inhalt .muted { font-size: .72rem; }

/* Board-Ansicht der Erinnerungen (18.08.2026, Auftragsliste Modul 6).
   ⚠ Die Spalten scrollen WAAGRECHT in ihrem eigenen Kasten — die Seite selbst
   darf nie seitlich scrollen, sonst rutscht die ganze Oberfläche weg. */
.reminder-board { display: flex; gap: .75rem; overflow-x: auto; padding-bottom: .5rem; align-items: flex-start; }
.reminder-board-spalte { flex: 0 0 17rem; max-width: 17rem; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: .6rem; }
.reminder-board-spalte > h3 { margin: 0 0 .5rem; font-size: .82rem; display: flex; justify-content: space-between; align-items: baseline; gap: .4rem; }
.reminder-board-spalte > h3 small { color: var(--muted); font-weight: 400; }
.reminder-karte { padding: .55rem .6rem; margin-bottom: .5rem; }
.reminder-karte.is-complete strong { text-decoration: line-through; opacity: .6; }
.reminder-karte-kopf { display: flex; align-items: flex-start; gap: .4rem; margin: 0; }
.reminder-karte-kopf strong { font-size: .8rem; line-height: 1.3; }
.reminder-karte .chip-row { margin-top: .35rem; }
.reminder-karte-verschieben { display: flex; gap: .3rem; margin-top: .45rem; }
.reminder-karte-verschieben > select { flex: 1 1 auto; width: auto; min-width: 0; font-size: .72rem; }
.reminder-karte-verschieben { flex-wrap: wrap; }
.reminder-karte-verschieben > input { flex: 1 1 5rem; width: auto; min-width: 0; font-size: .72rem; }

/* Freie Kontaktangaben (18.08.2026, Auftragsliste Modul 7). */
.kontakt-felder { list-style: none; margin: .4rem 0 0; padding: 0; }
.kontakt-felder li { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; font-size: .78rem; padding: .12rem 0; }
.kontakt-felder li form { margin: 0; }
.kontakt-feld-neu > summary { cursor: pointer; color: var(--muted); font-size: .72rem; margin-top: .35rem; }
.kontakt-feld-zeile { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .35rem; }
.kontakt-feld-zeile > select { flex: 1 1 7rem; width: auto; min-width: 6rem; font-size: .72rem; }
.kontakt-feld-zeile > input { flex: 1 1 8rem; width: auto; min-width: 6rem; font-size: .72rem; }

/* Doppelte Kontakte (18.08.2026, Auftragsliste Modul 7). */
.dubletten-liste { list-style: none; margin: 0 0 .8rem; padding: 0; }
.dubletten-liste li { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .6rem; padding: .5rem 0; border-bottom: 1px solid var(--line); }
.dubletten-wahl { display: inline-flex; align-items: center; gap: .3rem; margin: 0; font-size: .74rem; color: var(--muted); }
.dubletten-angaben { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; font-size: .78rem; flex: 1 1 18rem; }
.dubletten-angaben small { flex-basis: 100%; font-size: .7rem; }

/* Kontaktfoto (18.08.2026, Auftragsliste Modul 7). */
.contact-avatar.hat-foto { padding: 0; overflow: hidden; }
.contact-avatar.hat-foto img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: inherit; }

/* Kontaktverlauf (18.08.2026, Auftragsliste Modul 7). */
.kontakt-verlauf { list-style: none; margin: 0; padding: 14px; }
.kontakt-verlauf li { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; padding: .45rem 0; border-bottom: 1px solid var(--line); font-size: .8rem; }
.kontakt-verlauf li:last-child { border-bottom: 0; }
.kontakt-verlauf a { text-decoration: none; }
.kontakt-verlauf time { margin-left: auto; color: var(--muted); font-size: .72rem; white-space: nowrap; }
.kontakt-verlauf-link { margin-top: .35rem; }

/* Beziehungen zwischen Kontakten (18.08.2026, Auftragsliste Modul 7). */
.kontakt-beziehungen { list-style: none; margin: .35rem 0 0; padding: 0; }
.kontakt-beziehungen li { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; font-size: .78rem; padding: .1rem 0; }
.kontakt-beziehungen li form { margin: 0; }
.kontakt-beziehungen li.ist-rueckseite { opacity: .75; }

/* Visitenkarte lesen (18.08.2026, Auftragsliste Modul 7). */
.visitenkarte-knopf { position: relative; }
.visitenkarte-knopf > summary { list-style: none; cursor: pointer; }
.visitenkarte-knopf > summary::-webkit-details-marker { display: none; }
.visitenkarte-knopf > form { position: absolute; right: 0; top: calc(100% + .35rem); z-index: 30; display: flex; flex-wrap: wrap; gap: .4rem; padding: .6rem; min-width: 19rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: 0 10px 30px rgba(15,23,42,.18); }
.visitenkarte-rohtext > summary { cursor: pointer; padding: 12px 14px; }
.visitenkarte-rohtext pre { margin: 0; padding: 0 14px 14px; white-space: pre-wrap; font-size: .74rem; color: var(--muted); }

/* Serientermine: «nur dieser» / «ab hier beenden» (18.08.2026, Modul 5). */
.serie-aktionen { display: inline-flex; gap: .25rem; margin: 0; }

/* Fassungswächter: Hinweis auf eine veraltete Programmfassung im Browser
   (18.08.2026 — Jessicas «Verschieben tut nichts»).
   ⛔ Feste Farben, keine Designvariablen: Dieser Balken erscheint gerade dann,
   wenn im Browser etwas veraltet ist — er muss in JEDEM Zustand lesbar sein. */
.fassung-hinweis { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 9999; display: flex; align-items: center; gap: .7rem; max-width: min(92vw, 44rem); padding: .7rem 1rem; border-radius: 10px; background: #1f2937; color: #f9fafb; box-shadow: 0 12px 34px rgba(0,0,0,.32); font-size: .82rem; line-height: 1.35; }
.fassung-hinweis button { flex: 0 0 auto; padding: .35rem .8rem; border: 0; border-radius: 7px; background: #2563eb; color: #fff; font-size: .78rem; cursor: pointer; }
.fassung-hinweis button:hover { background: #1d4ed8; }

/* Farbwahl im Rechtsklickmenü (18.08.2026, sein Wunsch).
   ⛔ Feste Farbwerte, keine Designvariablen: «gelb» muss in jedem Design gelb
   sein — sonst stimmt die Farbe der Datei nicht mehr mit der Erinnerung des
   Benutzers überein. */
.context-farben { display: flex; flex-wrap: wrap; gap: .3rem; padding: .45rem .6rem; }
.context-farbe { width: 18px; height: 18px; border-radius: 50%; border: 1px solid rgba(0,0,0,.18); cursor: pointer; padding: 0; font-size: .7rem; line-height: 1; color: #6b7280; background: #fff; }
.context-farbe:hover { transform: scale(1.15); }
.context-farbe.farbe-sky { background: #38bdf8; }
.context-farbe.farbe-blue { background: #2563eb; }
.context-farbe.farbe-teal { background: #14b8a6; }
.context-farbe.farbe-green { background: #16a34a; }
.context-farbe.farbe-amber { background: #f59e0b; }
.context-farbe.farbe-orange { background: #ea580c; }
.context-farbe.farbe-red { background: #dc2626; }
.context-farbe.farbe-pink { background: #ec4899; }
.context-farbe.farbe-purple { background: #7c3aed; }
.context-farbe.farbe-slate { background: #64748b; }
.context-farbe.ist-keine { background: repeating-linear-gradient(45deg, #fff, #fff 4px, #e5e7eb 4px, #e5e7eb 8px); }
