:root{--bs-brand: #0F6E56;--bs-brand-dark: #085041;--bs-accent: #F59E0B;--bs-danger: #DC2626;--bs-text-1: #111827;--bs-text-2: #6B7280;--bs-text-3: #9CA3AF;--bs-bg: #F3F4F6;--bs-surface: #FFFFFF;--bs-border: #E5E7EB;--bs-border-strong: #D1D5DB;--bs-radius: 10px;--bs-radius-sm: 6px}.bs-spinner{border:2px solid var(--bs-border);border-top-color:var(--bs-brand);border-radius:50%;display:inline-block;animation:bs-spin .6s linear infinite}@keyframes bs-spin{to{transform:rotate(360deg)}}.bs-center{height:100vh;display:flex;align-items:center;justify-content:center}.bs-card{background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius);padding:20px}.bs-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--bs-brand);color:#fff;border:none;border-radius:var(--bs-radius);padding:12px;font-size:14px;font-weight:600;cursor:pointer;transition:filter .12s,transform .1s}.bs-btn:hover{filter:brightness(.94)}.bs-btn:active{transform:scale(.98)}.bs-btn:disabled{opacity:.5;cursor:default}.bs-btn-ghost{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:transparent;color:var(--bs-text-2);border:1.5px solid var(--bs-border-strong);border-radius:var(--bs-radius);padding:11px;font-size:14px;cursor:pointer;transition:border-color .12s,color .12s}.bs-btn-ghost:hover{border-color:var(--bs-brand);color:var(--bs-brand)}.bs-input,.bs-select,.bs-textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--bs-border-strong);border-radius:var(--bs-radius-sm);padding:9px 11px;font-size:14px;font-family:inherit;background:var(--bs-surface);color:var(--bs-text-1);outline:none;transition:border-color .12s}.bs-input:focus,.bs-select:focus,.bs-textarea:focus{border-color:var(--bs-brand)}.bs-label{display:block;font-size:12px;font-weight:600;color:var(--bs-text-2);margin-bottom:6px}.bs-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;text-transform:capitalize}.bs-badge-active,.bs-badge-approved,.bs-badge-valid,.bs-badge-paid,.bs-badge-published,.bs-badge-available,.bs-badge-complete,.bs-badge-pass{background:#d1fae5;color:#065f46}.bs-badge-pending,.bs-badge-submitted,.bs-badge-expiring,.bs-badge-shared,.bs-badge-in_use,.bs-badge-in_progress,.bs-badge-advisory,.bs-badge-sent{background:#fef3c7;color:#92400e}.bs-badge-rejected,.bs-badge-expired,.bs-badge-overdue,.bs-badge-lost,.bs-badge-delayed,.bs-badge-fail{background:#fee2e2;color:#991b1b}.bs-badge-draft,.bs-badge-inactive,.bs-badge-wip,.bs-badge-not_started,.bs-badge-retired,.bs-badge-archived,.bs-badge-maintenance{background:#f3f4f6;color:#6b7280}.bs-badge-pending_review{background:#e0e7ff;color:#3730a3}.bs-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:var(--bs-bg)}.bs-login-logo{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.bs-login-title{font-size:23px;font-weight:800;color:var(--bs-text-1);margin-bottom:24px}.bs-login-card{width:100%;max-width:360px}.bs-spin{animation:bs-spin .6s linear infinite}
