/* ===== Fenster (Content-Level 1) ===== */
.cc-win{position:absolute;width:820px;height:560px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);
  background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 10px 40px rgba(15,23,42,.18);
  display:flex;flex-direction:column;overflow:hidden}
.cc-win.active{box-shadow:0 16px 56px rgba(15,23,42,.28)}
/* maximiert: Nav-Widget links frei lassen, damit Ampel-Controls klickbar bleiben */
.cc-win.cc-win-max{left:246px!important;top:12px!important;width:calc(100vw - 258px);height:calc(100vh - 24px)}
.cc-win.cc-win-min{display:none}

.cc-win-bar{display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;background:#f6f7f9;
  border-bottom:1px solid #e5e7eb;cursor:default;flex:0 0 auto;user-select:none}
.cc-win-lights{display:flex;gap:8px;flex:0 0 auto}
.cc-lg{width:13px;height:13px;border-radius:50%;border:0;cursor:pointer;padding:0;position:relative}
.cc-lg-close{background:#ff5f57}.cc-lg-min{background:#febc2e}.cc-lg-max{background:#28c840}
.cc-lg:hover{filter:brightness(.9)}
.cc-win-title{flex:1;text-align:center;font-size:13px;font-weight:600;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-win-tools{display:flex;gap:4px;flex:0 0 auto}
.cc-win-tool{width:26px;height:26px;border:0;background:none;border-radius:2px;color:#6b7280;cursor:pointer;font-size:15px;line-height:1}
.cc-win-tool:hover{background:#e5e7eb;color:#111827}

/* Kein Top-Padding: sonst lugen beim Scrollen Zeilen im Padding ÜBER dem sticky Tabellen-Kopf durch.
   Der 18px-Abstand oben kommt aus einem mitscrollenden ::before-Spacer → Header klebt bündig (top:0). */
.cc-win-body{flex:1;overflow:auto;background:#fff;padding:0 18px 18px}
.cc-win-body::before{content:'';display:block;height:18px}
.cc-win-loading{display:flex;align-items:center;justify-content:center;height:100%}
.cc-win-empty{padding:40px;text-align:center;color:#9ca3af;font-size:14px}

/* Resize-Handle unten rechts */
.cc-win-resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;z-index:2}
.cc-win-resize::after{content:"";position:absolute;right:3px;bottom:3px;width:7px;height:7px;border-right:2px solid #c1c7cf;border-bottom:2px solid #c1c7cf}
.cc-win.cc-win-max .cc-win-resize{display:none}

/* Spinner (bis Modul `spinner` eigene Variante liefert) */
.cc-spin{width:26px;height:26px;border:3px solid #e5e7eb;border-top-color:var(--o,var(--o));border-radius:50%;animation:cc-spin .7s linear infinite;display:inline-block}
@keyframes cc-spin{to{transform:rotate(360deg)}}

/* ---- Dock / Taskleiste (offene + minimierte Fenster) ---- */
.cc-dock{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:590;
  display:none;align-items:center;gap:6px;max-width:calc(100vw - 280px);overflow-x:auto;
  padding:6px 8px;background:rgba(255,255,255,.86);backdrop-filter:blur(8px);
  border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px rgba(15,23,42,.18)}
.cc-dock-item{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  border:1px solid var(--border);background:var(--surface);color:var(--text);
  padding:5px 12px;border-radius:var(--radius);font-size:12px;cursor:pointer}
.cc-dock-item:hover{background:#f3f4f6}
.cc-dock-item.active{border-color:var(--o);color:var(--o);font-weight:600}
.cc-dock-item.min{opacity:.6;font-style:italic}

/* ---- Snap-Hinweis beim Ziehen an den Rand ---- */
.cc-snap-hint{position:fixed;z-index:280;pointer-events:none;background:rgba(235,82,18,.16);
  border:2px solid var(--o);border-radius:6px;transition:all .12s ease}
.cc-snap-hint.cc-snap-left{left:246px;top:12px;width:calc((100vw - 258px)/2 - 3px);height:calc(100vh - 24px)}
.cc-snap-hint.cc-snap-right{left:calc(246px + (100vw - 258px)/2 + 3px);top:12px;width:calc((100vw - 258px)/2 - 3px);height:calc(100vh - 24px)}
.cc-snap-hint.cc-snap-max{left:246px;top:12px;width:calc(100vw - 258px);height:calc(100vh - 24px)}

/* ---- Verbesserter Fehler-/Leer-Zustand im Fenster ---- */
.cc-win-empty-ico{font-size:28px;color:var(--warn);margin-bottom:8px}
.cc-win-empty-sub{font-size:12px;color:var(--muted);margin-top:4px}
.cc-win-empty-retry{margin-top:14px;border:1px solid var(--border);background:var(--surface);
  color:var(--text);padding:6px 16px;border-radius:var(--radius);font-size:13px;cursor:pointer}
.cc-win-empty-retry:hover{background:var(--o);border-color:var(--o);color:#fff}

/* Kind randlos über die volle Fensterbreite (bricht aus dem 18px-Body-Padding aus). */
.cc-win-flush{margin-left:-18px;margin-right:-18px}
