.ui-icon-btn{border-radius:var(--app-radius-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.ui-icon-btn:disabled{opacity:.4;cursor:not-allowed}.ui-icon-btn__icon{display:inline-flex}.ui-icon-btn--xs{width:24px;height:24px;font-size:var(--text-sm)}.ui-icon-btn--sm{width:var(--control-sm);height:var(--control-sm);font-size:var(--text-base)}.ui-icon-btn--md{width:var(--control-md);height:var(--control-md);font-size:var(--text-lg)}.ui-icon-btn--ghost{color:var(--app-text-muted);border:none}.ui-icon-btn--ghost:hover:not(:disabled){background:var(--app-surface-raised);color:var(--app-text)}.ui-icon-btn--secondary{border:1px solid var(--app-border-subtle);color:var(--app-text-muted)}.ui-icon-btn--secondary:hover:not(:disabled){border-color:var(--app-border-strong);background:var(--app-surface-raised);color:var(--app-text)}.ui-icon-btn--danger{border:1px solid var(--app-border-subtle);color:var(--app-text-muted)}.ui-icon-btn--danger:hover:not(:disabled){border-color:color-mix(in srgb, var(--app-error) 60%, transparent);background:var(--app-error-surface);color:var(--app-error)}@media (width<=768px),(pointer:coarse){.ui-icon-btn{position:relative}.ui-icon-btn:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}@media (width<=768px){.ui-icon-btn--secondary,.ui-icon-btn--danger{border-color:#0000}}.ui-modal{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);background:var(--app-surface-strong);color:var(--app-text);box-shadow:var(--app-shadow-soft);max-height:90vh;padding:0}.ui-modal[open]{animation:ui-modal-in var(--transition-slow) backwards;flex-direction:column;display:flex}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:none}}.ui-modal--sm{width:min(420px,100vw - 32px)}.ui-modal--md{width:min(540px,100vw - 32px)}.ui-modal--lg{width:min(720px,100vw - 32px)}.ui-modal--xl{width:min(960px,100vw - 32px)}.ui-modal--full{width:min(1200px,100vw - 32px)}.ui-modal::backdrop{background:var(--app-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ui-modal__inner{flex-direction:column;flex:auto;min-height:0;display:flex}.ui-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--app-border-subtle);flex-shrink:0;display:flex}.ui-modal__header-text{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.ui-modal__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--app-text);letter-spacing:-.01em;border-radius:var(--app-radius-sm);margin:0;line-height:1.3}.ui-modal__description{font-size:var(--text-xs);color:var(--app-text-muted);margin:0;line-height:1.5}.ui-modal__body{padding:var(--space-5);flex:1;overflow-y:auto}.ui-modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--app-border-subtle);flex-shrink:0;display:flex}.ui-modal-btn{align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border-radius:var(--app-radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);display:inline-flex}.ui-modal-btn:disabled{opacity:.55;cursor:not-allowed}.ui-modal-btn--secondary{border:1px solid var(--app-border-subtle);color:var(--app-text-muted);background:0 0}.ui-modal-btn--secondary:hover:not(:disabled){background:var(--app-surface-raised);border-color:var(--app-border-strong);color:var(--app-text)}.ui-modal-btn--primary{background:var(--app-accent);color:var(--app-accent-ink);border:1px solid #0000}.ui-modal-btn--primary:hover:not(:disabled){background:var(--app-accent-strong)}.ui-modal-btn--danger{border:1px solid color-mix(in srgb, var(--app-error) 60%, transparent);color:var(--app-error);background:0 0}.ui-modal-btn--danger:hover:not(:disabled){background:var(--app-error-surface)}@media (width<=768px),(pointer:coarse){.ui-modal-btn{position:relative}.ui-modal-btn:after{content:"";height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}}.ui-input,.ui-select__trigger,.ui-textarea{align-items:center;gap:var(--space-2);min-height:var(--control-md);width:100%;padding:0 var(--space-3);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text);font-size:var(--text-sm);transition:border-color var(--app-transition), box-shadow var(--app-transition), background-color var(--app-transition);font-family:inherit;line-height:1.4;display:flex}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--app-text-muted)}.ui-input:hover:not(:disabled),.ui-select__trigger:hover:not(:disabled),.ui-textarea:hover:not(:disabled){border-color:var(--app-border-strong)}.ui-input:focus-visible,.ui-select__trigger:focus-visible,.ui-textarea:focus-visible{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-dim);outline:none}.ui-input:disabled,.ui-select__trigger:disabled,.ui-textarea:disabled{opacity:.55;cursor:not-allowed}.ui-input[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--app-error)}.ui-input[aria-invalid=true]:focus-visible,.ui-textarea[aria-invalid=true]:focus-visible{border-color:var(--app-error);box-shadow:0 0 0 3px var(--app-error-surface)}.ui-input--mono{font-family:var(--font-mono);font-size:var(--text-xs)}.ui-textarea{min-height:80px;padding-top:var(--space-2);padding-bottom:var(--space-2);resize:vertical;align-items:flex-start}.ui-select{width:100%;position:relative}.ui-select__trigger{cursor:pointer;text-align:left;justify-content:space-between}.ui-select__trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ui-select__trigger-label--placeholder{color:var(--app-text-muted)}.ui-select__chevron{color:var(--app-text-muted);transition:transform var(--app-transition);flex-shrink:0}.ui-select__trigger[aria-expanded=true] .ui-select__chevron{transform:rotate(180deg)}.ui-select__panel{z-index:var(--z-popover);padding:var(--space-1);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface-strong);min-width:160px;max-height:280px;color:var(--app-text);box-shadow:var(--app-shadow-soft);margin:0;list-style:none;position:fixed;overflow-y:auto}.ui-select__option{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--app-radius-sm);color:var(--app-text);text-align:left;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--app-transition);background:0 0;border:none;font-family:inherit;display:block}.ui-select__option:hover,.ui-select__option--focused{background:var(--app-surface-raised)}.ui-select__option--selected{color:var(--app-accent);background:var(--app-accent-dim)}.ui-select__option--disabled{opacity:.5;cursor:not-allowed}.ui-select__scrim{z-index:var(--z-popover-scrim);cursor:default;background:0 0;border:none;position:fixed;inset:0}@media (width<=768px),(pointer:coarse){.ui-select__option{align-items:center;min-height:44px;display:flex}.ui-select__trigger{min-height:44px}}.inline-error{color:var(--app-error);font-size:var(--text-xs);margin:0}.inline-error--banner{align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2);border-radius:var(--app-radius-sm);background:var(--app-danger-surface);display:flex}.inline-error__icon{flex:none;width:1em;height:1em}.inline-error__message{flex:auto}.inline-error__retry{height:var(--control-sm);padding:0 var(--space-3);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);color:var(--app-text);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;flex:none;font-family:inherit}.inline-error__retry:hover:not(:disabled){border-color:var(--app-border-strong);background:var(--app-surface-raised)}.inline-error__retry:disabled{cursor:not-allowed;opacity:.6}.inline-error__retry-icon{width:1em;height:1em}@media (width<=768px),(pointer:coarse){.inline-error__retry{position:relative}.inline-error__retry:after{content:"";height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}}.ui-empty-state{text-align:center;flex-direction:column;align-items:center;display:flex}.ui-empty-state--main{justify-content:center;gap:var(--space-4);padding:var(--space-10) var(--space-7);min-height:320px}.ui-empty-state--main .ui-empty-state__icon-wrap{border-radius:var(--app-radius-lg);border:1px solid var(--app-border-subtle);background:var(--app-surface);width:64px;height:64px;box-shadow:var(--app-shadow-card);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.ui-empty-state--main .ui-empty-state__icon{font-size:var(--text-2xl);color:var(--app-accent)}.ui-empty-state--main .ui-empty-state__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-medium);color:var(--app-text);letter-spacing:-.01em;margin:0}.ui-empty-state--main .ui-empty-state__description{font-size:var(--text-sm);color:var(--app-text-muted);max-width:360px;margin:0;line-height:1.6}.ui-empty-state--sidebar{justify-content:flex-start;gap:var(--space-3);padding:var(--space-6) var(--space-4)}.ui-empty-state--sidebar .ui-empty-state__icon-wrap{border-radius:var(--app-radius-md);border:1px solid var(--app-border-subtle);background:var(--app-surface-raised);justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ui-empty-state--sidebar .ui-empty-state__icon{font-size:var(--text-sm);color:var(--app-accent)}.ui-empty-state--sidebar .ui-empty-state__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--app-text);margin:0}.ui-empty-state--sidebar .ui-empty-state__description{font-size:var(--text-xs);color:var(--app-text-muted);margin:0;line-height:1.55}.ui-empty-state__actions{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-empty-state__cta{align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition);border:1px solid #0000;font-family:inherit;display:inline-flex}.ui-empty-state__cta:hover:not(:disabled){background:var(--app-accent-strong)}.ui-empty-state__cta:disabled{cursor:not-allowed;opacity:.7}.ui-empty-state__secondary-cta{align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);color:var(--app-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;font-family:inherit;display:inline-flex}.ui-empty-state__secondary-cta:hover:not(:disabled){border-color:var(--app-border-strong);background:var(--app-surface-raised);color:var(--app-text)}.ui-empty-state__secondary-cta:disabled{cursor:not-allowed;opacity:.7}.ui-empty-state--sidebar .ui-empty-state__cta,.ui-empty-state--sidebar .ui-empty-state__secondary-cta{height:var(--control-sm);font-size:var(--text-xs);padding:0 var(--space-3)}.ui-empty-state__cta-icon{font-size:.8em}.ui-empty-state__cta-icon svg{width:1em;height:1em;display:block}.ui-empty-state--error .ui-empty-state__icon-wrap{background:color-mix(in srgb, var(--app-error) 16%, var(--app-surface));border-color:color-mix(in srgb, var(--app-error) 30%, transparent)}.ui-empty-state--error .ui-empty-state__icon{color:var(--app-error)}.ui-empty-state__icon svg{width:1em;height:1em;display:block}@media (width<=768px),(pointer:coarse){.ui-empty-state__cta,.ui-empty-state__secondary-cta{min-height:44px}}.ui-spinner{border:2px solid var(--app-border-subtle);border-top-color:var(--app-accent);animation:ui-spinner-spin var(--app-spin-duration) linear infinite;border-radius:50%;flex-shrink:0;display:block}@keyframes ui-spinner-spin{to{transform:rotate(360deg)}}.ui-spinner--sm{width:14px;height:14px}.ui-spinner--md{width:16px;height:16px}.ui-spinner--lg{border-width:3px;width:20px;height:20px}.ui-spinner--xl{border-width:3px;width:24px;height:24px}.ui-spinner--2xl{border-width:3px;width:32px;height:32px}.page-shell{gap:var(--space-7);padding:var(--space-5) var(--space-6);flex-direction:column;min-height:100%;display:flex}.ui-page-status--loading{padding:var(--space-7) 0;justify-content:center;align-items:center;display:flex}.ui-page-status--section-loading,.ui-page-status--section-error{font-size:var(--text-sm);color:var(--app-text-muted);margin:0}.ui-page-status--section-error{color:var(--app-error)}.ui-page-status__section-retry{margin-left:var(--space-2);color:inherit;font:inherit;font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.ui-page-status__section-retry:disabled{opacity:.6;cursor:not-allowed}
