.vs-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.vs-button:disabled{cursor:not-allowed;opacity:.55}.vs-button--primary{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-surface)}.vs-button--primary:hover:not(:disabled){filter:brightness(1.08)}.vs-button--secondary{background-color:var(--color-bg-surface);border-color:var(--color-border-strong);color:var(--color-text-primary)}.vs-button--secondary:hover:not(:disabled){background-color:var(--color-accent-bg);border-color:var(--color-accent)}.vs-button--danger{background-color:var(--color-bg-surface);border-color:var(--color-danger);color:var(--color-danger)}.vs-button--danger:hover:not(:disabled){background-color:var(--color-danger-bg)}.vs-field{display:flex;flex-direction:column;gap:4px}.vs-field__label{font-size:12px;font-weight:500;color:var(--color-text-secondary)}.vs-field__control{position:relative;display:flex;align-items:center}.vs-field__input{width:100%;height:32px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background-color:var(--color-bg-surface);color:var(--color-text-primary);font-size:13px}.vs-field__input[aria-invalid=true]{border-color:var(--color-danger)}.vs-field__input--with-trailing{padding-right:84px}.vs-field__hint{font-size:12px;color:var(--color-text-muted)}.vs-field__error{font-size:12px;color:var(--color-danger)}.vs-panel{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.vs-auth-screen{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background-color:var(--color-bg-canvas)}.vs-auth-card{width:100%;max-width:360px;padding:24px;display:flex;flex-direction:column;gap:16px}.vs-auth-card__title{font-size:18px;font-weight:500}.vs-auth-card__form{display:flex;flex-direction:column;gap:12px}.vs-auth-card__error{font-size:12px;color:var(--color-danger)}.vs-auth-card__switch{align-self:flex-start;background:none;border:none;padding:0;color:var(--color-accent);font-size:12px;cursor:pointer}.vs-auth-card__hint{font-size:12px;color:var(--color-text-secondary)}.vs-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-primary);cursor:pointer}.vs-checkbox__input{width:16px;height:16px;accent-color:var(--color-accent)}.vs-recovery-card{max-width:420px}.vs-recovery-card__content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;background-color:var(--color-bg-canvas);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.vs-recovery-card__key{font-size:15px;font-weight:500;letter-spacing:.04em;text-align:center;word-break:break-all}.vs-recovery-card__qr{width:160px;height:160px}.vs-vault-list{flex:1;min-height:0;overflow:hidden}.vs-vault-list__empty{padding:16px;font-size:13px;color:var(--color-text-muted)}.vs-vault-row{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0 12px;border:none;border-bottom:1px solid var(--color-border);background-color:transparent;text-align:left;cursor:pointer}.vs-vault-row:hover{background-color:var(--color-accent-bg)}.vs-vault-row[data-selected]{background-color:var(--color-accent-bg);border-left:2px solid var(--color-accent)}.vs-vault-row__name{font-size:13px;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vs-vault-row__username{font-size:12px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vs-generator{display:flex;flex-direction:column;gap:12px;padding:12px;background-color:var(--color-bg-canvas);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.vs-generator__output{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background-color:var(--color-bg-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:14px;word-break:break-all}.vs-generator__output-actions{display:flex;gap:4px;flex-shrink:0}.vs-generator__status{font-size:12px;color:var(--color-text-secondary)}.vs-generator__status--error{color:var(--color-danger)}.vs-generator__length{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-text-secondary)}.vs-generator__checks{display:flex;flex-wrap:wrap;gap:12px}.vs-generator__actions{display:flex;justify-content:flex-end;gap:8px}.vs-item-form{display:flex;flex-direction:column;gap:12px;padding:16px;overflow-y:auto}.vs-item-form__password-actions{position:absolute;right:4px;display:flex;gap:2px}.vs-item-form__icon-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer}.vs-item-form__icon-button:hover{color:var(--color-accent);background-color:var(--color-accent-bg)}.vs-item-form__hint{font-size:12px;color:var(--color-text-secondary);margin-top:-6px}.vs-item-form__notes-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:500;color:var(--color-text-secondary)}.vs-item-form__notes{padding:8px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background-color:var(--color-bg-surface);color:var(--color-text-primary);font-size:13px;resize:vertical}.vs-item-form__error{font-size:12px;color:var(--color-danger)}.vs-item-form__actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px}.vs-item-form__actions-right{display:flex;gap:8px;margin-left:auto}.vs-detail-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.vs-detail-panel--empty{align-items:center;justify-content:center;padding:24px;color:var(--color-text-muted);font-size:13px}.vs-vault-page{display:flex;flex-direction:column;height:100%}.vs-vault-page__header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--color-border);background-color:var(--color-bg-surface)}.vs-vault-page__email{font-size:13px;color:var(--color-text-secondary)}.vs-vault-page__header-actions{display:flex;gap:8px}.vs-vault-page__status-strip{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--color-border)}.vs-vault-page__item-count{font-size:12px;color:var(--color-text-secondary)}.vs-vault-page__error{padding:8px 16px;color:var(--color-danger);background-color:var(--color-danger-bg);font-size:12px}.vs-vault-page__loading{padding:16px;font-size:13px;color:var(--color-text-muted)}.vs-vault-page__split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(240px,320px) 1fr}.vs-vault-page__split>.vs-vault-list{border-right:1px solid var(--color-border)}:root,[data-theme=light]{--font-family-base: "Public Sans", sans-serif;--color-bg-canvas: #f7f7f5;--color-bg-surface: #ffffff;--color-text-primary: #1a1d21;--color-text-secondary: #5b6169;--color-text-muted: #8b9097;--color-border: #e2e3e0;--color-border-strong: #cdcfcb;--color-accent: #1a4e8a;--color-accent-text: #0c3766;--color-accent-bg: #e7eff8;--color-danger: #8a2a1a;--color-danger-bg: #f8ece7;--color-warning: #7a5205;--color-warning-bg: #f8f0e0;--color-success: #0f5c3a;--color-success-bg: #e6f2ec;--radius-sm: 4px;--radius-md: 6px}[data-theme=dark]{--color-bg-canvas: #111315;--color-bg-surface: #17191c;--color-text-primary: #e8e9ea;--color-text-secondary: #a7abb1;--color-text-muted: #75797f;--color-border: #2a2d31;--color-border-strong: #3a3d42;--color-accent: #6ea6e0;--color-accent-text: #bcd7f4;--color-accent-bg: #1c2a3a;--color-danger: #e0897c;--color-danger-bg: #3a2420;--color-warning: #e0b95f;--color-warning-bg: #3a2f18;--color-success: #7ecba3;--color-success-bg: #173428}.tabular-nums{font-variant-numeric:tabular-nums}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-family-base),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.45;font-weight:400;color:var(--color-text-primary);background-color:var(--color-bg-canvas);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media print{body>#root>*:not(.print-context){display:none!important}.print-context>*:not(.print-area){display:none!important}}
