:root{color-scheme:light dark;font-family:Segoe UI,system-ui,sans-serif;background:radial-gradient(circle at top left,rgba(0,147,121,.24),transparent 35%),linear-gradient(180deg,#f4f1ea,#dfe7ec);color:#142127}body{margin:0;min-height:100vh}#root{min-height:100vh}.shell{min-height:100vh;display:grid;place-items:center;padding:24px}.panel{width:min(100%,560px);padding:32px;border-radius:8px;background:#ffffffb3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 60px #1421271f}.stack{display:grid;gap:12px}.field{border:1px solid rgba(20,33,39,.18);border-radius:6px;padding:14px 16px;font:inherit;background:#ffffffdb}.button{border:0;border-radius:6px;padding:14px 16px;font:inherit;font-weight:700;color:#f7fbfc;background:linear-gradient(135deg,#125b50,#1d7a68);cursor:pointer}.button:disabled{opacity:.6;cursor:not-allowed}.button-secondary{color:#1d312f;background:#ffffffb8;border:1px solid rgba(18,91,80,.16)}.label{display:flex;align-items:center;gap:5px;margin-bottom:8px;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#42615e}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-hero{position:relative;overflow:hidden;background:linear-gradient(155deg,#0a2e28,#125b50 60%,#1a7a6a);padding:56px 52px;display:flex;flex-direction:column;justify-content:center;color:#e8f5f3}.auth-hero--register{background:linear-gradient(155deg,#0e2a24,#0f4d42 60%,#145f52)}.auth-hero-content{position:relative;z-index:1;max-width:440px}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:52px}.auth-logo-mark{width:36px;height:36px;flex-shrink:0}.auth-logo-name{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:#fff}.auth-hero-title{margin:0 0 20px;font-size:clamp(2rem,3.2vw,2.8rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:#fff}.auth-hero-sub{margin:0 0 36px;font-size:1rem;line-height:1.65;color:#e8f5f3b8}.auth-features{list-style:none;margin:0;padding:0;display:grid;gap:14px}.auth-features li{display:flex;align-items:center;gap:12px;font-size:.92rem;color:#e8f5f3d9}.auth-feat-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#ffffff1a;color:#e8f5f3e6;flex-shrink:0}.auth-hero-deco{position:absolute;bottom:-80px;right:-80px;pointer-events:none}.deco-ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.06)}.deco-ring-1{width:280px;height:280px;bottom:0;right:0}.deco-ring-2{width:460px;height:460px;bottom:-90px;right:-90px}.deco-ring-3{width:640px;height:640px;bottom:-180px;right:-180px}.auth-warning-card{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:7px;background:#ffc8321a;border:1px solid rgba(255,200,50,.22);margin-top:36px}.auth-warning-card--light{margin:0 0 20px;color:#5c4315;background:#fff4d4f5;border-color:#966d1547}.auth-warning-card--light strong{color:#4a3308}.auth-warning-card--light p{color:#6a4d18}.auth-warn-icon{color:#ffc832;flex-shrink:0;margin-top:2px}.auth-warning-card strong{display:block;margin-bottom:4px;color:#feb;font-size:.875rem}.auth-warning-card p{margin:0;font-size:.82rem;line-height:1.55;color:#e8f5f3ad}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:56px 40px;background:#f4f1ea}.auth-form-wrap{width:min(100%,400px)}.auth-form-header{margin-bottom:32px}.auth-form-header h1{margin:0 0 8px;font-size:2rem;font-weight:800;letter-spacing:-.03em;color:#0d2e29}.auth-form-header p{margin:0;color:#4a6562;font-size:.95rem;line-height:1.55}.auth-form{display:grid;gap:18px;margin-bottom:16px}.auth-field-group{display:grid;gap:6px;position:relative}.auth-password-wrap{position:relative}.auth-password-wrap .field{width:100%;box-sizing:border-box;padding-right:44px}.auth-eye-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:#42615e;cursor:pointer;border-radius:4px;padding:0}.auth-eye-btn:hover{color:#125b50;background:#125b5014}.auth-submit{margin-top:6px;padding:15px 20px;font-size:1rem;letter-spacing:.01em;transition:opacity .15s,transform .1s}.auth-submit:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.auth-biometric-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 20px;font-size:.95rem;font-weight:500;background:#125b5012;color:#125b50;border:1.5px solid rgba(18,91,80,.22);border-radius:8px;cursor:pointer;margin-bottom:18px;transition:background .15s,border-color .15s,transform .1s}.auth-biometric-btn:hover:not(:disabled){background:#125b5021;border-color:#125b505c;transform:translateY(-1px)}.auth-biometric-offer{display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 0 4px;text-align:center}.auth-biometric-offer h2{font-size:1.3rem;font-weight:700;color:#0f2524;margin:0}.auth-biometric-offer p{font-size:.95rem;color:#4a6260;margin:0 0 8px;line-height:1.5}.auth-biometric-icon{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;background:#125b5014;color:#125b50;margin-bottom:4px}.auth-status{padding:12px 16px;border-radius:6px;background:#125b5014;border:1px solid rgba(18,91,80,.15);font-size:.875rem;color:#125b50;margin-bottom:16px}.auth-status--error{background:#dc323212;border-color:#dc32322e;color:#7d1d25}.auth-success{padding:20px;border-radius:7px;background:#125b5014;border:1px solid rgba(18,91,80,.18);color:#125b50;margin-bottom:20px;font-size:.95rem;line-height:1.5}.auth-footer-link{margin:0;font-size:.875rem;color:#4a6562;text-align:center}.auth-footer-link a{color:#125b50;font-weight:700;text-decoration:none}.auth-footer-link a:hover{text-decoration:underline}.auth-recovery-link{margin:12px 0 16px;text-align:left}.auth-recovery-link a{color:#42615e;font-size:.9rem;font-weight:700;text-decoration:none}.auth-recovery-link a:hover{text-decoration:underline}.auth-recovery-link p{margin:6px 0 0;color:#5c7471;font-size:.8rem}.auth-checkbox{display:flex;gap:10px;align-items:flex-start;margin:18px 0;color:#35504d;font-size:.9rem}.password-strength{margin-top:-4px}.password-strength-bar{height:8px;border-radius:4px;background:#125b501a;overflow:hidden}.password-strength-fill{display:block;height:100%;border-radius:inherit;background:#b63d3d}.password-strength-fill.is-3,.password-strength-fill.is-4{background:#c58d1c}.password-strength-fill.is-5{background:#1d7a68}.password-strength-label{margin:8px 0 0;font-size:.82rem;color:#4a6562}@media (max-width: 860px){.auth-layout{grid-template-columns:1fr}.auth-hero{padding:32px 28px 36px;justify-content:flex-start}.auth-logo{margin-bottom:20px}.auth-hero-title{font-size:1.75rem}.auth-hero-sub{margin-bottom:16px;font-size:.9rem}.auth-features{display:none}.auth-warning-card{margin-top:16px}.auth-hero-deco{display:none}.auth-form-panel{padding:36px 24px;align-items:flex-start}}.vault-shell{min-height:100vh;padding:24px}.vault-mobile-footer{display:none}.vault-app{display:grid;grid-template-columns:minmax(280px,360px) minmax(320px,1fr) minmax(300px,400px);gap:20px;min-height:calc(100vh - 48px)}.vault-sidebar,.vault-list-panel,.vault-detail-panel{border-radius:8px;background:#ffffffb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 60px #1421271a}.vault-sidebar{display:grid;gap:16px;align-content:start;padding:24px}.vault-nav{display:flex;align-items:center;gap:10px;padding-bottom:4px}.vault-nav-icon{width:34px;height:34px;flex-shrink:0}.vault-nav-name{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:#0d2e29}.vault-search-wrap{position:relative}.vault-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#7a9895;pointer-events:none}.vault-search-field{padding-left:38px}.vault-sidebar-footer{margin-top:auto;padding-top:8px;border-top:1px solid rgba(18,91,80,.1)}.vault-sidebar-note{margin:10px 0 0;font-size:.8rem;line-height:1.45;color:#4a6562}.vault-logout-btn{display:flex;align-items:center;gap:8px;width:100%;justify-content:center}.vault-sidebar .field,.vault-sidebar select.field{width:100%;box-sizing:border-box}.vault-recovery-btn{margin-bottom:12px}.vault-panel-header h2,.vault-empty h3{margin:0}.vault-empty p{color:#486461}.vault-new-btn{display:flex;align-items:center;gap:6px;white-space:nowrap}.vault-new-btn.is-active{background:#7d1d2514;color:#7d1d25;border:1px solid rgba(125,29,37,.15)}.vault-feedback--ok{background:#125b5014;border:1px solid rgba(18,91,80,.18);color:#125b50}.vault-item{display:flex;gap:12px;align-items:center;border:1px solid rgba(18,91,80,.1);border-radius:6px;padding:14px;background:#ffffffad;text-align:left;cursor:pointer;transition:background .12s,border-color .12s,transform .1s}.vault-item:hover{background:#ffffffe0;transform:translateY(-1px)}.vault-item.is-active{border-color:#125b5066;background:linear-gradient(135deg,#125b501a,#ffffffe6)}.vault-item-avatar{width:38px;height:38px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:-.01em}.vault-item-body{flex:1;min-width:0;display:grid;gap:5px}.vault-item-main{display:flex;align-items:center;justify-content:space-between;gap:8px}.vault-item-main strong{color:#132422;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vault-item-meta{display:flex;justify-content:space-between;gap:8px;font-size:.78rem;color:#5a7875}.vault-badge{display:inline-block;padding:3px 8px;border-radius:5px;font-size:.72rem;font-weight:700;background:#125b501a;color:#125b50;letter-spacing:.03em;flex-shrink:0}.vault-badge--lg{padding:5px 12px;font-size:.8rem}.vault-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px;color:#486461;gap:10px}.vault-empty-icon{margin-bottom:4px}.vault-empty h3{margin:0;color:#0d2e29;font-size:1.1rem}.vault-empty p{margin:0;font-size:.875rem;line-height:1.55;max-width:240px}.vault-create-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vault-detail-category{margin-bottom:18px}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid rgba(18,91,80,.07)}.detail-row:last-child{border-bottom:0}.detail-row--dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-date-group{display:grid;gap:4px}.detail-label{display:flex;align-items:center;gap:5px;font-size:.8rem;font-weight:700;color:#42615e;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;flex-shrink:0}.detail-value-row{display:flex;align-items:center;gap:6px;min-width:0}.detail-value{font-size:.875rem;color:#1d3330;word-break:break-all}.detail-value--mono{font-family:Consolas,Courier New,monospace;letter-spacing:.05em}.vault-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;border:1px solid rgba(18,91,80,.16);background:#ffffffb3;color:#125b50;cursor:pointer;font-size:.75rem;font-weight:700;flex-shrink:0;transition:background .1s,border-color .1s}.vault-copy-btn:hover{background:#125b501a;border-color:#125b504d}.vault-kicker{display:inline-block;margin-bottom:6px;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#125b50}.vault-sidebar-card,.vault-detail-card,.vault-feedback{border:1px solid rgba(18,91,80,.12);border-radius:7px;background:#ffffffbd;padding:18px}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sidebar-count{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;border-radius:5px;background:#125b501a;color:#125b50;font-size:.8rem;font-weight:700}.category-list{display:flex;flex-wrap:wrap;gap:8px}.category-chip{border:1px solid rgba(18,91,80,.14);border-radius:5px;padding:7px 13px;font-size:.82rem;background:#fffc;color:#183a36;cursor:pointer;transition:background .1s}.category-chip.is-active{background:#125b50;color:#f7fbfc;border-color:transparent}.vault-list-panel,.vault-detail-panel{display:grid;grid-template-rows:auto 1fr;gap:16px;padding:24px}.vault-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.vault-list{display:grid;gap:10px;align-content:start;overflow:auto}.vault-create-form{display:grid;gap:16px;border:1px solid rgba(18,91,80,.12);border-radius:7px;background:#ffffffbd;padding:18px}.vault-create-grid{display:grid;gap:14px}.vault-suggestions{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:30;display:grid;gap:4px;padding:6px;border:1px solid rgba(18,91,80,.18);border-radius:6px;background:#fffffffa;box-shadow:0 8px 24px #14212724;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.vault-suggestion{border:0;border-radius:5px;padding:9px 10px;text-align:left;font:inherit;color:#173a35;background:transparent;cursor:pointer}.vault-suggestion:hover{background:#125b5014}.vault-password-row{display:grid;grid-template-columns:1fr auto;gap:10px}.vault-textarea{min-height:90px;resize:vertical}.vault-create-actions{display:flex;justify-content:flex-end;gap:10px}.vault-error{color:#7d1d25;background:#ffedefeb;border-color:#7d1d251f}.vault-empty-detail{justify-content:center}.vault-tag-input-wrap{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:42px;padding:6px 10px;border:1px solid rgba(20,33,39,.18);border-radius:6px;background:#ffffffdb;cursor:text}.vault-tag-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 10px;border-radius:4px;background:#125b501f;color:#125b50;font-size:.8rem;font-weight:600}.vault-tag-chip-remove{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:#125b50;cursor:pointer;padding:2px;line-height:1;opacity:.65;border-radius:3px}.vault-tag-chip-remove:hover{opacity:1;background:#125b5026}.vault-tag-text-input{flex:1;min-width:80px;border:none;background:transparent;font:inherit;font-size:.875rem;outline:none;padding:2px 0;color:#142127}.vault-tag-badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:.7rem;font-weight:600;background:#1d7a6817;color:#1d7a68;border:1px solid rgba(29,122,104,.2)}.vault-item-tags{display:flex;flex-wrap:wrap;gap:4px}.vault-tags-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.vault-detail-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.vault-action-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:6px}.vault-delete-btn{background:#7d1d2512;color:#7d1d25;border-color:#7d1d2529}.vault-delete-btn:hover{background:#7d1d2524;border-color:#7d1d2542}.vault-delete-confirm-text{font-size:.85rem;font-weight:600;color:#7d1d25;white-space:nowrap}.vault-edit-form{display:grid;gap:16px;overflow:auto}.vault-edit-status{margin:0;font-size:.875rem;color:#7d1d25;padding:10px 14px;border-radius:6px;background:#7d1d2512;border:1px solid rgba(125,29,37,.14)}.vault-changepw-form{display:grid;gap:12px;padding:14px;border:1px solid rgba(18,91,80,.12);border-radius:7px;background:#fff9}.vault-changepw-form .field{width:100%;box-sizing:border-box}.vault-sidebar-note--error{color:#7d1d25}.vault-mobile-header{display:none}.vault-mobile-menu-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(18,91,80,.18);border-radius:6px;background:#ffffffb3;color:#125b50;cursor:pointer;flex-shrink:0}.vault-sidebar-close{display:none;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(18,91,80,.16);border-radius:6px;background:transparent;color:#125b50;cursor:pointer;margin-left:auto;flex-shrink:0}.vault-sidebar-backdrop{display:none}@media (max-width: 1200px){.vault-app{grid-template-columns:minmax(260px,320px) 1fr}.vault-detail-panel{grid-column:1 / -1}}@media (max-width: 1024px),(hover: none) and (pointer: coarse){.vault-shell{padding:16px}.vault-app{grid-template-columns:1fr;min-height:auto}.vault-sidebar{position:fixed;left:0;top:0;bottom:0;width:300px;max-width:85vw;z-index:200;border-radius:0 8px 8px 0;overflow-y:auto;padding:20px 18px;transform:translate(-110%);transition:transform .25s cubic-bezier(.4,0,.2,1);grid-column:auto;grid-row:auto;display:grid;align-content:start;gap:16px}.vault-sidebar.is-mobile-open{transform:translate(0)}.vault-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;background:#0e1e1b85;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.vault-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;background:#ffffffb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 4px 16px #14212714;margin-bottom:15px}.vault-mobile-header-brand{display:flex;align-items:center;gap:10px}.vault-mobile-menu-btn,.vault-sidebar-close{display:flex}.vault-new-btn-text{display:none}.vault-list-panel,.vault-detail-panel{padding:18px}.vault-create-row{grid-template-columns:1fr}.vault-password-row,.vault-create-actions{grid-template-columns:1fr;display:grid}.detail-row--dates{grid-template-columns:1fr;gap:16px}.detail-row{flex-direction:column;gap:6px}.detail-value-row{width:100%;justify-content:space-between}.vault-tags-row{justify-content:flex-start}.vault-mobile-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:10px 12px;font-size:.8rem;color:#fff;background:#186b5c;border-radius:10px;box-shadow:0 10px 24px #186b5c2e}}.auth-biometric-btn{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:18px;margin-bottom:20px;background:#186b5c0f;border:1.5px solid rgba(24,107,92,.2);border-radius:12px;color:#186b5c;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .18s,border-color .18s,transform .15s}.auth-biometric-btn:hover:not(:disabled){background:#186b5c1c;border-color:#186b5c66;transform:translateY(-1px)}.auth-biometric-btn:disabled{opacity:.5;cursor:not-allowed}.auth-biometric-offer{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:32px 16px;color:#186b5c}.auth-biometric-offer h2{font-size:1.1rem;font-weight:600;color:#1a2e2c;margin:0}.auth-biometric-offer p{font-size:.9rem;color:#5c7471;margin:0}.auth-biometric-offer-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px}.button--ghost{background:transparent;color:#5c7471;border:1.5px solid rgba(24,107,92,.2)}.button--ghost:hover{background:#186b5c0f;border-color:#186b5c59}
