:root{--fpx-red: #c8102e;--fpx-red-dark: #a00d25;--fpx-red-soft: #fdeef0;--fpx-bg: #f4f5f7;--fpx-surface: #ffffff;--fpx-text: #1c1e21;--fpx-text-muted: #5f6672;--fpx-border: #e2e5ea;--fpx-shadow: 0 1px 2px rgba(16, 20, 28, .06), 0 4px 16px rgba(16, 20, 28, .08);--fpx-radius: 10px;--fpx-ok: #1e7f3c;--fpx-ok-soft: #e5f4ea;--fpx-warn-bg: #fff4e0;--fpx-warn-border: #f0c377;--fpx-warn-text: #7a5410;--fpx-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fpx-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--fpx-font);background:var(--fpx-bg);color:var(--fpx-text);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{margin:0 0 .5rem;line-height:1.25}h1{font-size:1.35rem}h2{font-size:1.05rem}a{color:var(--fpx-red)}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.field label,.field .field-label{font-size:.82rem;font-weight:600;color:var(--fpx-text-muted)}.input{width:100%;font:inherit;color:var(--fpx-text);background:var(--fpx-surface);border:1px solid var(--fpx-border);border-radius:8px;padding:.55rem .7rem;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--fpx-red);box-shadow:0 0 0 3px #c8102e26}textarea.input{resize:vertical;min-height:4.5rem}select.input{appearance:auto}.hint-text{font-size:.8rem;color:var(--fpx-text-muted);margin:.25rem 0 0}.warn-text{font-size:.85rem;color:var(--fpx-red-dark);background:var(--fpx-red-soft);border:1px solid #f2c3cb;border-radius:8px;padding:.55rem .7rem;margin:.4rem 0}.error-text{color:var(--fpx-red-dark);font-size:.88rem;margin:.4rem 0}.form-status{display:flex;align-items:center;gap:.5rem;color:var(--fpx-text-muted);font-size:.88rem;margin:.4rem 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font:inherit;font-weight:600;border-radius:8px;border:1px solid transparent;padding:.5rem .95rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s;background:var(--fpx-surface);color:var(--fpx-text);border-color:var(--fpx-border);white-space:nowrap}.btn:hover{border-color:#c6ccd4;background:#fafbfc}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--fpx-red);border-color:var(--fpx-red);color:#fff}.btn--primary:hover:not(:disabled){background:var(--fpx-red-dark);border-color:var(--fpx-red-dark)}.btn--danger{color:var(--fpx-red-dark);border-color:#eec4cb;background:#fff}.btn--danger:hover:not(:disabled){background:var(--fpx-red-soft);border-color:var(--fpx-red-dark)}.btn--small{padding:.3rem .6rem;font-size:.82rem;font-weight:500}.btn--block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;color:var(--fpx-text-muted);border-radius:8px;width:2rem;height:2rem;cursor:pointer;transition:background .15s,color .15s;flex:0 0 auto}.icon-btn:hover{background:#eceff3;color:var(--fpx-text)}.icon-btn--header{color:#ffffffe6}.icon-btn--header:hover{background:#ffffff29;color:#fff}.spinner{display:inline-block;width:1.4rem;height:1.4rem;border:3px solid rgba(200,16,46,.2);border-top-color:var(--fpx-red);border-radius:50%;animation:fpx-spin .8s linear infinite;flex:0 0 auto}.spinner--small{width:1rem;height:1rem;border-width:2px}.spinner--light{border-color:#ffffff59;border-top-color:#fff}@keyframes fpx-spin{to{transform:rotate(360deg)}}.fullscreen-loader{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;color:var(--fpx-text-muted);min-height:60vh}.auth-page{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(180deg,var(--fpx-red) 0 220px,var(--fpx-bg) 220px)}.auth-card{width:100%;max-width:26rem;background:var(--fpx-surface);border-radius:var(--fpx-radius);box-shadow:var(--fpx-shadow);padding:1.8rem 1.8rem 1.4rem}.auth-brand{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:1.1rem}.auth-brand img{border-radius:10px}.auth-brand-name{font-size:1.5rem;font-weight:700;color:var(--fpx-red);letter-spacing:-.02em}.auth-card h1{text-align:center;font-size:1.1rem;margin-bottom:1.1rem}.auth-alt{text-align:center;font-size:.88rem;color:var(--fpx-text-muted);margin:1rem 0 0}.pw-input{position:relative;display:flex;align-items:center}.pw-input .input{padding-right:2.6rem}.pw-toggle{position:absolute;right:.35rem;display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border:none;background:transparent;color:var(--fpx-text-muted);cursor:pointer;border-radius:6px}.pw-toggle:hover{background:#eceff3;color:var(--fpx-text)}.strength{display:flex;align-items:center;gap:.6rem;margin-top:.35rem}.strength-track{flex:1;height:6px;border-radius:3px;background:#e8eaee;overflow:hidden}.strength-fill{height:100%;border-radius:3px;transition:width .2s,background .2s}.strength--s0{background:#d64545}.strength--s1{background:#e07b39}.strength--s2{background:#d9b430}.strength--s3{background:#7fb944}.strength--s4{background:var(--fpx-ok)}.strength-label{font-size:.78rem;color:var(--fpx-text-muted);min-width:5.5rem;text-align:right}.app-header{display:flex;align-items:center;gap:.9rem;background:var(--fpx-red);color:#fff;padding:.55rem 1rem;position:sticky;top:0;z-index:40;box-shadow:0 2px 6px #78081a59}.header-brand{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-weight:700;font-size:1.05rem;letter-spacing:-.01em;flex:0 0 auto}.header-brand img{border-radius:7px;display:block}.header-search{flex:1;display:flex;justify-content:center;min-width:0}.header-search .input{max-width:30rem;background:#fffffff0;border-color:transparent}.header-search .input:focus{background:#fff;box-shadow:0 0 0 3px #ffffff4d}.header-spacer{flex:1}.user-menu{position:relative;flex:0 0 auto}.user-menu-btn{width:2.25rem;height:2.25rem;border-radius:50%;border:2px solid rgba(255,255,255,.65);background:var(--fpx-red-dark);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.user-menu-btn:hover{border-color:#fff}.menu-dropdown{position:absolute;right:0;top:calc(100% + .5rem);background:var(--fpx-surface);color:var(--fpx-text);border-radius:var(--fpx-radius);box-shadow:var(--fpx-shadow);border:1px solid var(--fpx-border);min-width:15rem;overflow:hidden;z-index:50}.menu-account{padding:.7rem .9rem;border-bottom:1px solid var(--fpx-border)}.menu-account-name{font-weight:600;font-size:.9rem}.menu-account-email{font-size:.8rem;color:var(--fpx-text-muted);word-break:break-all}.menu-account-role{font-size:.75rem;color:var(--fpx-text-muted);margin-top:.15rem}.menu-item{display:block;width:100%;text-align:left;background:none;border:none;font:inherit;padding:.55rem .9rem;cursor:pointer;color:var(--fpx-text)}.menu-item:hover{background:var(--fpx-red-soft);color:var(--fpx-red-dark)}.menu-divider{border:none;border-top:1px solid var(--fpx-border);margin:.2rem 0}.vault-layout{flex:1;display:flex;min-height:0;align-items:stretch}.sidebar{width:15.5rem;flex:0 0 auto;background:var(--fpx-surface);border-right:1px solid var(--fpx-border);padding:.9rem .6rem;overflow-y:auto}.sidebar-heading{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fpx-text-muted);padding:.7rem .6rem .25rem}.folder-btn{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;text-align:left;background:none;border:none;font:inherit;padding:.45rem .6rem;border-radius:8px;cursor:pointer;color:var(--fpx-text);overflow:hidden}.folder-btn:hover{background:#f0f2f5}.folder-btn--active{background:var(--fpx-red-soft);color:var(--fpx-red-dark);font-weight:600}.folder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-count{font-size:.75rem;color:var(--fpx-text-muted);background:#eef0f3;border-radius:99px;padding:.05rem .5rem;flex:0 0 auto}.folder-btn--active .folder-count{background:#f7d3da;color:var(--fpx-red-dark)}.vault-main{flex:1;min-width:0;padding:1.1rem 1.3rem 2rem;overflow-y:auto}.vault-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem;flex-wrap:wrap}.vault-toolbar h1{margin:0;font-size:1.2rem}.banner-warn{background:var(--fpx-warn-bg);border:1px solid var(--fpx-warn-border);color:var(--fpx-warn-text);border-radius:8px;padding:.6rem .85rem;margin-bottom:.9rem;font-size:.9rem}.loading-row{display:flex;align-items:center;gap:.6rem;color:var(--fpx-text-muted);padding:1.5rem 0}.empty-state{text-align:center;color:var(--fpx-text-muted);padding:3rem 1rem;background:var(--fpx-surface);border:1px dashed var(--fpx-border);border-radius:var(--fpx-radius)}.item-list{list-style:none;margin:0;padding:0;background:var(--fpx-surface);border:1px solid var(--fpx-border);border-radius:var(--fpx-radius);overflow:hidden;box-shadow:0 1px 2px #10141c0a}.item-row{display:flex;align-items:center;gap:.8rem;padding:.6rem .9rem;border-bottom:1px solid var(--fpx-border);cursor:pointer;transition:background .12s}.item-row:last-child{border-bottom:none}.item-row:hover{background:#fafbfc}.item-tile{width:2.4rem;height:2.4rem;border-radius:8px;background:linear-gradient(135deg,var(--fpx-red),var(--fpx-red-dark));color:#fff;font-weight:700;font-size:1.05rem;display:flex;align-items:center;justify-content:center;flex:0 0 auto;text-transform:uppercase}.item-titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.item-title{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-sub{display:block;font-size:.8rem;color:var(--fpx-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-sub .sep{margin:0 .35rem;opacity:.6}.item-actions{display:flex;align-items:center;gap:.25rem;flex:0 0 auto}.passkey-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;color:var(--fpx-red-dark);background:var(--fpx-red-soft);border:1px solid #f2c3cb;border-radius:99px;padding:.05rem .5rem;margin-right:.45rem;vertical-align:middle;flex:0 0 auto}.passkey-note{font-size:.85rem;color:var(--fpx-text-muted);background:#fafbfc;border:1px solid var(--fpx-border);border-left:3px solid var(--fpx-red);border-radius:8px;padding:.6rem .8rem;margin:0 0 .9rem}.readonly-value{font:inherit;color:var(--fpx-text);background:#fafbfc;border:1px solid var(--fpx-border);border-radius:8px;padding:.55rem .7rem;word-break:break-all}.totp-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--fpx-border);background:#f7f8fa;border-radius:99px;padding:.22rem .65rem;font-family:var(--fpx-mono);font-size:.86rem;cursor:pointer;color:var(--fpx-text)}.totp-chip:hover{border-color:var(--fpx-red);background:var(--fpx-red-soft)}.totp-code{font-weight:700;letter-spacing:.04em}.totp-count{font-size:.72rem;color:var(--fpx-text-muted);min-width:2ch;text-align:right}.modal-backdrop{position:fixed;inset:0;background:#12161c8c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal{background:var(--fpx-surface);border-radius:var(--fpx-radius);box-shadow:var(--fpx-shadow);width:100%;max-width:34rem;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;overflow:hidden}.modal-header{background:var(--fpx-red);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem 1rem}.modal-header h2{margin:0;font-size:1rem;color:#fff}.modal-close{background:none;border:none;color:#ffffffd9;font-size:1.4rem;line-height:1;cursor:pointer;padding:.1rem .35rem;border-radius:6px}.modal-close:hover{background:#ffffff29;color:#fff}.modal-body{padding:1rem 1.1rem;overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.8rem 1.1rem;border-top:1px solid var(--fpx-border);background:#fafbfc}.modal-footer-right{display:flex;align-items:center;gap:.6rem;margin-left:auto}.gen-panel{border:1px solid var(--fpx-border);border-radius:8px;background:#fafbfc;padding:.8rem;margin-top:.6rem}.gen-preview{font-family:var(--fpx-mono);font-size:.95rem;background:var(--fpx-surface);border:1px solid var(--fpx-border);border-radius:6px;padding:.5rem .6rem;word-break:break-all;margin-bottom:.7rem;min-height:2.3rem}.gen-row{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem;flex-wrap:wrap}.gen-row input[type=range]{flex:1;min-width:8rem;accent-color:var(--fpx-red)}.gen-length{font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--fpx-text-muted);min-width:6.5rem}.gen-checks{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-bottom:.7rem}.gen-checks label{display:inline-flex;align-items:center;gap:.35rem;font-size:.86rem;cursor:pointer}.gen-checks input{accent-color:var(--fpx-red)}.gen-actions{display:flex;gap:.6rem;flex-wrap:wrap}.page{flex:1;width:100%;max-width:62rem;margin:0 auto;padding:1.2rem 1.2rem 3rem}.page-head{margin-bottom:1rem}.back-link{display:inline-block;font-size:.85rem;color:var(--fpx-text-muted);text-decoration:none;margin-bottom:.4rem}.back-link:hover{color:var(--fpx-red)}.card{background:var(--fpx-surface);border:1px solid var(--fpx-border);border-radius:var(--fpx-radius);box-shadow:0 1px 2px #10141c0a;padding:1.1rem 1.2rem;margin-bottom:1.1rem}.card h2{margin-bottom:.7rem}.card-head-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem;flex-wrap:wrap}.card-head-row h2{margin:0}.narrow-form{max-width:24rem}.switch-row{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.92rem}.switch-row input{width:1.15rem;height:1.15rem;accent-color:var(--fpx-red)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--fpx-border);vertical-align:middle;white-space:nowrap}.table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fpx-text-muted)}.table tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:.4rem;flex-wrap:wrap}.badge{display:inline-block;font-size:.75rem;font-weight:600;border-radius:99px;padding:.12rem .6rem}.badge--superadmin{background:var(--fpx-red);color:#fff}.badge--admin{background:var(--fpx-red-soft);color:var(--fpx-red-dark)}.badge--teamleiter{background:#e8eefb;color:#1f3f8f}.badge--member,.badge--user{background:#eef0f3;color:var(--fpx-text-muted)}.input--inline,.role-select{width:auto;min-width:9rem;padding:.3rem .5rem;font-size:.85rem}.cell-teams{max-width:16rem;overflow:hidden;text-overflow:ellipsis}.inline-form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.inline-form .input{width:auto;flex:1 1 12rem;min-width:0}.team-list{list-style:none;margin:0;padding:0}.team-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--fpx-border);flex-wrap:wrap}.team-row:last-child{border-bottom:none}.team-row-main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 14rem}.team-name{font-weight:600}.team-meta{font-size:.82rem;color:var(--fpx-text-muted)}.check-list{list-style:none;margin:0 0 .6rem;padding:0;border:1px solid var(--fpx-border);border-radius:8px;max-height:50vh;overflow-y:auto}.check-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .7rem;border-bottom:1px solid var(--fpx-border)}.check-row:last-child{border-bottom:none}.check-row-main,.check-row-lead{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;min-width:0}.check-row-main{flex:1 1 auto;flex-wrap:wrap}.check-row-main input,.check-row-lead input{width:1.05rem;height:1.05rem;accent-color:var(--fpx-red);flex:0 0 auto}.check-row-text{display:flex;flex-direction:column;min-width:0}.check-row-name{font-weight:500}.check-row-sub{font-size:.78rem;color:var(--fpx-text-muted);word-break:break-all}.check-row-lead{flex:0 0 auto;white-space:nowrap}.check-row-lead--off{color:var(--fpx-text-muted);cursor:not-allowed}.modal--narrow{max-width:28rem}.confirm-text{margin:0;white-space:pre-line}.card--muted{background:#fafbfc}.hint-inline{color:var(--fpx-text-muted);font-size:.85rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.badge--ok{background:var(--fpx-ok-soft);color:var(--fpx-ok)}.badge--off{background:#f3e5e5;color:#8c2f2f}.temp-pw-box{display:flex;align-items:center;gap:.5rem;background:#fafbfc;border:1px solid var(--fpx-border);border-radius:8px;padding:.5rem .7rem}.temp-pw-value{flex:1;font-family:var(--fpx-mono);font-size:.95rem;word-break:break-all}.import-stepper{list-style:none;margin:0 0 1rem;padding:0;display:flex;gap:1.2rem;font-size:.86rem;color:var(--fpx-text-muted);flex-wrap:wrap}.import-stepper li.is-active{color:var(--fpx-red-dark);font-weight:600}.import-stepper li.is-done{color:var(--fpx-ok)}.format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;margin-bottom:.9rem}.format-tile{border:1px solid var(--fpx-border);border-radius:var(--fpx-radius);padding:.7rem .75rem;display:flex;flex-direction:column;gap:.15rem;font-size:.82rem;color:var(--fpx-text-muted)}.format-tile strong{color:var(--fpx-text);font-size:.9rem}.format-tile--active{border:2px solid var(--fpx-red);background:var(--fpx-red-soft)}.drop-zone{border:2px dashed #c6ccd4;border-radius:var(--fpx-radius);background:#fafbfc;padding:1.8rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.45rem;text-align:center}.drop-zone--over{border-color:var(--fpx-red);background:var(--fpx-red-soft)}.count-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}.chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--fpx-surface);border:1px solid var(--fpx-border);border-radius:99px;padding:.3rem .75rem;font-size:.85rem}.chip--warn{background:var(--fpx-warn-bg);border-color:var(--fpx-warn-border);color:var(--fpx-warn-text)}.chip--error{background:var(--fpx-red-soft);border-color:#f2c3cb;color:var(--fpx-red-dark)}.chip--ok{background:var(--fpx-ok-soft);border-color:#bfe3cb;color:var(--fpx-ok)}.alert{border-radius:10px;padding:.7rem .9rem;margin-bottom:.9rem;font-size:.9rem}.alert p{margin:0}.alert p+p{margin-top:.35rem}.update-notices{display:flex;flex-direction:column}.update-notice{display:flex;align-items:flex-start;gap:.9rem;padding:.6rem 1rem;background:var(--fpx-warn-bg);border-bottom:1px solid var(--fpx-warn-border);color:var(--fpx-warn-text);font-size:.9rem}.update-notice--new{background:#eef7ee;border-bottom-color:#b9dcb9;color:#1f5c24}.update-notice__body{flex:1;min-width:0}.update-notice__body strong{display:block}.update-notice__body p,.update-notice__body ul{margin:.25rem 0 0}.update-notice__body ul{padding-left:1.1rem}.update-notice__actions{flex-shrink:0;display:flex;gap:.4rem}.update-notice__button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:6px;padding:.25rem .7rem;font-size:.85rem;cursor:pointer;white-space:nowrap}.update-notice__button:hover{background:#0000000f}.alert--warn{background:var(--fpx-warn-bg);border:1px solid var(--fpx-warn-border);color:var(--fpx-warn-text)}.alert--danger{background:var(--fpx-red-soft);border:1px solid #eec4cb;color:var(--fpx-red-dark)}.import-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.2rem}.import-options .switch-row{margin:.35rem 0}.progress-track{height:8px;border-radius:4px;background:#e8eaee;overflow:hidden;margin:.6rem 0}.progress-fill{height:100%;background:var(--fpx-red);border-radius:4px;transition:width .2s}.result-list{margin:.6rem 0;padding-left:1.2rem;font-size:.86rem;color:var(--fpx-text-muted);max-height:14rem;overflow-y:auto}.toast-container{position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:200;pointer-events:none;width:100%;padding:0 1rem}.toast{background:#24272c;color:#fff;border-radius:8px;padding:.55rem 1rem;font-size:.9rem;box-shadow:var(--fpx-shadow);max-width:28rem;animation:fpx-toast-in .18s ease-out}.toast--error{background:var(--fpx-red-dark)}.toast--success{background:var(--fpx-ok)}@keyframes fpx-toast-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}.only-mobile{display:none}@media (max-width: 767px){.only-mobile{display:inline-flex}.vault-layout{position:relative}.sidebar{display:none}.sidebar--open{display:block;position:absolute;top:0;bottom:0;left:0;z-index:30;width:min(78vw,17rem);box-shadow:var(--fpx-shadow)}.header-search .input{min-width:0}.item-sub .host{display:none}.vault-main{padding:.9rem .8rem 2rem}.modal{max-height:calc(100dvh - 1.5rem)}.card-head-row .inline-form,.team-row .table-actions{width:100%}.check-row{flex-wrap:wrap}}.install-banner{display:flex;align-items:flex-start;gap:.6rem;background:var(--fpx-surface);border:1px solid var(--fpx-border);border-left:4px solid var(--fpx-red);border-radius:var(--fpx-radius);box-shadow:0 1px 2px #10141c0a;padding:.8rem .9rem .8rem 1rem;margin-bottom:.9rem;font-size:.9rem}.install-banner__body{flex:1;min-width:0}.install-banner__body strong{display:block;margin-bottom:.2rem}.install-banner__body p{margin:0 0 .6rem;color:var(--fpx-text-muted)}.install-banner__body svg{vertical-align:-2px}.install-banner__actions{display:flex;flex-wrap:wrap;gap:.4rem}.install-banner__close{margin:-.3rem -.3rem 0 0}.install-steps{margin:0 0 .8rem;padding-left:1.4rem}.install-steps li{margin-bottom:.45rem}.install-steps li:last-child{margin-bottom:0}.install-steps code{font-family:var(--fpx-mono);font-size:.85em;background:var(--fpx-bg);border:1px solid var(--fpx-border);border-radius:4px;padding:.05rem .3rem}.card h3{font-size:.95rem;margin:.9rem 0 .45rem}.status-list{list-style:none;margin:0 0 .9rem;padding:0}.status-list li{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.status-line{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem}.status-dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:var(--fpx-border);flex:0 0 auto}.status-dot--ok{background:var(--fpx-ok)}.status-dot--off{background:var(--fpx-red)}.status-dot--pending{background:var(--fpx-warn-border)}.btn-row{display:flex;flex-wrap:wrap;gap:.5rem}.install-banner svg,.install-steps svg{vertical-align:-2px}main:focus{outline:none}.badge--shared{background:#e8eefb;color:#1f3f8f;margin-right:.45rem;vertical-align:middle;flex:0 0 auto}.badge--view-once{background:var(--fpx-warn-bg);color:var(--fpx-warn-text);border:1px solid var(--fpx-warn-border);margin-right:.45rem;vertical-align:middle;flex:0 0 auto}.badge--pending{background:var(--fpx-warn-bg);color:var(--fpx-warn-text)}.item-sub .badge{font-size:.72rem;padding:.05rem .5rem}.shared-note{margin:0 0 .6rem;font-size:.9rem}.readonly-value--muted{color:var(--fpx-text-muted);font-style:italic}.modal-footer-left{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.header-inbox{position:relative;text-decoration:none}.header-badge{position:absolute;top:-.15rem;right:-.25rem;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:99px;background:#fff;color:var(--fpx-red-dark);font-size:.68rem;font-weight:700;line-height:1.15rem;text-align:center;box-shadow:0 0 0 2px var(--fpx-red)}.share-section-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fpx-text-muted);margin:1.1rem 0 .5rem}.share-section-title:first-of-type{margin-top:.2rem}.recipient-list,.grant-list{list-style:none;margin:0 0 .6rem;padding:0;border:1px solid var(--fpx-border);border-radius:8px;max-height:14rem;overflow-y:auto}.recipient-row,.grant-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .7rem;border-bottom:1px solid var(--fpx-border)}.recipient-row:last-child,.grant-row:last-child{border-bottom:none}.recipient-row--off{color:var(--fpx-text-muted)}.recipient-row input[type=radio]{accent-color:var(--fpx-red);width:1.05rem;height:1.05rem;flex:0 0 auto}.grant-main{display:flex;flex-direction:column;min-width:0}.share-actions{display:flex;align-items:flex-end;gap:.8rem;flex-wrap:wrap;margin-top:.4rem}.view-once-panel{background:var(--fpx-surface);border:1px solid var(--fpx-warn-border);border-left:4px solid var(--fpx-warn-border);border-radius:var(--fpx-radius);padding:.8rem .9rem;margin-bottom:.9rem}.view-once-heading{display:flex;align-items:center;gap:.5rem;font-size:.95rem;margin:0 0 .5rem;flex-wrap:wrap}.view-once-list{list-style:none;margin:0;padding:0}.view-once-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.45rem 0;border-top:1px solid var(--fpx-border);flex-wrap:wrap}.view-once-info{display:flex;flex-direction:column;min-width:0}.countdown{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.countdown-label{font-weight:600;color:var(--fpx-red-dark);font-variant-numeric:tabular-nums}.countdown-track{display:block;height:6px;border-radius:3px;background:#e8eaee;overflow:hidden}.countdown-fill{display:block;height:100%;background:var(--fpx-red);border-radius:3px;transition:width .25s linear}.secret-box{display:flex;align-items:center;gap:.5rem;background:#fafbfc;border:1px solid var(--fpx-border);border-radius:8px;padding:.5rem .7rem}.secret-value{flex:1;font-family:var(--fpx-mono);font-size:1.05rem;letter-spacing:.04em;word-break:break-all;user-select:all}.fingerprint{font-family:var(--fpx-mono);font-size:.85em;background:var(--fpx-bg);border:1px solid var(--fpx-border);border-radius:4px;padding:.05rem .35rem;word-break:break-all}button.fingerprint--toggle{color:inherit;cursor:pointer;line-height:inherit;min-height:1.75rem;text-align:left}button.fingerprint--toggle:hover,button.fingerprint--toggle:focus-visible{border-color:var(--fpx-red)}.cell-fingerprint .fingerprint--expanded{white-space:normal}.inbox-list{list-style:none;margin:0;padding:0}.inbox-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--fpx-border);flex-wrap:wrap}.inbox-row:last-child{border-bottom:none}.inbox-row--pending{background:#fffaf0;margin:0 -.4rem;padding-left:.4rem;padding-right:.4rem;border-radius:6px}.inbox-row--unread .inbox-title{font-weight:700}.inbox-main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 16rem}.inbox-title{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.inbox-meta{font-size:.82rem;color:var(--fpx-text-muted)}.inbox-status{color:var(--fpx-warn-text);font-weight:600}.inbox-reason{font-size:.86rem;font-style:italic;color:var(--fpx-text);white-space:pre-line}.inbox-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.inbox-note-btn{display:flex;flex-direction:column;gap:.15rem;width:100%;text-align:left;background:none;border:none;font:inherit;color:inherit;padding:.1rem 0;cursor:pointer}.inbox-note-btn:hover .inbox-title{color:var(--fpx-red-dark)}.unread-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--fpx-red);flex:0 0 auto}.table td .hint-inline{white-space:nowrap}@media (max-width: 767px){.inbox-actions{width:100%}.share-actions{align-items:stretch;flex-direction:column}.view-once-row .btn{width:100%}.header-badge{top:0;right:0}}.page--narrow{max-width:44rem}.mfa-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.8rem;margin:.9rem 0}.mfa-option{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start;text-align:left;padding:.9rem 1rem;background:var(--fpx-surface);border:1px solid var(--fpx-border);border-radius:var(--fpx-radius);font:inherit;color:var(--fpx-text);cursor:pointer}.mfa-option:hover:not(:disabled){border-color:var(--fpx-red);background:var(--fpx-red-soft)}.mfa-option:focus-visible{outline:2px solid var(--fpx-red);outline-offset:2px}.mfa-option:disabled{opacity:.6;cursor:not-allowed}.mfa-option strong{font-size:1rem}.mfa-option span{font-size:.88rem;color:var(--fpx-text-muted)}.mfa-totp-grid{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;margin:.8rem 0 1rem}@media (max-width: 560px){.mfa-totp-grid{grid-template-columns:1fr}}.qr-code{display:block;background:#fff;border:1px solid var(--fpx-border);border-radius:8px}.qr-fallback{max-width:13rem;padding:.6rem;border:1px dashed var(--fpx-border);border-radius:8px;font-size:.85rem;color:var(--fpx-text-muted)}.code-input{font-family:var(--fpx-mono);font-size:1.35rem;letter-spacing:.25em;text-align:center;max-width:14rem}.mfa-verify-block{margin:.8rem 0}.mfa-or{text-align:center;color:var(--fpx-text-muted);font-size:.85rem;margin:.7rem 0 0}.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--fpx-red);text-decoration:underline;cursor:pointer}.link-btn:focus-visible{outline:2px solid var(--fpx-red);outline-offset:2px}.recovery-codes h3{margin-top:.4rem}.recovery-code-list{columns:2;column-gap:1.5rem;margin:.6rem 0 .9rem;padding-left:1.6rem;font-family:var(--fpx-mono);font-size:1.05rem;letter-spacing:.05em}.recovery-code-list li{break-inside:avoid;padding:.15rem 0}.recovery-code-list code{user-select:all}.recovery-confirm{margin:.9rem 0}.factor-list{list-style:none;margin:.6rem 0 .9rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.factor-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem .8rem;border:1px solid var(--fpx-border);border-radius:8px;background:#fafbfc}.factor-main{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0}.factor-label{font-weight:600}.factor-meta{font-size:.82rem;color:var(--fpx-text-muted)}.fingerprint-line{margin:0 0 .6rem;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.cell-fingerprint{white-space:nowrap}.escrow-target-list{list-style:none;margin:.4rem 0 .6rem;padding:0;display:flex;flex-direction:column;gap:.45rem}.escrow-target-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .6rem}.escrow-target-name{font-weight:600}.escrow-target-list li.escrow-target{flex-direction:column;align-items:flex-start;gap:.2rem;padding:.45rem 0;border-top:1px solid var(--fpx-border)}.escrow-target-list li.escrow-target:first-child{border-top:0}.escrow-target-head{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .6rem}.alert--info{background:var(--fpx-surface);border:1px solid var(--fpx-border);border-left:4px solid var(--fpx-red)}.pinned-block .escrow-target-list{margin:.5rem 0}.pinned-banner{border-left-color:var(--fpx-warn-border)}.storage-banner{border-left-color:var(--fpx-warn-border);background:var(--fpx-warn-bg)}.key-list{list-style:none;margin:0 0 .9rem;padding:0}.key-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1rem;padding:.45rem 0;border-top:1px solid var(--fpx-border)}.key-row:first-child{border-top:0}.trust-change-list{list-style:none;margin:.8rem 0;padding:0}.trust-change-list li{display:flex;flex-direction:column;gap:.3rem;padding:.6rem 0;border-top:1px solid var(--fpx-border)}.trust-change-list li:first-child{border-top:0}.trust-change-fp{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.trust-change-label{min-width:3.2rem;font-size:.82rem;color:var(--fpx-text-muted)}.notice-list{margin:.4rem 0 .6rem;padding-left:1.2rem}.notice-list li+li{margin-top:.35rem}.auth-footer{margin-top:.6rem}.public-page{flex:1;display:flex;flex-direction:column}.public-header{display:flex;align-items:center;padding:.6rem 1rem;background:var(--fpx-red);color:#fff}.public-header .header-brand{color:#fff}.card.markdown p+p,.card.markdown p+ul,.card.markdown ul+p{margin-top:.6rem}.card.markdown h3{margin-top:.8rem}
