/* Zeitbericht – Gestaltung übernommen von Deck-Sync (SH-Media) */
@font-face { font-family:'Inter'; font-weight:400; font-display:swap; src:url('fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:500; font-display:swap; src:url('fonts/inter-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:600; font-display:swap; src:url('fonts/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:700; font-display:swap; src:url('fonts/inter-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family:'Unbounded'; font-weight:500; font-display:swap; src:url('fonts/unbounded-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family:'Unbounded'; font-weight:600 700; font-display:swap; src:url('fonts/unbounded-latin-600-normal.woff2') format('woff2'); }
:root {
  --brand-1:#c331c6; --brand-2:#3415b4;
  --grad:linear-gradient(135deg, var(--brand-1), var(--brand-2));
  --font-head:'Unbounded', 'Inter', system-ui, sans-serif; --font-body:'Inter', system-ui, sans-serif;
  --radius:12px; --radius-sm:8px;
  --bg:#f6f5fa; --card:#fff; --fg:#1d1a2b; --muted:#6b6880; --line:#e7e4ef; --input:#fff;
  --accent:var(--brand-2); --accent-soft:color-mix(in srgb, var(--brand-2) 8%, #fff);
  --err:#c62828; --err-soft:#fdecea; --ok:#2e7d32; --ok-soft:#e8f5e9; --warn:#a15c00; --warn-soft:#fff4e5;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --bg:#13111c; --card:#1c1a28; --fg:#ece9f5; --muted:#a39fb8; --line:#2e2a40; --input:#16141f;
  --accent:color-mix(in srgb, var(--brand-1) 55%, #fff); --accent-soft:color-mix(in srgb, var(--brand-1) 20%, #1c1a28);
  --err:#ff8a80; --err-soft:#3a1d24; --ok:#81c995; --ok-soft:#1b3324; --warn:#f0b35a; --warn-soft:#3a2a14; color-scheme: dark; } }
:root[data-theme="dark"] {
  --bg:#13111c; --card:#1c1a28; --fg:#ece9f5; --muted:#a39fb8; --line:#2e2a40; --input:#16141f;
  --accent:color-mix(in srgb, var(--brand-1) 55%, #fff); --accent-soft:color-mix(in srgb, var(--brand-1) 20%, #1c1a28);
  --err:#ff8a80; --err-soft:#3a1d24; --ok:#81c995; --ok-soft:#1b3324; --warn:#f0b35a; --warn-soft:#3a2a14; color-scheme: dark; }

/* ---------- Basis (aus Deck-Sync) ---------- */
  * { box-sizing:border-box; }
  [hidden] { display:none !important; }
  body.auth { min-height:100vh; display:flex; flex-direction:column; }
  body.auth.grad { background:var(--grad); }
  body.auth main { flex:1; display:flex; flex-direction:column; justify-content:center; width:100%; max-width:440px; padding:32px 16px; }
  .authcard { background:var(--card); border-radius:calc(var(--radius) + 4px); padding:32px 28px; box-shadow:0 24px 60px -24px rgba(20,8,60,.45); }
  .authcard .logo { display:flex; justify-content:center; margin-bottom:18px; }
  .authcard .logo img { max-height:56px; max-width:220px; }
  .authcard .logo .brandmark { width:52px; height:52px; border-radius:14px; }
  .authcard .logo .brandmark svg { width:28px; height:28px; }
  .authcard h1 { text-align:center; font-size:24px; margin:0 0 6px; }
  .authcard .tag { text-align:center; color:var(--muted); margin:0 0 24px; font-size:14px; }
  .authcard .btn { width:100%; justify-content:center; padding:11px 16px; }
  .authfoot { text-align:center; font-size:12px; margin-top:16px; color:var(--muted); }
  body.auth.grad .authfoot { color:rgba(255,255,255,.8); }
  body.auth.grad .flash { box-shadow:0 8px 24px -12px rgba(0,0,0,.4); }
  body { margin:0; background:var(--bg); color:var(--fg); font:15px/1.55 var(--font-body); -webkit-font-smoothing:antialiased; }
  h1, h2, .brand, .display { font-family:var(--font-head); letter-spacing:-.01em; }
  a { color:var(--accent); }
  header.bar { background:var(--card); border-bottom:1px solid var(--line); }
  header.bar::before { content:""; display:block; height:4px; background:var(--grad); }
  header.bar .in { max-width:1040px; margin:0 auto; padding:0 16px; display:flex; align-items:center; gap:20px; height:56px; }
  header.bar .brand { font-weight:600; font-size:16px; white-space:nowrap; display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; }
  header.bar .brand img { height:30px; width:auto; display:block; }
  .brandmark { width:28px; height:28px; border-radius:8px; background:var(--grad); display:inline-grid; place-items:center; flex:none; }
  .brandmark svg { width:16px; height:16px; }
  header.bar nav { display:flex; gap:2px; flex:1; min-width:0; align-items:center; }
  header.bar nav .short { display:none; }
  .navdrop { position:relative; }
  .navdrop > button { display:flex; align-items:center; gap:6px; background:none; border:0; font:inherit; color:var(--muted);
                      padding:6px 11px; border-radius:var(--radius-sm); cursor:pointer; white-space:nowrap; }
  .navdrop > button:hover, .navdrop > button[aria-expanded="true"] { color:var(--fg); background:var(--accent-soft); }
  .navdrop > button.on { color:var(--accent); background:var(--accent-soft); font-weight:600; }
  .navdrop > button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .navdrop > button .chev { transition:transform .15s; }
  .navdrop > button[aria-expanded="true"] .chev { transform:rotate(180deg); }
  .navdrop .menu { position:absolute; left:0; top:calc(100% + 8px); width:270px; background:var(--card); border:1px solid var(--line);
                   border-radius:var(--radius); box-shadow:0 16px 40px -12px rgba(20,8,60,.28); padding:6px; z-index:50; display:none; }
  .navdrop .menu.open { display:block; }
  .navdrop .menu a { display:flex; gap:12px; align-items:flex-start; padding:9px 10px; border-radius:var(--radius-sm);
                     color:var(--fg); text-decoration:none; }
  .navdrop .menu a:hover, .navdrop .menu a:focus-visible { background:var(--accent-soft); outline:none; }
  .navdrop .menu a.on { background:var(--accent-soft); }
  .navdrop .menu a.on b { color:var(--accent); }
  .navdrop .menu a svg { flex:none; margin-top:2px; color:var(--muted); }
  .navdrop .menu a.on svg { color:var(--accent); }
  .navdrop .menu b { display:block; font-weight:600; font-size:14px; }
  .navdrop .menu small { display:block; color:var(--muted); font-size:12px; margin-top:1px; }
  header.bar nav a { color:var(--muted); text-decoration:none; padding:6px 11px; border-radius:var(--radius-sm); white-space:nowrap; }
  header.bar nav a.on { color:var(--accent); background:var(--accent-soft); font-weight:600; }
  .navbadge { display:inline-block; min-width:18px; margin-left:6px; padding:0 5px; border-radius:999px; background:var(--grad); color:#fff;
              font-size:11px; font-weight:700; line-height:18px; text-align:center; vertical-align:1px; }
  header.bar nav .sep { width:1px; height:20px; background:var(--line); margin:0 6px; flex:none; }
  .acct { position:relative; flex:none; }
  .acct > button { display:flex; align-items:center; gap:10px; background:none; border:1px solid transparent; border-radius:999px;
                   padding:3px 12px 3px 3px; font:inherit; color:inherit; cursor:pointer; }
  .acct > button:hover, .acct > button[aria-expanded="true"] { background:var(--accent-soft); }
  .acct > button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .avatar { width:34px; height:34px; border-radius:50%; background:var(--grad); color:#fff; display:grid; place-items:center;
            font-family:var(--font-head); font-weight:600; font-size:13px; letter-spacing:.02em; flex:none; }
  .avatar.lg { width:44px; height:44px; font-size:16px; }
  .acct .who { text-align:left; line-height:1.2; }
  .acct .who b { display:block; font-size:14px; font-weight:600; white-space:nowrap; max-width:180px; overflow:hidden; text-overflow:ellipsis; }
  .acct .who small { color:var(--muted); font-size:12px; }
  .acct .chev { color:var(--muted); transition:transform .15s; }
  .acct > button[aria-expanded="true"] .chev { transform:rotate(180deg); }
  .acct .menu { position:absolute; right:0; top:calc(100% + 8px); width:290px; background:var(--card); border:1px solid var(--line);
                border-radius:var(--radius); box-shadow:0 16px 40px -12px rgba(20,8,60,.28); padding:8px; z-index:50; display:none; }
  .acct .menu.open { display:block; }
  .acct .menu .head { display:flex; gap:12px; align-items:center; padding:10px 10px 14px; border-bottom:1px solid var(--line); margin-bottom:6px; }
  .acct .menu .head b { display:block; font-size:14px; } .acct .menu .head div span { color:var(--muted); font-size:12px; word-break:break-all; }
  .acct .menu form { margin:0; }
  .acct .menu .item { text-decoration:none; }
  .acct .menu .divider { height:1px; background:var(--line); margin:6px 4px; }
  .acct .menu button.item, .acct .menu a.item { display:flex; gap:12px; align-items:flex-start; width:100%; text-align:left; background:none; border:0; font:inherit;
                            color:var(--fg); padding:10px; border-radius:var(--radius-sm); cursor:pointer; }
  .acct .menu .item:hover, .acct .menu .item:focus-visible { background:var(--accent-soft); outline:none; }
  .acct .menu .item svg { flex:none; margin-top:2px; color:var(--muted); }
  .acct .menu .item small { display:block; color:var(--muted); font-size:12px; margin-top:2px; }
  .acct .menu button.item.danger, .acct .menu button.item.danger svg { color:var(--err); }
  main { max-width:1040px; margin:0 auto; padding:24px 16px 80px; }
  .card { background:var(--card); border-radius:var(--radius); padding:20px; margin-bottom:16px; border:1px solid var(--line); }
  h1 { font-size:24px; font-weight:600; margin:0 0 18px; } h2 { font-size:15px; font-weight:600; margin:0 0 12px; } h3 { font-size:15px; margin:20px 0 8px; }
  .muted { color:var(--muted); } small.help, .help { display:block; color:var(--muted); font-size:13px; margin-top:4px; }
  dl { display:grid; grid-template-columns:max-content 1fr; gap:6px 16px; margin:0; }
  dt { color:var(--muted); } dd { margin:0; word-break:break-word; }
  .btn { display:inline-flex; align-items:center; gap:6px; border:1px solid transparent; border-radius:var(--radius-sm); padding:9px 16px; font:inherit;
         font-weight:500; cursor:pointer; text-decoration:none; background:var(--grad) border-box; color:#fff; white-space:nowrap; transition:filter .15s, box-shadow .15s; }
  .btn:hover:not(:disabled) { filter:brightness(1.08); box-shadow:0 4px 14px -6px var(--brand-2); }
  .btn.ghost { background:transparent; color:var(--accent); border-color:color-mix(in srgb, var(--accent) 55%, transparent); }
  .btn.ghost:hover:not(:disabled) { background:var(--accent-soft); box-shadow:none; filter:none; }
  .btn.danger { background:transparent; color:var(--err); border:1px solid var(--err); }
  .btn.sm { padding:4px 10px; font-size:13px; }
  .btn:disabled { opacity:.55; cursor:not-allowed; }
  .linkbtn { background:none; border:0; padding:0; font:inherit; color:var(--muted); cursor:pointer; text-decoration:underline; font-size:13px; }
  .linkbtn.danger { color:var(--err); }
  .row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
  .flash { padding:10px 14px; border-radius:var(--radius-sm); margin-bottom:12px; }
  .flash.ok { background:var(--ok-soft); color:var(--ok); } .flash.error { background:var(--err-soft); color:var(--err); }
  .hint { padding:12px 14px; border-radius:var(--radius-sm); background:var(--accent-soft); margin-bottom:16px; font-size:14px; }
  .hint.warn { background:var(--warn-soft); color:var(--warn); }
  label.f { display:block; font-weight:600; font-size:14px; margin-bottom:4px; }
  .field { margin-bottom:16px; }
  input[type=text], input[type=url], input[type=email], input[type=password], input[type=number], input[type=time], input[type=date], select, textarea {
    width:100%; padding:9px 11px; border-radius:var(--radius-sm); border:1px solid var(--line); background:var(--input); color:inherit; font:inherit; }
  input:focus, select:focus { outline:2px solid var(--accent); outline-offset:-1px; border-color:transparent; }
  .check { display:flex; gap:10px; align-items:flex-start; margin-bottom:12px; cursor:pointer; }
  /* ---------- Schalter (Mehrfachauswahl / Ein-Aus) und Auswahlknöpfe (Einfachauswahl) im Marken-Look ----------
     Jedes sichtbare Kästchen ist ein Schiebeschalter. Runde Auswahlknöpfe gibt es nur bei Einfachauswahl. */
  input[type=checkbox], input[type=radio] {
    -webkit-appearance:none; appearance:none; flex:none; cursor:pointer; margin:0; position:relative;
    vertical-align:middle; transition:background .18s, border-color .15s, box-shadow .15s; }
  input[type=checkbox] { width:40px; height:24px; border-radius:999px; border:0;
    background:color-mix(in srgb, var(--muted) 35%, var(--line)); }
  input[type=checkbox]::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%;
    background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .18s ease; }
  input[type=checkbox]:checked { background:var(--grad); box-shadow:0 2px 8px -3px var(--brand-2); }
  input[type=checkbox]:checked::after { transform:translateX(16px); }
  input[type=checkbox]:hover:not(:disabled):not(:checked) { background:color-mix(in srgb, var(--muted) 50%, var(--line)); }
  input[type=radio] { width:20px; height:20px; border-radius:50%; margin-top:1px; display:inline-grid; place-content:center;
    border:1.5px solid color-mix(in srgb, var(--muted) 55%, transparent); background:var(--input); }
  input[type=radio]:hover:not(:disabled) { border-color:var(--accent); }
  input[type=radio]:checked { background:var(--grad) border-box; border-color:transparent; box-shadow:0 2px 8px -3px var(--brand-2); }
  input[type=radio]:checked::after { content:""; width:8px; height:8px; border-radius:50%; background:#fff; }
  input[type=checkbox]:focus-visible, input[type=radio]:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  input[type=checkbox]:disabled, input[type=radio]:disabled { opacity:.45; cursor:not-allowed; }
  .check { gap:12px; } .check > input[type=checkbox] { margin-top:0; }
  .check.switch span { font-weight:500; }
  .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
  .grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
  iframe { width:100%; height:75vh; border:0; border-radius:8px; background:#f4f5f7; }
  .pill { display:inline-block; font-size:12px; padding:2px 10px; border-radius:999px; white-space:nowrap; }
  .pill.ok { background:var(--ok-soft); color:var(--ok); } .pill.err { background:var(--err-soft); color:var(--err); }
  .pill.warn { background:var(--warn-soft); color:var(--warn); } .pill.info { background:var(--accent-soft); color:var(--accent); }
  .pill.muted { background:var(--bg); color:var(--muted); }
  .result { font-size:14px; margin-top:8px; } .result.ok { color:var(--ok); } .result.error { color:var(--err); }
  code { background:var(--bg); padding:2px 6px; border-radius:4px; font-size:13px; word-break:break-all; }
  .help code, p code { word-break:normal; overflow-wrap:anywhere; }
  table.list { width:100%; border-collapse:collapse; font-size:14px; }
  table.list th { text-align:left; font-weight:600; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em;
                  padding:8px 10px; border-bottom:1px solid var(--line); }
  table.list td { padding:10px; border-bottom:1px solid var(--line); vertical-align:top; }
  table.list tr:last-child td { border-bottom:0; }
  table.list td code { white-space:nowrap; display:inline-block; margin:1px 0; }
  .scroll { overflow-x:auto; }
  .stat { font-size:13px; color:var(--muted); } .stat b { display:block; font-size:16px; color:var(--fg); margin-bottom:2px; }
  form.inline { display:inline; }
  /* ---------- Seitenaufbau: Kopf, Reiter, Kästen, Einstellungszeilen ---------- */
  .page-head { display:flex; gap:16px; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; margin:4px 0 18px; }
  .page-head h1 { margin:0; }
  .page-head .lead { margin:4px 0 0; color:var(--muted); max-width:640px; }
  .page-head .actions { display:flex; gap:8px; flex-wrap:wrap; }
  .crumb { font-size:13px; color:var(--muted); margin-bottom:4px; } .crumb a { color:var(--muted); }
  .layout { display:block; }
  .tabs { display:flex; gap:4px; border-bottom:1px solid var(--line); margin:0 0 20px; overflow-x:auto; scrollbar-width:none; }
  .tabs::-webkit-scrollbar { display:none; }
  .tabs button { background:none; border:0; font:inherit; color:var(--muted); padding:10px 14px; cursor:pointer; white-space:nowrap;
                 border-bottom:2px solid transparent; margin-bottom:-1px; display:flex; align-items:center; gap:8px; }
  .tabs button:hover { color:var(--fg); }
  .tabs button.on { color:var(--accent); border-bottom-color:var(--accent); font-weight:600; }
  .tabs button .count { font-size:11px; background:var(--accent-soft); color:var(--accent); border-radius:999px; padding:0 7px; font-weight:600; }
  section.pane { display:none; } section.pane.on { display:block; }
  .card-h { display:flex; gap:12px; justify-content:space-between; align-items:flex-start; margin-bottom:6px; }
  .card-h h2 { margin:0; } .card-h .desc { color:var(--muted); font-size:14px; margin:4px 0 0; }
  .card > .card-h:only-child { margin-bottom:0; }
  .card-f { display:flex; gap:10px; justify-content:flex-end; align-items:center; flex-wrap:wrap; margin:16px -20px -20px; padding:14px 20px;
            border-top:1px solid var(--line); background:color-mix(in srgb, var(--bg) 55%, var(--card)); border-radius:0 0 var(--radius) var(--radius); }
  .card-f .spacer { flex:1; }
  .srow { display:grid; grid-template-columns:minmax(170px, 260px) 1fr; gap:6px 28px; padding:16px 0; border-top:1px solid var(--line); }
  .card-h + .srow, .srow.first { border-top:0; }
  .srow > .l b { display:block; font-weight:600; font-size:14px; }
  .srow > .l small { display:block; color:var(--muted); font-size:13px; margin-top:2px; line-height:1.45; }
  .srow > .c { min-width:0; } .srow > .c > .check:last-child, .srow > .c > .field:last-child { margin-bottom:0; }
  .srow .inline-fields { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
  .srow .inline-fields input[type=number] { width:84px; } .srow .inline-fields input[type=time] { width:130px; }
  .srow .inline-fields input[type=date] { width:170px; } .srow .inline-fields select { width:auto; }
  .savebar { display:flex; justify-content:flex-end; gap:10px; margin-top:8px; }
  .seg { display:inline-flex; background:var(--bg); border:1px solid var(--line); border-radius:var(--radius-sm); padding:3px; gap:2px; flex-wrap:wrap; }
  .seg label { position:relative; } .seg input { position:absolute; opacity:0; pointer-events:none; }
  .seg span { display:block; padding:6px 12px; border-radius:calc(var(--radius-sm) - 2px); cursor:pointer; color:var(--muted); white-space:nowrap; font-size:14px; }
  .seg input:checked + span { background:var(--card); color:var(--fg); font-weight:600; box-shadow:0 1px 3px rgba(20,8,60,.12); }
  .seg input:focus-visible + span { outline:2px solid var(--accent); }
  .tiles { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:16px; margin-bottom:16px; }
  .tile { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px; display:flex; flex-direction:column; gap:10px; }
  .tile .top { display:flex; justify-content:space-between; align-items:center; gap:8px; }
  .tile .ico { width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent); flex:none; }
  .tile h3 { margin:0; font-size:15px; font-family:var(--font-head); }
  .tile .facts { font-size:13px; color:var(--muted); line-height:1.5; flex:1; } .tile .facts b { color:var(--fg); font-weight:600; }
  .tile .links { display:flex; gap:12px; font-size:13px; flex-wrap:wrap; } .tile .links a { text-decoration:none; font-weight:500; }
  .empty { text-align:center; padding:28px 16px; color:var(--muted); }
  .empty .ico { width:48px; height:48px; border-radius:14px; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; margin:0 auto 10px; }
  .empty h3 { color:var(--fg); margin:0 0 4px; font-family:var(--font-head); }
  .items { display:flex; flex-direction:column; }
  .item-row { display:flex; gap:14px; align-items:center; padding:12px 0; border-top:1px solid var(--line); }
  .item-row:first-child { border-top:0; padding-top:4px; }
  .item-row .main { flex:1; min-width:0; } .item-row .main b { display:block; overflow:hidden; text-overflow:ellipsis; }
  .item-row .sub { font-size:13px; color:var(--muted); }
  .item-row .side { display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
  .callout { display:flex; gap:12px; align-items:center; background:var(--accent-soft); border-radius:var(--radius); padding:14px 16px; margin-bottom:16px; flex-wrap:wrap; }
  .callout .grow { flex:1; min-width:200px; } .callout b.addr { font-size:16px; word-break:break-all; }
  .steps { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:10px; }
  .step { display:flex; gap:10px; align-items:center; padding:10px 12px; border-radius:var(--radius-sm); background:var(--bg); text-decoration:none; color:inherit; }
  .step .n { width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-size:13px; font-weight:700; background:var(--warn-soft); color:var(--warn); flex:none; }
  .step.done .n { background:var(--ok-soft); color:var(--ok); } .step.done { color:var(--muted); }
  .kv { display:flex; gap:6px 18px; flex-wrap:wrap; font-size:13px; color:var(--muted); } .kv b { color:var(--fg); font-weight:600; }
  details.more > summary { cursor:pointer; color:var(--accent); font-size:14px; list-style:none; display:inline-flex; gap:6px; align-items:center; }
  details.more > summary::-webkit-details-marker { display:none; }
  details.more > summary::before { content:"›"; display:inline-block; transition:transform .15s; font-size:16px; }
  details.more[open] > summary::before { transform:rotate(90deg); }
  .boards { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:4px 16px; }
  .dot { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; }
  .days { display:flex; gap:6px; flex-wrap:wrap; }
  .days label { position:relative; }
  .days input { position:absolute; opacity:0; }
  .days span { display:inline-block; min-width:44px; text-align:center; padding:7px 10px; border-radius:var(--radius-sm); border:1px solid var(--line); cursor:pointer; }
  .days input:checked + span { background:var(--grad); color:#fff; border-color:transparent; }
  .days input:focus-visible + span { outline:2px solid var(--accent); outline-offset:2px; }
  .radio { display:flex; flex-direction:column; gap:8px; }
  .radio label { display:flex; gap:10px; align-items:flex-start; cursor:pointer; }
  .radio input { margin-top:2px; }
  .senders { display:flex; flex-direction:column; gap:0; margin-bottom:14px; }
  .sender { padding:12px 0; border-bottom:1px solid var(--line); }
  .sender:first-child { padding-top:0; }
  .set { font-size:12px; color:var(--ok); font-weight:400; margin-left:6px; }
  @media (max-width:1320px) { .acct .who, .acct .chev { display:none; } .acct > button { padding:3px; } header.bar .in { gap:14px; } }
  @media (max-width:760px) {
    .grid2, .grid3 { grid-template-columns:1fr; }
    .acct .who, .acct .chev { display:none; }
    .acct > button { padding:3px; }
    header.bar .in { gap:8px; } header.bar nav a, .navdrop > button { padding:6px 8px; }
    header.bar nav .full { display:none; } header.bar nav .short { display:inline; }
    .navdrop .menu { left:auto; right:-60px; }
    .srow { grid-template-columns:1fr; gap:8px; }
    header.bar .in { flex-wrap:wrap; height:auto; padding-top:8px; }
    header.bar nav { order:3; flex-basis:100%; overflow-x:auto; scrollbar-width:none; padding-bottom:6px;
                     -webkit-mask-image:linear-gradient(90deg, #000 85%, transparent); mask-image:linear-gradient(90deg, #000 85%, transparent); }
    header.bar nav.end { -webkit-mask-image:none; mask-image:none; }
    header.bar nav::-webkit-scrollbar { display:none; }
    header.bar .brand { display:flex; flex:1; } header.bar .brand .brandname { display:none; }
    .page-head { align-items:flex-start; }
    .item-row { flex-wrap:wrap; } .item-row .side { width:100%; justify-content:flex-start; }
    table.list.stack thead { display:none; }
    table.list.stack td { display:block; border:0; padding:4px 0; }
    table.list.stack tr { display:block; padding:10px 0; border-bottom:1px solid var(--line); }
  }

/* ---------- Ergänzungen für den Zeitbericht ---------- */
.num { font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap; }
table.list th.num { text-align:right; }
table.list tr.client td { font-weight:600; background:color-mix(in srgb, var(--bg) 70%, var(--card)); }
table.list tr.project td:first-child { padding-left:28px; color:var(--muted); }
table.list tr.admin td { color:var(--muted); font-style:italic; }
table.list tr.total td { font-weight:700; border-top:2px solid var(--line); }
.grid3 { gap:16px; } .grid2.gap { gap:16px; }
@media (max-width:900px) { .grid3 { grid-template-columns:1fr; } }

/* Kennzahlen-Kacheln */
.kpi-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px 18px 16px; position:relative; overflow:hidden; }
.kpi-card.main::before { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--grad); }
.kpi-card .k-label { font-size:13px; color:var(--muted); display:flex; align-items:center; gap:8px; }
.kpi-card .k-label .ico { width:28px; height:28px; border-radius:8px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent); flex:none; }
.kpi-card .k-period { font-size:12px; color:var(--muted); margin-top:6px; }
.kpi-card .k-val { font-family:var(--font-head); font-size:30px; font-weight:600; line-height:1.15; margin-top:2px; font-variant-numeric:tabular-nums; }
.kpi-card .k-val small { font-family:var(--font-body); font-size:14px; color:var(--muted); font-weight:500; margin-left:3px; }
.kpi-card .k-sub { font-size:12px; color:var(--muted); }
.kpi-card dl.facts { display:grid; grid-template-columns:1fr auto; gap:5px 12px; margin-top:14px; font-size:14px; }
.kpi-card dl.facts dt { color:var(--muted); } .kpi-card dl.facts dd { text-align:right; font-variant-numeric:tabular-nums; font-weight:500; }
.kpi-card dl.facts .adm { font-style:italic; color:var(--muted); font-weight:400; }
.kpi-card dl.facts .rule { grid-column:1 / -1; border-top:1px dashed var(--line); margin:3px 0; }

/* Ziele */
.target { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; align-items:center; }
.target .t-name { font-weight:600; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.target .t-meta { font-size:13px; color:var(--muted); }
.progress { grid-column:1 / -1; height:8px; border-radius:99px; background:color-mix(in srgb, var(--muted) 16%, var(--card)); position:relative; overflow:hidden; margin-top:4px; }
.progress > span { position:absolute; inset:0 auto 0 0; border-radius:99px; background:var(--grad); }
.progress > i { position:absolute; top:0; bottom:0; width:2px; background:var(--fg); opacity:.35; }
.pill.grad { background:var(--grad); color:#fff; }

/* Segment-Umschalter mit Links */
.seg a { display:block; padding:6px 12px; border-radius:calc(var(--radius-sm) - 2px); color:var(--muted); white-space:nowrap; font-size:14px; text-decoration:none; }
.seg a.on { background:var(--card); color:var(--fg); font-weight:600; box-shadow:0 1px 3px rgba(20,8,60,.12); }
.pager { display:inline-flex; gap:6px; }
.pager a, .pager span { width:34px; height:34px; display:inline-grid; place-items:center; border-radius:var(--radius-sm); border:1px solid var(--line); color:var(--fg); text-decoration:none; background:var(--card); }
.pager a:hover { background:var(--accent-soft); } .pager span { opacity:.4; }

/* Kopfzeile: Theme-Umschalter */
.iconbtn { width:38px; height:38px; display:grid; place-items:center; border-radius:999px; border:1px solid transparent; background:none; color:var(--muted); cursor:pointer; flex:none; }
.iconbtn:hover { background:var(--accent-soft); color:var(--fg); }
.iconbtn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.theme-ico-dark, :root[data-theme="dark"] .theme-ico-light { display:none; }
:root[data-theme="dark"] .theme-ico-dark { display:block; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .theme-ico-light { display:none; } :root:not([data-theme="light"]) .theme-ico-dark { display:block; } }
.acct .menu .theme-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:8px 10px; font-size:14px; }
.acct .menu .theme-row .seg span { padding:4px 9px; font-size:13px; }
.auth-tools { position:fixed; top:14px; right:14px; }
body.auth.grad .auth-tools .iconbtn { color:#fff; } body.auth.grad .auth-tools .iconbtn:hover { background:rgba(255,255,255,.15); }

/* Tagesbalken, Logo, Dropzone, Protokoll */
.daybars { display:flex; align-items:flex-end; gap:6px; height:72px; margin-top:14px; }
.daybars div { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:4px; height:100%; font-size:11px; color:var(--muted); }
.daybars span { width:100%; border-radius:5px 5px 2px 2px; background:var(--grad); min-height:2px; }
.drop { border:2px dashed var(--line); border-radius:var(--radius); padding:26px 16px; text-align:center; background:color-mix(in srgb, var(--bg) 60%, var(--card)); margin-bottom:14px; }
.drop input { margin-top:10px; max-width:100%; }
.logo-box { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.logo-preview { width:200px; height:96px; border-radius:var(--radius-sm); border:1px solid var(--line); display:grid; place-items:center; padding:12px;
  background:repeating-conic-gradient(color-mix(in srgb, var(--muted) 12%, var(--card)) 0% 25%, var(--card) 0% 50%) 50% / 16px 16px; }
.logo-preview img { max-width:100%; max-height:100%; object-fit:contain; }
table.list.log td:first-child { white-space:nowrap; color:var(--muted); width:1%; }
.fields { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:12px; align-items:end; }
.fields .field { margin:0; }

/* Name neben dem Initialen-Kreis immer zeigen (außer auf dem Handy) */
@media (min-width:761px) {
  .acct .who { display:block; } .acct .chev { display:block; }
  .acct > button { padding:3px 12px 3px 3px; }
}
/* Reiter mit Links (Admin-Bereiche) */
.tabs a { color:var(--muted); padding:10px 14px; white-space:nowrap; border-bottom:2px solid transparent; margin-bottom:-1px;
  display:flex; align-items:center; gap:8px; text-decoration:none; }
.tabs a:hover { color:var(--fg); }
.tabs a.on { color:var(--accent); border-bottom-color:var(--accent); font-weight:600; }
.tabs a svg { opacity:.85; }
.acct .menu .item.disabled { opacity:.55; cursor:default; }
.acct .menu .item.disabled:hover { background:none; }
.copyrow { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.copyrow code { font-size:13px; }
.acct .menu div.item { display:flex; gap:12px; align-items:flex-start; padding:10px; border-radius:var(--radius-sm); color:var(--fg); }
.acct .menu div.item svg { flex:none; margin-top:2px; color:var(--muted); }
.acct .menu div.item small { display:block; color:var(--muted); font-size:12px; margin-top:2px; }
.t-year { grid-column:1 / -1; font-size:13px; margin-top:8px; padding:8px 10px; border-radius:var(--radius-sm); background:color-mix(in srgb, var(--bg) 70%, var(--card)); display:flex; flex-wrap:wrap; gap:4px 8px; align-items:center; }
.t-year .progress.thin { flex-basis:100%; height:5px; margin-top:2px; }
.yearpick { display:inline-flex; gap:6px; align-items:center; }
.yearpick select { width:auto; font-weight:600; padding:7px 10px; }
.months { display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); gap:6px; align-items:end; height:150px; margin-top:16px; }
.months > a, .months > div { display:flex; flex-direction:column; justify-content:flex-end; align-items:stretch; height:100%; text-decoration:none; color:var(--muted); font-size:11px; text-align:center; gap:4px; border-radius:6px; padding:2px; }
.months > a:hover, .months > div:hover { background:var(--accent-soft); }
.months > a.on, .months > div.on { background:var(--accent-soft); color:var(--accent); font-weight:600; }
.months .stack { display:flex; flex-direction:column; justify-content:flex-end; flex:1; }
.months .w { background:var(--grad); border-radius:4px 4px 1px 1px; min-height:2px; }
.months .a { background:color-mix(in srgb, var(--muted) 35%, var(--card)); border-radius:4px 4px 0 0; }
.months .v { font-variant-numeric:tabular-nums; color:var(--fg); font-size:11px; white-space:nowrap; }
.months > a.future > *, .months > div.future > * { opacity:.4; }
@media (max-width:760px) { .months .v { display:none; } }
.legend { display:flex; gap:14px; font-size:12px; color:var(--muted); } .legend i { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:5px; vertical-align:-1px; }
.extras { margin-top:10px; }
.extras table.list td { padding:6px 10px; font-size:13px; }
.extras form.fields { margin-top:8px; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); }

/* Fußzeile */
footer.foot { border-top:1px solid var(--line); background:var(--card); }
footer.foot .in { max-width:1040px; margin:0 auto; padding:16px; display:flex; flex-wrap:wrap; gap:6px 18px; align-items:center; font-size:13px; color:var(--muted); }
footer.foot .sp { flex:1; }
footer.foot a { color:var(--muted); text-decoration:none; }
footer.foot a:hover { color:var(--accent); text-decoration:underline; }
body.auth .authfoot a { color:inherit; }
main { padding-bottom:48px; }
textarea { width:100%; padding:9px 11px; border-radius:var(--radius-sm); border:1px solid var(--line); background:var(--input); color:inherit; font:inherit; resize:vertical; }
/* Wochenbalken */
.months.weeks { gap:2px; height:150px; }
.months.weeks > a, .months.weeks > div { padding:1px 0; border-radius:3px; }
.months.weeks .w { border-radius:2px 2px 0 0; }
.months.weeks .kw { font-size:10px; min-height:13px; white-space:nowrap; overflow:visible; }

/* Pillen im Verlauf immer mit weißer Schrift (auch im Kontomenü) */
.pill.grad, .acct .menu .head .pill.grad, .acct .menu .head div span.pill.grad { color:#fff; }
.acct .menu .head div span.pill.info { color:var(--accent); }
/* Stundenkonto */
.pos { color:var(--ok); font-weight:600; } .neg { color:var(--err); font-weight:600; }
table.list tr.running td, table.list td.running { background:color-mix(in srgb, var(--accent-soft) 60%, transparent); }
.acct-matrix th { vertical-align:bottom; }
.acct-matrix td { white-space:nowrap; }
input[type=month] { width:auto; padding:9px 11px; border-radius:var(--radius-sm); border:1px solid var(--line); background:var(--input); color:inherit; font:inherit; }

/* Berichte: links Dokumente, rechts Berichtsarten */
.rep-layout { display:grid; grid-template-columns:minmax(260px, 340px) minmax(0, 1fr); gap:16px; align-items:start; }
@media (max-width:900px) { .rep-layout { grid-template-columns:1fr; } .rep-tiles { order:-1; } }
.rep-side .card { margin-bottom:16px; }
.rep-tiles { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:16px; }
.rep-tile { gap:8px; }
.rep-tile .facts { flex:none; margin-bottom:4px; }
.rep-tile label.f { margin:4px 0 0; font-size:13px; }
.rep-scope { display:grid; gap:8px; margin-top:4px; }
.rep-actions { display:flex; gap:8px; margin-top:auto; padding-top:10px; flex-wrap:wrap; }
.rep-actions .btn { flex:1; justify-content:center; }
.doc-list { display:flex; flex-direction:column; margin-top:8px; }
.doc { display:flex; align-items:center; gap:10px; padding:10px 0; border-top:1px solid var(--line); }
.doc:first-child { border-top:0; }
.doc .ico { width:34px; height:34px; border-radius:9px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent); flex:none; }
.doc-main { flex:1; min-width:0; text-decoration:none; color:var(--fg); }
.doc-main b { display:block; font-size:14px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.doc-main small { display:block; font-size:12px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
a.doc-main:hover b { color:var(--accent); }
.iconbtn.sm { width:32px; height:32px; }
.iconbtn.danger:hover { color:var(--err); background:var(--err-soft); }
.doc form { margin:0; }

/* Sofort-Tooltip an den Balken (statt Link mit verzögertem Browser-Titel) */
.months > [data-tip] { position:relative; cursor:default; outline:none; }
.months > [data-tip]:hover::after, .months > [data-tip]:focus-visible::after {
  content:attr(data-tip); position:absolute; bottom:calc(100% + 4px); left:50%; transform:translateX(-50%);
  background:var(--fg); color:var(--card); padding:8px 11px; border-radius:8px; font-size:12px; font-weight:500;
  line-height:1.5; text-align:left; white-space:pre; z-index:30; pointer-events:none;
  box-shadow:0 10px 30px -10px rgba(20,8,60,.45); }
.months > [data-tip]:nth-child(-n+2):hover::after, .months > [data-tip]:nth-child(-n+2):focus-visible::after { left:0; transform:none; }
.months > [data-tip]:nth-last-child(-n+2):hover::after, .months > [data-tip]:nth-last-child(-n+2):focus-visible::after { left:auto; right:0; transform:none; }
.months.weeks > [data-tip]:nth-child(-n+6):hover::after { left:0; transform:none; }
.months.weeks > [data-tip]:nth-last-child(-n+6):hover::after { left:auto; right:0; transform:none; }
.months > [data-tip]:hover .w { filter:brightness(1.12); }
.doc-main b { white-space:normal; }

/* Einträge: Filter + Import-Kachel */
.entries-top { display:grid; grid-template-columns:minmax(0, 1fr); gap:16px; margin-bottom:16px; align-items:start; }
.entries-top.with-import { grid-template-columns:minmax(0, 1fr) 290px; }
@media (max-width:900px) { .entries-top.with-import { grid-template-columns:1fr; } }
.entries-top .card { margin-bottom:0; }
.filter-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; align-items:end; }
@media (max-width:760px) { .filter-grid { grid-template-columns:1fr 1fr; } }
.filter-grid .field { margin:0; }
.filter-actions { grid-column:1 / -1; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.filter-foot { display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
.import-tile { display:flex; flex-direction:column; }
.import-options { display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.import-options form { margin:0; }
.import-opt { display:flex; align-items:center; gap:12px; width:100%; text-align:left; padding:12px; border-radius:var(--radius-sm);
  border:1px solid var(--line); background:var(--card); color:var(--fg); font:inherit; cursor:pointer; text-decoration:none; transition:border-color .15s, background .15s; }
.import-opt:hover { border-color:color-mix(in srgb, var(--accent) 50%, var(--line)); background:var(--accent-soft); }
.import-opt:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.import-opt .ico { width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:var(--grad); color:#fff; flex:none; }
.import-opt .txt { flex:1; min-width:0; } .import-opt b { display:block; font-weight:600; }
.import-opt small { display:block; color:var(--muted); font-size:12px; }
.import-opt .go { color:var(--muted); font-size:20px; }
.import-opt.off { cursor:default; } .import-opt.off .ico { background:var(--accent-soft); color:var(--muted); }
div.import-opt.off:hover { background:var(--card); border-color:var(--line); }
/* Popup */
dialog.modal { border:0; padding:0; border-radius:calc(var(--radius) + 4px); background:var(--card); color:var(--fg);
  width:min(560px, calc(100vw - 32px)); box-shadow:0 30px 80px -20px rgba(20,8,60,.55); }
dialog.modal::backdrop { background:rgba(19,17,28,.55); backdrop-filter:blur(2px); }
dialog.modal form { padding:22px 22px 18px; margin:0; }
.modal-h { display:flex; gap:12px; align-items:flex-start; justify-content:space-between; margin-bottom:14px; }
.modal-h h2 { margin:0 0 4px; } .modal-h .desc { color:var(--muted); font-size:14px; margin:0; }
.modal-f { display:flex; gap:10px; justify-content:flex-end; margin-top:16px; }

/* Prognose */
.t-fc { grid-column:1 / -1; display:flex; gap:8px; align-items:flex-start; font-size:13px; margin-top:6px; color:var(--muted); }
.t-fc svg { flex:none; margin-top:2px; }
.target .t-fc span { display:inline; }
.item-row .main .t-fc b, .target .t-fc b { display:inline; color:var(--fg); }
.item-row .main .t-year b { display:inline; }
.t-fc.ok svg { color:var(--ok); } .t-fc.warn svg { color:var(--warn); }
.fc-card { background:linear-gradient(var(--card), var(--card)) padding-box, var(--grad) border-box; border:1px solid transparent; }
.fc-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:16px 28px; margin-top:12px; }
.fc-col .k-label { font-size:13px; font-weight:600; }
.fc-col .k-val { font-family:var(--font-head); font-size:26px; font-weight:600; margin-top:4px; }
.fc-col .k-val small { font-family:var(--font-body); font-size:13px; color:var(--muted); margin-left:3px; }
.fc-col dl.facts { display:grid; grid-template-columns:1fr auto; gap:4px 12px; margin-top:10px; font-size:14px; }
.fc-col dl.facts dt { color:var(--muted); } .fc-col dl.facts dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; font-weight:500; }
.fc-col dl.facts .adm { font-style:italic; color:var(--muted); font-weight:400; }
.fc-col dl.facts .rule { grid-column:1 / -1; border-top:1px dashed var(--line); margin:3px 0; }

/* Stundenkonto: Zusatzstunden + Buchungen */
.acct-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin:0 0 16px; padding:12px 16px; border:1px solid var(--line); border-radius:var(--radius); background:var(--card); font-size:13px; }
.acct-tools .check { margin:0; font-size:14px; }
.pill.xtra { background:linear-gradient(135deg, color-mix(in srgb, var(--brand-1) 16%, transparent), color-mix(in srgb, var(--brand-2) 16%, transparent)); color:var(--accent); font-weight:700; display:inline-flex; align-items:center; gap:3px; white-space:nowrap; }
.xtra-box { margin-top:12px; padding:12px 14px; border-radius:var(--radius-sm); border:1px solid transparent;
  background:linear-gradient(color-mix(in srgb, var(--accent-soft) 55%, var(--card)), color-mix(in srgb, var(--accent-soft) 55%, var(--card))) padding-box, var(--grad) border-box; }
.xtra-head { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; font-size:14px; }
.xtra-head .ico { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--grad); color:#fff; }
.xtra-head b { color:var(--fg); }
.xtra-box ul { list-style:none; margin:8px 0 0; padding:0; display:grid; gap:6px; font-size:13px; }
.xtra-box li { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; }
table.list tr.has-xtra td { background:color-mix(in srgb, var(--accent-soft) 45%, transparent); }
table.list tr.has-xtra td:first-child { box-shadow:inset 3px 0 0 var(--accent); }
.xtra-note { font-size:12px; color:var(--accent); margin-top:2px; display:flex; align-items:center; gap:4px; }
.xtra-mark { display:inline-grid; place-items:center; width:16px; height:16px; border-radius:50%; background:var(--grad); color:#fff; font-size:11px; font-weight:700; line-height:1; vertical-align:1px; }
.acct-matrix td.has-xtra { box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 50%, transparent); border-radius:6px; }
.bk-btn { display:inline-flex; align-items:center; gap:3px; margin-right:8px; padding:2px 7px 2px 5px; border:1px solid var(--line); border-radius:999px; background:var(--card); color:var(--muted); font:600 11px/1.4 var(--font-body); cursor:pointer; vertical-align:1px; }
.bk-btn:hover { color:var(--accent); border-color:var(--accent); }
.bk-btn .chev { transform:rotate(-90deg); transition:transform .15s; }
.bk-btn[aria-expanded=true] { color:var(--accent); border-color:var(--accent); }
.bk-btn[aria-expanded=true] .chev { transform:none; }
table.list tr.bk-row > td { padding:0 0 12px 28px; background:transparent !important; box-shadow:none !important; }
.bk-table { width:100%; border-collapse:collapse; font-size:12.5px; border-left:2px solid var(--line); }
.bk-table th { text-align:left; font-size:11px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; padding:6px 10px; }
.bk-table td { padding:5px 10px; border-top:1px dashed var(--line); vertical-align:top; }
.bk-table .num { text-align:right; white-space:nowrap; }
.bk-table tfoot td { border-top:1px solid var(--line); color:var(--muted); font-weight:600; }
table.list .bk-table td { padding:5px 10px; } table.list .bk-table th { padding:6px 10px; }

/* Prognose – Übersicht */
.fc-card h2 { display:flex; align-items:center; gap:8px; }
.fc-card h2 svg { color:var(--accent); }
.fc-grid { gap:16px; }
.fc-col { padding:16px; border:1px solid var(--line); border-radius:var(--radius-sm); background:color-mix(in srgb, var(--bg) 50%, var(--card)); }
.fc-top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; font-size:13px; }
.fc-name { font-weight:700; color:var(--fg); }
.fc-big { font-family:var(--font-head); font-size:34px; font-weight:600; line-height:1.1; margin:6px 0 10px; color:var(--fg); }
.fc-big small { font-family:var(--font-body); font-size:15px; color:var(--muted); font-weight:500; }
.fc-bar { position:relative; display:flex; height:12px; border-radius:999px; background:var(--line); overflow:visible; }
.fc-bar .done { background:var(--grad); border-radius:999px 0 0 999px; }
.fc-bar .rest { background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--brand-2) 55%, transparent) 0 5px, color-mix(in srgb, var(--brand-1) 32%, transparent) 5px 10px); border-radius:0 999px 999px 0; }
.fc-bar .goal { position:absolute; top:-4px; bottom:-4px; width:3px; margin-left:-1.5px; border-radius:2px; background:var(--fg); }
.fc-legend { display:flex; flex-wrap:wrap; gap:4px 16px; margin-top:8px; font-size:13px; color:var(--muted); }
.fc-legend i, .fc-key { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:6px; vertical-align:-1px; }
.fc-legend i.done, .fc-key.done { background:var(--grad); }
.fc-legend i.rest, .fc-key.rest { background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--brand-2) 45%, transparent) 0 3px, color-mix(in srgb, var(--brand-1) 20%, transparent) 3px 6px); }
.fc-legend b { color:var(--fg); }
.fc-mini { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:12px; padding-top:10px; border-top:1px dashed var(--line); }
.fc-mini small { display:block; font-size:12px; color:var(--muted); }
.fc-mini b { font-size:15px; color:var(--fg); }
.fc-sub { margin:22px 0 6px; font-size:15px; }
.fc-table td { vertical-align:middle; }
.fc-table .fc-barcol { width:26%; min-width:140px; }
.fc-table .fc-bar { height:9px; }
.fc-table .pill { white-space:nowrap; }
@media (max-width:640px) { .fc-table .fc-barcol { display:none; } .fc-big { font-size:30px; } }

/* Berichte: Kacheln als Links, Unterseite mit Einstellungen */
a.rep-link, .rep-link-main { text-decoration:none; color:inherit; }
a.rep-link { transition:border-color .15s, box-shadow .15s, transform .15s; }
a.rep-link:hover, .rep-custom:hover { border-color:color-mix(in srgb, var(--accent) 45%, var(--line)); box-shadow:0 8px 24px -16px var(--brand-2); }
.rep-link-main { display:flex; flex-direction:column; gap:8px; }
.rep-go { margin-top:auto; display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--accent); }
.rep-go .chev { transform:rotate(-90deg); }
.rep-custom { background:linear-gradient(var(--card), var(--card)) padding-box, var(--grad) border-box; border:1px solid transparent; }
.tile .ico.grad { background:var(--grad); color:#fff; }
.preset-list { border-top:1px dashed var(--line); padding-top:10px; margin-top:4px; display:flex; flex-direction:column; gap:4px; }
.preset-list .f { font-size:12px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.preset { display:flex; align-items:center; gap:8px; font-size:14px; padding:4px 0; text-decoration:none; color:var(--fg); }
.preset svg { color:var(--accent); flex:none; }
.preset:hover { color:var(--accent); }

.rep-config h2 { display:flex; align-items:center; gap:8px; }
.rep-config h2 svg { color:var(--accent); }
.rc-grid { display:grid; grid-template-columns:minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); gap:12px 16px; margin-top:14px; }
.rc-field small { display:block; margin-top:4px; font-size:12px; }
.rc-period { display:flex; align-items:center; gap:6px; }
.rc-period input, .rc-period select { flex:1; min-width:0; }
.rc-period .iconbtn { border-color:var(--line); font-size:18px; text-decoration:none; }
.iconbtn.disabled { opacity:.35; cursor:default; pointer-events:none; }
.rc-opts { margin-top:18px; }
.rc-opts > .f { font-weight:600; font-size:14px; margin-bottom:8px; }
.rc-opt-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:8px; }
.check.rc-opt { margin:0; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius-sm); align-items:center; }
.check.rc-opt:has(input:checked) { border-color:color-mix(in srgb, var(--accent) 40%, var(--line)); background:color-mix(in srgb, var(--accent-soft) 50%, transparent); }
.rc-opt span b { display:block; font-size:14px; font-weight:600; }
.rc-opt span small { display:block; font-size:12px; color:var(--muted); font-weight:400; }
.rc-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:18px; padding-top:14px; border-top:1px solid var(--line); }
.rc-note { font-size:12px; margin-left:auto; }
@media (max-width:760px) { .rc-grid { grid-template-columns:1fr; } .rc-note { margin-left:0; } .rc-actions .btn { flex:1 1 100%; justify-content:center; } }
.rep-empty { margin-top:16px; }
.preview-head { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:22px 0 14px; padding-bottom:10px; border-bottom:2px dashed var(--line); }
.preview-head .pill { display:inline-flex; align-items:center; gap:4px; }
.preview-head b { font-family:var(--font-head); font-size:17px; }

/* Eigener Bericht */
.preset-bar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px 16px; margin-bottom:16px; }
.preset-bar > .f { display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:14px; margin-right:4px; }
.preset-bar > .f svg { color:var(--accent); }
.preset-chip { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; background:var(--card); }
.preset-chip a { padding:5px 4px 5px 12px; font-size:13px; font-weight:600; text-decoration:none; color:var(--fg); }
.preset-chip:not(:has(form)) a { padding-right:12px; }
.preset-chip.active { border-color:var(--accent); background:var(--accent-soft); }
.preset-chip.active a { color:var(--accent); }
.preset-chip form { display:inline; margin:0; }
.preset-chip .x { border:0; background:none; color:var(--muted); font-size:16px; line-height:1; padding:4px 10px 5px 4px; cursor:pointer; }
.preset-chip .x:hover { color:var(--err); }
.cf-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; align-items:start; }
.cf-grid .card { margin:0; }
.cf-grid h2 { display:flex; align-items:center; gap:8px; }
.cf-grid h2 svg { color:var(--accent); }
@media (max-width:900px) { .cf-grid { grid-template-columns:1fr; } }
.pick-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); gap:6px; margin-top:12px; }
.pick-row { display:flex; flex-wrap:wrap; gap:6px; }
label.pick { position:relative; cursor:pointer; }
label.pick input { position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
label.pick span { display:block; padding:7px 12px; border:1px solid var(--line); border-radius:var(--radius-sm); font-size:13px; font-weight:500; text-align:center; background:var(--card); transition:border-color .15s, background .15s; }
label.pick:hover span { border-color:color-mix(in srgb, var(--accent) 40%, var(--line)); }
label.pick input:checked + span { border-color:transparent; background:var(--grad); color:#fff; font-weight:600; box-shadow:0 2px 8px -4px var(--brand-2); }
label.pick input:focus-visible + span { outline:2px solid var(--accent); outline-offset:2px; }
.cf-dates { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; transition:opacity .15s; }
.cf-dates.off { opacity:.55; }
.cf-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.cf-sub { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:12px 16px; margin-top:14px; }
.cf-sub label.f { font-size:13px; }
.cf-two { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
@media (max-width:560px) { .cf-two, .cf-row, .cf-dates { grid-template-columns:1fr; } }
.tree-search { width:100%; margin-top:12px; padding:8px 11px; border-radius:var(--radius-sm); border:1px solid var(--line); background:var(--input); color:inherit; font:inherit; }
.tree { margin-top:8px; max-height:300px; overflow:auto; border:1px solid var(--line); border-radius:var(--radius-sm); padding:4px 10px; }
.tree-c { padding:6px 0; border-top:1px solid var(--line); }
.tree-c:first-child { border-top:0; }
.tree-row { display:flex; align-items:center; gap:10px; padding:4px 0; cursor:pointer; font-size:14px; }
.tree-row small { color:var(--muted); margin-left:auto; font-size:12px; }
.tree-p { padding-left:26px; }
.tree-row input[type=checkbox] { width:32px; height:19px; }
.tree-row input[type=checkbox]::after { width:13px; height:13px; }
.tree-row input[type=checkbox]:checked::after { transform:translateX(13px); }
.tree-row.implied { color:var(--muted); }
.tree-row.implied::after { content:"inkl."; font-size:11px; color:var(--accent); margin-left:auto; }
.swatches { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
label.swatch { position:relative; display:flex; flex-direction:column; align-items:center; gap:3px; cursor:pointer; }
label.swatch input { position:absolute; opacity:0; width:1px; height:1px; }
label.swatch .sw-c { width:34px; height:34px; border-radius:50%; border:3px solid var(--card); box-shadow:0 0 0 1px var(--line); }
label.swatch input:checked + .sw-c { box-shadow:0 0 0 2px var(--accent); }
label.swatch input:focus-visible + .sw-c { outline:2px solid var(--accent); outline-offset:2px; }
label.swatch small { font-size:11px; color:var(--muted); }
input[type=color] { width:38px; height:38px; padding:2px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--input); cursor:pointer; align-self:flex-start; }
.cf-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:16px; position:sticky; bottom:12px; z-index:5; box-shadow:0 10px 30px -18px rgba(0,0,0,.45); }
.cf-save { display:flex; gap:8px; margin-left:auto; flex-wrap:wrap; }
.cf-save input { min-width:180px; padding:8px 11px; border-radius:var(--radius-sm); border:1px solid var(--line); background:var(--input); color:inherit; font:inherit; }
@media (max-width:760px) { .cf-actions { position:static; } .cf-save { margin-left:0; width:100%; } .cf-save input { flex:1; } .cf-actions .btn { flex:1 1 auto; justify-content:center; } }
.pdf-frame { width:100%; height:85vh; min-height:520px; border:1px solid var(--line); border-radius:var(--radius); background:#525659; }
.cf-save { flex-wrap:nowrap; }
.cf-save input[type=text] { width:150px; min-width:0; }
@media (max-width:760px) { .cf-save { flex-wrap:wrap; } .cf-save input[type=text] { width:100%; } }
.pdf-pages { display:flex; flex-direction:column; align-items:center; gap:18px; padding:24px 12px; background:color-mix(in srgb, var(--muted) 18%, var(--bg)); border-radius:var(--radius); }
.pdf-page { margin:0; width:100%; max-width:820px; }
.pdf-pages.landscape .pdf-page { max-width:1100px; }
.pdf-page img { display:block; width:100%; height:auto; background:#fff; border-radius:4px; box-shadow:0 8px 28px -12px rgba(0,0,0,.45); }
.pdf-page figcaption { text-align:center; font-size:12px; color:var(--muted); margin-top:6px; }
.check.rc-opt.dim { opacity:.45; }
/* Prognose: Spanne + Herleitung */
.fc-range { font-size:13px; color:var(--muted); margin:-6px 0 10px; }
.fc-range b { color:var(--fg); }
.fc-bar .range { position:absolute; top:-5px; height:3px; border-radius:2px; background:color-mix(in srgb, var(--fg) 45%, transparent); }
.fc-pull { color:var(--accent); }
.fc-pull b { color:var(--accent) !important; }
details.fc-how { margin-top:16px; border:1px solid var(--line); border-radius:var(--radius-sm); padding:0 14px; }
details.fc-how summary { cursor:pointer; padding:12px 0; font-weight:600; font-size:14px; color:var(--accent); }
details.fc-how[open] summary { border-bottom:1px solid var(--line); margin-bottom:10px; }
.fc-how-grid { display:grid; grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr); gap:20px; padding-bottom:14px; }
@media (max-width:860px) { .fc-how-grid { grid-template-columns:1fr; } }
.fc-how h4 { margin:4px 0 6px; font-size:14px; }
.fc-how .help { margin:0 0 10px; }
table.fc-units td, table.fc-units th { font-size:13px; padding:6px 8px; }
table.fc-units tr.idle td { opacity:.6; }
.wd-profile { display:grid; grid-template-columns:repeat(7, 1fr); gap:6px; align-items:end; height:64px; margin-bottom:6px; }
.wd-profile div { display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; gap:3px; }
.wd-profile span { width:100%; max-width:26px; border-radius:4px 4px 1px 1px; background:var(--grad); min-height:3px; }
.wd-profile small { font-size:11px; color:var(--muted); }
.fc-pulls { margin:0; padding-left:18px; font-size:13px; line-height:1.6; }
/* Ziel-Kennzeichnung: Woche / Monat / Jahr */
.ptag { display:inline-flex; align-items:center; gap:4px; padding:2px 9px 2px 7px; border-radius:999px; font-size:12px; font-weight:700; white-space:nowrap; vertical-align:1px; border:1px solid transparent; }
.ptag svg { flex:none; }
.ptag-month { background:color-mix(in srgb, #2f7de1 14%, transparent); color:#1d5fb8; border-color:color-mix(in srgb, #2f7de1 35%, transparent); }
.ptag-year { background:color-mix(in srgb, var(--brand-1) 14%, transparent); color:#9a1f9d; border-color:color-mix(in srgb, var(--brand-1) 35%, transparent); }
.ptag-week { background:color-mix(in srgb, #0f9f8f 14%, transparent); color:#0b7a6e; border-color:color-mix(in srgb, #0f9f8f 35%, transparent); }
:root[data-theme="dark"] .ptag-month { color:#8cbcff; } :root[data-theme="dark"] .ptag-year { color:#f0a3f2; } :root[data-theme="dark"] .ptag-week { color:#6fe0d2; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ptag-month { color:#8cbcff; } :root:not([data-theme="light"]) .ptag-year { color:#f0a3f2; } :root:not([data-theme="light"]) .ptag-week { color:#6fe0d2; } }
.tgroup + .tgroup { margin-top:14px; }
.tgroup-h { display:flex; align-items:center; gap:7px; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.05em; padding:6px 0 6px 10px; border-left:3px solid; }
.tgroup-month .tgroup-h { border-color:#2f7de1; } .tgroup-year .tgroup-h { border-color:var(--brand-1); } .tgroup-week .tgroup-h { border-color:#0f9f8f; }
.tgroup-h .muted { text-transform:none; letter-spacing:0; font-weight:500; }
table.list tr.tgroup-row td { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding-top:14px; color:var(--muted); border-bottom:0; }
table.list tr.tgroup-row td svg { vertical-align:-2px; margin-right:4px; }
table.list tr.tgroup-month td svg { color:#2f7de1; } table.list tr.tgroup-year td svg { color:var(--brand-1); } table.list tr.tgroup-week td svg { color:#0f9f8f; }
/* Prognose: Durchschnitte */
.fc-avg { display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:10px 18px; margin-top:12px; padding-top:10px; border-top:1px dashed var(--line); }
.avg-cell small { display:block; font-size:12px; color:var(--muted); }
.avg-cell b { display:block; font-size:17px; color:var(--fg); margin:1px 0; }
.avg-cell span { display:block; font-size:12px; color:var(--muted); line-height:1.45; }
.avg-cell .up { color:var(--ok); font-size:12px; display:inline; } .avg-cell .down { color:var(--err); font-size:12px; display:inline; }
.fc-hint { color:var(--accent); display:flex; align-items:center; gap:4px; }

/* Teil-Aktualisierung */
[data-part].swapping { opacity:.55; transition:opacity .15s; pointer-events:none; }

/* Klickbare Namen → Einblick */
a.ins-link { color:inherit; text-decoration:none; background-image:linear-gradient(currentColor, currentColor); background-size:0 1px; background-repeat:no-repeat; background-position:0 100%; transition:background-size .2s, color .15s; cursor:pointer; }
a.ins-link:hover, a.ins-link:focus-visible { color:var(--accent); background-size:100% 1px; }
a.ins-link.sub { color:var(--muted); font-size:12px; }

/* Einblick-Popup */
dialog.ins-dlg { border:0; padding:0; width:min(920px, calc(100vw - 24px)); max-height:calc(100vh - 32px); border-radius:calc(var(--radius) + 4px); background:var(--card); color:var(--fg); box-shadow:0 30px 80px -20px rgba(0,0,0,.5); overflow:hidden; }
dialog.ins-dlg::backdrop { background:rgba(19,17,28,.55); backdrop-filter:blur(2px); }
.ins-wrap { max-height:calc(100vh - 32px); overflow:auto; }
.ins-wrap.loading .ins { opacity:.55; transition:opacity .15s; }
.ins-loading { padding:60px 24px; text-align:center; color:var(--muted); }
.ins { display:flex; flex-direction:column; }
.ins-head { position:sticky; top:0; z-index:2; display:flex; gap:12px; align-items:flex-start; justify-content:space-between; padding:20px 22px 12px; background:var(--card); border-bottom:1px solid transparent; }
.ins-head::before { content:""; position:absolute; left:0; right:0; top:0; height:4px; background:var(--grad); }
.ins-kind { display:flex; align-items:center; gap:6px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); }
.ins-head h2 { margin:4px 0 2px; font-size:22px; }
.ins-range { font-size:13px; }
.ins-close { flex:none; width:38px; height:38px; border-radius:999px; border:1px solid var(--line); background:var(--card); color:var(--muted); font-size:24px; line-height:1; cursor:pointer; display:grid; place-items:center; }
.ins-close:hover { color:var(--fg); background:var(--accent-soft); }
.ins-chips { display:flex; flex-wrap:wrap; gap:6px; padding:0 22px 14px; }
.ins-chips a, .ins-chips span { padding:5px 12px; border-radius:999px; border:1px solid var(--line); font-size:13px; font-weight:500; text-decoration:none; color:var(--fg); }
.ins-chips a:hover { border-color:var(--accent); color:var(--accent); }
.ins-chips .on { background:var(--grad); color:#fff !important; border-color:transparent; font-weight:600; }
.ins-body { padding:0 22px 8px; display:flex; flex-direction:column; gap:18px; }
.ins-target { border:1px solid var(--line); border-radius:var(--radius-sm); padding:12px 14px; }
.ins-kpis { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }
.ins-kpis > div { background:color-mix(in srgb, var(--bg) 60%, var(--card)); border-radius:var(--radius-sm); padding:12px; }
.ins-kpis small { display:flex; align-items:center; gap:4px; font-size:12px; color:var(--muted); }
.ins-kpis b { display:block; font-size:20px; font-family:var(--font-head); margin:2px 0; }
.ins-kpis span { font-size:12px; color:var(--muted); }
.ins-kpis .ins-fc { background:linear-gradient(var(--card), var(--card)) padding-box, var(--grad) border-box; border:1px solid transparent; }
.ins-kpis .ins-fc small { color:var(--accent); }
@media (max-width:700px) { .ins-kpis { grid-template-columns:1fr 1fr; } }
.ins-sec h3 { margin:0 0 8px; font-size:15px; }
.ins-chart { height:150px; }
.ins-cols { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ins-cols > .ins-sec:only-child { grid-column:1 / -1; }
@media (max-width:700px) { .ins-cols { grid-template-columns:1fr; } }
table.ins-table td { padding:7px 6px; font-size:14px; vertical-align:top; }
table.ins-table td.nowrap { white-space:nowrap; }
.ins-bar { height:4px; border-radius:2px; background:var(--line); margin-top:5px; overflow:hidden; }
.ins-bar span { display:block; height:100%; background:var(--grad); border-radius:2px; }
.ins-foot { position:sticky; bottom:0; display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; padding:14px 22px; background:var(--card); border-top:1px solid var(--line); font-size:13px; }
.ins-page { padding:0; overflow:hidden; }
.ins-page .ins-head, .ins-page .ins-foot { position:static; }
.ins-chart > div > span:last-child { white-space:nowrap; }
/* Planung */
.plan { display:flex; flex-direction:column; gap:4px; }
.plan-h { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.plan-client { font-size:13px; font-weight:500; }
.ptag-plan { background:color-mix(in srgb, #f59e0b 14%, transparent); color:#a15c00; border-color:color-mix(in srgb, #f59e0b 40%, transparent); }
:root[data-theme="dark"] .ptag-plan { color:#fbc56b; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ptag-plan { color:#fbc56b; } }
.plan .progress { margin-top:4px; }
.cap { display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:10px; align-items:end; margin-top:10px; }
.cap-m { position:relative; display:flex; flex-direction:column; align-items:center; gap:3px; padding:6px 4px; border-radius:var(--radius-sm); }
.cap-m.cur { background:color-mix(in srgb, var(--accent-soft) 60%, transparent); }
.cap-bars { position:relative; width:100%; max-width:56px; height:90px; display:flex; align-items:flex-end; justify-content:center; }
.cap-bars .u { position:absolute; bottom:0; left:0; right:0; background:color-mix(in srgb, var(--muted) 22%, transparent); border-radius:6px 6px 2px 2px; }
.cap-bars .p { position:relative; width:55%; background:var(--grad); border-radius:5px 5px 1px 1px; min-height:0; }
.cap-m.full .cap-bars .p { box-shadow:0 0 0 2px color-mix(in srgb, var(--warn) 70%, transparent); }
.cap-m b { font-size:13px; } .cap-m small { font-size:12px; color:var(--muted); }
.cap-legend .k { display:inline-block; width:10px; height:10px; border-radius:3px; vertical-align:-1px; margin-right:4px; }
.cap-legend .k.p { background:var(--grad); } .cap-legend .k.u { background:color-mix(in srgb, var(--muted) 30%, transparent); }
.cap-m[data-tip]:hover::after, .cap-m[data-tip]:focus::after { content:attr(data-tip); position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%); white-space:pre; z-index:20;
  background:var(--fg); color:var(--bg); font-size:12px; line-height:1.45; padding:8px 10px; border-radius:8px; box-shadow:0 8px 24px -10px rgba(0,0,0,.5); pointer-events:none; }
@media (max-width:600px) { .cap { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
.cap-m:first-child[data-tip]:hover::after, .cap-m:first-child[data-tip]:focus::after { left:0; transform:none; }
.cap-m:last-child[data-tip]:hover::after, .cap-m:last-child[data-tip]:focus::after { left:auto; right:0; transform:none; }
.fc-plan, .fc-plan b { color:#a15c00 !important; }
:root[data-theme="dark"] .fc-plan, :root[data-theme="dark"] .fc-plan b { color:#fbc56b !important; }
.plan-grid { display:grid; grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr); gap:22px; margin-top:8px; align-items:start; }
@media (max-width:900px) { .plan-grid { grid-template-columns:1fr; } }

/* Einstellungen: Admin-Werkzeuge leicht kennzeichnen */
.adm-mark { display:inline-flex; align-items:center; gap:3px; padding:1px 6px; border-radius:999px; font-size:11px; font-weight:600; line-height:1.5;
  color:var(--muted); background:color-mix(in srgb, var(--muted) 12%, transparent); vertical-align:1px; white-space:nowrap; }
.adm-mark svg { flex:none; }
.btn .adm-mark { margin-left:2px; padding:1px 4px; background:color-mix(in srgb, var(--accent) 10%, transparent); color:inherit; opacity:.75; }
.tabs .tabs-sep { display:inline-flex; align-items:center; gap:4px; margin:0 4px 0 auto; padding:0 10px; font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; color:var(--muted); border-left:1px solid var(--line); align-self:center; white-space:nowrap; }
.tabs a.adm svg { opacity:.8; }
.menu .menu-sep { display:flex; align-items:center; gap:5px; margin:6px 8px 2px; padding-top:8px; border-top:1px solid var(--line);
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.menu a.adm b::after { content:""; display:inline-block; width:10px; height:10px; margin-left:6px; vertical-align:-1px; opacity:.55;
  background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center/contain no-repeat; }
