/* ─────────────────────────────────────────────────────────────────────────────
 * Dashboard-Ansicht — ausgelagert aus app-dashboard.js (Finding M6/L10, 2026-08-01).
 *
 * Vorher schrieben VIER Stellen zusammen ~285 Zeilen CSS per JavaScript in
 * <style>-Bloecke. Als Datei wird das CSS gecacht und steht sofort bereit.
 * Die Bloecke enthalten KEINE dynamischen Werte (geprueft: 0 Interpolationen),
 * konnten also unveraendert uebernommen werden.
 *
 * REIHENFOLGE: Die Bloecke stehen hier in derselben Reihenfolge wie zuvor die
 * Injektionen — bei gleicher Spezifitaet gewinnt der letzte, das bleibt so.
 * Das <link> muss NACH styles.css/theme.css/app-shell.css stehen.
 * ───────────────────────────────────────────────────────────────────────────── */

/* ── Block 1 (aus app-dashboard.js) ── */
#view-dashboard {
      color: var(--tx-2);
      scrollbar-width: none;
    }
    #view-dashboard::-webkit-scrollbar { width:0; height:0; }
    /* Im Coop-Modus übernimmt die App-Shell die View-Positionierung */
    body.has-sidebar #view-dashboard { min-height:0 !important; padding:0 !important; }

    /* Dashboard-Layout (symmetrische Abstände, sticky Begrüßung, Hintergrund)
       wird ZENTRAL in theme.css gesteuert → Block "DASHBOARD-LAYOUT-FIXES"
       (shell-v3, höhere Spezifität). Hier nur strukturneutrale Basis. */
    .dash-header { padding: 8px 0 16px; margin: 0; }
    .dash-scrollable { padding: 0; }
    .dash-greeting {
      font-size: 32px;
      font-weight: 700;
      letter-spacing: -0.02em;
      color: var(--tx-1);
      margin: 0 0 4px;
      line-height: 1.1;
      font-family: var(--font);
    }
    .dash-date {
      font-size: 13px;
      color: var(--tx-4);
      font-weight: 500;
      margin: 0;
      font-family: var(--font);
    }
    .dash-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 14px;
      width: 100%;
    }
    .dash-widget {
      position: relative;
      background: var(--glass-standard);
      -webkit-backdrop-filter: blur(32px) saturate(180%);
      backdrop-filter: blur(32px) saturate(180%);
      border: 1px solid var(--bdr-2);
      border-radius: var(--r-l);
      padding: 20px;
      transition: all var(--dur-base) var(--ease-out);
      box-shadow: var(--sh-1);
      overflow: hidden;
    }
    .dash-widget::before {
      content: '';
      position: absolute; inset: 0;
      background: var(--specular);
      pointer-events: none;
      border-radius: inherit;
      opacity: 0.5;
    }
    .dash-widget > * { position: relative; }
    .dash-widget:hover {
      border-color: var(--bdr-1);
      background: var(--glass-elevated);
    }
    .dash-widget.wide { grid-column: span 2; }
    .dash-widget-title {
      font-size: 10px;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--tx-4);
      margin-bottom: 12px;
    }
    .dash-edit-btn {
      font-size: 12px;
      color: var(--tx-3);
      cursor: pointer;
      font-weight: 600;
      transition: all var(--dur-fast) var(--ease-out);
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 8px 14px;
      border-radius: var(--r-l);
      border: 1px solid var(--bdr-2);
      background: var(--glass-subtle);
      font-family: var(--font);
      -webkit-backdrop-filter: blur(16px);
      backdrop-filter: blur(16px);
    }
    .dash-edit-btn:hover {
      color: var(--tx-1);
      background: var(--glass-standard);
      border-color: var(--bdr-1);
    }
    .dash-widget.dragging { opacity: 0.5; border-style: dashed; }
    .dash-widget.drag-over {
      border-color: var(--acc-1);
      border-width: 2px;
      box-shadow: 0 0 24px var(--acc-1-glow);
    }
    .dash-ql {
      padding: 8px 14px;
      background: var(--glass-subtle);
      border: 1px solid var(--bdr-2);
      border-radius: var(--r-m);
      font-size: 12.5px;
      color: var(--tx-3);
      cursor: pointer;
      font-weight: 600;
      transition: all var(--dur-fast) var(--ease-out);
      font-family: var(--font);
    }
    .dash-ql:hover {
      border-color: var(--acc-1-border);
      color: var(--acc-1);
      background: var(--acc-1-soft);
    }
    .dash-edit-overlay {
      position: fixed;
      inset: 0;
      background: var(--backdrop-shade);
      z-index: 9500;
      display: flex;
      align-items: center;
      justify-content: center;
      -webkit-backdrop-filter: blur(8px);
      backdrop-filter: blur(8px);
    }
    .dash-edit-panel {
      position: relative;
      background: var(--glass-strong);
      -webkit-backdrop-filter: blur(48px) saturate(180%);
      backdrop-filter: blur(48px) saturate(180%);
      border: 1px solid var(--bdr-1);
      border-radius: var(--r-2xl);
      padding: 28px;
      max-width: 540px;
      width: 90%;
      max-height: 80vh;
      overflow-y: auto;
      box-shadow: var(--sh-4);
    }
    .dash-edit-panel::before {
      content: '';
      position: absolute; inset: 0;
      background: var(--specular);
      pointer-events: none;
      border-radius: inherit;
      opacity: 0.7;
    }
    .dash-edit-panel > * { position: relative; }
    .dash-edit-panel select {
      background: var(--glass-subtle);
      border: 1px solid var(--bdr-2);
      border-radius: var(--r-s);
      padding: 6px 10px;
      color: var(--tx-2);
      font-size: 12px;
      font-family: var(--font);
    }
    /* Numerische Werte im Dashboard tabular */
    #view-dashboard .num, #view-dashboard [data-num] {
      font-variant-numeric: tabular-nums;
      font-feature-settings: 'tnum';
    }
    @media(max-width: 768px){
      .dash-grid { grid-template-columns: 1fr; }
      .dash-widget.wide { grid-column: span 1; }
      .dash-greeting { font-size: 24px; }
    }

