:root{--ovu-font:"Public Sans", system-ui, -apple-system, sans-serif;--ovu-color-text:#16181a;--ovu-color-text-secondary:#5b6064;--ovu-color-text-muted:#83888c;--ovu-color-text-faint:#9ba0a4;--ovu-color-bg:#f4f5f6;--ovu-color-surface:#fff;--ovu-color-surface-alt:#fafbfb;--ovu-color-border:#e3e5e8;--ovu-color-border-subtle:#eef0f2;--ovu-color-border-input:#dfe2e4;--ovu-sidebar-bg:#1d2124;--ovu-sidebar-text:#c9cdd0;--ovu-sidebar-text-muted:#9ba0a4;--ovu-sidebar-active:#ffffff14;--ovu-color-accent:#2e8b57;--ovu-color-accent-hover:#27784b;--ovu-color-accent-tint:#eef5f1;--ovu-color-accent-tint-2:#f0f6f2;--ovu-color-accent-tint-border:#d5e6dc;--ovu-color-ok-text:#1e6b44;--ovu-color-ok-chip:#e7f2ec;--ovu-color-danger:#b3382c;--ovu-color-danger-text:#a33427;--ovu-color-danger-chip:#fbe9e6;--ovu-color-danger-border:#ecc8c3;--ovu-color-warn:#a86a12;--ovu-color-warn-text:#8a6a1c;--ovu-color-warn-chip:#f7efdc;--ovu-color-warn-border:#ecdfc0;--ovu-color-warn-bg:#fdf8ec;--ovu-color-info-text:#3b5a75;--ovu-color-info-chip:#e8eef4;--ovu-color-info-border:#cfdce8;--ovu-color-neutral-chip:#eef0f2;--ovu-radius-sm:6px;--ovu-radius-md:8px;--ovu-radius-lg:10px;--ovu-radius-xl:12px;--ovu-radius-pill:99px;--ovu-space-xs:4px;--ovu-space-sm:8px;--ovu-space-md:16px;--ovu-space-lg:24px;--ovu-space-xl:28px}*,:before,:after{box-sizing:border-box}body{background:var(--ovu-color-bg);font-family:var(--ovu-font);color:var(--ovu-color-text);margin:0}a{color:var(--ovu-color-accent)}a:hover{color:#226b42}input,select,textarea,button{font-family:var(--ovu-font)}::placeholder{color:var(--ovu-color-text-faint)}.ovu-card{background:var(--ovu-color-surface);border:1px solid var(--ovu-color-border);border-radius:var(--ovu-radius-lg)}.ovu-section-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ovu-color-text-muted);font-size:11px;font-weight:700}.ovu-label{color:var(--ovu-color-text-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.ovu-input,.ovu-select,.ovu-textarea{border:1px solid var(--ovu-color-border-input);border-radius:var(--ovu-radius-md);width:100%;color:var(--ovu-color-text);background:var(--ovu-color-surface);padding:9px 12px;font-size:13px}.ovu-btn{background:var(--ovu-color-accent);color:#fff;white-space:nowrap;cursor:pointer;border:0;border-radius:7px;padding:10px 18px;font-size:13px;font-weight:600}.ovu-btn:hover{background:var(--ovu-color-accent-hover)}.ovu-btn--secondary{background:var(--ovu-color-surface);border:1px solid var(--ovu-color-border-input);color:#3f4448}.ovu-btn--secondary:hover{background:#f8f9fa}.ovu-btn--soft-ok{background:var(--ovu-color-accent-tint-2);color:var(--ovu-color-ok-text);border:0}.ovu-btn--warn-outline{background:var(--ovu-color-warn-bg);border:1px solid var(--ovu-color-warn-border);color:var(--ovu-color-warn-text)}.ovu-btn--danger-outline{background:var(--ovu-color-surface);border:1px solid var(--ovu-color-danger-border);color:var(--ovu-color-danger-text)}.ovu-table{background:var(--ovu-color-surface);border:1px solid var(--ovu-color-border);border-radius:var(--ovu-radius-lg);overflow:hidden}.ovu-table__head,.ovu-table__row{align-items:center;column-gap:12px;padding:12px 16px;display:grid}.ovu-table__head{border-bottom:1px solid var(--ovu-color-border);letter-spacing:.05em;text-transform:uppercase;color:var(--ovu-color-text-muted);padding:10px 16px;font-size:10.5px;font-weight:700}.ovu-table__row{font-size:13px}.ovu-table__row+.ovu-table__row{border-top:1px solid var(--ovu-color-border-subtle)}.ovu-table__row--clickable{cursor:pointer}.ovu-table__row--clickable:hover{background:#f8f9fa}.ovu-filter-chip{border-radius:var(--ovu-radius-pill);border:1px solid var(--ovu-color-border);color:var(--ovu-color-text-secondary);cursor:pointer;background:0 0;padding:4px 10px;font-size:11px;font-weight:600}.ovu-filter-chip--active{background:var(--ovu-color-text);border-color:var(--ovu-color-text);color:#fff}.ovu-info-box{background:var(--ovu-color-info-chip);border:1px solid var(--ovu-color-info-border);border-radius:var(--ovu-radius-md);color:var(--ovu-color-info-text);padding:10px 13px;font-size:12px;line-height:1.5}.ovu-warn-box{background:var(--ovu-color-warn-chip);border:1px solid var(--ovu-color-warn-border);border-radius:var(--ovu-radius-md);color:var(--ovu-color-warn-text);padding:10px 14px;font-size:12.5px}.ovu-footnote{color:var(--ovu-color-text-faint);font-size:11.5px}.ovu-tabular{font-variant-numeric:tabular-nums}.ovu-invite{background:var(--ovu-color-bg);place-items:center;min-height:100vh;padding:30px 0;display:grid}.ovu-invite__card{background:var(--ovu-color-surface);border:1px solid var(--ovu-color-border);border-radius:var(--ovu-radius-xl);width:440px;padding:34px}.ovu-invite__brand{align-items:center;gap:9px;margin-bottom:20px;display:flex}.ovu-invite__title{margin:0;font-size:18px;font-weight:700}.ovu-invite__intro{color:var(--ovu-color-text-secondary);margin:8px 0 22px;font-size:13px;line-height:1.55}.ovu-invite__field{margin-bottom:14px;padding:10px 12px;font-size:13.5px}.ovu-invite__field--gap{margin-bottom:20px}.ovu-invite__totp-note{border:1px solid var(--ovu-color-border);border-radius:var(--ovu-radius-lg);color:var(--ovu-color-text-muted);margin-bottom:20px;padding:12px 14px;font-size:12px;line-height:1.55}.ovu-invite__error{background:var(--ovu-color-danger-chip);border:1px solid var(--ovu-color-danger-border);border-radius:var(--ovu-radius-md);color:var(--ovu-color-danger-text);margin-bottom:14px;padding:9px 12px;font-size:12.5px}.ovu-invite__submit{border-radius:var(--ovu-radius-md);width:100%;padding:11px;font-size:13.5px}.ovu-status-pill{border-radius:var(--ovu-radius-pill);letter-spacing:.02em;white-space:nowrap;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.ovu-status-pill--ok{background:var(--ovu-color-ok-chip);color:var(--ovu-color-ok-text)}.ovu-status-pill--warn{background:var(--ovu-color-warn-chip);color:var(--ovu-color-warn-text)}.ovu-status-pill--danger{background:var(--ovu-color-danger-chip);color:var(--ovu-color-danger-text)}.ovu-status-pill--info{background:var(--ovu-color-info-chip);color:var(--ovu-color-info-text)}.ovu-status-pill--neutral{background:var(--ovu-color-neutral-chip);color:var(--ovu-color-text-secondary)}
