/* Shares the dashboard light/dark token palette. */
.home-assistant { position:fixed; right:24px; bottom:24px; z-index:800; font:inherit; color:var(--text-pri); }
.home-assistant[hidden] { display:none; }
.home-assistant .ha-launcher { background:var(--surface); border:1px solid var(--border); border-left:3px solid var(--accent); box-shadow:var(--shadow); color:var(--text-pri); }
.ha-panel { position:absolute; right:0; bottom:56px; width:400px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 110px); display:flex; flex-direction:column; padding:20px; gap:12px; border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:0 12px 48px #0002; }
.ha-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.ha-heading h2 { font-size:20px; margin:3px 0 0; }
.ha-close { border:0; background:transparent; color:var(--text-sec); cursor:pointer; font-size:26px; line-height:1; padding:4px 8px; }
.ha-scope,.ha-empty,.ha-panel footer span { color:var(--text-sec); font-size:12px; line-height:1.5; }
.ha-label { display:block; font-size:12px; font-weight:600; }
.ha-panel select,.ha-panel textarea { display:block; width:100%; font:inherit; color:var(--text-pri); background:var(--bg); border:1px solid var(--border); border-radius:7px; margin-top:5px; }
.ha-panel textarea { resize:vertical; min-height:76px; max-height:160px; }
.ha-panel :focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.ha-messages { overflow-y:auto; min-height:64px; max-height:280px; padding-right:4px; overscroll-behavior:contain; }
.ha-message { padding:10px 12px; background:var(--card-hover); border-radius:9px; margin:0 0 10px; overflow-wrap:anywhere; }
.ha-message strong { color:var(--text-sec); font-size:11px; }
.ha-message p { white-space:pre-wrap; font-size:13px; line-height:1.65; margin-top:3px; }
.ha-user { border-left:2px solid var(--accent); background:var(--accent-dim); }
.ha-error { color:var(--red); font-size:12px; overflow-wrap:anywhere; }
.ha-error:empty { display:none; }
.ha-panel footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; }
.ha-panel button:disabled { opacity:.6; cursor:wait; }
@media(max-width:540px) { .home-assistant { right:16px; bottom:16px; } .ha-panel { padding:16px; } .ha-messages { max-height:32dvh; } }
