.btn-group{align-items:stretch;display:inline-flex}.btn-group--vertical{flex-direction:column}.btn-group--full{width:100%}.btn-group--full .btn{flex:1}.btn-group:not(.btn-group--vertical) .btn{border-radius:0}.btn-group--small:not(.btn-group--vertical) .btn:first-child{border-radius:5px 0 0 5px}.btn-group--small:not(.btn-group--vertical) .btn:last-child{border-radius:0 5px 5px 0}.btn-group--medium:not(.btn-group--vertical) .btn:first-child{border-radius:6px 0 0 6px}.btn-group--medium:not(.btn-group--vertical) .btn:last-child{border-radius:0 6px 6px 0}.btn-group--large:not(.btn-group--vertical) .btn:first-child{border-radius:8px 0 0 8px}.btn-group--large:not(.btn-group--vertical) .btn:last-child{border-radius:0 8px 8px 0}.btn-group--vertical .btn{border-radius:0;width:100%}.btn-group--small.btn-group--vertical .btn:first-child{border-radius:5px 5px 0 0}.btn-group--small.btn-group--vertical .btn:last-child{border-radius:0 0 5px 5px}.btn-group--medium.btn-group--vertical .btn:first-child{border-radius:6px 6px 0 0}.btn-group--medium.btn-group--vertical .btn:last-child{border-radius:0 0 6px 6px}.btn-group--large.btn-group--vertical .btn:first-child{border-radius:8px 8px 0 0}.btn-group--large.btn-group--vertical .btn:last-child{border-radius:0 0 8px 8px}.btn-group:not(.btn-group--vertical) .btn--outlined:not(:first-child){margin-left:-1px}.btn-group--vertical .btn--outlined:not(:first-child){margin-top:-1px}.btn-group .btn--outlined:hover,.btn-group .btn--outlined:focus{z-index:1;position:relative}.btn-group:not(.btn-group--vertical) .btn--contained+.btn--contained{border-left-color:var(--btn-active)}.btn-group--vertical .btn--contained+.btn--contained{border-top-color:var(--btn-active)}.tbg{background:var(--color-surface-raised,var(--color-muted));border:1px solid var(--color-border);border-radius:8px;align-items:stretch;gap:2px;padding:3px;display:inline-flex}.tbg--vertical{flex-direction:column}.tbg--small{border-radius:7px;padding:2px}.tbg--large{border-radius:10px;padding:4px}.tbg--full{width:100%}.tbg--full .tbtn{flex:1}.tbg--primary,.tbg--secondary,.tbg--error,.tbg--warning,.tbg--info,.tbg--success,.tbg--neutral{border-color:var(--color-border)}.tbg .tbtn{--tbtn-text:var(--color-text-secondary);--tbtn-text-strong:var(--color-text-primary);--tbtn-sel-bg-default:var(--color-surface);--tbtn-accent:var(--color-accent)}.tbg--primary .tbtn{--tbtn-accent:var(--color-accent)}.tbg--secondary .tbtn{--tbtn-accent:#8b5cf6}.tbg--error .tbtn{--tbtn-accent:var(--color-error)}.tbg--warning .tbtn{--tbtn-accent:var(--color-warning)}.tbg--info .tbtn{--tbtn-accent:#06b6d4}.tbg--success .tbtn{--tbtn-accent:var(--color-success)}.tbtn{color:var(--tbtn-text);letter-spacing:.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:5px;outline:none;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-weight:500;line-height:1;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex;position:relative;overflow:hidden}.tbg--small .tbtn{border-radius:4px}.tbg--large .tbtn{border-radius:7px}.tbtn:focus-visible{outline:2px solid var(--tbtn-accent);outline-offset:1px}.tbtn--small{padding:6px 10px;font-size:12px}.tbtn--medium{padding:8px 14px;font-size:13px}.tbtn--large{padding:14px 22px;font-size:15px}.tbtn:hover:not(.tbtn--disabled):not(.tbtn--selected){color:var(--tbtn-text-strong)}.tbtn--selected{background:var(--tbtn-sel-bg,var(--tbtn-sel-bg-default));color:var(--tbtn-sel-color,var(--tbtn-text-strong));box-shadow:0 1px 2px #0f172a14,0 1px #0f172a0a}.dark .tbtn--selected{box-shadow:inset 0 1px #ffffff0f,0 1px 2px #0006}.tbtn--selected:hover:not(.tbtn--disabled){filter:brightness(.97)}.tbtn--selected:active:not(.tbtn--disabled){filter:brightness(.94)}.tbtn--disabled{opacity:.42;cursor:not-allowed;pointer-events:none}.tbtn-icon{flex-shrink:0;align-items:center;display:inline-flex}.tbtn--small .tbtn-icon>*{width:14px;height:14px}.tbtn--medium .tbtn-icon>*{width:16px;height:16px}.tbtn--large .tbtn-icon>*{width:18px;height:18px}.tbtn-ripple{pointer-events:none;background:#ffffff40;border-radius:50%;animation:.55s ease-out forwards tbtn-ripple;transform:scale(0)}.tbtn:not(.tbtn--selected) .tbtn-ripple{background:var(--color-hover)}@keyframes tbtn-ripple{to{opacity:0;transform:scale(1)}}.tbtn--status-active{--tbtn-text:var(--color-success);--tbtn-text-strong:var(--color-success);--tbtn-sel-bg:var(--color-success-subtle,#22c55e29);--tbtn-sel-color:var(--color-success)}.tbtn--status-pending{--tbtn-text:var(--color-warning);--tbtn-text-strong:var(--color-warning);--tbtn-sel-bg:#eab3082e;--tbtn-sel-color:var(--color-warning)}.tbtn--status-inactive{--tbtn-text:var(--color-text-muted);--tbtn-text-strong:var(--color-text-secondary);--tbtn-sel-bg:var(--color-active);--tbtn-sel-color:var(--color-text-primary)}.btn--primary{--btn-main:var(--color-accent);--btn-hover:var(--color-accent-hover);--btn-active:var(--color-accent-active);--btn-ghost:var(--color-accent-subtle);--btn-on-main:var(--color-accent-foreground)}.btn--neutral{--btn-main:var(--color-text-secondary);--btn-hover:var(--color-text-primary);--btn-active:var(--color-text-primary);--btn-ghost:var(--color-hover);--btn-on-main:var(--color-surface)}.btn--secondary{--btn-main:#8b5cf6;--btn-hover:#7c3aed;--btn-active:#6d28d9;--btn-ghost:#8b5cf614;--btn-on-main:var(--color-surface)}.btn--error{--btn-main:var(--color-error);--btn-hover:var(--color-error);--btn-active:#b91c1c;--btn-ghost:var(--color-error-subtle);--btn-on-main:var(--color-surface)}.btn--warning{--btn-main:var(--color-warning);--btn-hover:#d97706;--btn-active:#b45309;--btn-ghost:#f59e0b14;--btn-on-main:var(--color-surface)}.btn--info{--btn-main:#06b6d4;--btn-hover:#0891b2;--btn-active:#0e7490;--btn-ghost:#06b6d414;--btn-on-main:var(--color-surface)}.btn--success{--btn-main:var(--color-success);--btn-hover:#16a34a;--btn-active:#15803d;--btn-ghost:#22c55e14;--btn-on-main:var(--color-surface)}.btn{letter-spacing:.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-weight:200;line-height:1;text-decoration:none;transition:background .15s,color .15s,border-color .15s,box-shadow .15s,opacity .15s;display:inline-flex;position:relative;overflow:hidden}.btn--small{border-radius:6px;gap:5px;padding:5px 10px;font-size:13px}.btn--medium{border-radius:6px;gap:6px;padding:7px 14px;font-size:14px}.btn--large{border-radius:8px;gap:8px;padding:10px 18px;font-size:14px}.btn--full{width:100%}.btn-icon{flex-shrink:0;align-items:center;display:inline-flex}.btn--small .btn-icon>*{width:14px;height:14px}.btn--medium .btn-icon>*{width:16px;height:16px}.btn--large .btn-icon>*{width:18px;height:18px}.btn-label{align-items:center;display:inline-flex}.btn--contained{background:var(--btn-main);color:var(--btn-on-main);border-color:var(--btn-main);box-shadow:0 1px 2px #0000000d}.btn--contained:hover:not(.btn--disabled){background:var(--btn-hover);border-color:var(--btn-hover);box-shadow:0 1px 2px #0000000d}.btn--contained:active:not(.btn--disabled){background:var(--btn-active);border-color:var(--btn-active)}.btn--outlined{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border);box-shadow:0 1px 2px #0000000a}.btn--outlined:hover:not(.btn--disabled){background:var(--color-hover);border-color:var(--color-border-strong)}.btn--outlined:active:not(.btn--disabled){background:var(--color-active)}.btn--text{color:var(--btn-main);background:0 0;border-color:#0000}.btn--text:hover:not(.btn--disabled),.btn--text:active:not(.btn--disabled){background:var(--btn-ghost)}.btn--disabled{opacity:.42;cursor:not-allowed;pointer-events:none}.btn-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:1em;height:1em;animation:.65s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-ripple{pointer-events:none;background:#ffffff4d;border-radius:50%;animation:.55s ease-out forwards btn-ripple;position:absolute;transform:scale(0)}.btn--outlined .btn-ripple,.btn--text .btn-ripple{background:var(--btn-ghost)}@keyframes btn-ripple{to{opacity:0;transform:scale(1)}}