/* ── Block 2 (aus app-dashboard.js) ── */
#wp-overlay{position:fixed;inset:0;background:var(--backdrop-shade);backdrop-filter:blur(4px);z-index:9500;display:flex;align-items:center;justify-content:center;animation:wpFade .18s ease}
      @keyframes wpFade{from{opacity:0}to{opacity:1}}
      #wp-modal{background:var(--bg-elev-2);border:1px solid var(--bdr-2);border-radius:var(--r-l);width:880px;max-width:92vw;height:560px;max-height:85vh;display:flex;overflow:hidden;box-shadow:var(--sh-4);font-family:var(--font)}
      #wp-left{width:280px;flex-shrink:0;border-right:1px solid var(--bdr-2);display:flex;flex-direction:column;background:var(--glass-subtle)}
      #wp-search-wrap{padding:18px 18px 12px;border-bottom:1px solid var(--bdr-2);position:relative;flex-shrink:0}
      #wp-search-wrap svg{position:absolute;left:28px;top:50%;transform:translateY(-6px);pointer-events:none;opacity:.45}
      #wp-search{width:100%;height:32px;padding:0 12px 0 34px;border-radius:var(--r-s);border:1px solid var(--bdr-1);background:var(--glass-subtle);color:var(--tx-2);font-family:inherit;font-size:12px;outline:none;box-sizing:border-box}
      #wp-tool-list{flex:1;overflow-y:auto;padding:6px 0}
      #wp-tool-list::-webkit-scrollbar{width:0}
      .wp-tool-item{display:flex;align-items:center;gap:11px;padding:11px 18px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out);border-left:2px solid transparent;color:var(--tx-2)}
      .wp-tool-item:hover{background:var(--glass-subtle)}
      .wp-tool-item.active{background:var(--acc-1-soft);border-left-color:var(--acc-1)}
      .wp-tool-item .wp-tool-ic{color:var(--tx-4);flex-shrink:0;display:inline-flex}
      .wp-tool-item.active .wp-tool-ic{color:var(--acc-1)}
      .wp-tool-item .wp-tool-lbl{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
      .wp-tool-item .wp-tool-sub{font-size:10.5px;color:var(--tx-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
      #wp-right{flex:1;display:flex;flex-direction:column;min-width:0}
      #wp-right-header{padding:16px 22px;border-bottom:1px solid var(--bdr-2);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
      #wp-right-title{font-size:14px;font-weight:800;color:var(--tx-1);letter-spacing:-.01em}
      #wp-close{background:transparent;border:none;color:var(--tx-3);cursor:pointer;padding:4px;border-radius:var(--r-xs);display:inline-flex}
      #wp-close:hover{color:var(--tx-1);background:var(--glass-subtle)}
      #wp-content{flex:1;overflow-y:auto;padding:24px}
      .wp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--tx-4);font-size:13px;text-align:center;padding:40px;line-height:1.55}
      .wp-empty-ic{font-size:34px;margin-bottom:12px;opacity:.35;font-weight:300}
      .wp-empty-hint{font-size:11px;color:var(--tx-4);margin-top:18px;letter-spacing:.02em;opacity:.7}
      .wp-preview-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
      .wp-preview-ic{width:42px;height:42px;background:var(--acc-1-soft);border:1px solid var(--acc-1-border);border-radius:var(--r-s);display:flex;align-items:center;justify-content:center;color:var(--acc-1);flex-shrink:0}
      .wp-preview-title{font-size:17px;font-weight:800;color:var(--tx-1);letter-spacing:-.015em}
      .wp-preview-desc{font-size:12px;color:var(--tx-3);margin-top:2px;line-height:1.45}
      .wp-phase-note{margin-top:24px;padding:18px 20px;background:var(--glass-subtle);border:1px dashed var(--bdr-1);border-radius:var(--r-m);color:var(--tx-3);font-size:12.5px;line-height:1.6}
      .wp-phase-note strong{color:var(--tx-1);font-weight:700}

/* ── Block 3 (aus app-dashboard.js) ── */
.wp-section-divider{padding:14px 18px 6px;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-4)}
    .wp-card{background:var(--glass-subtle);border:1px solid var(--bdr-2);border-radius:var(--r-s);padding:14px 16px;margin-bottom:10px}
    .wp-card-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
    .wp-card-ic{width:34px;height:34px;background:var(--acc-1-soft);border:1px solid var(--acc-1-border);border-radius:var(--r-s);display:flex;align-items:center;justify-content:center;color:var(--acc-1);flex-shrink:0}
    .wp-card-title{font-size:13px;font-weight:700;color:var(--tx-1);letter-spacing:-.01em}
    .wp-card-desc{font-size:11.5px;color:var(--tx-3);margin-top:1px;line-height:1.4}
    .wp-card-actions{display:flex;gap:6px;flex-wrap:wrap}
    .wp-add-btn{padding:6px 12px;background:var(--acc-1-soft);border:1px solid var(--acc-1-border);color:var(--acc-1);border-radius:var(--r-xs);font-family:inherit;font-size:11.5px;font-weight:700;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}
    .wp-add-btn:hover{background:var(--acc-1-soft-2)}
    .wp-add-btn-on{background:var(--acc-1) !important;color:var(--acc-1-text) !important;border-color:var(--acc-1) !important}
    .wp-add-btn-on:hover{background:var(--acc-1-hover) !important}
    /* Sticky Footer im Picker */
    #wp-right{position:relative}
    #wp-content{padding-bottom:72px !important}
    #wp-footer{position:absolute;left:0;right:0;bottom:0;height:60px;padding:0 22px;border-top:1px solid var(--bdr-2);background:var(--bg-elev-2);display:flex;align-items:center;justify-content:space-between;gap:14px}
    #wp-counter{font-size:12px;color:var(--tx-3);font-weight:600}
    #wp-add-all-btn{padding:9px 18px;background:var(--acc-1);color:var(--acc-1-text);border:none;border-radius:var(--r-s);font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}
    #wp-add-all-btn:hover:not(:disabled){background:var(--acc-1-hover)}
    #wp-add-all-btn:disabled{background:var(--glass-subtle);color:var(--tx-4);cursor:not-allowed}

