.rapid-choices{display:flex;flex-wrap:wrap;gap:var(--rapid-space-3);min-width:0}
.rapid-choice{display:flex;align-items:flex-start;gap:var(--rapid-space-3);flex:1 1 220px;min-width:0;padding:var(--rapid-space-4);border:1px solid var(--rapid-line);border-radius:var(--rapid-radius-control);background:var(--rapid-paper);cursor:pointer;color:var(--rapid-ink)}
.rapid-choice.is-selected{border-color:var(--rapid-green-text);background:var(--rapid-green-wash)}
.rapid-choice.is-disabled{opacity:.65;cursor:default}
.rapid-choice input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--rapid-green-text)}
.rapid-choice>span{display:flex;flex-direction:column;gap:var(--rapid-space-1);min-width:0}
.rapid-choice strong{font:600 var(--rapid-text-sm)/1.5 var(--rapid-font-body)}
.rapid-choice small{color:var(--rapid-muted);font:400 var(--rapid-text-sm)/1.5 var(--rapid-font-body)}
.rapid-choice:has(input:focus-visible){outline:2px solid var(--rapid-focus);outline-offset:2px}
.rapid-menu{position:relative;display:inline-block}
.rapid-menu__trigger{position:relative}
.rapid-menu__backdrop{position:fixed;inset:0;z-index:40}
.rapid-menu__panel{--rapid-menu-left:0px;--rapid-menu-top:0px;position:fixed;inset:auto;margin:0;left:var(--rapid-menu-left,0);top:var(--rapid-menu-top,0);z-index:calc(var(--rapid-z-menu) + 1);display:flex;flex-direction:column;gap:var(--rapid-space-1);padding:var(--rapid-space-2);width:max-content;max-width:min(360px,90vw);min-width:200px;border:1px solid var(--rapid-line);border-radius:var(--rapid-radius-control);background:var(--rapid-paper);box-shadow:var(--rapid-shadow-raised)}
.rapid-menu__panel>.rapid-button{justify-content:flex-start;text-align:left;white-space:normal}




/* RapidToggle owns one track, thumb, label and state treatment in every surface. */
.rapid-toggle-field { display:flex; flex-direction:column; gap:var(--rapid-space-2); min-width:0; }
.rapid-toggle { display:flex; position:relative; align-items:center; gap:var(--rapid-space-2); min-height:44px; width:fit-content; max-width:100%; text-align:left; cursor:pointer; }
.rapid-toggle input { position:absolute; opacity:0; width:1px; height:1px; min-height:0; padding:0; border:0; }
.rapid-toggle__track { display:inline-flex; align-items:center; flex:none; width:44px; height:26px; padding:1px; border:1px solid var(--rapid-control-line); border-radius:20px; background:var(--rapid-canvas-sunk); }
.rapid-toggle__thumb { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--rapid-paper); color:var(--rapid-ink); box-shadow:var(--rapid-shadow-card); transition:transform var(--rapid-motion-fast) ease; }
.rapid-toggle input:checked + .rapid-toggle__track { background:var(--rapid-green-text); border-color:var(--rapid-green-text); }
.rapid-toggle input:checked + .rapid-toggle__track .rapid-toggle__thumb { transform:translateX(18px); color:var(--rapid-success); }
.rapid-toggle input:focus-visible + .rapid-toggle__track { outline:2px solid var(--rapid-focus); outline-offset:3px; box-shadow:0 0 0 5px var(--rapid-focus-halo); }
.rapid-toggle:has(input:disabled) { cursor:default; opacity:.65; }
.rapid-toggle__copy { display:flex; flex-direction:column; gap:var(--rapid-space-1); min-width:0; font-size:var(--rapid-text-sm); font-weight:600; }
.rapid-toggle__copy > small { color:var(--rapid-muted); font-size:var(--rapid-text-sm); line-height:1.5; font-weight:400; }
.rapid-toggle__meta { padding-left:calc(44px + var(--rapid-space-2)); }
.rapid-toggle__thumb > .rapid-spinner { width:14px; height:14px; }

/* RapidSegmentedControl: a pill track whose filled thumb slides to the selected view. */
.rapid-segmented { --rapid-segmented-count:1; --rapid-segmented-index:0; position:relative; isolation:isolate; display:inline-grid; grid-auto-columns:minmax(0, 1fr); grid-auto-flow:column; max-width:100%; min-width:0; padding:3px; border:1px solid var(--rapid-line-strong); border-radius:999px; background:var(--rapid-canvas-sunk); box-shadow:inset 0 1px 2px color-mix(in srgb, var(--rapid-navy) 8%, transparent); vertical-align:middle; }
.rapid-segmented::before { content:""; position:absolute; z-index:0; inset-block:3px; left:3px; width:calc((100% - 6px) / var(--rapid-segmented-count)); border-radius:999px; background:var(--rapid-control-on); box-shadow:var(--rapid-shadow-card); transform:translateX(calc(100% * var(--rapid-segmented-index))); transition:transform var(--rapid-motion-base) var(--rapid-ease); }
.rapid-segmented--empty::before { display:none; }
.rapid-segmented__option { position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; gap:var(--rapid-space-2); min-width:0; min-height:34px; padding:0 var(--rapid-space-4); border:0; border-radius:999px; background:transparent; color:var(--rapid-muted); font:700 var(--rapid-text-sm)/1.2 var(--rapid-font-body); white-space:nowrap; cursor:pointer; transition:color var(--rapid-motion-fast) var(--rapid-ease); }
.rapid-segmented__option > span:not(.rapid-segmented__count) { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.rapid-segmented__option .rapid-icon { flex:none; width:15px; height:15px; stroke-width:2.3; }
.rapid-segmented__option.is-selected { color:var(--rapid-control-on-ink); cursor:default; }
.rapid-segmented--empty .rapid-segmented__option.is-selected { color:var(--rapid-ink); }
.rapid-segmented__option:focus-visible { outline:2px solid var(--rapid-focus); outline-offset:2px; box-shadow:0 0 0 4px var(--rapid-focus-halo); }
.rapid-segmented__count { flex:none; min-width:20px; padding:1px 6px; border-radius:999px; background:var(--rapid-paper); color:var(--rapid-ink); font-size:var(--rapid-text-3xs); font-weight:800; line-height:1.4; text-align:center; }
.rapid-segmented__option.is-selected .rapid-segmented__count { background:color-mix(in srgb, var(--rapid-control-on-ink) 18%, transparent); color:inherit; }
@media (hover:hover) and (pointer:fine) { .rapid-segmented__option:not(.is-selected):hover { color:var(--rapid-ink); } }
@media (pointer:coarse) { .rapid-segmented__option { min-height:44px; } }
@media (max-width:420px) { .rapid-segmented { display:grid; width:100%; } }
@media (prefers-reduced-motion:reduce) { .rapid-segmented::before { transition:none; } }
