.ui-btn{--btn-h: 36px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--btn-h);padding:0 18px;border:1px solid transparent;border-radius:var(--r-sm);font-family:var(--font);font-size:13.5px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--dur-2) var(--ease-standard),box-shadow var(--dur-2) var(--ease-standard),background-color var(--dur-2) var(--ease-standard),border-color var(--dur-2) var(--ease-standard),color var(--dur-2) var(--ease-standard)}.ui-btn:active{transform:scale(.98)}.ui-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.ui-btn--sm{--btn-h: 30px;padding:0 14px;font-size:12.5px}.ui-btn--md{--btn-h: 36px}.ui-btn--lg{--btn-h: 44px;padding:0 24px;font-size:15px}.ui-btn--pill{border-radius:var(--r-pill)}.ui-btn--primary{background:var(--blue);color:#fff;box-shadow:0 1px 2px #2563eb59}.ui-btn--primary:hover:not(:disabled){background:var(--blue-hover);transform:translateY(-1px);box-shadow:0 8px 20px #2563eb52}.ui-btn--primary:active:not(:disabled){transform:scale(.98)}.ui-btn--secondary{background:#fff;color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-sm)}.ui-btn--secondary:hover:not(:disabled){border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow)}.ui-btn--ghost{background:transparent;color:var(--text-secondary)}.ui-btn--ghost:hover:not(:disabled){background:var(--fog);color:var(--text-primary)}.ui-btn--danger{background:#fff;color:var(--red);border-color:#fecaca}.ui-btn--danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.ui-btn__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:-6px;border-radius:var(--r-pill);background:#ffffff2e;transition:transform var(--dur-2) var(--ease-standard),background-color var(--dur-2) var(--ease-standard)}.ui-btn--secondary .ui-btn__icon,.ui-btn--ghost .ui-btn__icon{background:#0f172a0f}.ui-btn:hover:not(:disabled) .ui-btn__icon{transform:translate(2px,-1px) scale(1.05)}.ui-btn__spinner{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-input{width:100%;height:40px;padding:0 13px;background:#fff;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--font);font-size:14px;transition:border-color var(--dur-2) var(--ease-standard),box-shadow var(--dur-2) var(--ease-standard)}textarea.ui-input{height:auto;padding:11px 13px;line-height:1.5;resize:vertical}.ui-input::placeholder{color:var(--text-tertiary)}.ui-input:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.ui-input:focus,.ui-input:focus-visible{outline:none;border-color:var(--blue);box-shadow:var(--ring)}.ui-input:disabled{background:var(--fog);color:var(--text-secondary);cursor:not-allowed}.ui-input:read-only{background:var(--fog);color:var(--text-secondary)}.ui-input--invalid,.ui-input--invalid:focus{border-color:var(--red);box-shadow:0 0 0 4px #ef444429}.ui-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm),var(--inset-hi)}.ui-card--hover{transition:transform var(--dur-3) var(--ease-standard),box-shadow var(--dur-3) var(--ease-standard),border-color var(--dur-3) var(--ease-standard)}.ui-card--hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover),var(--inset-hi)}.ui-card--shell{padding:6px;background:#0f172a08;border-radius:var(--r-xl)}.ui-card--shell>.ui-card__core{border-radius:calc(var(--r-xl) - 6px)}.ui-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:var(--r-pill);font-size:12px;font-weight:600;line-height:1.2}.ui-eyebrow{display:inline-block;padding:4px 10px;border-radius:var(--r-pill);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.ui-toggle{position:relative;width:42px;height:24px;border-radius:var(--r-pill);background:var(--border-strong);border:none;cursor:pointer;transition:background-color var(--dur-2) var(--ease-standard)}.ui-toggle[data-on=true]{background:var(--blue)}.ui-toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a4d;transition:transform var(--dur-2) var(--ease-out)}.ui-toggle[data-on=true]:after{transform:translate(18px)}.ui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ui-fade var(--dur-2) var(--ease-standard) both}.ui-modal{background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);animation:ui-pop var(--dur-3) var(--ease-out) both}.ui-drawer{background:#fff;box-shadow:var(--shadow-lg);animation:ui-slide-in var(--dur-3) var(--ease-out) both}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes ui-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.ui-toast{position:relative;display:flex;align-items:center;gap:11px;min-width:280px;max-width:400px;padding:13px 14px;border-radius:var(--r-lg);background:var(--toast-fg);box-shadow:var(--shadow-hover);overflow:hidden;animation:ui-toast-in var(--dur-3) var(--ease-spring) both}.ui-toast[data-leaving=true]{animation:ui-toast-out var(--dur-2) var(--ease-standard) both}.ui-toast__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#ffffff38;color:#fff}.ui-toast__body{flex:1;font-size:13.5px;font-weight:600;line-height:1.4;color:#fff}.ui-toast__close{display:flex;padding:4px;background:none;border:none;border-radius:var(--r-sm);color:#ffffffbf;cursor:pointer;transition:background var(--dur-1) var(--ease-standard),color var(--dur-1) var(--ease-standard)}.ui-toast__close:hover{background:#ffffff29;color:#fff}.ui-toast__bar{position:absolute;left:0;bottom:0;height:3px;background:#ffffff80;animation:ui-toast-countdown linear forwards;animation-duration:var(--toast-duration, 3.2s)}@keyframes ui-toast-in{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes ui-toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(120%)}}@keyframes ui-toast-countdown{0%{width:100%}to{width:0%}}@media(prefers-reduced-motion:reduce){.ui-toast,.ui-toast[data-leaving=true]{animation:ui-fade var(--dur-2) var(--ease-standard) both}.ui-toast__bar{animation:none;width:0%}}.ui-reveal{opacity:0;transform:translateY(20px);filter:blur(6px);transition:opacity var(--dur-4) var(--ease-out),transform var(--dur-4) var(--ease-out),filter var(--dur-4) var(--ease-out);will-change:transform,opacity}.ui-reveal.is-visible{opacity:1;transform:none;filter:none}.ui-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.reports-skeleton{background:linear-gradient(90deg,#eef2f7 25%,#e2e8f0 37%,#eef2f7 63%);background-size:400% 100%;animation:reports-shimmer 1.4s ease infinite}@keyframes reports-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}
