:root{--bg:#f8f9fa;--surface:#fff;--surface-raised:#f3f4f6;--border:#e5e7eb;--border-strong:#d1d5db;--text:#111827;--text-secondary:#374151;--text-muted:#6b7280;--text-faint:#9ca3af;--accent:#3ecf8e;--accent-hover:#3ac486;--accent-dim:rgba(62,207,142,.1);--accent-border:rgba(62,207,142,.25);--error:#dc2626;--error-dim:rgba(220,38,38,.07);--error-border:rgba(220,38,38,.2);--success-dim:rgba(62,207,142,.08);--sidebar-w:240px;--topbar-h:56px;--r:8px;--r-lg:12px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:light}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100%}body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}.brand{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;text-decoration:none}.brand,.brand:hover{color:var(--text)}.brand-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:var(--r);font-size:13px;font-weight:500;font-family:inherit;border:none;cursor:pointer;transition:all .15s;text-decoration:none;white-space:nowrap;line-height:1}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-raised);color:var(--text)}.btn-outline{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.btn-outline:hover{background:var(--surface-raised);color:var(--text)}.btn-primary{background:var(--accent);color:#fff;font-weight:600}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-sm{height:32px;padding:0 .875rem!important;font-size:13px!important;border-radius:6px!important}.landing{min-height:100vh;display:flex;flex-direction:column}.landing-nav{justify-content:space-between;padding:1.125rem 2rem;border-bottom:1px solid var(--border);background:var(--surface)}.landing-nav,.nav-links{display:flex;align-items:center}.nav-links{gap:.5rem}.landing-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem 4rem;text-align:center;position:relative;overflow:hidden}.landing-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,.05) 1px,transparent 0);background-size:36px 36px;pointer-events:none}.hero-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:9999px;font-size:11px;font-weight:500;color:var(--accent-hover);margin-bottom:1.5rem;letter-spacing:.03em;text-transform:uppercase;position:relative}.hero-title{font-size:clamp(2.25rem,6vw,3.75rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;color:var(--text);max-width:680px;margin-bottom:1.25rem;position:relative}.hero-title span{color:var(--accent-hover)}.hero-subtitle{font-size:.975rem;line-height:1.7;color:var(--text-muted);max-width:460px;margin-bottom:2.5rem;position:relative}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;position:relative}.hero-actions .btn{padding:.6rem 1.25rem;font-size:14px}.landing-features{padding:3rem 2rem;max-width:960px;margin:0 auto;width:100%}.section-label{text-align:center;margin-bottom:2rem}.section-label h2{font-size:1.375rem;font-weight:600;color:var(--text);letter-spacing:-.02em;margin-bottom:.375rem}.section-label p{font-size:.825rem;color:var(--text-muted)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.feature-card{background:var(--surface);padding:1.625rem;display:block;text-decoration:none;color:var(--text);transition:background .15s;position:relative}.feature-card:hover{background:#fafafa;color:var(--text)}.feature-icon{width:34px;height:34px;border-radius:var(--r);background:var(--accent-dim);border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:15px}.feature-card h3{font-size:.9rem;font-weight:600;margin-bottom:.375rem}.feature-card p{font-size:.775rem;line-height:1.65;color:var(--text-muted)}.feature-arrow{position:absolute;top:1.625rem;right:1.625rem;color:var(--text-faint);font-size:.8rem;transition:color .15s,transform .15s}.feature-card:hover .feature-arrow{color:var(--accent);transform:translate(2px,-2px)}.landing-stats{padding:0 2rem 3rem;max-width:960px;margin:0 auto;width:100%}.stats-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.125rem 1.625rem;gap:2rem;flex-wrap:wrap}.stat-item,.stats-bar{display:flex;align-items:center}.stat-item{gap:.5rem;font-size:12px;color:var(--text-muted)}.stat-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.stat-value{font-weight:600;color:var(--text)}.landing-footer{padding:1.25rem 2rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:var(--surface)}.landing-footer p{font-size:11px;color:var(--text-faint)}.auth-split{min-height:100vh;display:flex}.auth-form-panel{width:420px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column}.auth-form-panel-top{padding:1.625rem 2.5rem;flex-shrink:0}.auth-form-center{flex:1;display:flex;flex-direction:column;justify-content:center;padding:2rem 2.5rem 4rem;max-width:420px}.auth-heading{margin-bottom:1.75rem}.auth-heading h1{font-size:1.875rem;font-weight:700;color:#0c0c0d;letter-spacing:-.04em;line-height:1.15;margin-bottom:.375rem}.auth-sub{font-size:14px;color:var(--text-muted);line-height:1.5}.auth-form-v2{gap:1.25rem}.auth-form-v2,.form-field-v2{display:flex;flex-direction:column}.form-field-v2{gap:.4rem}.form-field-v2 label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-field-v2-row{display:flex;align-items:center;justify-content:space-between}.form-field-link{font-size:12.5px;color:var(--text-muted);text-decoration:none;transition:color .15s}.form-field-link:hover{color:var(--accent-hover)}.form-field-v2 input{width:100%;padding:.65rem .875rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.form-field-v2 input::placeholder{color:var(--text-faint)}.form-field-v2 input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(62,207,142,.12)}.pw-wrap{position:relative}.pw-wrap input{padding-right:2.75rem}.pw-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-faint);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .15s;line-height:0}.pw-toggle:hover{color:var(--text-muted)}.auth-submit-btn{width:100%;padding:.7rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:var(--r);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s;margin-top:.125rem}.auth-submit-btn:hover{background:var(--accent-hover)}.auth-submit-btn:active{transform:scale(.99)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn-inner{display:flex;align-items:center;justify-content:center;gap:.5rem}@keyframes spin{to{transform:rotate(1turn)}}.auth-spinner{display:inline-block;width:14px;height:14px;border:2px solid hsla(0,0%,100%,.35);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;flex-shrink:0}.auth-hint{margin-top:1.75rem;font-size:12.5px;color:var(--text-faint);line-height:1.6}.auth-back-btn{width:100%;background:none;border:none;color:var(--text-muted);font-size:13px;font-family:inherit;cursor:pointer;padding:.375rem 0;transition:color .15s}.auth-back-btn:hover{color:var(--text)}.auth-quote-panel{flex:1;background:#f9fafb;display:flex;align-items:center;justify-content:center;padding:4rem}.auth-testimonial{max-width:540px}.auth-quote-mark{font-size:5rem;line-height:.75;color:#d1d5db;font-family:Georgia,Times New Roman,serif;margin-bottom:1.5rem;display:block}.auth-quote-text{font-size:1.375rem;font-weight:400;color:#374151;line-height:1.55;letter-spacing:-.02em;margin-bottom:2rem}.auth-quote-attr{display:flex;align-items:center;gap:.75rem}.auth-quote-avatar{width:38px;height:38px;border-radius:50%;background:var(--accent-dim);border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--accent-hover);flex-shrink:0}.auth-quote-handle{font-size:14px;color:var(--text-muted)}@media (max-width:900px){.auth-quote-panel{display:none}.auth-form-panel{width:100%;border-right:none}}@media (max-width:480px){.auth-form-center{padding:2rem 1.5rem;max-width:100%}.auth-form-panel-top{padding:1.25rem 1.5rem}}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative}.auth-page:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,.04) 1px,transparent 0);background-size:36px 36px;pointer-events:none}.auth-brand{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;text-decoration:none;margin-bottom:1.75rem;position:relative}.auth-brand,.auth-brand:hover{color:var(--text)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.875rem;width:100%;max-width:384px;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.05),0 4px 16px rgba(0,0,0,.04)}.auth-header{margin-bottom:1.5rem}.auth-eyebrow{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-hover);margin-bottom:.5rem}.auth-header h1{font-size:1.3rem;font-weight:700;color:var(--text);letter-spacing:-.025em;line-height:1.3;margin-bottom:.375rem}.auth-header p{font-size:.8rem;color:var(--text-muted);line-height:1.6}.auth-form{gap:.875rem}.auth-form,.form-field{display:flex;flex-direction:column}.form-field{gap:.375rem}.form-field label{font-size:12px;font-weight:500;color:var(--text-muted)}.form-field input{width:100%;padding:.6rem .875rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.form-field input::placeholder{color:var(--text-faint)}.form-select{width:100%;padding:.6rem .875rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);color:var(--text);font-size:14px;font-family:inherit;outline:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.form-field input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.form-help{justify-content:space-between;gap:1rem;margin-top:.125rem}.checkbox-label,.form-help{display:flex;align-items:center}.checkbox-label{gap:.4rem;font-size:12px;color:var(--text-muted);cursor:pointer;user-select:none}.checkbox-label input[type=checkbox]{width:13px;height:13px;accent-color:var(--accent);cursor:pointer}.form-link{font-size:12px;color:var(--text-muted);transition:color .15s}.form-link:hover{color:var(--accent-hover)}.submit-btn{width:100%;padding:.625rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:var(--r);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s;margin-top:.25rem}.submit-btn:hover{background:var(--accent-hover)}.submit-btn:active{transform:scale(.99)}.submit-btn:disabled{opacity:.55;cursor:not-allowed}.auth-divider{height:1px;background:var(--border);margin:1.375rem 0}.auth-footer{display:flex;align-items:center;justify-content:center;gap:.375rem;font-size:12px;color:var(--text-muted);flex-wrap:wrap;text-align:center}.auth-footer a{color:var(--text-muted);font-weight:500}.auth-footer a:hover{color:var(--accent-hover)}.reset-link-box{margin-top:.75rem;padding:.75rem;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r);font-size:11px;color:var(--text-muted);word-break:break-all}.reset-link-box a{color:var(--accent-hover);font-weight:500}.app-shell{background:var(--bg)}.app-shell,.sidebar{display:flex;height:100vh;overflow:hidden}.sidebar{width:240px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);flex-direction:column;transition:width .2s cubic-bezier(.4,0,.2,1)}[data-sidebar=collapsed] .sidebar{width:68px}.sidebar-header{height:56px;padding:0 .75rem;border-bottom:1px solid var(--border);overflow:hidden}.sidebar-header,.sidebar-logo-link{display:flex;align-items:center;flex-shrink:0}.sidebar-logo-link{text-decoration:none}.sidebar-logo-img{height:32px;width:auto;object-fit:contain;transition:opacity .15s}[data-sidebar=collapsed] .sidebar-logo-img{opacity:0;width:0;pointer-events:none}.sidebar-team-switcher{gap:.625rem;width:100%;padding:.375rem;cursor:default;overflow:hidden;min-width:0}.sidebar-team-icon,.sidebar-team-switcher{display:flex;align-items:center;border-radius:8px}.sidebar-team-icon{width:32px;height:32px;background:var(--accent);justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0;text-transform:uppercase}.sidebar-team-info{flex:1;min-width:0;overflow:hidden;transition:opacity .15s,width .2s;white-space:nowrap}.sidebar-team-name{font-size:13.5px;font-weight:600;color:var(--text)}.sidebar-team-name,.sidebar-team-plan{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-team-plan{font-size:11px;color:var(--text-muted)}.sidebar-team-switcher svg{flex-shrink:0;color:var(--text-faint);transition:opacity .15s}[data-sidebar=collapsed] .sidebar-team-info,[data-sidebar=collapsed] .sidebar-team-switcher svg{opacity:0;width:0;pointer-events:none}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:clip;padding:.625rem .5rem}.nav-group,.nav-group-label{margin-bottom:.25rem}.nav-group-label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);padding:0 .5rem;white-space:nowrap;overflow:hidden;transition:opacity .15s}[data-sidebar=collapsed] .nav-group-label{opacity:0}.nav-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.45rem .5rem;border-radius:6px;border:none;background:transparent;font-family:inherit;font-size:13.5px;color:var(--text-muted);cursor:pointer;transition:background .1s,color .1s;text-align:left;position:relative;white-space:nowrap;overflow:hidden}.nav-item:hover{background:var(--surface-raised);color:var(--text-secondary)}.nav-item.active{background:var(--accent-dim);color:var(--text);font-weight:500}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:55%;background:var(--accent);border-radius:0 3px 3px 0}.nav-item-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.nav-item:hover .nav-item-icon{color:var(--text-muted)}.nav-item.active .nav-item-icon{color:var(--accent)}.nav-item-label{flex:1;transition:opacity .15s}.nav-item-count{font-size:11px;font-weight:500;color:var(--text-faint);background:var(--surface-raised);border:1px solid var(--border);border-radius:9999px;padding:.05rem .45rem;min-width:20px;text-align:center;line-height:1.6;flex-shrink:0;transition:opacity .15s}.nav-item.active .nav-item-count{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent-hover)}[data-sidebar=collapsed] .nav-item-count,[data-sidebar=collapsed] .nav-item-label{opacity:0;flex:none;width:0;min-width:0;overflow:hidden;pointer-events:none}[data-sidebar=collapsed] .sidebar-nav{padding-left:0;padding-right:0}[data-sidebar=collapsed] .nav-item{justify-content:center;padding:.35rem 0;gap:0;overflow:visible;border-radius:0;background:transparent!important}[data-sidebar=collapsed] .nav-item-icon{width:40px;height:40px;border-radius:10px;color:var(--text-secondary);background:transparent;transition:background .1s,color .1s;overflow:visible;flex-shrink:0}[data-sidebar=collapsed] .nav-item-icon svg{width:20px;height:20px;overflow:visible}[data-sidebar=collapsed] .nav-item:hover .nav-item-icon{background:var(--surface-raised);color:var(--text)}[data-sidebar=collapsed] .nav-item.active .nav-item-icon{background:var(--accent-dim);border:1px solid var(--accent-border);color:var(--accent)}[data-sidebar=collapsed] .nav-item.active:before{display:none}.sidebar-footer{border-top:1px solid var(--border);padding:.625rem .5rem;flex-shrink:0}.sidebar-user-row{gap:.625rem;padding:.375rem;overflow:hidden}.sidebar-avatar,.sidebar-user-row{display:flex;align-items:center;border-radius:8px}.sidebar-avatar{width:32px;height:32px;background:var(--accent-dim);border:1px solid var(--accent-border);justify-content:center;font-size:13px;font-weight:700;color:var(--accent-hover);flex-shrink:0;text-transform:uppercase}.sidebar-user-info{flex:1;min-width:0;overflow:hidden;transition:opacity .15s}.sidebar-user-name{font-size:13px;font-weight:500;color:var(--text)}.sidebar-user-email,.sidebar-user-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:11px;color:var(--text-muted)}.sidebar-logout-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-faint);cursor:pointer;transition:all .12s;flex-shrink:0}.sidebar-logout-btn:hover{border-color:var(--error);background:var(--error-dim);color:var(--error)}[data-sidebar=collapsed] .sidebar-logout-btn,[data-sidebar=collapsed] .sidebar-user-info{opacity:0;width:0;pointer-events:none}[data-sidebar=collapsed] .sidebar-user-row{justify-content:center;padding-left:0;padding-right:0;gap:0}.main-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar{height:56px;justify-content:space-between;padding:0 1rem 0 .75rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.topbar,.topbar-left{display:flex;align-items:center;gap:.5rem}.topbar-left{min-width:0}.sidebar-trigger{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .1s,color .1s;flex-shrink:0}.sidebar-trigger:hover{background:var(--surface-raised);color:var(--text)}.topbar-sep{width:1px;height:20px;background:var(--border);flex-shrink:0}.topbar-breadcrumb{min-width:0}.breadcrumb-list{display:flex;align-items:center;gap:.375rem;list-style:none;margin:0;padding:0}.breadcrumb-item{font-size:13px;color:var(--text-muted);white-space:nowrap}.breadcrumb-sep{font-size:13px;color:var(--border-strong);user-select:none}.breadcrumb-current{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap}.topbar-actions{gap:.5rem;flex-shrink:0}.topbar-actions,.topbar-search{display:flex;align-items:center}.topbar-search{position:relative}.topbar-search-icon{position:absolute;left:.625rem;color:var(--text-faint);display:flex;align-items:center;pointer-events:none}.topbar-search-input{height:32px;padding:0 .75rem 0 2rem;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r);color:var(--text);font-size:13px;font-family:inherit;line-height:1;outline:none;width:200px;transition:border-color .15s,box-shadow .15s,width .2s}.topbar-search-input::placeholder{color:var(--text-faint)}.topbar-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);width:260px}.topbar-search-input::-webkit-search-cancel-button{cursor:pointer}.page-content{flex:1;overflow-y:auto;padding:2rem}.vault-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 2rem;text-align:center}.vault-empty-icon{font-size:2.5rem;margin-bottom:.875rem;opacity:.35}.vault-empty-title{font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:.25rem}.vault-empty-sub{font-size:.8rem;color:var(--text-muted)}.cred-list{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:1024px){.cred-list{grid-template-columns:repeat(2,1fr)}}.cred-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:border-color .15s,box-shadow .15s}.cred-card:hover{border-color:var(--border-strong);box-shadow:0 1px 4px rgba(0,0,0,.04)}.cred-card-head{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.125rem}.cred-identity-btn{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;background:none;border:none;cursor:pointer;padding:0;text-align:left;font-family:inherit;color:inherit;border-radius:6px;transition:opacity .12s}.cred-identity-btn:hover{opacity:.72}.cred-identity{display:flex;align-items:center;gap:.75rem}.cred-icon{font-size:1.25rem;flex-shrink:0}.cred-name{font-size:.875rem;font-weight:600;color:var(--text)}.cred-sub{font-size:11px;color:var(--text-muted);margin-top:1px;font-family:SFMono-Regular,Consolas,monospace}.cred-head-actions{display:flex;align-items:center;gap:.375rem}.cred-badge{font-size:10px;font-weight:600;padding:.2rem .5rem;border-radius:9999px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.04em}.cred-badge-server{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2);color:#2563eb}.cred-badge-vpn{background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.2);color:#7c3aed}.cred-badge-password{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent-hover)}.icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .12s;flex-shrink:0}.icon-btn:hover{background:var(--surface-raised);color:var(--text);border-color:var(--border-strong)}.icon-btn.danger:hover{background:var(--error-dim);border-color:var(--error-border);color:var(--error)}.cred-fields{padding:.5rem 0}.cred-field{display:flex;align-items:center;gap:.75rem;padding:.5rem 1.125rem;transition:background .1s}.cred-field:hover{background:var(--surface-raised)}.cred-field-label{font-size:11px;font-weight:500;color:var(--text-faint);width:110px;flex-shrink:0;text-transform:uppercase;letter-spacing:.03em}.cred-field-value{flex:1;font-size:12.5px;color:var(--text);word-break:break-all;min-width:0}.cred-field-value.mono{font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:12px;letter-spacing:.04em}.copy-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-faint);cursor:pointer;transition:all .12s;flex-shrink:0;opacity:0}.cred-field:hover .copy-btn{opacity:1}.copy-btn:hover{background:var(--surface-raised);border-color:var(--border);color:var(--text-muted)}.copy-btn.copied{background:var(--success-dim);border-color:var(--accent-border);color:var(--accent-hover);opacity:1}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem;backdrop-filter:blur(2px)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.625rem;width:100%;max-width:460px;box-shadow:0 20px 60px rgba(0,0,0,.12);max-height:90vh;overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.375rem}.modal-head h2{font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .12s}.modal-close:hover{background:var(--surface-raised);color:var(--text)}.modal-type-grid{display:flex;flex-direction:column;gap:.5rem}.modal-type-btn{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;transition:all .12s;text-align:left;font-family:inherit}.modal-type-btn:hover{border-color:var(--accent);background:var(--accent-dim)}.modal-type-icon{font-size:1.375rem;flex-shrink:0;width:32px;text-align:center}.modal-type-label{font-size:13px;font-weight:600;color:var(--text);display:block}.modal-type-desc{font-size:11px;color:var(--text-muted);display:block;margin-top:1px}.modal-form{display:flex;flex-direction:column;gap:.875rem}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.375rem;padding-top:.875rem;border-top:1px solid var(--border)}.modal-submit{width:auto!important;padding:.6rem 1.25rem!important;margin-top:0!important}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-stack{position:fixed;bottom:1.5rem;right:1.5rem;z-index:200;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;align-items:flex-end}.toast{gap:.625rem;padding:.65rem 1rem;background:#1a1a1a;color:#f0f0f0;border-radius:var(--r-lg);font-size:13px;font-weight:500;box-shadow:0 4px 24px rgba(0,0,0,.18);animation:toast-in .17s ease-out;max-width:320px;white-space:nowrap}.toast,.toast-icon{display:flex;align-items:center}.toast-icon{justify-content:center;width:18px;height:18px;border-radius:50%;flex-shrink:0}.toast-icon-success{background:var(--accent);color:#fff}.toast-icon-error{background:#ef4444;color:#fff}.toast-icon-info{background:#6b7280;color:#fff}@keyframes drawer-slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.detail-drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 32px rgba(0,0,0,.09);z-index:61;display:flex;flex-direction:column;animation:drawer-slide-in .22s cubic-bezier(.4,0,.2,1)}.detail-drawer-backdrop{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.12)}.form-drawer-backdrop{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.25);backdrop-filter:blur(2px)}.form-drawer{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:100vw;background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 40px rgba(0,0,0,.12);z-index:61;display:flex;flex-direction:column;overflow:hidden;animation:drawer-slide-in .22s cubic-bezier(.4,0,.2,1)}.form-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.form-drawer-header h2{font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.form-drawer-header p{font-size:12px;color:var(--text-muted);margin-top:2px;font-weight:400}.form-drawer-body{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:.875rem}.form-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border);flex-shrink:0}.profile-layout{display:flex;flex-direction:column;gap:1.25rem;max-width:560px}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem 1.5rem}.profile-card-header{display:flex;align-items:center;gap:1rem}.profile-avatar{width:48px;height:48px;border-radius:12px;background:var(--accent-dim);border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--accent-hover);flex-shrink:0}.profile-email{font-size:14px;font-weight:600;color:var(--text)}.profile-meta{flex-wrap:wrap;gap:4px;margin-top:4px}.profile-last-active,.profile-meta{display:flex;align-items:center;font-size:12px;color:var(--text-muted)}.profile-last-active{gap:6px;margin-top:.875rem;padding-top:.875rem;border-top:1px solid var(--border)}.profile-section-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text);margin-bottom:1rem}.profile-pw-form{display:flex;flex-direction:column;gap:.75rem}.profile-pw-field{display:flex;flex-direction:column;gap:.375rem}.profile-pw-field label{font-size:12px;font-weight:500;color:var(--text-muted)}.profile-pw-field input{width:100%;padding:.6rem .875rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.profile-pw-field input::placeholder{color:var(--text-faint)}.profile-pw-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.pw-eye{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-faint);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;line-height:0;transition:color .15s}.pw-eye:hover{color:var(--text-muted)}.profile-pw-error{font-size:12.5px;color:var(--error)}.profile-pw-success{font-size:12.5px;color:#16a34a}.profile-empty{font-size:13px;color:var(--text-muted)}.profile-sessions{border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.profile-session-row{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;transition:background .1s}.profile-session-row:hover{background:var(--surface-raised)}.profile-session-device{font-size:1.25rem;flex-shrink:0}.profile-session-info{flex:1;min-width:0}.profile-session-browser{font-size:13px;font-weight:500;color:var(--text)}.profile-session-detail{font-size:11.5px;color:var(--text-muted);margin-top:2px}.profile-popup{position:absolute;bottom:calc(100% + 6px);left:8px;right:8px;background:var(--surface);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18);border:1px solid var(--border);overflow:hidden;z-index:50}.profile-popup-head{padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-raised)}.profile-popup-back{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:0 0 6px;font-family:inherit}.profile-popup-back:hover{color:var(--text)}.profile-popup-identity{display:flex;align-items:center;gap:8px}.profile-popup-avatar{width:32px;height:32px;border-radius:8px;background:var(--accent-dim);border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--accent-hover);flex-shrink:0}.profile-popup-name{font-size:13px;font-weight:600;color:var(--text)}.profile-popup-email{font-size:11px;color:var(--text-muted);margin-top:1px}.profile-popup-divider{height:1px;background:var(--border);margin:2px 0}.profile-popup-row{display:flex;align-items:center;padding:8px 14px;font-size:12px;gap:8px}.profile-popup-row-info{color:var(--text-muted)}.profile-popup-row-action{justify-content:space-between}.profile-popup-row-label{font-size:12px;font-weight:500;color:var(--text)}.profile-popup-row-sub{font-size:11px;margin-top:1px}.profile-popup-inline-btn{font-size:11px;padding:3px 8px;border-radius:5px;border:1px solid var(--border-strong);flex-shrink:0}.profile-popup-inline-btn,.profile-popup-menu-btn{font-weight:500;background:none;cursor:pointer;font-family:inherit}.profile-popup-menu-btn{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;border:none;font-size:12px;color:var(--text);text-align:left;transition:background .1s}.profile-popup-menu-btn:hover{background:var(--surface-raised)}.profile-popup-chevron{margin-left:auto;color:var(--text-faint);font-size:14px}.profile-popup-signout{color:var(--error)}.profile-popup-scroll{max-height:340px;overflow-y:auto}.profile-popup-info-block{padding:10px 14px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--border)}.profile-popup-info-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-popup-info-label{font-size:11.5px;color:var(--text-muted)}.profile-popup-info-val{font-size:11.5px;color:var(--text);font-weight:500}.profile-popup-section-label{padding:8px 14px 4px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.profile-popup-sessions{padding:0 0 4px}.profile-popup-session{display:flex;align-items:center;gap:10px;padding:8px 14px}.profile-popup-session-icon{font-size:1.1rem;flex-shrink:0}.profile-popup-session-browser{font-size:12px;font-weight:500;color:var(--text)}.profile-popup-session-detail{font-size:10.5px;color:var(--text-muted);margin-top:1px}