/* P09/P22: real shared control geometry; preserve business layouts and labels. */
.tc-app { --tc-button-primary-radius:18px; --tc-button-secondary-radius:18px; --tc-button-icon-radius:999px; }
.tc-app [data-ui="Button"]:is([data-variant="primary"],[data-variant="secondary"],[data-variant="quiet"],[data-variant="icon"]) {
  box-sizing:border-box; min-height:44px; padding:10px 18px; display:inline-flex;
  align-items:center; justify-content:center; gap:8px; border:1px solid transparent;
  border-radius:18px; font-family:inherit; font-size:15px; line-height:22px;
  font-weight:500; letter-spacing:0; cursor:pointer; box-shadow:none;
  transition:background-color 160ms ease-out, color 160ms ease-out, transform 100ms ease-out;
}
.tc-app [data-ui="Button"][data-variant="primary"] { background:var(--tc-accent); color:var(--tc-on-accent); }
.tc-app [data-ui="Button"][data-variant="secondary"] { background:var(--tc-fill); color:var(--tc-text); border-color:transparent; }
.tc-app [data-ui="Button"][data-variant="quiet"] { background:transparent; color:var(--tc-text); border-radius:999px; padding-inline:12px; font-size:14px; }
.tc-app [data-ui="Button"][data-variant="icon"],.tc-app [data-ui="Button"][data-icon-only="true"][data-variant] { width:44px; min-width:44px; padding:10px; border-radius:999px; }
.tc-app [data-ui="Button"][data-variant="icon"] { background:transparent; color:var(--tc-text); }
.tc-app [data-ui="Button"][data-variant]:disabled { cursor:default; color:var(--tc-disabled-text); background:var(--tc-disabled-bg); border-color:transparent; transform:none; }
.tc-app [data-ui="Button"][data-variant="quiet"]:disabled,.tc-app [data-ui="Button"][data-variant="icon"]:disabled { background:transparent; }
@media(hover:hover) {
 .tc-app [data-ui="Button"][data-variant="primary"]:not(:disabled):hover { filter:brightness(.92); }
 .tc-app [data-ui="Button"]:is([data-variant="secondary"],[data-variant="quiet"],[data-variant="icon"]):not(:disabled):hover { background:var(--tc-press); }
}
.tc-app [data-ui="Button"][data-variant]:not(:disabled):active { transform:scale(.98); opacity:1; }
.tc-app [data-ui="Button"][data-variant]:focus-visible { outline:2px solid var(--tc-focus); outline-offset:3px; }
/* Rail and active surface are concentric capsules with a constant 3px inset. */
.tc-app .tc-ui-segmented:is([data-variant="morph"],[data-variant="glide"]) {
 position:relative; isolation:isolate; display:flex; gap:2px; padding:3px;
 border:0; border-radius:999px; background:var(--tc-fill); box-sizing:border-box;
}
.tc-app .tc-ui-segmented:is([data-variant="morph"],[data-variant="glide"]) > [data-ui="Button"] {
 position:relative; z-index:1; flex:1 1 0; min-width:0; min-height:44px;
 padding:8px 12px; border:0; border-radius:999px; background:transparent;
 box-shadow:none; color:var(--tc-text-2); font:inherit; font-size:14px; line-height:20px; font-weight:500;
}
.tc-app .tc-ui-segmented:is([data-variant="morph"],[data-variant="glide"]) > [data-ui="Button"]:is([aria-selected="true"],[aria-pressed="true"]) { color:var(--tc-text); background:transparent; box-shadow:none; }
.tc-app .tc-ui-segmented .tc-segment-indicator { position:absolute;pointer-events:none;top:3px; bottom:3px; left:3px; border-radius:999px; transition:transform 300ms var(--tc-ease-settle); }
.tc-app .tc-ui-segmented .tc-pill-surface { display:block;width:100%;height:100%;border-radius:inherit;background:var(--tc-seg-on);box-shadow:var(--tc-seg-shadow); }
@media(prefers-reduced-motion:reduce) {
 .tc-app [data-ui="Button"][data-variant],.tc-app .tc-ui-segmented .tc-segment-indicator { transition:none; }
 .tc-app [data-ui="Button"][data-variant]:not(:disabled):active { transform:none; }
}
.tc-app .tc-ui-segmented > [data-ui="Button"]:disabled { color:var(--tc-disabled-text); cursor:default; }
