/* 承認済みのサービス切り替え。各画面のテーマを継承する。 */
.ss-brand { display:inline-flex; align-items:center; gap:8px; flex-shrink:0; min-width:0; }
.ss-trigger { display:inline-flex; align-items:center; justify-content:center; flex:none; width:36px; height:40px; min-height:40px; padding:0; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--mute,var(--muted-foreground,var(--muted,#999))); cursor:pointer; }
.ss-trigger:hover,.ss-trigger[aria-expanded="true"] { color:var(--fg,var(--foreground,var(--text,#f5f5f5))); background:var(--surface,var(--panel,var(--card,#141414))); border-color:var(--line,var(--border,#2c2c2c)); }
.ss-brand .ss-trigger svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; }
.ss-panel { box-sizing:border-box; position:fixed; inset:auto; margin:0; width:340px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; padding:8px; border:1px solid var(--line,var(--border,#2c2c2c)); border-radius:var(--radius,8px); background:var(--surface,var(--panel,var(--popover,#141414))); color:var(--fg,var(--foreground,var(--text,#f5f5f5))); box-shadow:0 16px 48px #0004; font:inherit; z-index:200; }
.ss-panel::backdrop { background:transparent; }
.ss-panel .ss-title { margin:0; padding:10px 12px 12px; font-size:14px; font-weight:600; line-height:1.4; letter-spacing:0; text-transform:none; color:inherit; }
.ss-panel .ss-link { box-sizing:border-box; display:flex; align-items:center; gap:12px; min-height:50px; padding:10px 12px; border-radius:6px; color:inherit; font:inherit; font-size:14px; line-height:1.4; text-decoration:none; white-space:nowrap; border:0; }
.ss-link:hover { background:var(--fill,var(--panel-2,var(--secondary,#1e1e1e))); }
.ss-panel .ss-link[aria-current="page"] { background:var(--accent-soft,var(--brand-soft,#141c2a)); color:var(--brand-accent,var(--accent,#6798ff)); }
.ss-link small { margin-left:auto; font:inherit; font-size:12px; color:inherit; }
.ss-link .ss-arrow { margin-left:auto; color:var(--mute,var(--muted-foreground,var(--muted,#999))); }
.ss-trigger:focus-visible,.ss-link:focus-visible { outline:2px solid var(--brand-accent,var(--accent,#6798ff)); outline-offset:2px; }
@media(max-width:600px) { .ss-brand { gap:4px; } .ss-trigger { width:32px; } }

.ss-trigger[hidden] { display:none; }
