@import "https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap";.auth-page{min-height:100svh;padding:var(--space-6) var(--space-4);background:radial-gradient(900px 500px at 50% -10%, var(--bs-blue-50) 0%, transparent 70%), var(--surface-tint);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:26rem;padding:var(--space-8);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-md);animation:bs-fade-up var(--dur-slow) var(--ease-out) both}.auth-form{gap:var(--space-5);flex-direction:column;display:flex}.auth-form h2{margin:0 0 var(--space-2);text-align:center;font-size:var(--fs-h3);color:var(--text-heading)}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-heading)}.form-group input,.form-group select,.form-group textarea{width:100%;font-family:var(--font-sans);color:var(--text-body);background:var(--bs-gray-0);border:1.5px solid var(--border-default);border-radius:var(--radius-sm);transition:border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);outline:none;padding:11px 14px;font-size:15px}.form-group textarea{resize:none;min-height:92px;line-height:var(--lh-body)}.form-group input::placeholder{color:var(--bs-gray-400)}.form-group input:hover:not(:disabled),.form-group select:hover:not(:disabled),.form-group textarea:hover:not(:disabled){border-color:var(--border-strong)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--bs-gray-100);color:var(--text-muted);cursor:not-allowed}.error-message{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-left:4px solid var(--bs-danger);border-radius:var(--radius-md);color:#b23131;font-size:var(--fs-body-sm);background:#fbe6e6;line-height:1.5;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:42px;font-family:var(--font-sans);font-size:15px;font-weight:var(--fw-semibold);white-space:nowrap;border-radius:var(--radius-button);cursor:pointer;transition:transform var(--dur-fast) var(--ease-standard), background var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);border:1.5px solid #0000;padding:10px 20px;line-height:1;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)scale(.985)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse);box-shadow:var(--shadow-blue)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 14px 30px #007fff5c}.btn-secondary{border-color:var(--color-primary);color:var(--color-primary);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--bs-blue-50)}.dashboard-page{max-width:var(--container-max);padding:var(--space-6) var(--container-pad) var(--space-10);margin-inline:auto}.dashboard-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.dashboard-header h1{font-size:var(--fs-h2)}.dashboard-content{gap:var(--space-5);flex-direction:column;display:flex}.user-info,.session-info,.vault-status,.recovery-panel{padding:var(--space-6);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-xs)}.user-info h2,.session-info h3,.vault-status h3,.recovery-panel h3{font-size:var(--fs-h4);margin-bottom:var(--space-2)}.user-info p,.session-info p,.vault-status p,.recovery-panel p{font-size:var(--fs-body-sm);color:var(--text-muted);line-height:var(--lh-body)}.loading{min-height:100svh;color:var(--text-muted);font-size:var(--fs-body-sm);justify-content:center;align-items:center;display:flex}:root{--bs-blue-50:#e6f2ff;--bs-blue-100:#cce5ff;--bs-blue-200:#99cbff;--bs-blue-300:#66b0ff;--bs-blue-400:#3396ff;--bs-blue-500:#007fff;--bs-blue-600:#0067d1;--bs-blue-700:#0052a6;--bs-blue-800:#003e7d;--bs-blue-900:#002b57;--bs-cyan-50:#e9f9fe;--bs-cyan-100:#cdf1fc;--bs-cyan-200:#a6e7f9;--bs-cyan-300:#6fd6f6;--bs-cyan-400:#3fc7f3;--bs-cyan-500:#17b2e6;--bs-cyan-600:#0e92c1;--bs-cyan-700:#0c7399;--bs-slate-500:#5b6b7b;--bs-slate-700:#3b4c5e;--bs-slate-900:#2c3e50;--bs-navy-900:#041b4d;--bs-gray-0:#fff;--bs-gray-50:#f7f9fc;--bs-gray-100:#eef2f7;--bs-gray-200:#e1e7ef;--bs-gray-300:#cbd3dd;--bs-gray-400:#9aa6b4;--bs-gray-500:#6b7785;--bs-gray-600:#545e6b;--bs-gray-700:#434343;--bs-gray-800:#2e2e2e;--bs-gray-900:#1a1a1a;--bs-tint:#f1f7fe;--bs-tint-2:#e4f0fd;--bs-success:#1fa971;--bs-warning:#e9a100;--bs-danger:#e24646;--bs-info:var(--bs-blue-500);--color-primary:var(--bs-blue-500);--color-primary-hover:var(--bs-blue-600);--color-primary-active:var(--bs-blue-700);--color-accent:var(--bs-cyan-400);--color-accent-hover:var(--bs-cyan-500);--text-heading:var(--bs-slate-900);--text-body:var(--bs-gray-700);--text-muted:var(--bs-gray-500);--text-inverse:var(--bs-gray-0);--text-link:var(--bs-blue-500);--text-link-hover:var(--bs-blue-700);--text-on-accent:var(--bs-slate-900);--surface-page:var(--bs-gray-0);--surface-tint:var(--bs-tint);--surface-card:var(--bs-gray-0);--surface-dark:var(--bs-navy-900);--surface-invert:var(--bs-blue-500);--border-subtle:var(--bs-gray-200);--border-default:var(--bs-gray-300);--border-strong:var(--bs-gray-400);--border-focus:var(--bs-blue-500);--font-sans:"Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display:"Poppins", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fs-display:48px;--fs-h1:34px;--fs-h2:26px;--fs-h3:20px;--fs-h4:18px;--fs-body-lg:18px;--fs-body:16px;--fs-body-sm:14px;--fs-caption:13px;--fs-overline:12px;--lh-tight:1.15;--lh-heading:1.25;--lh-body:1.6;--ls-tight:-.02em;--ls-normal:0;--ls-overline:.08em;--text-display-size:var(--fs-display);--text-h1-size:var(--fs-h1);--text-h2-size:var(--fs-h2);--text-h3-size:var(--fs-h3);--text-body-size:var(--fs-body);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--radius-card:16px;--radius-button:10px;--shadow-xs:0 1px 2px #041b4d0f;--shadow-sm:0 2px 6px #041b4d14;--shadow-md:0 8px 20px #041b4d1a;--shadow-lg:0 18px 40px #041b4d24;--shadow-blue:0 10px 26px #007fff47;--shadow-focus:0 0 0 3px #007fff47;--container-max:1200px;--container-pad:24px;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-heading);line-height:var(--lh-heading);letter-spacing:var(--ls-tight);margin:0}h1{font-size:var(--fs-h1);font-weight:var(--fw-bold)}h2{font-size:var(--fs-h2);font-weight:var(--fw-bold)}h3{font-size:var(--fs-h3);font-weight:var(--fw-semibold)}h4{font-size:var(--fs-h4);font-weight:var(--fw-semibold);letter-spacing:var(--ls-normal)}p{margin:0}a{color:var(--text-link);transition:color var(--dur-base) var(--ease-standard);text-decoration:none}a:hover{color:var(--text-link-hover);text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}ul,ol{margin:0;padding:0;list-style:none}code,kbd,samp,.bs-mono{font-family:var(--font-mono);font-size:var(--fs-body-sm)}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-xs);outline:none}::selection{background:var(--bs-blue-100);color:var(--text-heading)}.bs-scroll{scrollbar-width:thin;scrollbar-color:var(--bs-gray-300) transparent}.bs-scroll::-webkit-scrollbar{width:10px;height:10px}.bs-scroll::-webkit-scrollbar-track{background:0 0}.bs-scroll::-webkit-scrollbar-thumb{background:var(--bs-gray-300);border-radius:var(--radius-pill);background-clip:content-box;border:3px solid #0000}.bs-scroll::-webkit-scrollbar-thumb:hover{background:var(--bs-gray-400);background-clip:content-box}.bs-title-em{color:var(--color-primary)}.bs-underline:after{content:"";width:56px;height:4px;margin-top:var(--space-3);border-radius:var(--radius-pill);background:var(--color-accent);display:block}.bs-underline--center:after{margin-inline:auto}.bs-overline{font-size:var(--fs-overline);font-weight:var(--fw-semibold);letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--text-muted)}.bs-rings{isolation:isolate;position:relative;overflow:hidden}.bs-rings:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#0000 0 14%,#ffffff12 14% 14.4%,#0000 14.4% 25%,#ffffff0f 25% 25.4%,#0000 25.4% 36%,#ffffff0d 36% 36.35%,#0000 36.35% 47%,#ffffff0a 47% 47.3%,#0000 47.3% 100%);border-radius:50%;width:900px;height:900px;position:absolute;top:50%;left:50%;translate:-50% -50%}.bs-wash{background:radial-gradient(1100px 600px at 50% -10%, var(--bs-blue-50) 0%, transparent 70%), linear-gradient(180deg, var(--surface-page) 0%, var(--surface-tint) 100%)}.bs-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bs-muted{color:var(--text-muted)}.bs-truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@keyframes bs-spin{to{rotate:360deg}}@keyframes bs-fade-up{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0}}@keyframes bs-slide-in{0%{opacity:0;translate:16px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.bs-btn{font-family:var(--font-sans);font-weight:var(--fw-semibold);white-space:nowrap;border-radius:var(--radius-button);cursor:pointer;transition:transform var(--dur-fast) var(--ease-standard), background var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), filter var(--dur-base) var(--ease-standard);border:1.5px solid #0000;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.bs-btn--sm{font-size:var(--fs-body-sm);gap:6px;min-height:34px;padding:7px 14px}.bs-btn--md{gap:var(--space-2);min-height:42px;padding:10px 20px;font-size:15px}.bs-btn--lg{font-size:var(--fs-body);gap:10px;min-height:50px;padding:13px 26px}.bs-btn--pill{border-radius:var(--radius-pill)}.bs-btn--full{width:100%}.bs-btn--primary{background:var(--color-primary);color:var(--text-inverse);border-color:var(--color-primary);box-shadow:var(--shadow-blue)}.bs-btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 14px 30px #007fff5c}.bs-btn--secondary{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.bs-btn--secondary:hover:not(:disabled){background:var(--bs-blue-50)}.bs-btn--accent{background:var(--color-accent);color:var(--text-on-accent);border-color:var(--color-accent)}.bs-btn--accent:hover:not(:disabled){filter:brightness(.96)}.bs-btn--ghost{color:var(--text-body);background:0 0}.bs-btn--ghost:hover:not(:disabled),.bs-btn--subtle{background:var(--bs-blue-50);color:var(--color-primary)}.bs-btn--subtle:hover:not(:disabled){background:var(--bs-blue-100)}.bs-btn--danger{background:var(--bs-danger);color:var(--text-inverse);border-color:var(--bs-danger)}.bs-btn--danger:hover:not(:disabled){filter:brightness(.94)}.bs-btn--danger-quiet{color:var(--bs-danger);background:0 0;border-color:#e2464666}.bs-btn--danger-quiet:hover:not(:disabled){border-color:var(--bs-danger);background:#fbe6e6}.bs-btn--on-dark.bs-btn--secondary{color:var(--text-inverse);border-color:#fff9}.bs-btn--on-dark.bs-btn--secondary:hover:not(:disabled),.bs-btn--on-dark.bs-btn--ghost:hover:not(:disabled){color:var(--text-inverse);background:#ffffff1f}.bs-btn--on-dark.bs-btn--ghost{color:var(--text-inverse)}.bs-btn:active:not(:disabled){transform:translateY(1px)scale(.985)}.bs-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.bs-btn__spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:15px;height:15px;animation:.64s linear infinite bs-spin}.bs-iconbtn{border-radius:var(--radius-pill);cursor:pointer;color:var(--text-body);transition:background var(--dur-base) var(--ease-standard), color var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);background:0 0;border:1.5px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bs-iconbtn--sm{width:32px;height:32px}.bs-iconbtn--md{width:40px;height:40px}.bs-iconbtn--lg{width:48px;height:48px}.bs-iconbtn--square{border-radius:var(--radius-button)}.bs-iconbtn--primary{background:var(--color-primary);color:var(--text-inverse);border-color:var(--color-primary)}.bs-iconbtn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.bs-iconbtn--secondary{color:var(--color-primary);border-color:var(--border-default)}.bs-iconbtn--subtle,.bs-iconbtn--ghost:hover:not(:disabled),.bs-iconbtn--secondary:hover:not(:disabled),.bs-iconbtn--subtle:hover:not(:disabled){background:var(--bs-blue-50);color:var(--color-primary)}.bs-iconbtn--on-dark{color:var(--text-inverse)}.bs-iconbtn--on-dark:hover:not(:disabled){color:var(--text-inverse);background:#ffffff24}.bs-iconbtn:active:not(:disabled){transform:scale(.9)}.bs-iconbtn:disabled{opacity:.5;cursor:not-allowed}.bs-field{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.bs-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-heading);line-height:1.4}.bs-label__optional{font-weight:var(--fw-regular);color:var(--text-muted);margin-left:var(--space-1)}.bs-label-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.bs-inputwrap{align-items:center;gap:var(--space-2);background:var(--bs-gray-0);border:1.5px solid var(--border-default);border-radius:var(--radius-sm);width:100%;transition:border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), background var(--dur-base) var(--ease-standard);display:flex}.bs-inputwrap--sm{padding:8px 12px}.bs-inputwrap--md{padding:11px 14px}.bs-inputwrap--lg{padding:13px var(--space-4)}.bs-inputwrap:hover:not(.bs-inputwrap--disabled):not(.bs-inputwrap--error){border-color:var(--border-strong)}.bs-inputwrap:has(.bs-input:focus){border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.bs-input:focus,.bs-input:focus-visible{box-shadow:none;outline:none}.bs-inputwrap--error{border-color:var(--bs-danger)}.bs-inputwrap--error:has(.bs-input:focus){box-shadow:0 0 0 3px #e2464638}.bs-inputwrap--disabled{background:var(--bs-gray-100);cursor:not-allowed}.bs-input{min-width:0;font-family:var(--font-sans);font-weight:var(--fw-regular);color:var(--text-body);background:0 0;border:none;outline:none;flex:1;padding:0}.bs-inputwrap--sm .bs-input{font-size:var(--fs-body-sm)}.bs-inputwrap--md .bs-input{font-size:15px}.bs-inputwrap--lg .bs-input{font-size:var(--fs-body)}.bs-input::placeholder{color:var(--bs-gray-400)}.bs-input:disabled{cursor:not-allowed;color:var(--text-muted)}.bs-input[type=search]::-webkit-search-decoration{appearance:none}.bs-input[type=search]::-webkit-search-cancel-button{appearance:none}.bs-input[type=search]::-webkit-search-results-button{appearance:none}.bs-input__adornment{color:var(--text-muted);flex-shrink:0;align-items:center;display:inline-flex}.bs-input--mono{font-family:var(--font-mono);font-size:var(--fs-body-sm);letter-spacing:.01em}.bs-textarea{resize:none;min-height:92px;line-height:var(--lh-body);overflow-y:auto}.bs-textarea--masked{-webkit-text-security:disc}@supports not (-webkit-text-security:disc){.bs-textarea--masked{filter:blur(5px);-webkit-user-select:none;user-select:none}}.bs-hint{font-size:var(--fs-overline);color:var(--text-muted);line-height:1.5}.bs-hint--error{color:var(--bs-danger);font-weight:var(--fw-medium)}.bs-select{appearance:none;width:100%;font-family:var(--font-sans);font-weight:var(--fw-regular);color:var(--text-body);background:var(--bs-gray-0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7785' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center;border:1.5px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);outline:none;padding:11px 38px 11px 14px;font-size:15px}.bs-select--sm{font-size:var(--fs-body-sm);padding:8px 34px 8px 12px}.bs-select--lg{padding:13px 40px 13px var(--space-4);font-size:var(--fs-body)}.bs-select:hover:not(:disabled){border-color:var(--border-strong)}.bs-select:focus-visible{border-color:var(--border-focus);box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}.bs-select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bs-gray-100)}.bs-checkbox{color:var(--text-body);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:15px;display:inline-flex}.bs-checkbox--disabled{opacity:.5;cursor:not-allowed}.bs-checkbox__input{opacity:0;width:0;height:0;position:absolute}.bs-checkbox__box{border:1.5px solid var(--border-strong);background:var(--bs-gray-0);color:#0000;width:20px;height:20px;transition:all var(--dur-fast) var(--ease-standard);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bs-checkbox__input:checked+.bs-checkbox__box{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.bs-checkbox__input:focus-visible+.bs-checkbox__box{box-shadow:var(--shadow-focus)}.bs-checkbox:hover .bs-checkbox__input:not(:disabled):not(:checked)+.bs-checkbox__box{border-color:var(--color-primary)}.bs-card{border-radius:var(--radius-card);padding:var(--space-6);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out)}.bs-card--elevated{background:var(--surface-card);box-shadow:var(--shadow-md);border:1px solid var(--border-subtle)}.bs-card--outline{background:var(--surface-card);border:1.5px solid var(--border-default)}.bs-card--tint{background:var(--surface-tint);border:1px solid var(--bs-blue-100)}.bs-card--dark{background:var(--surface-dark);color:var(--text-inverse);border:1px solid #ffffff14}.bs-card--dark h1,.bs-card--dark h2,.bs-card--dark h3,.bs-card--dark h4{color:var(--text-inverse)}.bs-card--interactive{cursor:pointer}.bs-card--interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.bs-badge{font-size:var(--fs-overline);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:5px;padding:3px 10px;line-height:1.4;display:inline-flex}.bs-badge--primary{background:var(--bs-blue-50);color:var(--bs-blue-700)}.bs-badge--accent{background:var(--bs-cyan-50);color:var(--bs-cyan-700)}.bs-badge--neutral{background:var(--bs-gray-100);color:var(--bs-gray-700)}.bs-badge--success{color:#177c54;background:#e4f6ee}.bs-badge--warning{color:#9a6b00;background:#fcf1d6}.bs-badge--danger{color:#b23131;background:#fbe6e6}.bs-badge--solid.bs-badge--primary{background:var(--color-primary);color:var(--text-inverse)}.bs-badge--solid.bs-badge--accent{background:var(--color-accent);color:var(--text-on-accent)}.bs-badge--solid.bs-badge--neutral{background:var(--bs-gray-500);color:var(--text-inverse)}.bs-badge--solid.bs-badge--success{background:var(--bs-success);color:var(--text-inverse)}.bs-badge--solid.bs-badge--warning{background:var(--bs-warning);color:var(--text-inverse)}.bs-badge--solid.bs-badge--danger{background:var(--bs-danger);color:var(--text-inverse)}.bs-tag{font-size:var(--fs-caption);font-weight:var(--fw-medium);border-radius:var(--radius-sm);background:var(--bs-gray-100);color:var(--bs-gray-700);white-space:nowrap;border:1px solid #041b4d0f;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.bs-tag--primary{background:var(--bs-blue-50);color:var(--bs-blue-700)}.bs-tag--accent{background:var(--bs-cyan-50);color:var(--bs-cyan-700)}.bs-tag__remove{cursor:pointer;color:inherit;opacity:.6;transition:opacity var(--dur-fast) var(--ease-standard);background:0 0;border:none;padding:0;display:inline-flex}.bs-tag__remove:hover{opacity:1}.bs-tag--toggle{cursor:pointer;transition:background var(--dur-base) var(--ease-standard), color var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard)}.bs-tag--toggle:hover{border-color:var(--bs-blue-200);background:var(--bs-blue-50);color:var(--bs-blue-700)}.bs-tag--toggle[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.bs-alert{gap:var(--space-3);border-radius:var(--radius-md);padding:14px var(--space-4);border-left:4px solid;display:flex}.bs-alert--info{background:var(--bs-blue-50);border-left-color:var(--color-primary);color:var(--bs-blue-800)}.bs-alert--success{border-left-color:var(--bs-success);color:#177c54;background:#e4f6ee}.bs-alert--warning{border-left-color:var(--bs-warning);color:#8a6200;background:#fcf1d6}.bs-alert--danger{border-left-color:var(--bs-danger);color:#b23131;background:#fbe6e6}.bs-alert__body{flex:1;min-width:0}.bs-alert__title{font-size:15px;font-weight:var(--fw-semibold)}.bs-alert__title+.bs-alert__content{margin-top:3px}.bs-alert__content{font-size:var(--fs-body-sm);opacity:.9;line-height:1.5}.bs-alert__icon{flex-shrink:0;padding-top:1px;display:inline-flex}.bs-alert__close{cursor:pointer;color:inherit;opacity:.6;height:20px;transition:opacity var(--dur-fast) var(--ease-standard);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:inline-flex}.bs-alert__close:hover{opacity:1}.bs-spinner{border:2.5px solid var(--bs-blue-100);border-top-color:var(--color-primary);border-radius:50%;animation:.7s linear infinite bs-spin;display:inline-block}.bs-avatar{background:var(--bs-blue-500);color:#fff;font-family:var(--font-sans);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff40}.bs-avatar--sm{width:32px;height:32px;font-size:13px}.bs-avatar--md{width:40px;height:40px;font-size:16px}.bs-avatar--lg{width:56px;height:56px;font-size:22px}.bs-avatar__img{object-fit:cover;width:100%;height:100%}.bs-dialog{width:min(30rem, calc(100vw - var(--space-8)));padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);color:var(--text-body);box-shadow:var(--shadow-lg);animation:bs-fade-up var(--dur-base) var(--ease-out) both}.bs-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#041b4d59}.bs-dialog__title{margin:0 0 var(--space-3);font-size:var(--fs-h4);color:var(--text-heading);line-height:1.3}.bs-dialog__body{gap:var(--space-3);font-size:var(--fs-body-sm);flex-direction:column;display:flex}.bs-dialog__footer{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6);display:flex}@media (width<=560px){.bs-dialog__footer{flex-direction:column-reverse}.bs-dialog__footer .bs-btn{width:100%}}.app-shell{background:var(--surface-tint);flex-direction:column;min-height:100svh;display:flex}.topbar{z-index:20;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--border-subtle);background:#ffffffdb;display:flex;position:sticky;top:0}.topbar__brand{align-items:center;gap:10px;min-width:0;display:flex}.topbar__logo{width:auto;height:26px;display:block}.topbar__divider{background:var(--border-default);flex-shrink:0;width:1px;height:22px}.topbar__product{font-family:var(--font-display);font-size:15px;font-weight:var(--fw-semibold);color:var(--text-heading);letter-spacing:var(--ls-tight);white-space:nowrap}.topbar__spacer{flex:1}.topbar__actions{align-items:center;gap:var(--space-2);display:flex}.topbar__user{margin-right:var(--space-2);flex-direction:column;align-items:flex-end;min-width:0;line-height:1.3;display:flex}.topbar__user-name{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--text-heading)}.topbar__user-email{font-size:var(--fs-overline);color:var(--text-muted)}.topbar__user-name{align-items:center;gap:6px;display:inline-flex}.topbar__nav{align-items:center;gap:var(--space-1);margin-left:var(--space-4);display:flex}.topbar__nav-link{padding:6px var(--space-3);border-radius:var(--radius-pill);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--text-muted);transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);text-decoration:none}.topbar__nav-link:hover{color:var(--text-heading);background:var(--bs-gray-100)}.topbar__nav-link[aria-current=page]{color:var(--color-primary);background:var(--bs-blue-50)}.topbar__nav-link:focus-visible{box-shadow:var(--shadow-focus);outline:none}@media (width<=720px){.topbar{padding:var(--space-3) var(--space-4)}.topbar__nav{margin-left:0}.topbar__user,.topbar__divider,.topbar__product{display:none}}.extension-install-note{width:100%;max-width:var(--container-max);padding:var(--space-4) var(--container-pad) 0;margin-inline:auto}.extension-install-note__lede,.extension-install-note__hint{margin:0}.extension-install-note__hint{margin-top:var(--space-1);font-size:var(--fs-caption);opacity:.8}@media (width<=720px){.extension-install-note{padding:var(--space-3) var(--space-4) 0}}.unlock{flex:1;grid-template-columns:1.05fr 1fr;min-height:100svh;display:grid}.unlock__brand{padding:var(--space-12) var(--space-12);background:linear-gradient(150deg, var(--bs-blue-600) 0%, var(--color-primary) 45%, var(--bs-navy-900) 100%);color:var(--text-inverse);flex-direction:column;justify-content:space-between;display:flex;position:relative}.unlock__brand-logo{align-self:flex-start;width:auto;height:34px;position:relative}.unlock__brand-copy{max-width:30rem;position:relative}.unlock__brand-copy h2{color:var(--text-inverse);font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}.unlock__brand-copy h2 em{color:var(--color-accent);font-style:normal}.unlock__brand-copy p{margin-top:var(--space-5);font-size:var(--fs-body-lg);line-height:var(--lh-body);color:#ffffffd1}.unlock__points{gap:var(--space-3);flex-direction:column;display:flex;position:relative}.unlock__point{font-size:var(--fs-body-sm);color:#ffffffdb;align-items:center;gap:10px;display:flex}.unlock__point svg{color:var(--color-accent);flex-shrink:0}.unlock__panel{padding:var(--space-12) var(--space-6);background:var(--surface-page);justify-content:center;align-items:center;display:flex}.unlock__card{width:100%;max-width:26rem;animation:bs-fade-up var(--dur-slow) var(--ease-out) both}.unlock__lockmark{border-radius:var(--radius-lg);background:var(--bs-blue-50);width:56px;height:56px;color:var(--color-primary);margin-bottom:var(--space-5);justify-content:center;align-items:center;display:inline-flex}.unlock__card h1{font-size:var(--fs-h2)}.unlock__card>p{margin-top:var(--space-4);color:var(--text-muted);font-size:var(--fs-body-sm);line-height:var(--lh-body)}.unlock__form{gap:var(--space-4);margin-top:var(--space-6);flex-direction:column;display:flex}.unlock__meta{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.unlock__account{align-items:center;gap:10px;min-width:0;display:flex}.unlock__avatar{border-radius:var(--radius-pill);background:var(--color-primary);width:34px;height:34px;color:var(--text-inverse);font-size:var(--fs-caption);font-weight:var(--fw-semibold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}@media (width<=960px){.unlock{grid-template-columns:1fr}.unlock__brand{display:none}.unlock__panel{background:var(--surface-tint);padding:var(--space-8) var(--space-4)}.unlock__card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-md);padding:var(--space-8)}}.vault{align-items:start;gap:var(--space-6);width:100%;max-width:var(--container-max);padding:var(--space-6) var(--container-pad) var(--space-10);flex:1;grid-template-columns:minmax(0,1fr) minmax(0,27rem);margin-inline:auto;display:grid}.vault--no-detail{grid-template-columns:minmax(0,1fr)}.vault__main{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.vault__heading{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.vault__heading h1{font-size:var(--fs-h2)}.vault__count{font-size:var(--fs-body-sm);color:var(--text-muted);margin-top:var(--space-2)}.toolbar{gap:var(--space-3);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.toolbar__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.toolbar__search{flex:18rem;min-width:0}.toolbar__tags{padding-top:var(--space-3);border-top:1px dashed var(--border-subtle);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.toolbar__tags-label{font-size:var(--fs-overline);font-weight:var(--fw-semibold);letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--text-muted);margin-right:var(--space-1)}.secret-list{gap:var(--space-2);flex-direction:column;display:flex}.secret-row{align-items:center;gap:var(--space-4);text-align:left;width:100%;padding:var(--space-3) var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);display:flex}.secret-row:hover{box-shadow:var(--shadow-md);border-color:var(--bs-blue-200);transform:translateY(-2px)}.secret-row[aria-current=true]{border-color:var(--color-primary);box-shadow:var(--shadow-sm), inset 3px 0 0 var(--color-primary)}.secret-row__mark{border-radius:var(--radius-md);width:40px;height:40px;font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);background:var(--bs-blue-50);color:var(--color-primary);text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.secret-row__mark--secure_note{background:var(--bs-cyan-50);color:var(--bs-cyan-700)}.secret-row__mark--card{color:#9a6b00;background:#fcf1d6}.secret-row__mark--identity{color:#177c54;background:#e4f6ee}.secret-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.secret-row__title{align-items:center;gap:6px;min-width:0;display:flex}.secret-row__title strong{font-size:15px;font-weight:var(--fw-semibold);color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.secret-row__star{color:var(--bs-warning);flex-shrink:0;display:inline-flex}.secret-row__sub{align-items:center;gap:var(--space-2);font-size:var(--fs-caption);color:var(--text-muted);min-width:0;display:flex}.secret-row__sub span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.secret-row__dot{background:var(--bs-gray-400);border-radius:50%;flex-shrink:0;width:3px;height:3px}.secret-row__tags{flex-shrink:0;align-items:center;gap:4px;display:flex}.secret-row__actions{align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--dur-base) var(--ease-standard);flex-shrink:0;display:flex}.secret-row:hover .secret-row__actions,.secret-row:focus-within .secret-row__actions,.secret-row[aria-current=true] .secret-row__actions{opacity:1}@media (hover:none){.secret-row__actions{opacity:1}}.state{text-align:center;align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-6);background:var(--surface-card);border:1px dashed var(--border-default);border-radius:var(--radius-card);flex-direction:column;display:flex}.state__mark{border-radius:var(--radius-lg);background:var(--bs-blue-50);width:60px;height:60px;color:var(--color-primary);justify-content:center;align-items:center;display:inline-flex}.state h3{font-size:var(--fs-h4)}.state p{max-width:24rem;color:var(--text-muted);font-size:var(--fs-body-sm);line-height:var(--lh-body)}.skeleton-row{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex}.skeleton{border-radius:var(--radius-xs);background:linear-gradient(90deg, var(--bs-gray-100) 25%, var(--bs-gray-200) 37%, var(--bs-gray-100) 63%);background-size:400% 100%;animation:1.4s ease-in-out infinite bs-shimmer}.skeleton--mark{border-radius:var(--radius-md);flex-shrink:0;width:40px;height:40px}@keyframes bs-shimmer{0%{background-position:100%}to{background-position:0}}.drawer{top:calc(var(--space-16) + var(--space-2));max-height:calc(100svh - var(--space-20));background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-md);animation:bs-slide-in var(--dur-base) var(--ease-out) both;flex-direction:column;display:flex;position:sticky;overflow:hidden}.drawer__header{align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--border-subtle);background:var(--surface-tint);display:flex}.drawer__header-body{flex:1;min-width:0}.drawer__header h2{font-size:var(--fs-h3);overflow-wrap:anywhere}.drawer__header-meta{margin-top:var(--space-2);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.drawer__body{padding:var(--space-5);gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer__footer{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--bs-gray-50);display:flex}.drawer__footer-spacer{flex:1}.detail-field{flex-direction:column;gap:6px;min-width:0;display:flex}.detail-field__label{font-size:var(--fs-overline);font-weight:var(--fw-semibold);letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--text-muted)}.detail-field__value{align-items:center;gap:var(--space-2);background:var(--bs-gray-50);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-height:40px;font-size:var(--fs-body-sm);color:var(--text-heading);min-width:0;padding:8px 10px 8px 12px;display:flex}.detail-field__text{overflow-wrap:anywhere;flex:1;min-width:0}.detail-field__text--mono{font-family:var(--font-mono);letter-spacing:.02em}.detail-field__text--notes{white-space:pre-wrap;line-height:var(--lh-body)}.detail-field__actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.detail-field--empty .detail-field__value{color:var(--bs-gray-400);font-style:italic}.detail-timestamps{gap:var(--space-1);padding-top:var(--space-4);border-top:1px dashed var(--border-subtle);font-size:var(--fs-overline);color:var(--text-muted);flex-direction:column;display:flex}.secret-form{gap:var(--space-4);flex-direction:column;display:flex}.secret-form__row{gap:var(--space-3);display:flex}.secret-form__row>*{flex:1;min-width:0}.generator{gap:var(--space-4);padding:var(--space-4);background:var(--surface-tint);border:1px solid var(--bs-blue-100);border-radius:var(--radius-md);animation:bs-fade-up var(--dur-base) var(--ease-out) both;flex-direction:column;display:flex}.generator__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.generator__header h4{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold)}.generator__preview{align-items:center;gap:var(--space-2);background:var(--surface-card);border:1.5px solid var(--bs-blue-100);border-radius:var(--radius-sm);padding:10px 10px 10px 12px;display:flex}.generator__value{min-width:0;font-family:var(--font-mono);font-size:var(--fs-body-sm);color:var(--text-heading);overflow-wrap:anywhere;flex:1;line-height:1.5}.generator__value--masked{letter-spacing:.12em;color:var(--text-muted)}.generator__length{align-items:center;gap:var(--space-3);display:flex}.generator__length output{font-family:var(--font-mono);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--color-primary);text-align:right;min-width:2.5ch}.generator__options{gap:var(--space-2) var(--space-3);grid-template-columns:1fr 1fr;display:grid}.bs-range{appearance:none;border-radius:var(--radius-pill);background:var(--bs-blue-100);cursor:pointer;outline:none;flex:1;height:6px}.bs-range::-webkit-slider-thumb{appearance:none;background:var(--color-primary);border:3px solid var(--bs-gray-0);width:18px;height:18px;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--dur-fast) var(--ease-standard);border-radius:50%}.bs-range::-webkit-slider-thumb:hover{transform:scale(1.12)}.bs-range::-moz-range-thumb{background:var(--color-primary);border:3px solid var(--bs-gray-0);width:18px;height:18px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%}.bs-range:focus-visible{box-shadow:var(--shadow-focus)}.strength{flex-direction:column;gap:6px;display:flex}.strength__track{gap:4px;display:flex}.strength__seg{border-radius:var(--radius-pill);background:var(--bs-gray-200);height:4px;transition:background var(--dur-base) var(--ease-standard);flex:1}.strength__seg--on-weak{background:var(--bs-danger)}.strength__seg--on-fair{background:var(--bs-warning)}.strength__seg--on-good{background:var(--color-accent)}.strength__seg--on-strong{background:var(--bs-success)}.strength__label{font-size:var(--fs-overline);color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.strength__label b{font-weight:var(--fw-semibold)}.strength__label b[data-level=weak]{color:var(--bs-danger)}.strength__label b[data-level=fair]{color:#9a6b00}.strength__label b[data-level=good]{color:var(--bs-cyan-700)}.strength__label b[data-level=strong]{color:#177c54}.copy-toast{bottom:var(--space-6);z-index:60;align-items:center;gap:var(--space-2);padding:10px var(--space-4);background:var(--bs-navy-900);color:var(--text-inverse);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);animation:bs-fade-up var(--dur-base) var(--ease-out) both;display:flex;position:fixed;left:50%;translate:-50%}.copy-toast svg{color:var(--color-accent)}@media (width<=1080px){.vault{grid-template-columns:minmax(0,1fr)}.drawer{z-index:40;width:min(30rem,100vw);max-height:none;box-shadow:var(--shadow-lg);border:none;border-radius:0;position:fixed;top:0;bottom:0;right:0}.drawer__scrim{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#041b4d59;border:none;padding:0;position:fixed;inset:0}}@media (width>=1081px){.drawer__scrim{display:none}}@media (width<=560px){.vault{padding:var(--space-4) var(--space-4) var(--space-8)}.secret-row__tags{display:none}.generator__options{grid-template-columns:1fr}}.secret-row{position:relative}.secret-row__open{font:inherit;font-size:15px;font-weight:var(--fw-semibold);color:var(--text-heading);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;min-width:0;margin:0;padding:0;overflow:hidden}.secret-row__open:after{content:"";border-radius:var(--radius-md);position:absolute;inset:0}.secret-row__open:focus-visible{box-shadow:none}.secret-row:has(.secret-row__open:focus-visible){box-shadow:var(--shadow-focus);border-color:var(--color-primary)}.secret-row__tags,.secret-row__actions{z-index:1;position:relative}.generator__header h4{color:var(--color-primary);align-items:center;gap:6px;display:flex}.secret-form__footer{align-items:center;gap:var(--space-2);bottom:calc(-1 * var(--space-5));margin:var(--space-1) calc(-1 * var(--space-5)) calc(-1 * var(--space-5));padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--bs-gray-50);display:flex;position:sticky}.secret-detail{gap:var(--space-4);flex-direction:column;display:flex}.detail-field__text a{color:var(--text-link);overflow-wrap:anywhere}.toolbar__category{flex:0 0 11rem}@media (width<=560px){.toolbar__category{flex:100%}}.workspace{align-content:start;align-items:start;gap:var(--space-6);width:100%;max-width:var(--container-max);padding:var(--space-6) var(--container-pad) var(--space-10);flex:1;grid-template-columns:14rem minmax(0,1fr);margin-inline:auto;display:grid}.workspace>.vault{max-width:none;margin-inline:0;padding:0}.rail{top:calc(var(--space-6) + 56px);gap:var(--space-2);flex-direction:column;min-width:0;display:flex;position:sticky}.rail__label{margin:0}.rail__section{margin-top:var(--space-4)}.rail__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.rail__item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-body);font:inherit;font-size:var(--fs-body-sm);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);background:0 0;border:1px solid #0000;display:flex}.rail__item:hover{background:var(--bs-gray-100);color:var(--text-heading)}.rail__item[aria-current=true]{background:var(--bs-blue-50);border-color:var(--bs-blue-200);color:var(--text-heading);font-weight:var(--fw-semibold)}.rail__item--skeleton{cursor:default;padding-block:var(--space-3)}.rail__mark{color:var(--color-primary);flex-shrink:0;display:inline-flex}.rail__name{flex:1;min-width:0}.rail__empty{padding:var(--space-2) var(--space-3);font-size:var(--fs-body-sm);margin:0}.rail__create{margin-top:var(--space-4)}.vault-tabs{gap:var(--space-1);border-bottom:1px solid var(--border-subtle);display:flex}.vault-tabs__tab{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:var(--text-muted);font:inherit;font-size:var(--fs-body-sm);font-weight:var(--fw-medium);cursor:pointer;transition:color var(--dur-fast) var(--ease-standard);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;display:inline-flex}.vault-tabs__tab:hover{color:var(--text-heading)}.vault-tabs__tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--fw-semibold)}.member-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.member-row{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex}.member-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.member-row__title{align-items:center;gap:var(--space-1) var(--space-2);min-width:0;color:var(--text-heading);font-weight:var(--fw-medium);flex-wrap:wrap;display:flex}.member-row__title>.bs-truncate{min-width:8rem}.member-row__sub{align-items:center;gap:var(--space-2);min-width:0;color:var(--text-muted);font-size:var(--fs-caption);display:flex}.member-row__actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.add-member{gap:var(--space-4);flex-direction:column;display:flex}.add-member__selected{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--bs-blue-200);border-radius:var(--radius-md);background:var(--bs-blue-50);display:flex}.add-member__selected-body{min-width:0;color:var(--text-heading);font-weight:var(--fw-medium);flex-direction:column;flex:1;gap:2px;display:flex}.directory-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.directory-list__item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-body);font:inherit;font-size:var(--fs-body-sm);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard);background:0 0;border:1px solid #0000;display:flex}.directory-list__item:hover:not(:disabled){background:var(--bs-gray-100)}.directory-list__item:disabled{cursor:not-allowed;opacity:.6}.directory-list__body{min-width:0;color:var(--text-heading);flex-direction:column;flex:1;gap:2px;display:flex}.create-vault{gap:var(--space-4);flex-direction:column;max-width:30rem;display:flex}.create-vault__footer{gap:var(--space-2);display:flex}@media (width<=1080px){.workspace{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.rail{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);scrollbar-width:thin;flex-direction:row;position:static;overflow-x:auto}.rail__label,.rail__section,.rail__empty{display:none}.rail__list{gap:var(--space-2);flex-direction:row}.rail__item{white-space:nowrap;border-radius:var(--radius-pill);border-color:var(--border-subtle)}.rail__create{flex-shrink:0;width:auto;margin-top:0}}@media (width<=560px){.workspace{padding:var(--space-4) var(--space-4) var(--space-8)}.member-row{gap:var(--space-3)}.member-row__sub{flex-wrap:wrap}}.member-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.rotation-progress{gap:var(--space-3);flex-direction:column;display:flex}.rotation-progress__bar{border-radius:var(--radius-pill);background:var(--bs-blue-100);height:6px;overflow:hidden}.rotation-progress__fill{border-radius:inherit;background:var(--color-primary);height:100%;transition:width var(--dur-slow) var(--ease-standard);display:block}.rotation-progress__steps{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rotation-progress__step{align-items:center;gap:var(--space-2);color:var(--text-muted);display:flex}.rotation-progress__step--active{color:var(--text-heading);font-weight:var(--fw-medium)}.rotation-progress__step--done{color:var(--text-body)}.rotation-progress__mark{border:1.5px solid var(--border-default);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.rotation-progress__step--done .rotation-progress__mark{border-color:var(--bs-success);background:var(--bs-success);color:var(--text-inverse)}.rotation-progress__step--active .rotation-progress__mark{border:0}.rotation-progress__spinner{width:18px;height:18px}.rotation-progress__note{font-size:var(--fs-caption);color:var(--text-muted);margin:0}.rotation-retry{margin-top:var(--space-3)}.admin{width:100%;max-width:60rem;padding:var(--space-6) var(--container-pad) var(--space-10);gap:var(--space-5);flex-direction:column;flex:1;margin-inline:auto;display:flex}.admin__tabs{gap:var(--space-1);border-bottom:1px solid var(--border-subtle);display:flex;overflow-x:auto}.admin__tab{padding:var(--space-2) var(--space-3);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--text-muted);white-space:nowrap;transition:color var(--dur-fast) var(--ease-standard);border-bottom:2px solid #0000;margin-bottom:-1px;text-decoration:none}.admin__tab:hover{color:var(--text-heading)}.admin__tab[aria-current=page]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin__tab:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-xs);outline:none}.admin__main{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.admin__heading h1{font-size:var(--fs-h2)}.admin__heading p{margin-top:var(--space-2);font-size:var(--fs-body-sm);color:var(--text-muted);line-height:var(--lh-body)}.admin-card{gap:var(--space-4);padding:var(--space-5);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.admin-card h2{font-size:var(--fs-h4)}.admin-card__header{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-card__spacer{flex:1}.admin-card__lead{align-items:center;gap:var(--space-2);font-size:var(--fs-body-sm);color:var(--text-body);line-height:var(--lh-body);flex-wrap:wrap;display:flex}.admin-capabilities{gap:var(--space-2);font-size:var(--fs-body-sm);color:var(--text-heading);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-capabilities li{align-items:center;gap:var(--space-2);display:flex}.admin-capabilities svg{color:var(--bs-success);flex-shrink:0}.admin-capabilities__off{color:var(--text-muted)}.admin-capabilities__off svg{color:var(--bs-gray-400)}.admin-links{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.admin-link{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);text-decoration:none;display:flex}.admin-link:hover{box-shadow:var(--shadow-md);border-color:var(--bs-blue-200);transform:translateY(-2px)}.admin-link:focus-visible{box-shadow:var(--shadow-focus);border-color:var(--color-primary);outline:none}.admin-link__mark{border-radius:var(--radius-md);background:var(--bs-blue-50);width:40px;height:40px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.admin-link__body{min-width:0;font-size:var(--fs-caption);flex-direction:column;flex:1;gap:2px;display:flex}.admin-link__body strong{font-size:15px;font-weight:var(--fw-semibold);color:var(--text-heading)}.admin-facts{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.admin-facts>div{gap:var(--space-3);font-size:var(--fs-body-sm);line-height:var(--lh-body);grid-template-columns:6rem minmax(0,1fr);display:grid}.admin-facts dt{font-weight:var(--fw-semibold);color:var(--text-heading)}.admin-facts dd{color:var(--text-body);margin:0}.admin-card code,.bs-alert code{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.92em}.admin-footnote{font-size:var(--fs-caption);color:var(--text-muted);line-height:var(--lh-body)}.admin-role-select{flex-shrink:0;width:8.5rem}.admin-role-unknown{font-size:var(--fs-caption);color:var(--text-muted);flex-shrink:0}@media (width<=560px){.admin{padding:var(--space-4) var(--space-4) var(--space-8)}.admin-facts>div{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}}.auth-card.auth-card--wide{max-width:32rem}.recovery-flow{gap:var(--space-6);flex-direction:column;display:flex}.recovery-heading{gap:var(--space-2);flex-direction:column;display:flex}.recovery-heading h2{font-size:var(--fs-h3);line-height:var(--lh-heading);color:var(--text-heading);margin:0}.recovery-heading p{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-muted);margin:0}.recovery-copy{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-body);margin:0}.recovery-actions{gap:var(--space-3);flex-direction:column;display:flex}.recovery-footer{text-align:center;font-size:var(--fs-body-sm);color:var(--text-muted);margin:0}.recovery-inline-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.recovery-steps{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.recovery-steps__item{align-items:flex-start;gap:var(--space-2);padding-top:var(--space-2);border-top:3px solid var(--border-subtle);font-size:var(--fs-caption);line-height:var(--lh-tight);color:var(--text-muted);flex-direction:column;display:flex}.recovery-steps__marker{border-radius:var(--radius-pill);width:22px;height:22px;font-size:var(--fs-overline);font-weight:var(--fw-bold);background:var(--bs-gray-100);color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.recovery-steps__item--current{border-top-color:var(--color-primary);color:var(--text-heading);font-weight:var(--fw-semibold)}.recovery-steps__item--current .recovery-steps__marker{background:var(--color-primary);color:var(--text-inverse)}.recovery-steps__item--done{border-top-color:var(--bs-success);color:var(--text-body)}.recovery-steps__item--done .recovery-steps__marker{background:var(--bs-success);color:var(--text-inverse)}.recovery-passphrase-box{gap:var(--space-3);padding:var(--space-4);background:var(--surface-tint);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;display:flex}.recovery-words{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.recovery-words__item{align-items:baseline;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-body);color:var(--text-heading);display:flex}.recovery-words__index{min-width:1.25rem;font-size:var(--fs-overline);color:var(--text-muted);font-variant-numeric:tabular-nums}.recovery-words__word{overflow-wrap:anywhere}.recovery-passphrase{font-family:var(--font-mono);font-size:var(--fs-body-sm);line-height:var(--lh-body);word-break:break-word;text-align:center;color:var(--text-heading);-webkit-user-select:all;user-select:all;margin:0}.recovery-passphrase-box__tools{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.recovery-passphrase-box__status{font-size:var(--fs-caption);color:var(--text-muted);flex:14rem}.recovery-progress{align-items:center;gap:var(--space-3);font-size:var(--fs-body-sm);color:var(--text-body);margin:0;display:flex}.recovery-progress__spinner{border:2px solid var(--bs-blue-100);border-top-color:var(--color-primary);border-radius:var(--radius-pill);flex:none;width:18px;height:18px;animation:.8s linear infinite recovery-spin}@keyframes recovery-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.recovery-progress__spinner{animation:none}}@media (width<=420px){.recovery-words{grid-template-columns:minmax(0,1fr)}.recovery-steps__label{font-size:var(--fs-overline)}}
