.ui-empty-state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12)var(--space-8);text-align:center;border-radius:var(--radius-xl);background:var(--card);border:1.5px dashed var(--border);transition:all var(--duration-normal)var(--ease-default);flex-direction:column;display:flex}.ui-empty-state:hover{border-color:var(--primary);background:var(--hover-bg)}.ui-empty-state--compact{padding:var(--space-8)var(--space-6);gap:var(--space-2);background:0 0;border:none}.ui-empty-state--compact:hover{background:0 0}.ui-empty-state__icon{border-radius:var(--radius-xl);background:var(--muted);width:4rem;height:4rem;color:var(--text-muted);transition:all var(--duration-normal)var(--ease-default);justify-content:center;align-items:center;display:flex}.ui-empty-state--compact .ui-empty-state__icon{border-radius:var(--radius-lg);width:3rem;height:3rem}.ui-empty-state:hover .ui-empty-state__icon{background:var(--primary-light);color:var(--primary);transform:scale(1.05)}.ui-empty-state__title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary);letter-spacing:-.01em;margin:0}.ui-empty-state--compact .ui-empty-state__title{font-size:var(--text-base)}.ui-empty-state__description{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal);max-width:28rem;margin:0}.ui-empty-state__actions{align-items:center;gap:var(--space-2);margin-top:var(--space-2);display:flex}[data-theme=dark] .ui-empty-state{background:var(--surface-1);border-color:var(--border)}[data-theme=dark] .ui-empty-state:hover{background:var(--hover-bg);border-color:var(--primary)}[data-theme=dark] .ui-empty-state__icon{background:var(--surface-2);color:var(--text-muted)}[data-theme=dark] .ui-empty-state:hover .ui-empty-state__icon{background:var(--primary-light);color:var(--primary)}[data-theme=dark] .ui-empty-state__title{color:var(--text-primary)}[data-theme=dark] .ui-empty-state__description{color:var(--text-muted)}[data-theme=blue] .ui-empty-state{background:var(--card);border-color:var(--border)}[data-theme=blue] .ui-empty-state:hover{border-color:var(--primary);background:var(--hover-bg)}[data-theme=blue] .ui-empty-state__icon{background:var(--primary-light);color:var(--text-muted)}[data-theme=blue] .ui-empty-state:hover .ui-empty-state__icon{background:var(--primary-soft);color:var(--primary)}[data-theme=blue] .ui-empty-state__title{color:var(--text-primary)}
.ui-spinner{justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;display:inline-flex}.ui-spinner__icon{color:var(--primary);animation:.8s linear infinite spin}.ui-spinner--sm .ui-spinner__icon{color:var(--text-muted)}.ui-spinner__label{font-size:var(--text-sm);color:var(--text-muted);font-weight:var(--weight-medium);letter-spacing:-.01em}.ui-spinner--sm .ui-spinner__label{font-size:var(--text-xs)}.ui-spinner--lg .ui-spinner__label{font-size:var(--text-base)}.ui-spinner__fullpage{justify-content:center;align-items:center;width:100%;min-height:50vh;display:flex}[data-theme=dark] .ui-spinner__icon{color:var(--primary)}[data-theme=dark] .ui-spinner--sm .ui-spinner__icon,[data-theme=dark] .ui-spinner__label{color:var(--text-muted)}[data-theme=blue] .ui-spinner__icon{color:var(--primary)}[data-theme=blue] .ui-spinner__label{color:var(--text-muted)}
.ui-page-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5)0;flex-wrap:wrap;display:flex}.ui-page-header__left{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.ui-page-header__back{border-radius:var(--radius-lg);border:1.5px solid var(--border);background:var(--card);width:2.5rem;height:2.5rem;color:var(--text-primary);cursor:pointer;transition:all var(--duration-fast)var(--ease-default);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ui-page-header__back:hover{background:var(--hover-bg);border-color:var(--primary);color:var(--primary);transform:translate(-2px)}.ui-page-header__titles{min-width:0}.ui-page-header__title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);margin:0}.ui-page-header__subtitle{margin:var(--space-0-5)0 0 0;font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal)}.ui-page-header__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}@media (max-width:640px){.ui-page-header{padding:var(--space-4)0}.ui-page-header__title{font-size:var(--text-lg)}.ui-page-header__back{width:2.25rem;height:2.25rem}.ui-page-header__actions{justify-content:flex-end;width:100%}}[data-theme=dark] .ui-page-header__back{background:var(--card);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .ui-page-header__back:hover{background:var(--hover-bg);border-color:var(--primary);color:var(--primary)}[data-theme=dark] .ui-page-header__title{color:var(--text-primary)}[data-theme=dark] .ui-page-header__subtitle{color:var(--text-muted)}[data-theme=blue] .ui-page-header__back{background:var(--card);border-color:var(--border);color:var(--text-primary)}[data-theme=blue] .ui-page-header__back:hover{background:var(--hover-bg);border-color:var(--primary);color:var(--primary)}[data-theme=blue] .ui-page-header__title{color:var(--text-primary)}[data-theme=blue] .ui-page-header__subtitle{color:var(--text-muted)}
.ui-confirm-overlay{z-index:var(--z-popover,9999);background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--duration-fast)var(--ease-default);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-confirm{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-8)var(--space-7)var(--space-6);background:var(--card);border-radius:var(--radius-2xl);width:100%;max-width:24rem;box-shadow:var(--shadow-xl);animation:scaleIn var(--duration-normal)var(--ease-default);flex-direction:column;display:flex}.ui-confirm__icon-circle{width:3.5rem;height:3.5rem;margin-bottom:var(--space-1);border-radius:50%;justify-content:center;align-items:center;display:flex}.ui-confirm__icon-circle--danger{background:var(--danger-light);color:var(--danger)}.ui-confirm__icon-circle--warning{background:var(--warning-light);color:var(--warning)}.ui-confirm__icon-circle--info{background:var(--primary-light);color:var(--primary)}.ui-confirm__title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight);margin:0}.ui-confirm__description{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal);max-width:20rem;margin:0}.ui-confirm__actions{align-items:center;gap:var(--space-2);width:100%;margin-top:var(--space-2);display:flex}.ui-confirm__btn{justify-content:center;align-items:center;gap:var(--space-1-5);padding:var(--space-2-5)var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--duration-fast)var(--ease-default);border:none;flex:1;display:inline-flex}.ui-confirm__btn:disabled{opacity:.6;cursor:not-allowed}.ui-confirm__btn--cancel{background:var(--muted);color:var(--text-primary)}.ui-confirm__btn--cancel:hover:not(:disabled){background:var(--border)}.ui-confirm__btn--danger{background:var(--danger);color:var(--danger-fg)}.ui-confirm__btn--danger:hover:not(:disabled){background:var(--danger-hover)}.ui-confirm__btn--warning{background:var(--warning);color:var(--warning-fg)}.ui-confirm__btn--warning:hover:not(:disabled){background:var(--warning-hover)}.ui-confirm__btn--info{background:var(--primary);color:var(--primary-fg)}.ui-confirm__btn--info:hover:not(:disabled){background:var(--primary-hover)}.ui-confirm__btn-spinner{animation:.8s linear infinite spin}@media (max-width:768px){.ui-confirm-overlay{align-items:flex-end;padding:0}.ui-confirm{border-radius:var(--bottom-sheet-radius)var(--bottom-sheet-radius)0 0;max-width:100%;padding:var(--space-2)var(--space-5)calc(var(--space-6) + var(--safe-bottom));animation:slideUpSheet var(--duration-slow)cubic-bezier(.32,.72,0,1)}.ui-confirm:before{content:"";background:var(--border-hover);border-radius:var(--radius-full);width:2rem;height:.25rem;margin:var(--space-2)auto var(--space-4);display:block}.ui-confirm__btn{min-height:var(--touch-target-comfortable);font-size:var(--text-md)}}[data-theme=dark] .ui-confirm{background:var(--surface-1);box-shadow:var(--shadow-xl)}[data-theme=dark] .ui-confirm__title{color:var(--text-primary)}[data-theme=dark] .ui-confirm__icon-circle--danger{background:var(--danger-light)}[data-theme=dark] .ui-confirm__icon-circle--warning{background:var(--warning-light)}[data-theme=dark] .ui-confirm__icon-circle--info{background:var(--primary-light)}[data-theme=dark] .ui-confirm__btn--cancel{background:var(--surface-2);color:var(--text-primary)}[data-theme=dark] .ui-confirm__btn--cancel:hover:not(:disabled){background:var(--surface-3)}[data-theme=blue] .ui-confirm{background:var(--card);box-shadow:var(--shadow-xl)}[data-theme=blue] .ui-confirm__title{color:var(--text-primary)}[data-theme=blue] .ui-confirm__icon-circle--danger{background:var(--danger-light)}[data-theme=blue] .ui-confirm__icon-circle--warning{background:var(--warning-light)}[data-theme=blue] .ui-confirm__icon-circle--info{background:var(--primary-light)}[data-theme=blue] .ui-confirm__btn--cancel{background:var(--surface-2);color:var(--text-primary)}[data-theme=blue] .ui-confirm__btn--cancel:hover:not(:disabled){background:var(--surface-3)}
.ui-badge{align-items:center;gap:var(--space-1);font-weight:var(--weight-semibold);border-radius:var(--radius-full);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;line-height:var(--leading-none);transition:all var(--duration-fast)var(--ease-default);display:inline-flex}.ui-badge--sm{padding:var(--space-1)var(--space-2);font-size:var(--text-2xs)}.ui-badge--md{padding:.3125rem var(--space-2-5);font-size:var(--text-xs)}.ui-badge--filled.ui-badge--success{background:var(--success-soft);color:var(--success)}.ui-badge--filled.ui-badge--warning{background:var(--warning-soft);color:var(--warning-hover)}.ui-badge--filled.ui-badge--danger,.ui-badge--filled.ui-badge--expired{background:var(--danger-soft);color:var(--danger-hover)}.ui-badge--filled.ui-badge--info{background:var(--primary-soft);color:var(--primary-hover)}.ui-badge--filled.ui-badge--pending{background:var(--warning-soft);color:var(--warning-hover)}.ui-badge--filled.ui-badge--neutral{background:var(--muted);color:var(--gray-500)}.ui-badge--outlined.ui-badge--success{color:var(--success);background:0 0;box-shadow:inset 0 0 0 1.5px #86efac}.ui-badge--outlined.ui-badge--warning{color:var(--warning-hover);background:0 0;box-shadow:inset 0 0 0 1.5px #fcd34d}.ui-badge--outlined.ui-badge--danger,.ui-badge--outlined.ui-badge--expired{color:var(--danger-hover);background:0 0;box-shadow:inset 0 0 0 1.5px #fca5a5}.ui-badge--outlined.ui-badge--info{color:var(--primary-hover);box-shadow:inset 0 0 0 1.5px var(--primary-muted);background:0 0}.ui-badge--outlined.ui-badge--pending{color:var(--warning-hover);background:0 0;box-shadow:inset 0 0 0 1.5px #fcd34d}.ui-badge--outlined.ui-badge--neutral{color:var(--gray-500);box-shadow:inset 0 0 0 1.5px var(--gray-300);background:0 0}.ui-badge__icon{flex-shrink:0}[data-theme=dark] .ui-badge--filled.ui-badge--success{background:var(--success-light);color:var(--success)}[data-theme=dark] .ui-badge--filled.ui-badge--warning{background:var(--warning-light);color:var(--warning)}[data-theme=dark] .ui-badge--filled.ui-badge--danger,[data-theme=dark] .ui-badge--filled.ui-badge--expired{background:var(--danger-light);color:var(--danger)}[data-theme=dark] .ui-badge--filled.ui-badge--info{background:var(--primary-light);color:var(--primary)}[data-theme=dark] .ui-badge--filled.ui-badge--pending{background:var(--warning-light);color:var(--warning)}[data-theme=dark] .ui-badge--filled.ui-badge--neutral{color:var(--gray-400);background:#94a3b826}[data-theme=blue] .ui-badge--filled.ui-badge--success{color:#4ade80;background:#22c55e1f}[data-theme=blue] .ui-badge--filled.ui-badge--warning{color:#fbbf24;background:#f59e0b1f}[data-theme=blue] .ui-badge--filled.ui-badge--danger,[data-theme=blue] .ui-badge--filled.ui-badge--expired{color:#f87171;background:#ef44441f}[data-theme=blue] .ui-badge--filled.ui-badge--info{color:#60a5fa;background:#60a5fa1f}[data-theme=blue] .ui-badge--filled.ui-badge--pending{color:#fbbf24;background:#f59e0b1f}[data-theme=blue] .ui-badge--filled.ui-badge--neutral{color:var(--gray-400);background:#94a3b81f}
.ui-form-field{gap:var(--space-1-5);flex-direction:column;display:flex}.ui-form-field__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary);letter-spacing:-.01em}.ui-form-field__required{color:var(--danger);margin-inline-start:var(--space-0-5)}.ui-form-field__input{flex-direction:column;display:flex}.ui-form-field__input>input,.ui-form-field__input>select,.ui-form-field__input>textarea{width:100%;padding:var(--space-2-5)var(--space-3);border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-primary);background:var(--card);transition:border-color var(--duration-fast)var(--ease-default),box-shadow var(--duration-fast)var(--ease-default)}.ui-form-field__input>input:focus,.ui-form-field__input>select:focus,.ui-form-field__input>textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}.ui-form-field__input>input::placeholder,.ui-form-field__input>textarea::placeholder{color:var(--text-muted)}.ui-form-field--error .ui-form-field__input>input,.ui-form-field--error .ui-form-field__input>select,.ui-form-field--error .ui-form-field__input>textarea{border-color:var(--danger)}.ui-form-field--error .ui-form-field__input>input:focus,.ui-form-field--error .ui-form-field__input>select:focus,.ui-form-field--error .ui-form-field__input>textarea:focus{box-shadow:var(--shadow-focus-danger)}.ui-form-field__error{font-size:var(--text-xs);color:var(--danger);font-weight:var(--weight-medium);margin:0}.ui-form-field__hint{font-size:var(--text-xs);color:var(--text-muted);margin:0}[data-theme=dark] .ui-form-field__label{color:var(--text-primary)}[data-theme=dark] .ui-form-field__input>input,[data-theme=dark] .ui-form-field__input>select,[data-theme=dark] .ui-form-field__input>textarea{background:var(--surface-2);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .ui-form-field__input>input:focus,[data-theme=dark] .ui-form-field__input>select:focus,[data-theme=dark] .ui-form-field__input>textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}[data-theme=dark] .ui-form-field__input>input::placeholder,[data-theme=dark] .ui-form-field__input>textarea::placeholder{color:var(--text-muted)}[data-theme=blue] .ui-form-field__label{color:var(--text-primary)}[data-theme=blue] .ui-form-field__input>input,[data-theme=blue] .ui-form-field__input>select,[data-theme=blue] .ui-form-field__input>textarea{background:var(--card);border-color:var(--border);color:var(--text-primary)}[data-theme=blue] .ui-form-field__input>input:focus,[data-theme=blue] .ui-form-field__input>select:focus,[data-theme=blue] .ui-form-field__input>textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}
.ui-error-boundary{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12)var(--space-8);text-align:center;flex-direction:column;min-height:40vh;display:flex}.ui-error-boundary__icon{border-radius:var(--radius-xl);background:var(--danger-light);width:4rem;height:4rem;color:var(--danger);justify-content:center;align-items:center;display:flex}.ui-error-boundary__title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight);margin:0}.ui-error-boundary__message{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal);max-width:24rem;margin:0}.ui-error-boundary__details{margin-top:var(--space-2);text-align:left;width:100%;max-width:36rem}.ui-error-boundary__details summary{cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);padding:var(--space-2)0}.ui-error-boundary__details pre{font-size:var(--text-xs);background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);white-space:pre-wrap;word-break:break-word;color:var(--danger);margin:var(--space-1)0;overflow-x:auto}.ui-error-boundary__actions{margin-top:var(--space-2)}.ui-error-boundary__btn{align-items:center;gap:var(--space-1-5);padding:var(--space-2-5)var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;background:var(--primary);color:var(--primary-fg);transition:all var(--duration-fast)var(--ease-default);border:none;display:inline-flex}.ui-error-boundary__btn:hover{background:var(--primary-hover);transform:translateY(-1px)}[data-theme=dark] .ui-error-boundary__icon{background:var(--danger-light)}[data-theme=dark] .ui-error-boundary__title{color:var(--text-primary)}[data-theme=dark] .ui-error-boundary__details pre{background:var(--surface-1);border-color:var(--border)}[data-theme=blue] .ui-error-boundary__icon{background:var(--danger-light)}[data-theme=blue] .ui-error-boundary__title{color:var(--text-primary)}[data-theme=blue] .ui-error-boundary__details pre{background:var(--surface-1);border-color:var(--border)}
.skip-nav-link{z-index:10000;background-color:var(--primary);color:var(--primary-fg);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transition:top var(--duration-normal)var(--ease-default),opacity var(--duration-normal)var(--ease-default);opacity:0;padding:.75rem 1.5rem;text-decoration:none;position:fixed;top:-100%;left:50%;transform:translate(-50%)}.skip-nav-link:focus{opacity:1;outline:2px solid var(--primary);outline-offset:2px;top:1rem}
