.private-nav{color:#be123c!important;font-weight:750}.vault{max-width:1000px}.vault-hero{background:linear-gradient(135deg,#20212a,#73152e);color:#fff;padding:2rem;border-radius:20px}.vault-hero .eyebrow{color:#f2bc4d}.vault input{width:100%;padding:.75rem;border-radius:9px;border:1px solid #ddd;margin:.4rem 0 1rem}.vault-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0}.private-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e8e5e0}.apps{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.apps a{background:#edf3f1;border-radius:12px;padding:1rem;text-decoration:none}.apps small{display:block;color:#69707b}.apps-note{color:var(--muted);font-size:.85rem;margin:-.4rem 0 1rem}@media(max-width:620px){.vault-grid,.apps{grid-template-columns:1fr}}

.vault textarea{width:100%;padding:.75rem;border-radius:9px;border:1px solid #ddd;margin:.4rem 0 1rem;font:inherit;resize:vertical}.vault .card img{display:block;width:100%;border-radius:10px;max-height:280px;object-fit:cover}.expense-value{float:right}.text-button{border:0;background:none;color:#be123c;text-decoration:underline;cursor:pointer;font:inherit;padding:.15rem}.vault label{display:block;font-weight:650}.vault label input,.vault label textarea{font-weight:400}

.private-access{margin:1.5rem 0}
.private-access-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:1.1rem 0 2rem;padding:.55rem 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.88rem}
.private-access-bar .private-doc-note{margin:0;display:flex;align-items:center;gap:.4rem;color:var(--muted)}
.private-access-bar .private-doc-note svg{flex:0 0 auto;opacity:.7}
.private-access-bar #open-login{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;font-size:.85rem}
.private-doc-note{margin:.6rem 0 0;color:#69707b}.private-document-link{display:block;color:#be123c;text-decoration:none;padding:.45rem 0;border-bottom:1px solid #eee;font-weight:650}.private-document-link:last-child{border-bottom:0}.private-stop-documents{margin-top:.65rem}.private-stop-documents .private-document-link{font-size:.9rem}.private-document-list{max-height:32rem;overflow:auto}

.gate-card{max-width:32rem;margin:3rem auto;text-align:left;overflow-wrap:break-word}
.gate-card h1{font-size:clamp(2rem,5vw,2.7rem);max-width:100%}
.gate-card form{margin-top:1rem}
.gate-card .button{width:100%;text-align:center}
.vault-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.pack-progress{height:.55rem;background:#eee;border-radius:2rem;overflow:hidden}
.pack-progress i{display:block;height:100%;width:0;background:var(--red);border-radius:2rem;transition:width .3s}
.pack-progress-label{color:var(--muted);font-size:.85rem;margin:.5rem 0 0}
.pack-group{margin-bottom:1.3rem}
.pack-group:last-child{margin-bottom:0}
.pack-group h3{font-family:var(--sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 .5rem}
.pack-list{display:flex;flex-direction:column;gap:.35rem}
.pack-item{display:flex;align-items:center;gap:.7rem;background:#fbfaf8;border-radius:12px;padding:.5rem .7rem;transition:background .15s}
.pack-item:hover{background:#f2f0ea}
.pack-item.is-done{opacity:.55}
.pack-check-label{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.4rem;height:1.4rem;cursor:pointer}
.pack-check-label input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.pack-check-mark{width:1.3rem;height:1.3rem;border-radius:50%;border:1.6px solid #d5d0c5;background:#fff;display:block;position:relative;transition:background .15s,border-color .15s}
.pack-check-label input:checked+.pack-check-mark{background:var(--red);border-color:var(--red)}
.pack-check-label input:checked+.pack-check-mark:after{content:'';position:absolute;left:47%;top:42%;width:.3rem;height:.6rem;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}
.pack-check-label input:focus-visible+.pack-check-mark{outline:2px solid var(--red);outline-offset:2px}
.pack-text{flex:1;min-width:0;border:0;background:transparent;padding:.15rem 0;font:inherit;color:var(--ink)}
.pack-item.is-done .pack-text{text-decoration:line-through;color:var(--muted)}
.pack-text:focus{outline:none;border-bottom:1px solid var(--line)}
.pack-remove{flex:0 0 auto;width:1.7rem;height:1.7rem;border-radius:50%;border:0;background:transparent;color:#c7c2b5;font-size:1.15rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.pack-remove:hover,.pack-remove:focus-visible{background:#fbe3e9;color:#9a1f42;outline:none}
.pack-add-form{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;background:#fbfaf8}
.pack-add-form input{flex:1;min-width:10rem;padding:.65rem .8rem;border-radius:10px;border:1px solid var(--line);background:#fff}
.pack-add-form select{padding:.65rem .8rem;border-radius:10px;border:1px solid var(--line);background:#fff}
.private-tag{display:inline-block;background:#fbe3e9;color:#9a1f42}

.fx-note{font-size:.8rem;color:var(--muted);font-style:italic;margin:.6rem 0 0}
#budget-opennote{margin-top:1rem}
