.ui-button{border-radius:var(--radius-control);cursor:pointer;min-height:48px;color:var(--paper-50);transition:transform .14s var(--ease-out), background-color .16s var(--ease-out), border-color .16s var(--ease-out), opacity .16s var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:600;display:inline-flex}.ui-button:hover:not(:disabled){border-color:var(--border-strong)}.ui-button:active:not(:disabled){transform:scale(.97)}.ui-button:disabled{cursor:not-allowed;opacity:.46}.ui-button--primary{background:var(--cobalt-500)}.ui-button--primary:hover:not(:disabled){background:var(--cobalt-450)}.ui-button--secondary{background:var(--ink-800);border-color:var(--border-default)}.ui-button--ghost{color:var(--paper-200);background:0 0}.ui-button--danger{background:var(--red-bg);color:var(--red-500);border-color:#ff5e683d}.ui-button--full{width:100%}.ui-field{gap:8px;display:grid}.ui-field__label{color:var(--paper-200);font-size:14px;font-weight:500}.ui-field__control{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--control-bg);width:100%;min-height:48px;color:var(--paper-50);transition:border-color .16s var(--ease-out), box-shadow .16s var(--ease-out);padding:12px 14px}.ui-field__control::placeholder{color:var(--paper-550)}.ui-field__control:focus{border-color:var(--cobalt-500);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.ui-field__help,.ui-field__error{font-size:12px;line-height:1.5}.ui-field__help{color:var(--paper-550)}.ui-field__error{color:var(--red-500)}.ui-card{border:1px solid var(--border-soft);border-radius:var(--radius-card);background:var(--ink-850);padding:18px}.ui-card--interactive{transition:transform .15s var(--ease-out), border-color .15s var(--ease-out), background-color .15s var(--ease-out)}.ui-card--interactive:hover{border-color:var(--border-strong);background:var(--ink-800);transform:translateY(-1px)}.ui-badge{border-radius:8px;align-items:center;gap:6px;width:max-content;min-height:26px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.ui-badge--active{color:var(--green-500);background:var(--green-bg)}.ui-badge--pending,.ui-badge--review{color:var(--amber-500);background:var(--amber-bg)}.ui-badge--rejected{color:var(--red-500);background:var(--red-bg)}.ui-badge--info{color:var(--cyan-500);background:var(--cyan-bg)}.ui-badge--neutral{color:var(--paper-200);background:#ffffff0f}.ui-tabs{border-bottom:1px solid var(--border-soft);scrollbar-width:none;gap:20px;display:flex;overflow-x:auto}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{min-height:44px;color:var(--paper-400);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 2px}.ui-tab[aria-selected=true]{border-bottom-color:var(--cobalt-500);color:var(--cobalt-450)}.ui-progress{gap:8px;display:grid}.ui-progress__meta{color:var(--paper-400);justify-content:space-between;gap:16px;font-size:13px;display:flex}.ui-progress__track{background:var(--ink-950);border-radius:999px;width:100%;height:5px;overflow:hidden}.ui-progress__fill{border-radius:inherit;background:var(--cobalt-500);height:100%;transition:transform .22s var(--ease-out);transform-origin:0}.ui-stepper{grid-template-columns:repeat(var(--step-count), minmax(0, 1fr));gap:8px;display:grid}.ui-step{min-width:0;color:var(--paper-550);gap:8px;font-size:11px;display:grid}.ui-step__dot{border:1px solid var(--border-default);background:var(--ink-900);width:28px;height:28px;color:var(--paper-400);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.ui-step--active,.ui-step--complete{color:var(--paper-50)}.ui-step--active .ui-step__dot,.ui-step--complete .ui-step__dot{border-color:var(--cobalt-500);background:var(--cobalt-500);color:var(--paper-50)}.ui-list{border:1px solid var(--border-soft);border-radius:var(--radius-card);background:var(--ink-850);display:grid;overflow:hidden}.ui-row{justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:12px 16px;display:flex}.ui-row+.ui-row{border-top:1px solid var(--border-soft)}.ui-row__label{color:var(--paper-400)}.ui-row__value{color:var(--paper-50);text-align:right}.ui-amount{gap:5px;display:grid}.ui-amount__label,.ui-amount__meta{color:var(--paper-400)}.ui-amount__label{font-size:13px}.ui-amount__value{color:var(--paper-50);letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:clamp(28px,8vw,42px);font-weight:500}.ui-amount__meta{font-size:12px}.ui-modal{border:1px solid var(--border-default);border-radius:var(--radius-panel);background:var(--ink-850);width:min(430px,100% - 32px);color:var(--paper-50);padding:0}.ui-modal::backdrop{background:#000000b8}.ui-modal__content{padding:24px}.ui-toast-viewport{right:16px;bottom:calc(var(--nav-height) + 16px);z-index:50;pointer-events:none;gap:8px;width:min(360px,100vw - 32px);display:grid;position:fixed}.ui-toast{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--ink-800);color:var(--paper-50);pointer-events:auto;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:12px 14px;display:grid}.ui-toast__icon{padding-top:2px;display:inline-flex}.ui-toast--success .ui-toast__icon{color:var(--green-500)}.ui-toast--error{background:var(--red-bg), var(--ink-800);border-color:#ff5e6866}.ui-toast--error .ui-toast__icon{color:var(--red-500)}.ui-toast__close{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px;display:inline-flex}.ui-toast__close:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.ui-bottom-nav{z-index:40;height:var(--nav-height);border-top:1px solid var(--border-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#101319f5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.ui-bottom-nav__link{min-width:0;min-height:48px;color:var(--paper-550);align-content:center;place-items:center;gap:5px;font-size:10px;display:grid}.ui-bottom-nav__link[aria-current=page]{color:var(--cobalt-450)}@media (width>=900px){.ui-toast-viewport{bottom:20px}}
