:root{--rb-primary: #2563eb;--rb-primary-hover: #1d4ed8;--rb-primary-soft: #eff6ff;--rb-danger: #dc2626;--rb-danger-hover: #b91c1c;--rb-danger-soft: #fee2e2;--rb-danger-border: #fca5a5;--rb-border: #e5e7eb;--rb-input-border: #d0d5dd;--rb-text: #101828;--rb-text-body: #344054;--rb-text-muted: #667085;--rb-bg-subtle: #f8fafc;--rb-bg-hover: #f3f4f6;--rb-radius-card: 18px;--rb-radius-control: 10px}.rb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--rb-radius-control);font-weight:600;font-size:14px;font-family:inherit;cursor:pointer;padding:9px 14px;transition:background .12s ease,border-color .12s ease}.rb-btn:disabled{opacity:.55;cursor:default}.rb-btn--sm{padding:6px 10px;font-size:13px;border-radius:8px}.rb-btn--primary{background:var(--rb-primary);border:none;color:#fff}.rb-btn--primary:hover:not(:disabled){background:var(--rb-primary-hover)}.rb-btn--secondary{background:#fff;border:1px solid var(--rb-input-border);color:var(--rb-text-body)}.rb-btn--secondary:hover:not(:disabled){background:var(--rb-bg-hover)}.rb-btn--danger{background:var(--rb-danger);border:1px solid var(--rb-danger-hover);color:#fff}.rb-btn--danger:hover:not(:disabled){background:var(--rb-danger-hover)}.rb-btn--dangerSoft{background:var(--rb-danger-soft);border:1px solid var(--rb-danger-border);color:var(--rb-danger)}.rb-btn--dangerSoft:hover:not(:disabled){background:#fecaca}.rb-btn--dangerGhost{background:transparent;border:none;color:var(--rb-danger);font-size:16px;padding:4px 6px}.rb-btn--dangerGhost:hover:not(:disabled){background:var(--rb-danger-soft)}.rb-btn--ghost{background:transparent;border:none;color:var(--rb-text-body)}.rb-btn--ghost:hover:not(:disabled){background:var(--rb-bg-hover)}.rb-row{border-radius:8px;transition:background .1s ease}.rb-row:hover{background:var(--rb-bg-subtle)}.rb-row--danger{background:#fef2f2}.rb-row--danger:hover{background:#fee2e2}.rb-row .rb-row-actions{visibility:hidden}.rb-row:hover .rb-row-actions{visibility:visible}.rb-progress-caption{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12.5px;font-weight:600;color:var(--rb-text-muted);margin-bottom:4px;min-width:0}.rb-progress-dots:after{content:"";display:inline-block;width:1.2em;text-align:left;animation:rb-dots 1.4s steps(4,end) infinite}@keyframes rb-dots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}.rb-progress-track{height:8px;border-radius:999px;background:#eef2f7;overflow:hidden}.rb-progress-track--sm{height:6px}.rb-progress-fill{height:100%;border-radius:999px;background:var(--rb-primary);transition:width .3s ease;position:relative;overflow:hidden}.rb-progress-fill--shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:rb-shimmer 1.6s ease-in-out infinite}@keyframes rb-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.rb-progress-fill--indeterminate{width:40%;animation:rb-indeterminate 1.3s ease-in-out infinite}@keyframes rb-indeterminate{0%{margin-left:-40%}to{margin-left:100%}}.rb-progress-fill--done{background:#22c55e}.rb-progress-fill--error{background:var(--rb-danger)}.rb-toast-stack{position:fixed;bottom:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.rb-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:380px;background:#fff;border:1px solid var(--rb-border);border-radius:12px;box-shadow:0 10px 30px #1018282e;padding:10px 14px;font-size:13.5px;font-weight:600;color:var(--rb-text-body);cursor:pointer;animation:rb-toast-in .2s ease}.rb-toast--leaving{animation:rb-toast-out .18s ease forwards}.rb-toast-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;font-size:12px;font-weight:800;color:#fff;flex-shrink:0}.rb-toast--success .rb-toast-icon{background:#16a34a}.rb-toast--error .rb-toast-icon{background:var(--rb-danger)}.rb-toast--info .rb-toast-icon{background:var(--rb-primary)}.rb-toast--error{border-color:var(--rb-danger-border);background:#fef2f2}@keyframes rb-toast-in{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes rb-toast-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(6px);opacity:0}}.rb-card{background:#fff;border:1px solid var(--rb-border);border-radius:var(--rb-radius-card);padding:20px}.rb-modal-backdrop{position:fixed;inset:0;z-index:1000;background:#00000059;display:flex;align-items:center;justify-content:center;padding:20px}.rb-modal-backdrop--right{justify-content:flex-end;align-items:stretch;padding:0}.rb-modal-panel{background:#fff;border-radius:16px;box-shadow:0 20px 50px #10182840;max-width:95vw;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.rb-modal-panel--right{border-radius:0;height:100%;max-height:none;box-shadow:-10px 0 30px #0000001f}.rb-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--rb-border)}.rb-modal-toolbar{padding:14px 20px 0}.rb-modal-body{padding:20px;overflow-y:auto}.rb-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--rb-border)}.rb-datefield{position:relative}.rb-datefield-trigger{display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--rb-input-border);border-radius:var(--rb-radius-control);background:#fff;padding:8px 10px;font-size:14px;font-family:inherit;color:var(--rb-text);cursor:pointer;text-align:left}.rb-datefield-trigger:hover{border-color:var(--rb-primary)}.rb-datefield-trigger--placeholder{color:var(--rb-text-muted)}.rb-datefield-trigger--invalid{border-color:var(--rb-danger)}.rb-datefield-pop{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:280px;background:#fff;border:1px solid var(--rb-border);border-radius:12px;box-shadow:0 12px 32px #10182829;padding:12px}.rb-datefield-pop--up{top:auto;bottom:calc(100% + 6px)}.rb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.rb-cal-title{font-weight:700;font-size:14px;color:var(--rb-text)}.rb-cal-nav{border:none;background:transparent;cursor:pointer;font-size:16px;line-height:1;padding:4px 8px;border-radius:8px;color:var(--rb-text-body)}.rb-cal-nav:hover{background:var(--rb-bg-hover)}.rb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.rb-cal-dow{font-size:11px;font-weight:700;color:var(--rb-text-muted);text-align:center;text-transform:uppercase;padding:4px 0}.rb-cal-day{border:none;background:transparent;cursor:pointer;font-size:13px;font-family:inherit;color:var(--rb-text-body);padding:6px 0;border-radius:8px;text-align:center}.rb-cal-day:hover{background:var(--rb-bg-hover)}.rb-cal-day--outside{color:#c2c8d0}.rb-cal-day--today{box-shadow:inset 0 0 0 1.5px var(--rb-input-border);font-weight:700}.rb-cal-day--selected{background:var(--rb-primary);color:#fff;font-weight:700}.rb-cal-day--selected:hover{background:var(--rb-primary-hover)}.rb-cal-foot{display:flex;justify-content:space-between;margin-top:10px}.rb-cal-link{border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:600;color:var(--rb-primary);padding:2px 4px;border-radius:6px}.rb-cal-link:hover{background:var(--rb-primary-soft)}
