:root{--bg:#0f1117;--card-bg:#171a22;--card-border:#2a2f3a;--card-shadow:0 12px 40px #00000073;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--status-bg:#12151c;--status-border:#252a35;--status-online:#34d399;--status-offline:#f87171;--btn-bg:#1e2430;--btn-border:#3b4252;--btn-text:#e5e7eb;--input-bg:#12151c;--input-border:#3b4252;--accent:#6366f1;--accent-hover:#818cf8;--error-text:#fca5a5;--error-bg:#f871711a;--error-border:#f8717159;--recovery-bg:#6366f114;--recovery-border:#818cf873;--recovery-title:#e0e7ff;--recovery-warning:#fcd34d;--recovery-key-bg:#0c0e14;--recovery-key-border:#4b5563;--recovery-key-text:#f9fafb;--danger-bg:#7f1d1d59;--mono:ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--sans);color:var(--text-primary);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}#root{min-height:100svh}.page{box-sizing:border-box;justify-content:center;align-items:center;min-height:100svh;padding:1.25rem;display:flex}.card{background:var(--card-bg);border:1px solid var(--card-border);width:100%;max-width:28rem;box-shadow:var(--card-shadow);box-sizing:border-box;border-radius:1rem;padding:2rem 1.75rem}.card--wide{max-width:36rem}.card--workspace{max-width:42rem}.page:has(.card--workspace){align-items:flex-start;padding-top:1rem;padding-bottom:1rem}.card__header{text-align:center;margin-bottom:1.75rem}.card__title{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 .5rem;font-size:clamp(1.5rem,5vw,1.875rem);font-weight:600}.card__subtitle{color:var(--text-secondary);margin:0;font-size:1rem}.card__loading{text-align:center;color:var(--text-secondary);margin:0}.card__body{flex-direction:column;gap:1rem;display:flex}.card__footer{border-top:1px solid var(--card-border);text-align:center;color:var(--text-muted);margin-top:1.75rem;padding-top:1.25rem;font-size:.8125rem}.form{gap:1rem}.form-field{flex-direction:column;gap:.375rem;display:flex}.form-field__label{color:var(--text-secondary);font-size:.875rem}.form-field__input{width:100%;color:var(--text-primary);background:var(--input-bg);border:1px solid var(--input-border);border-radius:.5rem;outline:none;padding:.625rem .75rem;font-size:1rem;transition:border-color .15s}.form-field__input:focus{border-color:var(--accent)}.form-field__input:disabled{opacity:.6}.form-error{color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border);border-radius:.5rem;margin:0;padding:.625rem .75rem;font-size:.875rem}.btn{cursor:pointer;border:1px solid #0000;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:500;transition:opacity .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{color:#fff;background:var(--accent);border-color:var(--accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{color:var(--btn-text);background:var(--btn-bg);border-color:var(--btn-border)}.btn--secondary:hover:not(:disabled){border-color:var(--accent)}.dashboard{background:var(--status-bg);border:1px solid var(--status-border);border-radius:.625rem;flex-direction:column;gap:.625rem;padding:1rem;display:flex}.dashboard__welcome{color:var(--text-primary);margin:0;font-size:1.0625rem}.dashboard__welcome strong{font-weight:600}.dashboard__meta{color:var(--text-secondary);margin:0;font-size:.875rem}.dashboard__badge{font-family:var(--mono);color:var(--accent)}.dashboard__vault{color:var(--text-secondary);margin:0;font-size:.875rem}.form-section-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.form-hint{color:var(--text-muted);margin:0;font-size:.8125rem;line-height:1.45}.recovery-block{background:var(--recovery-bg);border:1px solid var(--recovery-border);border-radius:.625rem;flex-direction:column;gap:.875rem;padding:1rem;display:flex}.recovery-block__title{color:var(--recovery-title);margin:0;font-size:1.0625rem;font-weight:600}.recovery-block__warning{color:var(--recovery-warning);margin:0;font-size:.875rem}.recovery-block__key{font-family:var(--mono);word-break:break-all;white-space:pre-wrap;color:var(--recovery-key-text);background:var(--recovery-key-bg);border:1px solid var(--recovery-key-border);border-radius:.5rem;margin:0;padding:.875rem;font-size:clamp(.75rem,3.2vw,.875rem);line-height:1.5;overflow-x:auto}.recovery-block__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.recovery-block__actions .btn{flex:10rem;width:auto}.recovery-block__hint{color:var(--status-online);font-size:.8125rem}.form-hint--ok{color:var(--status-online)}.form-field__row{align-items:stretch;gap:.5rem;display:flex}.form-field__row--wrap{flex-wrap:wrap}.form-field__row .form-field__input{flex:1;min-width:0}.form-field__textarea{resize:vertical;min-height:4.5rem;font-family:inherit}.form-field--checkbox{color:var(--text-secondary);flex-direction:row;align-items:center;gap:.5rem;font-size:.875rem}.form-field--checkbox input{width:auto}.btn--inline{white-space:nowrap;flex-shrink:0;width:auto}.btn--small{width:auto;padding:.5rem .75rem;font-size:.875rem}.btn--danger{color:#fecaca;background:#7f1d1d59;border-color:#f8717173}.btn--danger:hover:not(:disabled){border-color:#f87171}.vault-workspace{flex-direction:column;gap:1rem;display:flex}.vault-toolbar{flex-direction:column;gap:.75rem;display:flex}@media (width>=480px){.vault-toolbar{flex-direction:row;align-items:stretch}.vault-search{flex:1}}.vault-search{width:100%;color:var(--text-primary);background:var(--input-bg);border:1px solid var(--input-border);border-radius:.5rem;outline:none;padding:.625rem .75rem;font-size:1rem}.vault-search:focus{border-color:var(--accent)}.vault-empty{text-align:center;color:var(--text-muted);margin:0;padding:1.5rem 0}.item-list{flex-direction:column;gap:.75rem;max-height:min(60svh,32rem);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.item-card{background:var(--status-bg);border:1px solid var(--status-border);border-radius:.625rem;padding:1rem}.item-card__head{flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;display:flex}.item-card__title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.item-card__star{color:#fbbf24;margin-left:.35rem}.item-card__category{color:var(--accent);background:#6366f11f;border-radius:999px;padding:.2rem .5rem;font-size:.75rem}.item-card__meta{gap:.5rem;margin:0 0 .75rem;display:grid}.item-card__meta dt{color:var(--text-muted);margin:0;font-size:.75rem}.item-card__meta dd{color:var(--text-secondary);word-break:break-word;margin:.125rem 0 0;font-size:.875rem}.item-card__secret{font-family:var(--mono)}.item-card__actions{flex-wrap:wrap;gap:.5rem;display:flex}.vault-footer-actions{flex-direction:column;gap:.5rem;display:flex}@media (width>=400px){.vault-footer-actions{flex-direction:row}.vault-footer-actions .btn{flex:1}}.item-form{max-height:min(75svh,40rem);padding-right:.25rem;overflow-y:auto}.import-screen{flex-direction:column;gap:1rem;display:flex}.import-textarea{min-height:10rem;font-family:var(--mono);font-size:.8125rem}.import-warnings{color:var(--recovery-warning);margin:0;padding-left:1.25rem;font-size:.8125rem}.import-preview-list{flex-direction:column;gap:.5rem;max-height:min(50svh,24rem);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.import-preview-item{background:var(--status-bg);border:1px solid var(--status-border);border-radius:.5rem;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.import-preview-item--warn{border-color:var(--recovery-warning)}.import-preview-item__title{color:var(--text-primary);font-size:.875rem;font-weight:600}.import-preview-item__meta{color:var(--text-secondary);font-size:.75rem}.import-preview-item__note{color:var(--text-muted);font-size:.75rem}.import-preview-item__flag{color:var(--recovery-warning);font-size:.75rem}.success-banner{color:#86efac;text-align:center;background:#22c55e1f;border:1px solid #22c55e59;border-radius:.5rem;margin:0 0 1rem;padding:.75rem 1rem;font-size:.9375rem}.account-actions{flex-direction:column;gap:.75rem;width:100%;margin-top:1rem;display:flex}.change-password-form{width:100%}.change-password-form .form-field__input{width:100%;font-size:1rem}.change-password-actions{flex-direction:column;gap:.75rem;width:100%;display:flex}.btn--touch{width:100%;min-height:3rem;padding:.75rem 1rem;font-size:1rem}.vault-footer-actions .btn--touch{width:100%}
