/* QR transfer uses the archive's local type, colours and accessible touch targets. */
[hidden]{display:none!important}
.receive-entry{position:relative;display:flex;flex-direction:column;gap:.25rem;padding:1rem 2.5rem 1rem 1rem;margin:1.25rem 0;border:1px solid #52665c;border-radius:14px;background:#202e27;color:var(--text);text-decoration:none!important}
.receive-entry>span{font-weight:600}.receive-entry small{font-size:.8rem}.receive-entry>b{position:absolute;right:1rem;top:1rem;color:var(--accent);font-size:1.4rem}
.login-card .receive-entry+form{margin-top:1rem}.transfer-login-notice{margin-top:1rem}.transfer-nav-entry{color:var(--accent);gap:.6rem;min-height:48px}.transfer-nav-entry:hover{text-decoration:none;background:#25322c}
.transfer-resume{width:100%;margin:-.5rem 0 1rem;border-color:#52665c;background:#202e27;color:var(--accent)}
.receive-page{max-width:1160px;margin:0 auto;padding:2rem 3rem;min-height:100dvh;display:flex;flex-direction:column}
.receive-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:2rem}.receive-header .brand{color:var(--text)}
.transfer-pill{font-size:.68rem;letter-spacing:.1em;border:1px solid var(--line);border-radius:30px;padding:.6rem .9rem;color:var(--muted)}
#receiver{flex:1;display:flex;align-items:center;padding:2rem 0}.receive-intro{max-width:750px}.receive-intro h1,.receive-copy h1{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.05em;line-height:1.08;margin-bottom:1.3rem}
.receive-intro>p{max-width:600px}.receive-intro>.muted{font-size:1.1rem}.receive-intro>:is(.primary,#create-remote-transfer){margin:1rem 0;min-height:56px;border-radius:28px;padding:1rem 1.8rem;width:auto;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.transfer-steps{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin:2rem 0 1rem;color:var(--muted);font-size:.9rem}.transfer-steps>span{display:flex;align-items:center;gap:.6rem}.transfer-steps b{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);border-radius:50%;font-weight:500;color:var(--accent)}
.receive-active{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;width:100%;align-items:center}.receive-copy>p{max-width:500px}.receive-content{min-width:0;border:1px solid var(--line);background:var(--panel);padding:2rem;border-radius:24px;text-align:center}
.transfer-qr-wrap{background:white;border-radius:16px;padding:12px;max-width:320px;margin:0 auto 1.5rem;aspect-ratio:1}.transfer-qr-wrap .share-qr{display:block;width:100%;height:auto;max-width:none;border:0;border-radius:0;margin:0;padding:0}
.transfer-code{display:block;font-family:ui-monospace,Consolas,monospace;font-size:2.8rem;letter-spacing:.12em;line-height:1.3;color:var(--text);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;margin:.45rem 0 .7rem}
.transfer-code-label{display:block;font-size:.68rem;letter-spacing:.08em;color:var(--muted);line-height:1.5}.transfer-expiry{font-size:.9rem;color:var(--muted)}.transfer-expiry strong{color:var(--text);font-variant-numeric:tabular-nums}
.receive-footer{border-top:1px solid var(--line);padding-top:1rem;color:var(--muted);font-size:.8rem;display:flex;gap:2rem;align-items:flex-start;justify-content:space-between}.receive-footer>p{max-width:760px}.receive-footer>a{flex-shrink:0;min-height:44px;display:flex;align-items:center}
.transfer-files{display:grid;gap:.7rem;text-align:left}.transfer-file{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line);background:#14181b;border-radius:12px;min-width:0}.transfer-file-meta{display:grid;gap:.2rem;min-width:0}.transfer-file strong,.transfer-file span{overflow-wrap:anywhere}.transfer-file strong{font-size:.95rem}.transfer-file-meta>span{font-size:.78rem;color:var(--muted)}.transfer-file form{flex-shrink:0}.transfer-file-status{font-size:.8rem;color:var(--muted);max-width:130px;text-align:right}.receive-content>.hint{margin-top:1rem;margin-bottom:0;text-align:left}
.transfer-dialog{width:calc(100% - 2rem);max-width:640px}.transfer-dialog .dialog-head{align-items:flex-start}.transfer-dialog .dialog-head h2{margin-right:1rem}.transfer-dialog .close{font-size:1.5rem;min-width:44px;line-height:1}.transfer-code-panel{text-align:center;border:1px solid var(--line);border-radius:16px;background:#14191b;padding:1rem;margin-bottom:1.2rem}.transfer-code-panel .hint{display:block}.transfer-code-panel .transfer-code{font-size:2.2rem}
.transfer-match{align-items:flex-start;gap:.8rem;padding:.5rem 0;margin-bottom:1.2rem}.transfer-match input{flex-shrink:0;margin-top:.1rem;width:22px;height:22px}
.transfer-source-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:26px;padding:5px;gap:5px;margin-bottom:1.2rem;background:#14191b}.transfer-source-tabs button{background:transparent;border:0;border-radius:22px}.transfer-source-tabs button.active{background:#294462;color:#9ac8ff}
.transfer-picker{max-height:280px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:12px;background:#14181b;padding:.35rem}.transfer-picker>.hint{padding:.8rem;margin:0}.transfer-pick-row{display:flex;align-items:center;gap:.8rem;margin:0;padding:.65rem;border-radius:8px;cursor:pointer;min-height:60px}.transfer-pick-row:hover{background:#212b29}.transfer-pick-row input{flex-shrink:0;width:22px;min-height:22px;height:22px;margin:0;accent-color:var(--accent)}.transfer-pick-row>span{min-width:0}.transfer-pick-row strong,.transfer-pick-row small{display:block;overflow-wrap:anywhere}.transfer-pick-row strong{font-size:.85rem;font-weight:500}.transfer-pick-row small{font-size:.75rem;margin-top:.2rem}.transfer-picker input:disabled{opacity:.45;cursor:not-allowed}
.transfer-selection{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.25rem}.transfer-selection h3{display:flex;justify-content:space-between;gap:.5rem}.transfer-selection h3 span{color:var(--muted);font-size:.85rem}.transfer-selected-row{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.transfer-selected-row>span{min-width:0}.transfer-selected-row strong,.transfer-selected-row small{display:block;overflow-wrap:anywhere}.transfer-selected-row strong{font-size:.85rem}.transfer-selected-row small{font-size:.75rem}.transfer-selected-row button{flex-shrink:0;width:44px;height:44px;background:transparent;font-size:1.25rem}.transfer-selection>.hint{margin:.6rem 0 0}#transfer-send-state{margin:.8rem 0}.transfer-bottom{display:flex;gap:.6rem;flex-wrap:wrap}#phone-file-list{white-space:pre-line;overflow-wrap:anywhere}#phone-progress{margin-top:1rem}#phone-progress>p{font-size:.8rem;overflow-wrap:anywhere}
.receive-intro>#create-remote-transfer{display:flex;width:fit-content}
@media(max-width:800px){.transfer-nav-entry{font-size:.875rem;flex-shrink:0}.receive-page{padding:1.3rem 1.4rem}.receive-header{padding-bottom:1.5rem}.transfer-pill{display:none}#receiver{padding:.75rem 0 1.75rem;align-items:flex-start}.receive-active{grid-template-columns:1fr;gap:1.4rem}.receive-active .receive-content{order:-1}.receive-content{padding:1.25rem}.transfer-qr-wrap{max-width:270px}.receive-copy h1{font-size:2rem}.receive-copy>p{font-size:.9rem}.receive-footer{display:block}.receive-footer>a{display:inline-flex}.receive-intro h1{font-size:2.7rem}.transfer-steps{display:grid;gap:.85rem;margin:1.5rem 0}.receive-intro>:is(.primary,#create-remote-transfer){width:100%}.transfer-code{font-size:2.4rem}.transfer-dialog{width:calc(100% - 1rem);max-height:94dvh;padding:1rem}.transfer-file{gap:.6rem;padding:.8rem;flex-wrap:wrap}.transfer-file-meta{flex:1 1 160px}.transfer-file form{flex:1 1 100%;width:100%}.transfer-file form button{width:100%}.transfer-dialog .transfer-file>small{max-width:110px;text-align:right}.transfer-source-tabs button{padding:.65rem .3rem;font-size:.875rem}.transfer-dialog .transfer-bottom>button{flex:1;white-space:normal}}
@media(prefers-reduced-motion:reduce){.transfer-dialog *{scroll-behavior:auto}}

/* A request receipt is separate from a receiver's manual saved-file check. */
.transfer-download-state{display:grid;gap:.55rem;max-width:260px;min-width:0;padding:.85rem;border:1px solid #4b5d6b;border-radius:10px;background:#1c252c}.transfer-download-state>strong{font-size:.875rem;color:var(--text)}.transfer-download-state>p{margin:0;font-size:.78rem;line-height:1.45;color:var(--muted)}.transfer-download-state>button{min-height:44px;white-space:normal}.transfer-download-state.confirmed{border-color:#52665c;background:#202e27}.transfer-download-state.confirmed>strong{color:var(--accent)}
@media(max-width:600px){.receive-content .transfer-file-received{flex-direction:column;align-items:stretch}.transfer-download-state{max-width:none}}

/* Independent lifetime of each temporary phone upload. */
.transfer-expiry{color:#f4cf85!important;font-variant-numeric:tabular-nums}.transfer-kept{color:var(--accent)!important}.transfer-expired{color:var(--muted)!important}.card-tags .transfer-expiry,.card-tags .transfer-kept,.card-tags .transfer-expired{white-space:normal}.transfer-detail-notice{line-height:1.55}#phone-picker>h3{margin-top:1.5rem;font-size:.95rem}#retry-phone-list{margin-top:.6rem}#catalog-subtitle{max-width:760px}

.transfer-content-tabs{display:flex;gap:8px;margin:16px 0}.transfer-content-tabs button{flex:1;min-height:44px}.transfer-content-tabs .active{background:#304638;border-color:#7aa98a}#transfer-text,#received-text{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:160px;resize:vertical;font:inherit;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text)}#transfer-text-mode{margin-top:16px}#received-text{margin:10px 0 16px;max-height:55vh}.transfer-content-tabs button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
#transfer-text-mode>label{margin:0 0 .7rem}#transfer-text-mode>.hint{margin:.75rem 0}#sender-send-text{margin:.8rem 0}

#remote-sender-link{width:100%;min-width:0;overflow-wrap:anywhere;margin:10px 0}#copy-sender-link,#remote-approve{margin-bottom:10px}#create-remote-transfer{margin-top:12px}

/* Sender controls need their own space before the explanatory text. */
.transfer-dialog .transfer-bottom{align-items:stretch}
.transfer-dialog .transfer-bottom>button{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5;height:auto}
.transfer-dialog .transfer-bottom+.hint{margin:.85rem 0 0;line-height:1.55;overflow-wrap:anywhere}
@media(max-width:400px){.transfer-dialog .transfer-bottom>button{flex:1 1 100%}}
