.pr-btn{font-family:var(--font-ui);border-radius:var(--radius-ds);cursor:pointer;white-space:nowrap;transition:background var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:500;line-height:1;display:inline-flex}.pr-btn--md{height:38px;padding:0 16px;font-size:14px}.pr-btn--sm{height:30px;padding:0 12px;font-size:13px}.pr-btn:disabled{opacity:.45;cursor:not-allowed}.pr-btn svg{flex:none;width:16px;height:16px}.pr-btn--primary{background:var(--color-accent);color:var(--color-on-accent)}.pr-btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.pr-btn--primary:active:not(:disabled){background:var(--color-accent-active)}.pr-btn--secondary{background:var(--color-surface-1);color:var(--color-text-1)}.pr-btn--secondary:hover:not(:disabled){background:var(--color-line)}.pr-btn--secondary:active:not(:disabled){background:var(--color-line-strong)}.pr-btn--ghost{color:var(--color-text-2);background:0 0}.pr-btn--ghost:hover:not(:disabled){background:var(--color-surface-1);color:var(--color-text-1)}.pr-btn--ghost:active:not(:disabled){background:var(--color-surface-0)}.pr-btn--danger{background:var(--color-danger);color:var(--color-on-accent)}.pr-btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 86%, #000)}.pr-btn--danger:active:not(:disabled){background:color-mix(in srgb, var(--color-danger) 74%, #000)}.pr-btn--success{background:var(--color-success);color:var(--color-on-accent)}.pr-btn--success:hover:not(:disabled){background:var(--color-success-fg)}.pr-btn--success:active:not(:disabled){background:color-mix(in srgb, var(--color-success) 60%, var(--color-success-fg))}.pr-btn--danger-outline{color:var(--color-danger);border-color:var(--color-danger);background:0 0}.pr-btn--danger-outline:hover:not(:disabled){background:var(--color-danger-weak)}.pr-btn--danger-outline:active:not(:disabled){background:color-mix(in srgb, var(--color-danger-weak) 70%, var(--color-danger))}.pr-field{font-family:var(--font-ui);flex-direction:column;gap:6px;display:flex}.pr-field__label{color:var(--color-text-2);font-size:12.5px;font-weight:500}.pr-field__req{color:var(--color-danger);margin-left:2px}.pr-input{height:38px;font-family:var(--font-ui);color:var(--color-text-1);background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-ds);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);width:100%;padding:0 12px;font-size:14px}.pr-input::placeholder{color:var(--color-text-3)}.pr-input:hover:not(:disabled){border-color:var(--color-text-3)}.pr-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 18%, transparent);outline:none}.pr-input:disabled{background:var(--color-surface-1);color:var(--color-text-3);cursor:not-allowed}.pr-input--num{font-family:var(--font-mono-ds);font-variant-numeric:tabular-nums;text-align:right}.pr-field--err .pr-input{border-color:var(--color-danger)}.pr-field--err .pr-input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-danger) 18%, transparent)}.pr-field__msg{color:var(--color-text-3);align-items:center;gap:5px;font-size:12px;display:flex}.pr-field__msg--err{color:var(--color-danger-fg)}.pr-field__msg svg{flex:none;width:13px;height:13px}.pr-modal__overlay{z-index:1000;animation:pr-modal-fade var(--duration-slow) var(--ease-out-ds);background:#0b0e1375;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.pr-modal{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-ds-lg);box-shadow:var(--elevation-2);width:100%;max-width:440px;font-family:var(--font-ui);animation:pr-modal-pop var(--duration-slow) var(--ease-out-ds);padding:22px 22px 18px}.pr-modal:focus{outline:none}.pr-modal__title{font-family:var(--font-display-ds);color:var(--color-text-1);font-size:18px;font-weight:600}.pr-modal__msg{color:var(--color-text-2);margin-top:8px;font-size:13.5px;line-height:1.5}.pr-modal__actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}@keyframes pr-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes pr-modal-pop{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pr-modal__overlay,.pr-modal{animation:none}}
