/* Horizon Voice: themed chrome around calm, readable conversation surfaces. */
body.fm-horizon-theme #win-voice {
 --voice-paper:#f7f3ed; --voice-field:#fffdf8; --voice-alt:#eae2d8;
 --voice-ink:#302d2a; --voice-muted:#625951; --voice-line:#d2c8bd;
 --voice-positive:#226444; --voice-danger:#943949;
}
body.fm-horizon-theme #win-voice .window-body.voice-body {
 grid-template-rows:minmax(0,1fr) auto!important; gap:12px!important; padding:14px!important;
 background:var(--horizon-surface)!important; color:var(--voice-ink)!important;
}
body.fm-horizon-theme #win-voice .voice-hub-layout {
 grid-template-columns:minmax(190px,30%) minmax(0,1fr)!important;
 grid-template-areas:"channels stage"!important; height:auto!important; gap:12px!important;
}
body.fm-horizon-theme #win-voice :is(.voice-side-panel,.voice-main-panel) {
 background:var(--voice-paper)!important; color:var(--voice-ink)!important;
 border:1px solid var(--voice-line)!important; border-radius:16px!important;
 box-shadow:0 5px 18px #00000012!important; color-scheme:light;
}
body.fm-horizon-theme #win-voice .voice-side-panel {padding:10px!important;overflow:auto!important;max-height:none!important;}
body.fm-horizon-theme #win-voice .voice-side-label {
 height:auto!important;min-height:32px;padding:6px 9px;margin-bottom:8px;border-radius:9px;
 background:var(--fm-blue-action)!important;color:var(--fm-menu-on-action)!important;letter-spacing:.07em!important;
}
body.fm-horizon-theme #win-voice .voice-channels {padding:0!important;}
body.fm-horizon-theme #win-voice .voice-channel-card {
 padding:7px!important;background:var(--voice-field)!important;border:1px solid transparent!important;
 border-radius:12px!important;margin-bottom:9px!important;cursor:pointer;
}
body.fm-horizon-theme #win-voice .voice-channel-card:is(.active,.selected) {
 background:var(--voice-alt)!important;border-color:var(--horizon-mid)!important;
 box-shadow:inset 3px 0 var(--horizon-mid);
}
body.fm-horizon-theme #win-voice .voice-channel-head {
 display:flex!important;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:5px 3px;
 border:0;background:transparent!important;color:var(--voice-ink)!important;text-align:left;cursor:pointer;
}
body.fm-horizon-theme #win-voice :is(.voice-channel-name,.voice-member-name,.voice-stage-name,.voice-stage-head b,.voice-stage-empty b) {color:var(--voice-ink)!important;}
body.fm-horizon-theme #win-voice .voice-channel-name {overflow-wrap:anywhere;}
body.fm-horizon-theme #win-voice .voice-channel-pill {
 min-width:24px;height:24px;flex-shrink:0;background:var(--voice-paper)!important;color:var(--voice-muted)!important;border:0!important;
}
body.fm-horizon-theme #win-voice .voice-member {
 background:var(--voice-field)!important;border:1px solid transparent!important;gap:7px!important;flex-wrap:wrap;
}
body.fm-horizon-theme #win-voice :is(.voice-member-meta,.voice-self-tag,.voice-stage-head span,.voice-stage-empty span,.voice-stage-status) {
 color:var(--voice-muted)!important;opacity:1!important;
}
body.fm-horizon-theme #win-voice .voice-member-volume {width:100%;height:12px;accent-color:var(--horizon-mid);}
body.fm-horizon-theme #win-voice .voice-member-avatar {border:2px solid var(--voice-line)!important;}
body.fm-horizon-theme #win-voice :is(.voice-member-avatar,.voice-stage-avatar) {
 background:linear-gradient(140deg,var(--horizon-dark),var(--horizon-mid))!important;color:#fff!important;box-shadow:none!important;animation:none!important;
}
body.fm-horizon-theme #win-voice .voice-member-avatar .voice-member-dot {background:var(--voice-positive)!important;border-color:var(--voice-field)!important;}
body.fm-horizon-theme #win-voice .voice-member.muted .voice-member-dot {background:var(--voice-muted)!important;}
body.fm-horizon-theme #win-voice .voice-stage {
 min-height:0!important;height:auto!important;padding:18px!important;overflow:auto;
 background:var(--voice-paper)!important;border:0!important;color:var(--voice-ink)!important;
}
body.fm-horizon-theme #win-voice .voice-stage-empty {background:transparent!important;min-height:150px;height:100%;padding:18px;text-align:center;flex-direction:column;}
body.fm-horizon-theme #win-voice .voice-stage-empty :is(svg,i) {color:var(--horizon-mid)!important;opacity:1!important;}
body.fm-horizon-theme #win-voice .voice-stage-head {align-items:flex-start!important;}
body.fm-horizon-theme #win-voice .voice-stage-head b {overflow-wrap:anywhere;}
body.fm-horizon-theme #win-voice .voice-stage-badge {
 background:var(--fm-blue-action)!important;color:var(--fm-menu-on-action)!important;border:0!important;white-space:nowrap;
}
body.fm-horizon-theme #win-voice .voice-stage-grid {grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))!important;gap:12px!important;}
body.fm-horizon-theme #win-voice .voice-stage-tile {
 min-height:145px!important;gap:8px!important;padding:14px 8px;background:var(--voice-field)!important;
 border:1px solid var(--voice-line)!important;box-shadow:0 3px 10px #302d2a08;border-radius:14px!important;
}
body.fm-horizon-theme #win-voice .voice-stage-avatar {width:58px!important;height:58px!important;border:2px solid var(--voice-line)!important;}
body.fm-horizon-theme #win-voice .voice-stage-name {white-space:normal!important;overflow-wrap:anywhere;justify-content:center;}
body.fm-horizon-theme #win-voice .voice-stage-status {font-size:11px;}
body.fm-horizon-theme #win-voice .voice-status-speaking {display:none;}
body.fm-horizon-theme #win-voice :is(.voice-stage-tile,.voice-member).talking:not(.muted) {border-color:var(--voice-positive)!important;box-shadow:inset 0 0 0 1px var(--voice-positive)!important;}
body.fm-horizon-theme #win-voice :is(.voice-stage-tile,.voice-member).talking:not(.muted) :is(.voice-stage-avatar,.voice-member-avatar) {border-color:var(--voice-positive)!important;animation:none!important;box-shadow:0 0 0 3px #22644424!important;}
body.fm-horizon-theme #win-voice .talking:not(.muted) .voice-status-speaking {display:inline;color:var(--voice-positive)!important;}
body.fm-horizon-theme #win-voice .talking:not(.muted) .voice-status-idle {display:none;}
body.fm-horizon-theme #win-voice .muted :is(.voice-stage-status,.voice-member-icon) {color:var(--voice-danger)!important;}
body.fm-horizon-theme #win-voice .voice-future-actions {background:var(--voice-alt)!important;border-top:1px solid var(--voice-line);min-height:44px!important;}
body.fm-horizon-theme #win-voice .voice-callbar {
 height:auto!important;min-height:56px!important;padding:10px 12px!important;flex-wrap:wrap;
 background:linear-gradient(110deg,var(--horizon-dark),var(--horizon-mid))!important;border:0!important;box-shadow:none!important;
}
body.fm-horizon-theme #win-voice .voice-callbar-status {color:#fff!important;font-weight:600;}
body.fm-horizon-theme #win-voice .voice-callbar-dot {background:#c8c3bc!important;box-shadow:none!important;}
body.fm-horizon-theme #win-voice .voice-callbar.connected .voice-callbar-dot {background:#8aefb7!important;}
body.fm-horizon-theme #win-voice :is(.voice-ctrl,.voice-settings-cog,.voice-future-btn) {
 color:var(--voice-ink)!important;background:var(--voice-field)!important;border:1px solid var(--voice-line)!important;
 border-radius:10px;opacity:1!important;min-height:34px;
}
body.fm-horizon-theme #win-voice .voice-join-action:not(:disabled) {background:var(--fm-blue-action)!important;color:var(--fm-menu-on-action)!important;border-color:transparent!important;}
body.fm-horizon-theme #win-voice .voice-leave:not(:disabled) {color:var(--voice-danger)!important;}
body.fm-horizon-theme #win-voice button:disabled {color:var(--voice-muted)!important;background:var(--voice-alt)!important;cursor:not-allowed;}
body.fm-horizon-theme #win-voice :is(button,input):focus-visible {outline:3px solid var(--horizon-mid)!important;outline-offset:3px;}
body.fm-horizon-theme .voice-peer-menu {background:#f7f3ed!important;color:#302d2a!important;border:1px solid #d2c8bd!important;border-radius:14px;box-shadow:0 14px 36px #0003;}
body.fm-horizon-theme .voice-peer-menu :is(.voice-peer-menu-name,.voice-peer-menu-item,.voice-peer-menu-vol-label,.voice-peer-menu-vol-pct) {color:#302d2a!important;}
body.fm-horizon-theme .voice-peer-menu .voice-peer-menu-item:hover {background:#eae2d8!important;}
body.fm-horizon-theme .voice-peer-menu input {accent-color:var(--horizon-mid);}
@media(max-width:680px){
 body.fm-horizon-theme #win-voice .voice-hub-layout {grid-template-columns:1fr!important;grid-template-rows:minmax(100px,35%) minmax(0,1fr)!important;grid-template-areas:"channels" "stage"!important;}
 body.fm-horizon-theme #win-voice .voice-callbar {gap:8px!important;}
}
