.ui-badge,.ui-banner,.ui-btn,.ui-copy,.ui-empty,.ui-toggle{--prim-on-accent:#12101a;--prim-error:var(--color-error-solid,#ef4444);--prim-success:var(--color-success,#22c55e);--prim-warning:var(--color-warning,#f59e0b)}.ui-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 12px;border-radius:10px;border:1px solid transparent;font:500 13px/18px var(--ui-font,inherit);letter-spacing:-.01em;cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background var(--dur-fast,.15s) var(--ease-out,ease),border-color var(--dur-fast,.15s) var(--ease-out,ease),color var(--dur-fast,.15s) var(--ease-out,ease)}.ui-btn--sm{height:30px;padding:0 10px;font-size:12px;border-radius:8px}.ui-btn:focus-visible{outline:2px solid var(--accent-solid);outline-offset:2px}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}.ui-btn--primary{background:var(--accent-solid);color:var(--prim-on-accent)}.ui-btn--primary:not(:disabled):hover{background:rgba(var(--accent-rgb),.85)}.ui-btn--primary:not(:disabled):active{background:rgba(var(--accent-rgb),.75)}.ui-btn--secondary{background:var(--bg-input);border-color:var(--border-mid);color:var(--text-primary)}.ui-btn--secondary:not(:disabled):hover{background:hsla(37,51%,91%,.09)}.ui-btn--secondary:not(:disabled):active{background:hsla(37,51%,91%,.12)}.ui-btn--ghost{background:transparent;color:var(--text-secondary)}.ui-btn--ghost:not(:disabled):hover{background:var(--bg-input);color:var(--text-primary)}.ui-btn--ghost:not(:disabled):active{background:hsla(37,51%,91%,.09)}.ui-btn--danger{background:var(--prim-error);color:#fff}.ui-btn--danger:not(:disabled):hover{background:#dc2f2f}.ui-btn--danger:not(:disabled):active{background:#c62828}.ui-btn[data-loading=true]{cursor:progress}.ui-btn[data-loading=true] .ui-btn__label{visibility:hidden}.ui-btn__spinner{position:absolute;inset:0;display:grid;place-items:center}.ui-btn__spin{width:14px;height:14px;border-radius:50%;border:2px solid;border-top:2px solid transparent;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.ui-btn__spin{animation-duration:1.4s}}.ui-copy{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast,.15s) var(--ease-out,ease),color var(--dur-fast,.15s) var(--ease-out,ease)}.ui-copy:not(:disabled):hover{background:var(--bg-input);color:var(--text-primary)}.ui-copy:focus-visible{outline:2px solid var(--accent-solid);outline-offset:2px}.ui-copy:disabled{opacity:.4;cursor:not-allowed}.ui-copy[data-copied=true]{color:var(--prim-success)}.ui-copy--label{width:auto;gap:6px;padding:0 10px;height:32px;font:500 12px/1 var(--ui-font,inherit)}.ui-toggle{position:relative;flex:none;width:38px;height:22px;border-radius:999px;border:1px solid var(--border-mid);background:var(--bg-input);cursor:pointer;padding:0;transition:background var(--dur-fast,.15s) var(--ease-out,ease),border-color var(--dur-fast,.15s) var(--ease-out,ease)}.ui-toggle__knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-secondary);transition:transform var(--dur-fast,.15s) var(--ease-out,ease),background var(--dur-fast,.15s) var(--ease-out,ease)}.ui-toggle[data-on=true]{background:var(--accent-solid);border-color:transparent}.ui-toggle[data-on=true] .ui-toggle__knob{transform:translateX(16px);background:var(--prim-on-accent)}.ui-toggle:focus-visible{outline:2px solid var(--accent-solid);outline-offset:2px}.ui-toggle:disabled{opacity:.4;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.ui-toggle__knob{transition:none}}.ui-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font:600 11px/1 var(--ui-font,inherit);border:1px solid transparent;white-space:nowrap}.ui-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.ui-badge--active,.ui-badge--ready{color:var(--prim-success);background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.24)}.ui-badge--scanning{color:var(--prim-warning);background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.24)}.ui-badge--expired,.ui-badge--paused{color:var(--text-muted);background:var(--bg-input);border-color:var(--border-mid)}.ui-badge--blocked,.ui-badge--rejected,.ui-badge--revoked{color:var(--prim-error);background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.24)}.ui-badge--filed{color:rgb(var(--accent-rgb));background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.28)}.ui-badge--limit{color:var(--prim-warning);background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.24)}.ui-badge--neutral{color:var(--text-muted);background:var(--bg-input);border-color:var(--border-mid)}.ui-badge[data-pulse=true] .ui-badge__dot{animation:ui-badge-pulse 1.5s ease-in-out infinite}@keyframes ui-badge-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.ui-badge[data-pulse=true] .ui-badge__dot{animation:none}}.ui-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:32px 24px;color:var(--text-muted)}.ui-empty__icon{color:var(--text-faint);display:grid;place-items:center}.ui-empty__title{font:600 14px/20px var(--ui-font,inherit);color:var(--text-secondary)}.ui-empty__body{font:400 12px/18px var(--ui-font,inherit);color:var(--text-muted);max-width:340px}.ui-empty__action{margin-top:8px}.ui-banner{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid transparent;font:500 12px/18px var(--ui-font,inherit)}.ui-banner__icon{flex:none;margin-top:1px}.ui-banner__body{min-width:0}.ui-banner__action{margin-left:auto;padding-left:8px;flex:none}.ui-banner--error{color:#f7a3a3;background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.26)}.ui-banner--warning{color:#f3c988;background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.26)}.ui-banner--success{color:#a7efc9;background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.26)}.ui-banner--info{color:var(--text-secondary);background:var(--bg-input);border-color:var(--border-mid)}