.empty-state{border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--affordance-fill,var(--color-surface-alt));color:inherit;background-color:var(--color-surface);padding:var(--space-48);text-align:center;transition:border-color .15s,background-color .15s,color .15s}.empty-state__title{font-size:var(--text-xl);font-weight:var(--weight-title);margin-bottom:var(--space-8)}.empty-state__description{color:var(--color-text-secondary);margin-bottom:var(--space-24);font-size:var(--text-lg)}.select{vertical-align:middle;display:inline-block;position:relative}.select__trigger{align-items:center;gap:var(--space-8);width:100%;padding:var(--space-4) var(--space-16);background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);font-size:var(--text-sm);font-weight:var(--weight-control);color:var(--color-text);cursor:pointer;white-space:nowrap;text-align:left;height:var(--control-height);transition:border-color .1s linear,box-shadow .1s linear;display:flex}.select__trigger:hover:not(:disabled):not(.select__trigger--open){border-color:var(--color-border-control-hover)}.select__trigger:focus{outline:none}.select__trigger--open,.select__trigger:focus-visible{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary), var(--shadow-xs);outline:none}.select__trigger:disabled{opacity:.6;cursor:default;box-shadow:none}.select__trigger-icon{color:var(--color-text-secondary);flex-shrink:0;align-items:center;display:flex}.select__trigger-text{text-overflow:ellipsis;flex:1;overflow:hidden}.select__trigger-text--placeholder{color:var(--color-text-secondary)}.select__trigger-chevron{color:var(--color-text-secondary);flex-shrink:0;transition:transform .2s}.select__trigger-chevron--open{transform:rotate(180deg)}.select__dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:max(100%,200px);max-width:min(360px,100vw - 32px);box-shadow:var(--shadow-popover);z-index:100;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.select__dropdown--wide{min-width:300px}.select__dropdown--above{top:auto;bottom:calc(100% + 4px)}.select__dropdown--end{left:auto;right:0}.select__dropdown--floating{flex-direction:column;max-height:322px;display:flex;position:fixed}.select__dropdown--floating .select__dropdown-scroll{flex:1;min-height:0;max-height:none}.select__dropdown-scroll{max-height:320px;padding:var(--space-4);overflow-y:auto}.select__section-label{font-size:var(--text-2xs);font-weight:var(--weight-title);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);padding:var(--space-4) var(--space-8);margin-top:var(--space-4)}.select__divider{background:var(--color-border);height:1px;margin:var(--space-4) 0}.select__option{align-items:center;gap:var(--space-8);text-align:left;width:100%;padding:6px var(--space-8);min-height:28px;display:flex}@media (pointer:coarse){.select__option{min-height:44px;font-size:var(--text-md)}}.select__option{border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-control);color:var(--color-text);cursor:pointer;white-space:nowrap;background:0 0;border:none;transition:background-color .1s}.select__option:hover,.select__option--highlighted{background:var(--color-hover)}.select__option--active{background:var(--color-primary-tint);color:var(--color-primary)}.select__option--active:hover{background:var(--color-primary-tint-strong)}.select__option--disabled{color:var(--color-text-secondary);opacity:.5;cursor:default}.select__option--disabled:hover{background:0 0}.select__option-icon{flex-shrink:0;align-items:center;display:flex}.select__option-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.segmented{vertical-align:middle;gap:var(--space-2);padding:var(--space-2);height:var(--control-height);background:var(--color-surface-alt);display:inline-flex}@media (pointer:coarse){.segmented{height:48px}}.segmented{border-radius:var(--radius-md);border:none}.segmented__option{border-radius:calc(var(--radius-md) - var(--space-2));height:100%;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-control);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;transition:background-color .15s,color .15s,box-shadow .15s;display:inline-flex}.segmented__option:hover:not(:disabled):not(.segmented__option--active){color:var(--color-text)}.segmented__option:focus{outline:none}.segmented__option:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;z-index:1}.segmented__option:disabled{cursor:not-allowed;opacity:.5}.segmented__option--active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.segmented__option--tone-primary{background:var(--color-primary)}.segmented__option--tone-neutral{background:var(--color-neutral-solid)}.segmented__option--tone-success{background:var(--color-success-solid)}.segmented__option--tone-income{background:var(--color-income-solid)}.segmented__option--tone-expense{background:var(--color-expense-solid)}.segmented__option--tone-primary,.segmented__option--tone-neutral,.segmented__option--tone-success,.segmented__option--tone-income,.segmented__option--tone-expense{color:#fff}.segmented__option--tone-primary:focus-visible,.segmented__option--tone-neutral:focus-visible,.segmented__option--tone-success:focus-visible,.segmented__option--tone-income:focus-visible,.segmented__option--tone-expense:focus-visible{outline-color:currentColor}.segmented__note{font-size:var(--text-2xs);font-weight:var(--weight-title);color:var(--color-success-text)}.segmented__option--tone-primary .segmented__note,.segmented__option--tone-neutral .segmented__note,.segmented__option--tone-success .segmented__note,.segmented__option--tone-income .segmented__note,.segmented__option--tone-expense .segmented__note{color:#ffffffd9}.segmented--sm{height:var(--control-height-sm)}@media (pointer:coarse){.segmented--sm{height:48px}}.segmented--sm{border-radius:calc(var(--radius-sm) + var(--space-2))}.segmented--sm .segmented__option{border-radius:var(--radius-sm);padding:0 10px}.segmented--full{width:100%}.segmented--full .segmented__option{flex:1 1 0}.field{gap:var(--space-6);min-width:0;font-size:var(--text-md);flex-direction:column;display:flex}.field__label{font-size:var(--text-md);font-weight:var(--weight-control);color:var(--color-text)}.field__optional{font-weight:var(--weight-body);color:var(--color-text-secondary)}.field__control{width:var(--field-w,100%);position:relative}.field__control:focus-within .field__input,.field__control:focus-within .field__textarea{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary), var(--shadow-xs)}.field__control:focus-within .field__input--error,.field__control:focus-within .field__textarea--error{border-color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error), var(--shadow-xs)}.field__control--icon .field__input{padding-left:34px}.field__control--help .field__input{padding-right:36px}@media (pointer:coarse){.field__control--help .field__input{padding-right:48px}}.field__icon{color:var(--color-text-secondary);pointer-events:none;display:inline-flex;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.field__input{background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);color:var(--color-text);outline:none;transition:border-color .1s linear,box-shadow .1s linear}.field__input::placeholder{color:var(--color-text-secondary)}.field__input:hover:not(:disabled):not(:focus){border-color:var(--color-border-control-hover)}.field__input:focus{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary), var(--shadow-xs);outline:none}.field__input:disabled{background:var(--color-surface-alt);color:var(--color-text-secondary);cursor:not-allowed;box-shadow:none}.field__input{width:100%;height:var(--control-height);font-family:inherit;font-size:var(--text-md);padding:0 10px}@media (pointer:coarse){.field__input{font-size:var(--text-lg)}}.field__input--compact{height:var(--control-height-sm);font-size:var(--text-sm)}@media (pointer:coarse){.field__input--compact{font-size:var(--text-lg)}}.field__input--error{border-color:var(--color-error)}.field__input--error:focus{border-color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error), var(--shadow-xs)}.field__textarea{background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);color:var(--color-text);outline:none;transition:border-color .1s linear,box-shadow .1s linear}.field__textarea::placeholder{color:var(--color-text-secondary)}.field__textarea:hover:not(:disabled):not(:focus){border-color:var(--color-border-control-hover)}.field__textarea:focus{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary), var(--shadow-xs);outline:none}.field__textarea:disabled{background:var(--color-surface-alt);color:var(--color-text-secondary);cursor:not-allowed;box-shadow:none}.field__textarea{width:var(--field-w,100%);min-height:72px;padding:var(--space-8) 10px;font-family:inherit;font-size:var(--text-md);resize:vertical;line-height:1.5}@media (pointer:coarse){.field__textarea{font-size:var(--text-lg)}}.field__hint{font-size:var(--text-xs);color:var(--color-text-secondary)}.field__error{align-items:flex-start;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-error-text);display:flex}.field__error svg{flex:none;margin-top:1px}.field--w-xs{--field-w:calc(4ch + 22px)}.field--w-sm{--field-w:calc(10ch + 22px)}.field--w-md{--field-w:calc(18ch + 22px)}.field--w-lg{--field-w:calc(30ch + 22px)}.field-stack{gap:var(--space-16);flex-direction:column;min-width:0;display:flex}.field-stack--page{gap:var(--space-24)}.field-stack__group-heading{font-size:var(--text-md);font-weight:var(--weight-title);color:var(--color-text);margin-top:var(--space-16)}.field-stack__group-heading:first-child{margin-top:0}.field-stack__actions{align-items:center;gap:var(--space-8);margin-top:var(--space-16);display:flex}.field-stack--page .field-stack__actions{margin-top:var(--space-32)}.field-row{align-items:flex-end;gap:var(--space-16);flex-wrap:wrap;display:flex}.field-row>.field{width:var(--field-w,auto);flex:0 auto}.text-button{border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-control);color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;display:inline}@media (pointer:coarse){.text-button{align-items:center;min-height:44px;display:inline-flex}}.text-button:hover:not(:disabled){text-decoration:underline}.text-button:focus{outline:none}.text-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.text-button:disabled{opacity:.5;cursor:not-allowed}.date-picker__input{padding-right:36px}@media (pointer:coarse){.date-picker__input{padding-right:48px}}.date-picker__toggle{vertical-align:middle;border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.date-picker__toggle:focus{outline:none}.date-picker__toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (hover:hover) and (pointer:fine){.date-picker__toggle:hover:not(:disabled){color:var(--color-primary)}}.date-picker__toggle:disabled{cursor:not-allowed;opacity:.5}@media (pointer:coarse){.date-picker__toggle{width:44px;height:44px;right:2px}}.date-picker__panel{z-index:100;padding:var(--space-12);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);max-width:calc(100vw - 32px);position:absolute;top:calc(100% + 4px);left:0}.date-picker__panel--above{top:auto;bottom:calc(100% + 4px)}.date-picker__panel--end{left:auto;right:0}.date-picker__panel--floating{position:fixed;inset:auto}.date-picker__header{justify-content:space-between;align-items:center;gap:var(--space-8);margin-bottom:var(--space-8);display:flex}.date-picker__caption{font-size:var(--text-md);font-weight:var(--weight-title);color:var(--color-text);text-align:center;flex:1}.date-picker__page{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex}.date-picker__page:focus{outline:none}.date-picker__page:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (hover:hover) and (pointer:fine){.date-picker__page:hover{color:var(--color-text);background:var(--color-hover)}}@media (pointer:coarse){.date-picker__page{width:44px;height:44px}}.date-picker__grid{border-collapse:collapse}.date-picker__grid th{font-size:var(--text-2xs);font-weight:var(--weight-control);color:var(--color-text-secondary);padding-bottom:var(--space-4)}.date-picker__grid td{padding:0}.date-picker__day{border-radius:var(--radius-sm);width:32px;height:32px;font:inherit;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background-color .1s,color .1s;display:flex}.date-picker__day:focus{outline:none}.date-picker__day:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (hover:hover) and (pointer:fine){.date-picker__day:hover:not([aria-disabled=true]){background:var(--color-hover)}}@media (pointer:coarse){.date-picker__day{width:44px;height:44px;font-size:var(--text-md)}}.date-picker__day--outside{color:var(--color-text-secondary);opacity:.6}.date-picker__day--today{border:1px solid var(--color-primary);background:var(--color-primary-tint-subtle)}.date-picker__day--selected{background:var(--color-primary);color:#fff;font-weight:var(--weight-control)}@media (hover:hover) and (pointer:fine){.date-picker__day--selected:hover{background:var(--color-primary-hover)}}.date-picker__day[aria-disabled=true]{color:var(--color-text-secondary);opacity:.4;cursor:not-allowed}.date-picker__footer{justify-content:space-between;align-items:center;gap:var(--space-8);margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border);display:flex}.field--w-sm:has(.date-picker__input){--field-w:calc(13ch + 22px)}@media (pointer:coarse){.field--w-sm:has(.date-picker__input){--field-w:calc(13ch + 60px)}}.switch:focus{outline:none}.switch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:11px}.switch{cursor:pointer;vertical-align:middle;background:0 0;border:none;align-items:center;padding:2px;display:inline-flex;position:relative}.switch:after{content:"";width:100%;min-width:24px;height:100%;min-height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (pointer:coarse){.switch{justify-content:center;min-width:44px;min-height:44px}}.switch:disabled{cursor:default;opacity:.5}.switch__track{background:var(--color-border);border-radius:9px;width:32px;height:18px;transition:background-color .2s;display:block;position:relative}.switch--on .switch__track{background:var(--color-primary)}.switch__thumb{width:14px;height:14px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .2s;display:block;position:absolute;top:2px;left:2px}.switch--on .switch__thumb{transform:translate(14px)}.field-help{justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}@media (pointer:coarse){.field-help{width:44px;height:44px}}.field-help{border-radius:var(--radius-sm);color:var(--color-text-secondary);background:0 0;border:none;padding:0;transition:color .15s}.field-help:hover{color:var(--color-primary)}.field-help:focus{outline:none}.field-help:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;color:var(--color-primary)}.progress{width:100%;display:block}.progress__track{--progress-height:6px;height:var(--progress-height);background:var(--progress-track,var(--color-surface-alt));border-radius:999px;width:100%;display:flex;position:relative;overflow:hidden}.progress--md .progress__track{--progress-height:8px}.progress--lg .progress__track{--progress-height:12px}.progress__fill{inset-block:0;width:var(--progress-value,0%);border-radius:inherit;background:var(--progress-ink,var(--color-primary));transition:width .3s;position:absolute;left:0}.progress__fill--secondary{left:var(--progress-value,0%);width:var(--progress-secondary,0%);background:var(--progress-ink-secondary,var(--color-primary-tint))}.progress__track--cells{background:0 0;overflow:visible}.progress__cell{background:var(--progress-track,var(--color-surface-alt));border-radius:2px;flex:1}.progress__cell+.progress__cell{margin-left:3px}.progress__cell--on{background:var(--progress-ink,var(--color-primary))}.progress__marker{top:-3px;bottom:-3px;left:var(--progress-marker,100%);background:var(--color-text-secondary);border-radius:1px;width:2px;position:absolute}.progress__shuttle{border-radius:inherit;background:var(--progress-ink,var(--color-primary));width:38%;animation:1.5s ease-in-out infinite progress-sweep;position:absolute;inset-block:0}@keyframes progress-sweep{0%{left:-38%}to{left:100%}}.progress--warning .progress__track{--progress-ink:var(--color-warning-fill)}.progress--error .progress__track{--progress-ink:var(--color-error-fill)}.progress__label{justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-8);font-size:var(--text-sm);display:flex}.progress__label-text{color:var(--color-text-secondary);min-width:0}.progress__label-value{font-variant-numeric:tabular-nums;font-weight:var(--weight-control);color:var(--color-text-secondary);flex:none}.progress--warning .progress__label-text,.progress--warning .progress__label-value{color:var(--color-warning-text);font-weight:var(--weight-control)}.progress--error .progress__label-text,.progress--error .progress__label-value{color:var(--color-error-text);font-weight:var(--weight-control)}.emblem{border-radius:var(--emblem-radius);color:#fff;vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.emblem--sm{--emblem-radius:var(--radius-sm);width:20px;height:20px}.emblem--sm svg{width:12px;height:12px}.emblem--md{--emblem-radius:var(--radius-md);width:40px;height:40px}.emblem--md svg{width:20px;height:20px}.emblem--lg{--emblem-radius:var(--radius-lg);width:48px;height:48px}.emblem--lg svg{width:24px;height:24px}.emblem--empty{background-color:var(--color-border);color:var(--color-text-secondary)}:where(button,a):hover .emblem--empty{background-color:var(--color-primary);color:#fff}.chip{height:24px;padding:0 var(--space-8);background:var(--color-surface-alt);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-control);color:var(--color-text);vertical-align:middle;align-items:center;gap:6px;display:inline-flex}.chip--filled.chip--primary{background:var(--color-primary-tint)}.chip--filled.chip--success{background:var(--color-success-tint)}.chip--filled.chip--warning{background:var(--color-warning-tint)}.chip--filled.chip--error{background:var(--color-error-tint)}.chip--filled.chip--custom{background:color-mix(in srgb, var(--chip-colour) 12%, transparent)}.chip__label{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.chip__remove{position:relative}.chip__remove:after{content:"";width:100%;min-width:24px;height:100%;min-height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chip__remove{border-radius:var(--radius-sm);width:16px;height:16px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-right:-4px;padding:0;display:inline-flex}.chip__remove:hover{color:var(--color-text);background:var(--color-hover)}.chip__remove:focus{outline:none}.chip__remove:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;color:var(--color-text)}
