.accordion-item{--accordion-bg:var(--surface-1);--accordion-border:var(--border-default);background:var(--accordion-bg);border-bottom:var(--border-w-sm) solid var(--border-default)}.accordion-trigger{--accordion-text:var(--text-primary);--accordion-text-hover:var(--color-action);--accordion-py:14px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--accordion-py) 0;font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--accordion-text);background:transparent;border:none;cursor:pointer;font-family:inherit;text-align:left;transition:color var(--duration-fast) var(--ease-out)}.accordion-trigger:hover{color:var(--accordion-text-hover)}.accordion-chevron{display:inline-block;transition:transform var(--duration-fast) var(--ease-out)}.accordion-trigger[aria-expanded=true] .accordion-chevron{transform:rotate(180deg)}.accordion-body{padding:0 0 var(--accordion-py);font-size:var(--fs-body);color:var(--text-secondary);line-height:var(--lh-relaxed)}.accordion-sm .accordion-trigger{--accordion-py:10px;font-size:var(--fs-sm)}.accordion-sm .accordion-body{font-size:var(--fs-sm)}.accordion-lg .accordion-trigger{--accordion-py:18px;font-size:var(--fs-body-lg)}.accordion-lg .accordion-body{font-size:var(--fs-body-lg)}.alert{--alert-text:var(--state-info-text);--alert-border:var(--state-info-border);display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);border:var(--border-w-sm) solid var(--alert-border);border-left:var(--border-w-xl) solid var(--alert-accent);background:var(--alert-bg);color:var(--alert-text);font-size:var(--fs-sm)}.alert,.alert-info{--alert-bg:var(--state-info-bg-strong);--alert-accent:var(--state-info)}.alert-info{--alert-text:var(--state-info-text);--alert-border:var(--state-info-border)}.alert-success{--alert-bg:var(--state-success-bg-strong);--alert-accent:var(--state-success);--alert-text:var(--state-success-text);--alert-border:var(--state-success-border)}.alert-warning{--alert-bg:var(--state-warning-bg-strong);--alert-accent:var(--state-warning);--alert-text:var(--state-warning-text);--alert-border:var(--state-warning-border)}.alert-error{--alert-bg:var(--state-error-bg-strong);--alert-accent:var(--state-error);--alert-text:var(--state-error-text);--alert-border:var(--state-error-border)}.avatar{line-height:1}.avatar-group{display:inline-flex;align-items:center;padding-left:var(--sp-2)}.avatar-group .avatar{margin-left:calc(-1 * var(--sp-2));border:var(--border-w-sm) solid var(--surface-page);box-shadow:var(--shadow-xs)}.avatar-group-extra{justify-content:center;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-secondary);font-weight:var(--fw-semibold);flex-shrink:0}.avatar-group-extra,.badge{display:inline-flex;align-items:center;font-family:var(--font-sans)}.badge{--badge-bg:var(--color-action-soft);--badge-text:var(--color-action-strong);--badge-border:color-mix(in srgb,var(--badge-text) 22%,transparent);--badge-radius:var(--radius-pill);--badge-py:calc(var(--sp-1) - var(--border-w-sm));--badge-px:var(--control-px-sm);--badge-fs:var(--fs-xs);--badge-fw:var(--fw-medium);gap:var(--sp-1);font-size:var(--badge-fs);font-weight:var(--badge-fw);padding:var(--badge-py) var(--badge-px);border-radius:var(--badge-radius);background:var(--badge-bg);color:var(--badge-text);border:var(--border-w-sm) solid var(--badge-border);letter-spacing:var(--tracking-normal);text-transform:none;line-height:1.6}.badge-success{--badge-bg:var(--state-success-bg);--badge-text:var(--state-success-text)}.badge-warning{--badge-bg:var(--state-warning-bg);--badge-text:var(--state-warning-text)}.badge-error{--badge-bg:var(--state-error-bg);--badge-text:var(--state-error-text)}.badge-info{--badge-bg:var(--state-info-bg);--badge-text:var(--state-info-text)}.badge-action{--badge-bg:var(--color-action-soft);--badge-text:var(--color-action-strong)}.badge-base{--badge-bg:var(--surface-2);--badge-text:var(--text-primary)}.badge-neutral{--badge-bg:var(--surface-2);--badge-text:var(--text-secondary)}.badge-md{--badge-py:var(--sp-1);--badge-px:var(--sp-3);--badge-fs:var(--fs-sm);--badge-radius:var(--radius-sm)}.badge-lg,.badge-md{text-transform:none;letter-spacing:var(--tracking-normal)}.badge-lg{--badge-py:var(--sp-2);--badge-px:var(--sp-4);--badge-fs:var(--fs-body);--badge-radius:var(--radius-md)}.tag{--badge-bg:var(--surface-2);--badge-text:var(--text-secondary);--badge-radius:var(--radius-sm);--badge-py:var(--sp-1);--badge-px:var(--control-px-sm);--badge-fs:var(--fs-sm);--badge-fw:var(--fw-medium);display:inline-flex;gap:var(--sp-1);font-family:var(--font-sans);font-size:var(--badge-fs);font-weight:var(--badge-fw);padding:var(--badge-py) var(--badge-px);border-radius:var(--badge-radius);background:var(--badge-bg);color:var(--badge-text);border:var(--border-w-sm) solid var(--border-subtle)}.breadcrumbs,.tag{align-items:center}.breadcrumbs{--crumb-gap:calc(var(--sp-1) + var(--sp-1) / 2);--crumb-color:var(--text-muted);--crumb-hover:var(--text-primary);--crumb-current:var(--text-primary);--crumb-separator:var(--border-default);--crumb-bg:var(--surface-1);--crumb-border:var(--border-subtle);--crumb-fs:var(--fs-sm);display:flex;gap:var(--crumb-gap);width:fit-content;padding:var(--sp-2) var(--sp-3);border:var(--border-w-sm) solid var(--crumb-border);border-radius:var(--radius-md);background:var(--crumb-bg);font-size:var(--crumb-fs)}.breadcrumbs,.breadcrumbs a{color:var(--crumb-color)}.breadcrumbs a:hover{color:var(--crumb-hover)}.breadcrumbs .sep{color:var(--crumb-separator)}.breadcrumbs [aria-current=page]{color:var(--crumb-current);font-weight:var(--fw-medium)}@keyframes sk-spin{to{transform:rotate(1turn)}}.spinner-status{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;line-height:0;vertical-align:middle}.spinner{--spinner-color:var(--color-action);--spinner-track:var(--border-default);--spinner-size:28px;--spinner-bw:3px;display:block;flex:0 0 var(--spinner-size);width:var(--spinner-size);height:var(--spinner-size);min-width:var(--spinner-size);min-height:var(--spinner-size);box-sizing:border-box;border-radius:var(--radius-circle);border:var(--spinner-bw) solid var(--spinner-track);border-top-color:var(--spinner-color);animation:sk-spin var(--duration-slower) linear infinite}.spinner-sm{--spinner-size:20px;--spinner-bw:2px}.spinner-lg{--spinner-size:52px;--spinner-bw:5px}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.btn{--btn-bg:var(--color-action);--btn-text:var(--text-on-action);--btn-border:transparent;--btn-border-w:var(--border-w-sm);--btn-bg-hover:var(--color-action-hover);--btn-bg-active:var(--color-action-active);--btn-py:var(--control-py-md);--btn-px:var(--control-px-lg);--btn-fs:var(--fs-body);--btn-fw:var(--fw-medium);--btn-radius:var(--radius-md);--btn-gap:var(--sp-2);display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);font-family:var(--font-sans);font-size:var(--btn-fs);font-weight:var(--btn-fw);line-height:1;white-space:nowrap;cursor:pointer;border:var(--btn-border-w) solid var(--btn-border);border-radius:var(--btn-radius);padding:var(--btn-py) var(--btn-px);background:var(--btn-bg);color:var(--btn-text);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn:focus-visible{box-shadow:var(--shadow-focus)}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--btn-bg-hover)}.btn:active:not(:disabled):not([aria-disabled=true]){background:var(--btn-bg-active);transform:translateY(var(--border-w-sm))}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;--btn-bg:var(--color-action-disabled);--btn-text:var(--text-disabled);--btn-border:transparent;opacity:var(--opacity-disabled)}.btn .spinner{--spinner-color:currentColor;--spinner-track:color-mix(in srgb,currentColor 28%,transparent)}.btn-primary{--btn-bg:var(--color-action);--btn-text:var(--text-on-action);--btn-border:transparent;--btn-bg-hover:var(--color-action-hover);--btn-bg-active:var(--color-action-active)}.btn-secondary{--btn-bg:var(--surface-2);--btn-text:var(--text-primary);--btn-border:var(--border-default);--btn-bg-hover:var(--surface-3);--btn-bg-active:var(--surface-3)}.btn-outline{--btn-bg:var(--color-action-soft);--btn-text:var(--color-action);--btn-border:var(--color-action);--btn-border-w:var(--border-w-md);--btn-bg-hover:var(--color-action-soft-hover);--btn-bg-active:var(--color-action-soft-hover)}.btn-ghost{--btn-bg:var(--surface-1);--btn-text:var(--text-secondary);--btn-border:var(--border-subtle);--btn-bg-hover:var(--surface-2);--btn-bg-active:var(--surface-3)}.btn-danger{--btn-bg:var(--state-error);--btn-text:var(--text-inverse);--btn-border:transparent;--btn-bg-hover:var(--state-error-hover);--btn-bg-active:var(--state-error-text)}.btn-sm{--btn-py:var(--control-py-sm);--btn-px:var(--sp-3);--btn-fs:var(--fs-sm);--btn-radius:var(--radius-sm)}.btn-lg{--btn-py:var(--control-py-xl);--btn-px:var(--sp-6);--btn-fs:var(--fs-body-lg);--btn-radius:var(--radius-lg)}.btn-icon{--btn-py:var(--sp-2);--btn-px:var(--sp-2);min-width:var(--control-h-md)}.btn-sm.btn-icon{min-width:var(--control-h-sm)}.btn-lg.btn-icon{min-width:var(--control-h-lg)}.card{--card-bg:var(--surface-1);--card-shadow:var(--shadow-md);--card-radius:var(--radius-lg);--card-border:var(--border-subtle);background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);border:var(--border-w-sm) solid var(--card-border);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.card-flat{--card-shadow:none;--card-border:var(--border-subtle)}.card-elevated{--card-shadow:var(--shadow-lg)}.card-interactive{cursor:pointer}.card-interactive:hover{--card-shadow:var(--shadow-lg);transform:translateY(calc(-1 * 2px))}.checkbox{--checkbox-size:var(--icon-md);--checkbox-accent:var(--color-action);--checkbox-border:var(--border-strong);--checkbox-radius:var(--radius-xs);display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer;font-size:var(--fs-body);color:var(--text-secondary);font-family:inherit;background:transparent;border:none;padding:0}.checkbox-box{width:var(--checkbox-size);height:var(--checkbox-size);border:var(--border-w-lg) solid var(--checkbox-border);border-radius:var(--checkbox-radius);background:var(--surface-1);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.checkbox[data-checked=true] .checkbox-box{background:var(--checkbox-accent);border-color:var(--checkbox-accent);color:var(--text-on-ink)}.checkbox[data-checked=true] .checkbox-box:after{content:"✓";font-size:var(--icon-xs);font-weight:var(--fw-semibold)}.checkbox:disabled,.checkbox[data-disabled=true]{opacity:.4;cursor:not-allowed}.checkbox:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.checkbox-sm{--checkbox-size:var(--icon-sm);font-size:var(--fs-sm)}.checkbox-lg{--checkbox-size:var(--icon-lg);font-size:var(--fs-body-lg)}.divider{--divider-color:var(--border-subtle);--divider-h:var(--border-w-sm);--divider-my:var(--sp-4);height:var(--divider-h);background:var(--divider-color);border:none;margin:var(--divider-my) 0}.dropdown{position:relative;display:inline-block}.dropdown-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h-md);min-width:var(--control-h-md);padding:var(--sp-2);border:var(--border-w-sm) solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;touch-action:manipulation}.dropdown-trigger:hover{background:var(--surface-2)}.dropdown-item:focus-visible,.dropdown-trigger:focus-visible{box-shadow:var(--shadow-focus);outline:none}.dropdown{--dropdown-bg:var(--surface-1);--dropdown-text:var(--text-primary);--dropdown-border:var(--border-subtle);--dropdown-radius:var(--radius-lg);--dropdown-shadow:var(--shadow-lg);--dropdown-item-hover:var(--surface-2)}.dropdown-menu{position:absolute;top:calc(100% + var(--sp-2));z-index:var(--z-popover);min-width:calc(var(--sp-20) * 2 + var(--sp-10));padding:var(--sp-1);border:var(--border-w-sm) solid var(--dropdown-border);border-radius:var(--dropdown-radius);background:var(--dropdown-bg);box-shadow:var(--dropdown-shadow);color:var(--dropdown-text)}.dropdown[data-align=right] .dropdown-menu{right:0}.dropdown[data-align=left] .dropdown-menu{left:0}.dropdown-item{width:100%;display:flex;align-items:center;min-height:var(--control-h-sm);padding:var(--sp-2) var(--sp-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.dropdown-item:hover:not(:disabled){background:var(--dropdown-item-hover)}.dropdown-item:disabled{color:var(--text-disabled);cursor:not-allowed}.empty-state{--empty-py:var(--sp-12);--empty-px:var(--sp-6);--empty-gap:var(--sp-3);--empty-bg:var(--surface-1);--empty-border:var(--border-default);--empty-radius:var(--radius-xl);--empty-icon:var(--text-disabled);--empty-title:var(--text-primary);--empty-text:var(--text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--empty-py) var(--empty-px);background:var(--empty-bg);text-align:center;border:var(--border-w-lg) dashed var(--empty-border);border-radius:var(--empty-radius);gap:var(--empty-gap)}.empty-state-icon{color:var(--empty-icon)}.empty-state-title{font-size:var(--fs-h4);font-weight:var(--fw-bold);color:var(--empty-title)}.empty-state-body{font-size:var(--fs-body);color:var(--empty-text);max-width:var(--container-xs);line-height:var(--lh-normal)}.icon{display:inline-block;flex-shrink:0;vertical-align:middle}.input,.select,.textarea{--input-bg:var(--surface-1);--input-text:var(--text-primary);--input-border:var(--border-default);--input-py:var(--control-py-md);--input-px:var(--sp-3);--input-fs:var(--fs-body);--input-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--input-fs);color:var(--input-text);background:var(--input-bg);border:var(--border-w-md) solid var(--input-border);border-radius:var(--input-radius);padding:var(--input-py) var(--input-px);outline:none;width:100%;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.input[aria-invalid=true],.textarea[aria-invalid=true]{--input-border:var(--state-error)}.input::placeholder,.textarea::placeholder{color:var(--text-placeholder)}.input:disabled,.select:disabled,.textarea:disabled{--input-bg:var(--surface-2);--input-text:var(--text-disabled);cursor:not-allowed}.textarea{resize:vertical;min-height:var(--sp-20)}.input-sm,.select-sm,.textarea-sm{--input-py:var(--control-py-sm);--input-px:var(--control-px-sm);--input-fs:var(--fs-sm);--input-radius:var(--radius-sm)}.input-lg,.select-lg,.textarea-lg{--input-py:var(--control-py-lg);--input-px:var(--sp-4);--input-fs:var(--fs-body-lg);--input-radius:var(--radius-lg)}.field-label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary);margin-bottom:6px}.field-help{color:var(--text-muted)}.field-error,.field-help{font-size:var(--fs-xs);margin-top:6px}.field-error{color:var(--state-error-text)}.kbd{--kbd-bg:var(--surface-1);--kbd-text:var(--text-secondary);--kbd-border:var(--border-strong);--kbd-radius:var(--radius-xs);--kbd-py:calc(var(--sp-1) / 2);--kbd-px:var(--sp-2);--kbd-fs:var(--fs-xs);display:inline-flex;align-items:center;padding:var(--kbd-py) var(--kbd-px);font-size:var(--kbd-fs);font-weight:var(--fw-medium);background:var(--kbd-bg);border:var(--border-w-sm) solid var(--kbd-border);border-radius:var(--kbd-radius);box-shadow:0 var(--border-w-md) 0 var(--kbd-border);color:var(--kbd-text);font-family:inherit}.modal-overlay{position:fixed;inset:0;background:var(--surface-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:var(--sp-6)}.modal{--modal-bg:var(--surface-1);--modal-border:var(--border-default);background:var(--modal-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--control-h-sm) var(--control-h-sm) var(--sp-6);max-width:var(--container-sm);width:100%;border:var(--border-w-sm) solid var(--modal-border)}.modal-title{font-size:var(--fs-h2);font-weight:700;color:var(--text-primary);letter-spacing:var(--tracking-tight)}.modal-body{font-size:var(--fs-body);color:var(--text-secondary);line-height:var(--lh-relaxed);margin-top:var(--sp-2)}.modal-footer{display:flex;gap:var(--sp-2);justify-content:flex-end;margin-top:var(--sp-5)}.pagination{display:flex;align-items:center;gap:var(--sp-1)}.page-btn{--page-btn-size:var(--control-h-md);--page-btn-accent:var(--color-action);--page-btn-bg:var(--surface-1);--page-btn-bg-hover:var(--surface-2);--page-btn-text-active:var(--text-on-action);--page-btn-radius:var(--radius-sm);--page-btn-fs:var(--fs-body);min-width:var(--page-btn-size);height:var(--page-btn-size);padding:0 var(--sp-2);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--page-btn-radius);font-size:var(--page-btn-fs);font-weight:var(--fw-medium);border:var(--border-w-sm) solid var(--border-subtle);cursor:pointer;font-family:inherit;color:var(--text-secondary);background:var(--page-btn-bg);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.page-btn:hover{background:var(--page-btn-bg-hover)}.page-btn[data-active=true]{background:var(--page-btn-accent);color:var(--page-btn-text-active);border-color:var(--page-btn-accent)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-sm .page-btn{--page-btn-size:var(--control-h-sm);--page-btn-fs:var(--fs-sm);--page-btn-radius:var(--radius-xs)}.pagination-lg .page-btn{--page-btn-size:var(--control-h-lg);--page-btn-fs:var(--fs-body-lg)}.progress{--progress-color:var(--color-action);--progress-track:var(--surface-3);--progress-h:calc(var(--sp-1) + var(--sp-1) / 2);--progress-radius:var(--radius-pill);width:100%;height:var(--progress-h);background:var(--progress-track);overflow:hidden}.progress,.progress-bar{border-radius:var(--progress-radius)}.progress-bar{height:100%;background:var(--progress-color);transition:width var(--duration-slow) var(--ease-out)}.progress-sm{--progress-h:var(--sp-1)}.progress-lg{--progress-h:calc(var(--sp-2) + var(--sp-1) / 2)}.progress-success{--progress-color:var(--state-success)}.progress-warning{--progress-color:var(--state-warning)}.progress-error{--progress-color:var(--state-error)}.progress-ring{--ring-size:var(--sp-16);--ring-color:var(--color-action);--ring-track:var(--surface-3);--ring-label:var(--text-primary);--ring-fs:var(--fs-xs);position:relative;display:inline-grid;place-items:center;width:var(--ring-size);height:var(--ring-size);color:var(--ring-color);font-family:var(--font-sans);font-size:var(--ring-fs);font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.progress-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-track,.progress-ring-value{fill:none}.progress-ring-track{stroke:var(--ring-track)}.progress-ring-value{stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset var(--duration-slow) var(--ease-out)}.progress-ring-label{position:absolute;inset:0;display:grid;place-items:center;color:var(--ring-label)}.radio-wrap{--radio-size:var(--icon-md);--radio-accent:var(--color-action);--radio-border:var(--border-strong);display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer;font-size:var(--fs-body);color:var(--text-secondary);font-family:inherit;background:transparent;border:none;padding:0}.radio-dot{width:var(--radio-size);height:var(--radio-size);border:var(--border-w-lg) solid var(--radio-border);border-radius:var(--radius-circle);background:var(--surface-1);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color var(--duration-fast) var(--ease-out)}.radio-wrap[data-checked=true] .radio-dot{border-color:var(--radio-accent)}.radio-wrap[data-checked=true] .radio-dot:after{content:"";width:var(--sp-2);height:var(--sp-2);background:var(--radio-accent);border-radius:var(--radius-circle)}.radio-wrap:disabled,.radio-wrap[data-disabled=true]{opacity:.4;cursor:not-allowed}.radio-wrap:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.radio-wrap.radio-sm{--radio-size:var(--icon-sm);font-size:var(--fs-sm)}.radio-wrap.radio-lg{--radio-size:var(--icon-lg);font-size:var(--fs-body-lg)}.radio-group{display:flex;flex-direction:column;gap:var(--sp-3)}.segmented{--segmented-bg:var(--surface-2);--segmented-border:var(--border-default);--segmented-radius:var(--radius-md);--segmented-active-bg:var(--surface-page);--segmented-active-text:var(--text-primary);--segmented-inactive-text:var(--text-muted);--segmented-py:var(--control-py-sm);--segmented-px:var(--control-px-md);--segmented-fs:var(--fs-body);display:inline-flex;background:var(--segmented-bg);border:var(--border-w-sm) solid var(--segmented-border);border-radius:var(--segmented-radius);padding:calc(var(--sp-1) - var(--border-w-sm));gap:2px}.segmented-btn{padding:var(--segmented-py) var(--segmented-px);font-size:var(--segmented-fs);font-weight:var(--fw-medium);border:none;background:transparent;cursor:pointer;color:var(--segmented-inactive-text);border-radius:calc(var(--segmented-radius) - 2px);font-family:inherit;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.segmented-btn[data-active=true]{background:var(--segmented-active-bg);color:var(--segmented-active-text);box-shadow:var(--shadow-sm)}.segmented-sm{--segmented-py:var(--sp-1);--segmented-px:var(--control-px-sm);--segmented-fs:var(--fs-sm);--segmented-radius:var(--radius-sm)}.segmented-lg{--segmented-py:var(--sp-2);--segmented-px:var(--control-px-lg);--segmented-fs:var(--fs-body-lg);--segmented-radius:var(--radius-lg)}.sidebar-nav-item{--sidebar-nav-item-bg:transparent;--sidebar-nav-item-bg-hover:var(--surface-1);--sidebar-nav-item-bg-active:var(--color-action-soft);--sidebar-nav-item-text:var(--text-secondary);--sidebar-nav-item-text-hover:var(--text-primary);--sidebar-nav-item-text-active:var(--color-action-strong);--sidebar-nav-item-accent:transparent;--sidebar-nav-item-accent-active:var(--color-action);--sidebar-nav-item-py:calc(var(--sp-2) - var(--sp-1) / 4);--sidebar-nav-item-px:var(--sp-5);--sidebar-nav-item-fs:var(--fs-sm);--sidebar-nav-item-fw:var(--fw-medium);--sidebar-nav-item-fw-active:var(--fw-semibold);display:flex;align-items:center;width:100%;min-height:var(--control-h-sm);padding:var(--sidebar-nav-item-py) var(--sidebar-nav-item-px);border:0;border-left:calc(var(--sp-1) / 2) solid var(--sidebar-nav-item-accent);background:var(--sidebar-nav-item-bg);color:var(--sidebar-nav-item-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--sidebar-nav-item-fs);font-weight:var(--sidebar-nav-item-fw);line-height:var(--lh-normal);text-align:left;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.sidebar-nav-item:hover{background:var(--sidebar-nav-item-bg-hover);color:var(--sidebar-nav-item-text-hover)}.sidebar-nav-item:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.sidebar-nav-item[data-active=true]{--sidebar-nav-item-bg:var(--sidebar-nav-item-bg-active);--sidebar-nav-item-text:var(--sidebar-nav-item-text-active);--sidebar-nav-item-accent:var(--sidebar-nav-item-accent-active);--sidebar-nav-item-fw:var(--sidebar-nav-item-fw-active)}@keyframes sk-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{--skeleton-from:var(--surface-2);--skeleton-to:var(--surface-3);--skeleton-radius:var(--radius-sm);--skeleton-speed:1.4s;background:linear-gradient(90deg,var(--skeleton-from) 25%,var(--skeleton-to) 50%,var(--skeleton-from) 75%);background-size:200% 100%;animation:sk-shimmer var(--skeleton-speed) linear infinite;border-radius:var(--skeleton-radius)}.slider-wrap{display:flex;align-items:center;gap:var(--sp-3)}.slider{--slider-accent:var(--color-action);--slider-track:var(--border-default);--slider-thumb:18px;appearance:none;flex:1 1;height:var(--sp-1);background:var(--slider-track);border-radius:var(--radius-pill);outline:none;cursor:pointer}.slider::-webkit-slider-thumb{appearance:none;width:var(--slider-thumb);height:var(--slider-thumb);background:var(--slider-accent);border:var(--border-w-lg) solid var(--surface-page);border-radius:var(--radius-circle);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-transition:transform var(--duration-fast) var(--ease-out);transition:transform var(--duration-fast) var(--ease-out)}.slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.slider::-moz-range-thumb{width:var(--slider-thumb);height:var(--slider-thumb);background:var(--slider-accent);border:var(--border-w-lg) solid var(--surface-page);border-radius:var(--radius-circle);box-shadow:var(--shadow-sm);cursor:pointer;-moz-transition:transform var(--duration-fast) var(--ease-out);transition:transform var(--duration-fast) var(--ease-out)}.slider::-moz-range-thumb:hover{transform:scale(1.15)}.slider:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.slider:disabled,.slider[disabled]{opacity:.4;cursor:not-allowed}.slider:disabled::-webkit-slider-thumb,.slider[disabled]::-webkit-slider-thumb{cursor:not-allowed}.slider:disabled::-moz-range-thumb,.slider[disabled]::-moz-range-thumb{cursor:not-allowed}.slider-sm{--slider-thumb:12px}.slider-lg{--slider-thumb:24px}.stepper{--stepper-accent:var(--color-action);display:flex;gap:0}.stepper-step{display:flex;flex-direction:column;align-items:center;flex:1 1;position:relative}.stepper-step:before{content:"";position:absolute;top:calc(var(--control-h-sm) / 2);left:50%;width:100%;height:var(--border-w-lg);background:var(--border-default);z-index:0}.stepper-step:last-child:before{display:none}.stepper-step[data-done=true]:before{background:var(--stepper-accent)}.stepper-dot{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--radius-circle);background:var(--surface-1);border:var(--border-w-lg) solid var(--border-default);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);position:relative;z-index:1;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.stepper-step[data-active=true] .stepper-dot,.stepper-step[data-done=true] .stepper-dot{background:var(--stepper-accent);border-color:var(--stepper-accent);color:var(--text-on-ink)}.stepper-label{font-size:var(--fs-xs);color:var(--text-muted);margin-top:6px;text-align:center}.stepper-step[data-active=true] .stepper-label{color:var(--stepper-accent);font-weight:var(--fw-semibold)}.switch{--switch-accent:var(--color-action);--switch-track-off:var(--border-strong);--switch-w:var(--control-h-md);--switch-h:var(--icon-md);--switch-thumb:14px;display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer;font-size:var(--fs-body);color:var(--text-secondary);font-family:inherit;background:none;border:none;padding:0}.switch-track{position:relative;width:var(--switch-w);height:var(--switch-h);background:var(--switch-track-off);border-radius:var(--radius-pill);flex-shrink:0;transition:background var(--duration-fast) var(--ease-out)}.switch-track:after{content:"";position:absolute;width:var(--switch-thumb);height:var(--switch-thumb);background:var(--surface-page);border-radius:var(--radius-circle);top:calc(var(--sp-1) - var(--border-w-sm));left:calc(var(--sp-1) - var(--border-w-sm));transition:transform var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-sm)}.switch[data-checked=true] .switch-track{background:var(--switch-accent)}.switch[data-checked=true] .switch-track:after{transform:translateX(var(--sp-4))}.switch:disabled,.switch[data-disabled=true]{opacity:.4;cursor:not-allowed}.switch:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.switch-sm{--switch-w:var(--control-h-sm);--switch-h:var(--icon-sm);--switch-thumb:10px;font-size:var(--fs-sm)}.switch-sm[data-checked=true] .switch-track:after{transform:translateX(var(--sp-3))}.switch-lg{--switch-w:var(--control-h-lg);--switch-h:var(--icon-lg);--switch-thumb:20px;font-size:var(--fs-body-lg)}.switch-lg[data-checked=true] .switch-track:after{transform:translateX(calc(var(--sp-4) + var(--sp-2)))}.table{--table-fs:var(--fs-sm);--table-cell-py:var(--sp-3);--table-cell-px:var(--sp-4);--table-bg:var(--surface-1);--table-head-bg:var(--surface-2);--table-head-color:var(--text-muted);--table-head-border:var(--border-default);--table-row-border:var(--border-subtle);--table-row-hover:var(--surface-1);width:100%;border-collapse:collapse;background:var(--table-bg);font-size:var(--table-fs)}.table td,.table th{padding:var(--table-cell-py) var(--table-cell-px);text-align:left}.table thead th{background:var(--table-head-bg);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--table-head-color);letter-spacing:var(--tracking-normal);text-transform:uppercase;border-bottom:var(--border-w-sm) solid var(--table-head-border)}.table tbody tr{border-bottom:var(--border-w-sm) solid var(--table-row-border)}.table tbody tr:hover{background:var(--table-row-hover)}.tabs{display:flex;gap:var(--sp-1);min-width:0;overflow-x:auto;padding:0;margin-bottom:var(--sp-5);border:0}.tab,.tabs{background:transparent;border-radius:0}.tab{--tab-text:var(--text-muted);--tab-text-hover:var(--text-primary);--tab-text-active:var(--color-action);--tab-bg-hover:transparent;--tab-bg-active:transparent;--tab-accent:var(--color-action);--tab-py:var(--sp-2);--tab-px:var(--sp-3);--tab-fs:var(--fs-body);padding:var(--tab-py) var(--tab-px);font-size:var(--tab-fs);font-weight:var(--fw-medium);color:var(--tab-text);border:none;border-bottom:var(--border-w-lg) solid transparent;margin-bottom:0;cursor:pointer;font-family:inherit;white-space:nowrap;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.tab:hover{background:var(--tab-bg-hover);color:var(--tab-text-hover)}.tab[data-active=true]{background:var(--tab-bg-active);color:var(--tab-text-active);border-bottom-color:var(--tab-accent);font-weight:var(--fw-medium)}.tab-sm{--tab-py:var(--sp-2);--tab-px:var(--sp-3);--tab-fs:var(--fs-sm)}.tab-lg{--tab-py:14px;--tab-px:var(--sp-5);--tab-fs:var(--fs-body-lg)}.tabs-flush{margin-bottom:0}.tabs-tight{margin-bottom:var(--sp-1)}.toast{--toast-bg:var(--surface-2);--toast-text:var(--text-primary);--toast-border:var(--border-default);display:flex;align-items:flex-start;gap:10px;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);background:var(--toast-bg);color:var(--toast-text);border:var(--border-w-sm) solid var(--toast-border);box-shadow:var(--shadow-lg);max-width:calc(var(--container-xs) + var(--sp-5));font-size:var(--fs-body);pointer-events:all}.toast-success{--toast-bg:var(--state-success-bg-strong);--toast-text:var(--state-success-text);--toast-border:var(--state-success-border)}.toast-error{--toast-bg:var(--state-error-bg-strong);--toast-text:var(--state-error-text);--toast-border:var(--state-error-border)}.toast-warning{--toast-bg:var(--state-warning-bg-strong);--toast-text:var(--state-warning-text);--toast-border:var(--state-warning-border)}.toast-container{position:fixed;bottom:var(--sp-6);right:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-2);z-index:var(--z-toast);pointer-events:none}.tooltip-wrap{position:relative;display:inline-flex}.tooltip{--tooltip-bg:var(--surface-inverse);--tooltip-text:var(--text-on-ink);position:absolute;bottom:calc(100% + var(--sp-2));left:50%;transform:translateX(-50%);background:var(--tooltip-bg);color:var(--tooltip-text);padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--fs-sm);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-md);z-index:var(--z-tooltip);opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-out),visibility var(--duration-fast) var(--ease-out)}.tooltip.visible{opacity:1;visibility:visible}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border-top-color:transparent;border:var(--sp-1) solid transparent;border-top:var(--sp-1) solid var(--tooltip-bg)}.tooltip[data-placement=bottom]{top:calc(100% + var(--sp-2));bottom:auto}.tooltip[data-placement=bottom]:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--tooltip-bg)}