/* Counsellor shell — small additions on top of DaisyUI/Tailwind (dark theme) */
.cs-wait { position: fixed; inset: 0; background: rgba(8, 10, 18, 0.72); backdrop-filter: blur(3px); display: flex; align-items: center; justify-content: center; z-index: 60; }
.cs-wait-card { display: flex; flex-direction: column; align-items: center; padding: 1.75rem 2.25rem; border-radius: 1rem; background: rgba(30, 34, 50, 0.95); box-shadow: 0 10px 40px rgba(0,0,0,.5); }
.cs-logo { display: inline-block; }
.cs-panel-host { height: calc(100vh - 7.5rem); min-height: 480px; }
.cs-panel-host counsellor-panel { display: block; height: 100%; width: 100%; }
.cs-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.cs-status-dot { width: .6rem; height: .6rem; border-radius: 9999px; display: inline-block; margin-right: .35rem; }
.cs-status-idle { background: #6b7280; } .cs-status-thinking { background: #a78bfa; } .cs-status-working { background: #34d399; }
.cs-status-waiting { background: #fbbf24; } .cs-status-blocked { background: #f87171; } .cs-status-done { background: #60a5fa; }
.cs-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; }
.cs-fade-in { animation: csFade .35s ease-out both; }
@keyframes csFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.cs-password { position: relative; display: block; }
.cs-password > input { width: 100%; padding-right: 2.9rem; }
.cs-affix { position: absolute; right: .3rem; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center;
  width: 2.1rem; height: 2.1rem; border: 0; border-radius: .5rem; background: transparent; color: inherit; opacity: .55; cursor: pointer; }
.cs-affix:hover, .cs-affix:focus-visible { opacity: 1; background: rgba(255, 255, 255, .08); }
.cs-spin { animation: csSpin .9s linear infinite; transform-origin: 50% 50%; }
@keyframes csSpin { to { transform: rotate(360deg); } }