/* ── Block 4 (aus app-dashboard.js) ── */
.dash-widget{position:relative;display:flex;flex-direction:column}
    .dwl-widget-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-4);margin-bottom:10px;padding-right:48px}
    .dwl-widget-body{flex:1;min-height:0}
    .dwl-open,.dwl-remove{position:absolute;top:12px;background:transparent;border:none;color:var(--tx-4);cursor:pointer;padding:5px;border-radius:var(--r-xs);display:inline-flex;align-items:center;justify-content:center;transition:all var(--dur-fast) var(--ease-out);opacity:.55}
    .dwl-open{right:36px}
    .dwl-remove{right:10px}
    .dash-widget:hover .dwl-open,.dash-widget:hover .dwl-remove{opacity:1}
    .dwl-open:hover{background:var(--acc-1-soft);color:var(--acc-1)}
    .dwl-remove:hover{background:var(--st-error-soft);color:var(--st-error)}
    .dwl-empty{color:var(--tx-4);font-size:12px;padding:14px 0;line-height:1.5}
    .dwl-stat{display:flex;align-items:baseline;gap:8px}
    .dwl-stat-n{font-size:28px;font-weight:800;color:var(--tx-1);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
    .dwl-stat-lbl{font-size:12.5px;color:var(--tx-4);font-weight:500}
    .dwl-row{padding:7px 8px;margin:0 -4px;border-radius:var(--r-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}
    .dwl-row:hover{background:var(--glass-subtle)}
    .dwl-row-title{font-size:12.5px;font-weight:600;color:var(--tx-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .dwl-row-sub{font-size:10.5px;color:var(--tx-4);margin-top:1px}
    .dwl-input{width:100%;height:32px;padding:0 12px;border-radius:var(--r-s);border:1px solid var(--bdr-2);background:var(--glass-subtle);color:var(--tx-1);font-family:inherit;font-size:12.5px;outline:none;box-sizing:border-box}
    .dwl-input:focus{border-color:var(--acc-1)}
    .dwl-tinput{width:54px;height:30px;padding:0 8px;border-radius:var(--r-xs);border:1px solid var(--bdr-2);background:var(--glass-subtle);color:var(--tx-1);font-family:inherit;font-size:12px;outline:none;text-align:center;font-variant-numeric:tabular-nums}
    .dwl-tbtn{padding:6px 14px;background:var(--glass-subtle);border:1px solid var(--bdr-2);color:var(--tx-2);border-radius:var(--r-xs);font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer}
    .dwl-tbtn:hover{background:var(--glass-standard)}
    .dwl-tbtn-go{background:var(--acc-1);color:var(--acc-1-text);border-color:var(--acc-1)}
    .dwl-tbtn-go:hover{background:var(--acc-1-hover)}
    .dwl-action-big{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 8px;color:var(--tx-3);cursor:pointer;border-radius:var(--r-s);transition:all var(--dur-base) var(--ease-out)}
    .dwl-action-big:hover{color:var(--acc-1);background:var(--acc-1-soft)}
    .dwl-news-src{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--tx-4);margin-bottom:8px}
    .dwl-news-row{display:block;padding:8px 8px;margin:0 -4px;border-radius:var(--r-xs);text-decoration:none;color:inherit;border-top:1px solid var(--bdr-2);transition:background var(--dur-fast) var(--ease-out)}
    .dwl-news-row:first-of-type{border-top:none}
    .dwl-news-row:hover{background:var(--glass-subtle);text-decoration:none}
    .dwl-news-title{font-size:12.5px;font-weight:600;color:var(--tx-2);line-height:1.35}
    .dwl-news-sub{font-size:10.5px;color:var(--tx-4);margin-top:3px}
    /* ─── Uhr-Widget (Apple-Style, kombiniert) ─── */
    .dwl-ck{display:flex;flex-direction:column;height:100%}
    .dwl-ck-tabs{display:flex;gap:3px;padding:3px;background:var(--glass-subtle);border-radius:var(--r-s);margin-bottom:14px}
    .dwl-ck-tab{flex:1;padding:6px 8px;background:transparent;border:none;color:var(--tx-4);font-family:inherit;font-size:11.5px;font-weight:700;cursor:pointer;border-radius:var(--r-xs);transition:all var(--dur-base) var(--ease-out)}
    .dwl-ck-tab:hover{color:var(--tx-2)}
    .dwl-ck-tab.active{background:var(--glass-standard);color:var(--tx-1);box-shadow:var(--sh-1)}
    .dwl-ck-clock{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px 0}
    .dwl-ck-time{font-size:38px;font-weight:300;letter-spacing:-1.5px;color:var(--tx-1);font-variant-numeric:tabular-nums;line-height:1.05;font-feature-settings:"tnum"}
    .dwl-ck-sec{font-size:22px;color:var(--tx-4);font-weight:300}
    .dwl-ck-date{font-size:12px;color:var(--tx-4);margin-top:6px;font-weight:500}
    .dwl-ck-inputs{display:flex;justify-content:center;gap:10px;margin-top:14px}
    .dwl-ck-ig{display:flex;flex-direction:column;align-items:center;gap:2px}
    .dwl-ck-input{width:52px;height:32px;padding:0 6px;border-radius:var(--r-s);border:1px solid var(--bdr-2);background:var(--glass-subtle);color:var(--tx-1);font-family:inherit;font-size:14px;font-weight:700;outline:none;text-align:center;font-variant-numeric:tabular-nums}
    .dwl-ck-input:focus{border-color:var(--acc-1)}
    .dwl-ck-iglabel{font-size:9.5px;color:var(--tx-4);font-weight:600;letter-spacing:.05em;text-transform:uppercase}
    .dwl-ck-actions{display:flex;justify-content:center;gap:6px;margin-top:14px}
    .dwl-ck-btn{padding:8px 18px;background:var(--glass-subtle);border:1px solid var(--bdr-2);color:var(--tx-2);border-radius:var(--r-s);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:all var(--dur-fast) var(--ease-out);min-width:72px}
    .dwl-ck-btn:hover{background:var(--glass-standard)}
    .dwl-ck-btn-primary{background:var(--acc-1);color:var(--acc-1-text);border-color:var(--acc-1)}
    .dwl-ck-btn-primary:hover{background:var(--acc-1-hover)}
    /* ─── Picker: Active-Liste + Badge ─── */
    .wp-tool-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--acc-1-soft-2);color:var(--acc-1);border-radius:var(--r-s);font-size:10.5px;font-weight:800;flex-shrink:0}
    .wp-active-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--glass-subtle);border:1px solid var(--bdr-2);border-radius:var(--r-s);margin-bottom:8px}
    .wp-active-ic{width:32px;height:32px;background:var(--acc-1-soft);border:1px solid var(--acc-1-border);border-radius:var(--r-xs);display:flex;align-items:center;justify-content:center;color:var(--acc-1);flex-shrink:0}
    .wp-active-title{font-size:12.5px;font-weight:700;color:var(--tx-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .wp-active-sub{font-size:10.5px;color:var(--tx-3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .wp-active-del{background:transparent;border:none;color:var(--tx-4);cursor:pointer;padding:8px;border-radius:var(--r-xs);display:inline-flex;flex-shrink:0;transition:all var(--dur-fast) var(--ease-out)}
    .wp-active-del:hover{background:var(--st-error-soft);color:var(--st-error)}
