.spinner{border:3px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;flex:none;animation:1.2s linear infinite spinner-turn;display:inline-block}@keyframes spinner-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.btn{--accent:var(--cardio-color-primary-default);--accent-hover:var(--cardio-color-primary-hover);--on-accent:var(--cardio-color-text-on-primary);justify-content:center;align-items:center;gap:var(--cardio-space-2);border:var(--cardio-border-width-default) solid transparent;border-radius:var(--cardio-radius-full);font-weight:var(--cardio-font-weight-bold);white-space:nowrap;cursor:pointer;transition:background-color var(--cardio-duration-fast) var(--cardio-easing-standard), border-color var(--cardio-duration-fast) var(--cardio-easing-standard), color var(--cardio-duration-fast) var(--cardio-easing-standard);line-height:1;text-decoration:none;display:inline-flex}.btn--sm{height:36px;padding:0 14px;font-size:14px}.btn--md{height:44px;padding:0 20px;font-size:15px}.btn--lg{height:56px;padding:0 28px;font-size:18px}.btn--tone-neutral{--accent:var(--cardio-color-text-primary);--accent-hover:var(--cardio-color-text-primary);--on-accent:var(--cardio-color-bg-canvas)}.btn--tone-danger{--accent:var(--cardio-color-error-fg);--accent-hover:var(--cardio-color-error-fg);--on-accent:var(--cardio-color-bg-canvas)}.btn--tone-flag{--accent:var(--cardio-color-flag-fg);--accent-hover:var(--cardio-color-flag-fg);--on-accent:var(--cardio-color-bg-canvas)}.btn--tone-info{--accent:var(--cardio-color-info-fg);--accent-hover:var(--cardio-color-info-fg);--on-accent:var(--cardio-color-bg-canvas)}.btn--solid{background:var(--accent);color:var(--on-accent)}.btn--solid:hover:not(:disabled){background:var(--accent-hover);color:var(--on-accent)}.btn--solid.btn--tone-primary:active:not(:disabled){background:var(--cardio-color-primary-pressed)}.btn--solid:not(.btn--tone-primary):hover:not(:disabled){filter:brightness(.92)}.btn--outline{color:var(--accent);border-color:var(--accent);background:0 0}.btn--outline.btn--tone-neutral,.btn--outline.btn--tone-primary{border-color:var(--cardio-color-border-field);background:var(--cardio-color-surface-default)}.btn--outline:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 8%, var(--cardio-color-surface-default));color:var(--accent)}.btn--text{color:var(--accent);background:0 0;padding-inline:12px}.btn--text.btn--tone-primary{color:var(--cardio-color-text-link)}.btn--text:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn[aria-busy=true]{cursor:progress}.btn__hint{font:var(--cardio-type-mono);font-size:12px;font-weight:var(--cardio-font-weight-medium);opacity:.85}.icon-btn{border:var(--cardio-border-width-default) solid transparent;border-radius:var(--cardio-radius-full);color:var(--cardio-color-text-secondary);cursor:pointer;transition:background-color var(--cardio-duration-fast) var(--cardio-easing-standard);background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn--sm{width:36px;height:36px}.icon-btn--md{width:44px;height:44px}.icon-btn--outlined{border-color:var(--cardio-color-border-field);background:var(--cardio-color-surface-default);color:var(--cardio-color-text-primary)}.icon-btn:hover:not(:disabled){background:var(--cardio-color-surface-sunken);color:var(--cardio-color-text-primary)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.toast-viewport{z-index:60;gap:var(--cardio-space-2);outline:none;flex-direction:column;width:min(420px,100vw - 48px);margin:0;padding:0;list-style:none;display:flex;position:fixed;bottom:24px;left:24px}.toast{align-items:center;gap:var(--cardio-space-3);border-radius:var(--cardio-radius-md);background:var(--cardio-color-text-primary);min-height:52px;color:var(--cardio-color-bg-canvas);box-shadow:var(--cardio-elevation-3);padding:10px 8px 10px 16px;display:flex}.toast[data-state=open]{animation:toast-rise var(--cardio-duration-fast) var(--cardio-easing-enter)}.toast[data-state=closed]{animation:toast-fade var(--cardio-duration-fast) var(--cardio-easing-exit) forwards}.toast[data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x))}@keyframes toast-rise{0%{opacity:0;transform:translateY(12px)}}@keyframes toast-fade{to{opacity:0}}.toast__icon{flex:none}.toast__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toast__title{font-weight:var(--cardio-font-weight-bold)}.toast__description{opacity:.9;font-size:14px}.toast__action{border-radius:var(--cardio-radius-full);height:36px;color:inherit;font-weight:var(--cardio-font-weight-bold);cursor:pointer;background:0 0;border:0;flex:none;padding:0 12px;text-decoration:underline}.toast__close{border-radius:var(--cardio-radius-full);width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.toast__action:hover,.toast__close:hover{background:color-mix(in srgb, currentColor 14%, transparent)}.toast :focus-visible{outline-color:currentColor}.logo{align-items:center;gap:10px;display:inline-flex}.mark__card{fill:var(--logo-card)}.mark__row{fill:var(--logo-rows)}.wordmark{font-weight:var(--cardio-font-weight-semibold);letter-spacing:-.02em;color:var(--cardio-color-text-primary);line-height:1}.wordmark__io{font-weight:var(--cardio-font-weight-heavy);color:var(--logo-rows)}.status-pill{border-radius:var(--cardio-radius-full);font-weight:var(--cardio-font-weight-semibold);white-space:nowrap;color:var(--pill-fg);background:var(--pill-bg);align-items:center;gap:6px;display:inline-flex}.status-pill--md{height:28px;padding:0 12px 0 9px;font-size:13px}.status-pill--sm{height:24px;padding:0 10px 0 7px;font-size:12px}.status-pill--waiting{--pill-fg:var(--cardio-color-status-waiting-fg);--pill-bg:var(--cardio-color-status-waiting-bg)}.status-pill--uploading{--pill-fg:var(--cardio-color-status-uploading-fg);--pill-bg:var(--cardio-color-status-uploading-bg)}.status-pill--reading{--pill-fg:var(--cardio-color-status-reading-fg);--pill-bg:var(--cardio-color-status-reading-bg)}.status-pill--to-review{--pill-fg:var(--cardio-color-status-to-review-fg);--pill-bg:var(--cardio-color-status-to-review-bg)}.status-pill--failed{--pill-fg:var(--cardio-color-status-failed-fg);--pill-bg:var(--cardio-color-status-failed-bg)}.status-pill--deletion-requested{--pill-fg:var(--cardio-color-status-deletion-requested-fg);--pill-bg:var(--cardio-color-status-deletion-requested-bg)}.status-pill--in-bin{--pill-fg:var(--cardio-color-status-in-bin-fg);--pill-bg:var(--cardio-color-status-in-bin-bg)}.count-badge{border-radius:var(--cardio-radius-full);min-width:22px;height:20px;font-size:12px;font-weight:var(--cardio-font-weight-semibold);justify-content:center;align-items:center;padding:0 8px;line-height:1;display:inline-flex}.count-badge--strong{background:var(--cardio-color-primary-default);color:var(--cardio-color-text-on-primary)}.count-badge--quiet{color:var(--cardio-color-text-secondary);padding:0 4px}.sidebar{background:var(--cardio-color-surface-default);border-right:var(--cardio-border-width-hairline) solid var(--cardio-color-border-subtle);flex-direction:column;gap:4px;width:232px;height:100%;padding:20px 12px 12px;display:flex}.sidebar--collapsed{align-items:center;width:72px}.sidebar__brand{border-radius:var(--cardio-radius-md);align-items:center;min-height:40px;padding:4px 10px 20px;text-decoration:none;display:flex}.sidebar--collapsed .sidebar__brand{padding:4px 0 20px}.sidebar__items{flex-direction:column;flex:1;gap:4px;width:100%;margin:0;padding:0;list-style:none;display:flex}.sidebar__link{border-radius:var(--cardio-radius-md);height:44px;color:var(--cardio-color-text-secondary);transition:background-color var(--cardio-duration-fast) var(--cardio-easing-standard);align-items:center;gap:12px;padding:0 12px;font-size:15px;text-decoration:none;display:flex}.sidebar--collapsed .sidebar__link{justify-content:center;width:48px;height:48px;margin:0 auto;padding:0}.sidebar__link:hover{background:var(--cardio-color-surface-sunken);color:var(--cardio-color-text-primary)}.sidebar__link.active{background:var(--cardio-color-primary-subtle);color:var(--cardio-color-primary-pressed);font-weight:var(--cardio-font-weight-bold)}.sidebar__icon{flex:none;display:inline-flex;position:relative}.sidebar__label{flex:1;min-width:0}.sidebar__dot{border-radius:var(--cardio-radius-full);background:var(--cardio-color-primary-default);min-width:18px;height:16px;color:var(--cardio-color-text-on-primary);font-size:11px;font-weight:var(--cardio-font-weight-semibold);text-align:center;padding:0 4px;line-height:16px;position:absolute;top:-6px;left:14px}.sidebar__user{border:0;border-top:var(--cardio-border-width-hairline) solid var(--cardio-color-border-subtle);text-align:left;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 12px;display:flex}.sidebar--collapsed .sidebar__user{justify-content:center;padding:10px 0}.sidebar__user:hover{background:var(--cardio-color-surface-sunken)}.sidebar__user-text{flex-direction:column;flex:1;min-width:0;font-size:13px;line-height:18px;display:flex}.sidebar__user-name{font-weight:var(--cardio-font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar__user-role{color:var(--cardio-color-text-tertiary)}.sidebar__user-caret{color:var(--cardio-color-text-secondary)}.avatar{background:var(--cardio-color-primary-subtle);color:var(--cardio-color-primary-pressed);font-size:13px;font-weight:var(--cardio-font-weight-bold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.menu{z-index:40;background:var(--cardio-color-surface-raised);min-width:240px;color:var(--cardio-color-text-primary);border:var(--cardio-border-width-hairline) solid var(--cardio-color-border-default);border-radius:var(--cardio-radius-md);box-shadow:var(--cardio-elevation-2);padding:6px}.menu__header{flex-direction:column;padding:8px 10px;font-size:13px;line-height:18px;display:flex}.menu__name{font-weight:var(--cardio-font-weight-bold)}.menu__email{color:var(--cardio-color-text-secondary)}.menu__separator{background:var(--cardio-color-border-subtle);height:1px;margin:4px 0}.menu__item{border-radius:var(--cardio-radius-sm);height:40px;color:var(--cardio-color-text-primary);cursor:pointer;outline:none;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.menu__item[data-highlighted]{background:var(--cardio-color-primary-subtle);color:var(--cardio-color-text-primary);outline:var(--cardio-border-width-hairline) solid var(--cardio-color-border-focus)}.tooltip{z-index:45;border-radius:var(--cardio-radius-sm);background:var(--cardio-color-text-primary);color:var(--cardio-color-bg-canvas);font-size:13px;font-weight:var(--cardio-font-weight-semibold);box-shadow:var(--cardio-elevation-2);padding:6px 10px}.empty-state{align-items:center;gap:var(--cardio-space-3);max-width:420px;padding:var(--cardio-space-10) var(--cardio-space-6);text-align:center;flex-direction:column;margin:0 auto;display:flex}.empty-state__art{margin-bottom:var(--cardio-space-2)}.empty-state__title{font:var(--cardio-type-title)}.empty-state__body{color:var(--cardio-color-text-secondary)}.empty-state__action{margin-top:var(--cardio-space-2)}.notice{gap:var(--cardio-space-3);border-radius:var(--cardio-radius-lg);background:var(--notice-bg);color:var(--cardio-color-text-primary);align-items:flex-start;padding:14px 16px;display:flex}.notice--info{--notice-bg:var(--cardio-color-info-bg);--notice-fg:var(--cardio-color-info-fg)}.notice--success{--notice-bg:var(--cardio-color-success-bg);--notice-fg:var(--cardio-color-success-fg)}.notice--flag{--notice-bg:var(--cardio-color-flag-bg);--notice-fg:var(--cardio-color-flag-fg)}.notice--error{--notice-bg:var(--cardio-color-error-bg);--notice-fg:var(--cardio-color-error-fg)}.notice__icon{color:var(--notice-fg);flex:none}.notice__text{flex-direction:column;gap:2px;min-width:0;line-height:22px;display:flex}.notice__title{font-weight:var(--cardio-font-weight-bold);color:var(--notice-fg)}.dialog-overlay{z-index:50;animation:dialog-fade var(--cardio-duration-base) var(--cardio-easing-enter);background:#0d111680;position:fixed;inset:0}.dialog-content{z-index:51;width:min(480px,100vw - 32px);max-height:calc(100vh - 32px);animation:dialog-rise var(--cardio-duration-base) var(--cardio-easing-enter);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dialog-content--wide{width:min(600px,100vw - 32px)}.dialog-content:focus{outline:none}@keyframes dialog-fade{0%{opacity:0}}@keyframes dialog-rise{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}}.dialog-card{gap:var(--cardio-space-5);padding:var(--cardio-space-6);background:var(--cardio-color-surface-raised);color:var(--cardio-color-text-primary);border:var(--cardio-border-width-hairline) solid var(--cardio-color-border-subtle);border-radius:var(--cardio-radius-xl);box-shadow:var(--cardio-elevation-3);flex-direction:column;display:flex}.dialog-card__head{gap:var(--cardio-space-3);align-items:flex-start;display:flex}.dialog-card__icon{color:var(--cardio-color-text-link);flex:none;margin-top:2px}.dialog-card--destructive .dialog-card__icon{color:var(--cardio-color-error-fg)}.dialog-card__titles{gap:var(--cardio-space-2);flex-direction:column;min-width:0;display:flex}.dialog-card__title{font:var(--cardio-type-title)}.dialog-card__description{color:var(--cardio-color-text-secondary)}.dialog-card__body{gap:var(--cardio-space-4);flex-direction:column;display:flex}.dialog-card__footer{justify-content:flex-end;gap:var(--cardio-space-3);flex-wrap:wrap;display:flex}.link-box{flex-direction:column;gap:4px;display:flex}.link-box__row{gap:var(--cardio-space-2);display:flex}.link-box__url{min-width:0;height:44px;font:var(--cardio-type-mono);color:var(--cardio-color-text-primary);background:var(--cardio-color-surface-sunken);border:var(--cardio-border-width-default) solid var(--cardio-color-border-field);border-radius:var(--cardio-radius-md);text-overflow:ellipsis;flex:1;padding:0 12px}.link-box__status{min-height:18px;color:var(--cardio-color-success-fg);font-size:13px;line-height:18px;font-weight:var(--cardio-font-weight-semibold)}.link-notes{gap:var(--cardio-space-2);color:var(--cardio-color-text-secondary);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.link-notes li{gap:var(--cardio-space-2);align-items:flex-start;display:flex}.link-notes .icon{flex:none;margin-top:2px}.picker{flex-direction:column;gap:6px;min-width:0;display:flex;position:relative}.picker__search-icon{color:var(--cardio-color-text-secondary);flex:none}.picker__list{z-index:20;background:var(--cardio-color-surface-raised);border:var(--cardio-border-width-hairline) solid var(--cardio-color-border-default);border-radius:var(--cardio-radius-md);max-height:280px;box-shadow:var(--cardio-elevation-2);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.picker:has(>.field__hint) .picker__list{top:calc(100% - 18px)}.picker__option{align-items:center;gap:var(--cardio-space-2);border-radius:var(--cardio-radius-sm);cursor:pointer;min-height:40px;padding:0 10px;display:flex}.picker__option--active{background:var(--cardio-color-primary-subtle);color:var(--cardio-color-text-primary);outline:var(--cardio-border-width-hairline) solid var(--cardio-color-border-focus)}.picker__option--create{font-weight:var(--cardio-font-weight-bold);color:var(--cardio-color-text-link)}.picker__empty{color:var(--cardio-color-text-secondary);padding:10px}.tags-field{gap:var(--cardio-space-2);flex-direction:column;display:flex}.tag-chips{gap:var(--cardio-space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag-chip{border-radius:var(--cardio-radius-full);background:var(--cardio-color-primary-subtle);height:30px;color:var(--cardio-color-text-primary);border:var(--cardio-border-width-hairline) solid var(--cardio-color-border-default);font-size:14px;font-weight:var(--cardio-font-weight-semibold);align-items:center;gap:2px;padding:0 12px;display:inline-flex}.tag-chip--removable{padding-right:4px}.tag-chip__remove{border-radius:var(--cardio-radius-full);width:24px;height:24px;color:var(--cardio-color-text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.tag-chip__remove:hover{background:var(--cardio-color-surface-sunken);color:var(--cardio-color-text-primary)}.event-value{padding-right:4px}.event-value__icon{color:var(--cardio-color-text-link);flex:none}.event-value__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}
