/* One Contact component; public verification and invited identity are data differences. */
.u1-contact-sheet [hidden]{display:none!important}
.u1-contact-sheet{--c-paper:#fffefa;--c-ink:#182f3c;--c-muted:#54636a;--c-line:#d9d5cb;--c-accent:#98462e;box-sizing:border-box;color:var(--c-ink);background:var(--c-paper);font:1rem/1.65 Arial,Helvetica,sans-serif;width:min(34rem,calc(100% - 2rem));max-width:34rem;max-height:calc(100dvh - 2rem);padding:1.75rem 2rem 1.5rem;border:1px solid #bfc7c2;border-top:3px solid var(--c-accent);border-radius:4px;box-shadow:0 1rem 4rem rgb(10 29 37 / .24);margin:auto;overflow:auto;overscroll-behavior:contain}
.u1-contact-sheet::backdrop{background:rgb(17 41 54 / .57)}
.u1-contact-sheet .contact-dialog-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:0 0 1.8rem}
.u1-contact-sheet .contact-dialog-title{font:400 1.65rem/1.2 Georgia,'Times New Roman',serif;margin:0;color:var(--c-ink)}
.u1-contact-sheet .contact-close{width:44px;height:44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;font:400 1.75rem/1 Arial,sans-serif;background:transparent;color:var(--c-ink);border:1px solid transparent;border-radius:3px;cursor:pointer}
.u1-contact-sheet .contact-close:hover{background:#edece5;border-color:var(--c-line)}
.u1-contact-sheet .contact-name{font:400 1.4rem/1.4 Georgia,'Times New Roman',serif;margin:0 0 .35rem;color:var(--c-ink);max-width:none}
.u1-contact-sheet .contact-email{font:400 1.1rem/1.6 Arial,sans-serif;margin:0 0 1.5rem;color:var(--c-ink);overflow-wrap:anywhere;user-select:all;max-width:none}
.u1-contact-sheet .contact-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:stretch;margin:0 0 1.1rem}
.u1-contact-sheet .contact-mail,.u1-contact-sheet .contact-copy,.u1-primary,.u1-secondary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.4;padding:.75rem 1.1rem;text-decoration:none;border:1px solid var(--c-ink,#182f3c);font:600 .94rem/1.4 Arial,sans-serif;border-radius:3px;cursor:pointer}
.u1-contact-sheet .contact-mail,.u1-primary{background:#182f3c;color:#fffefa}
.u1-contact-sheet .contact-copy,.u1-secondary{color:#182f3c;background:transparent}
.u1-contact-sheet .contact-mail:hover,.u1-primary:hover{background:#294a59;color:#fffefa}
.u1-contact-sheet .contact-copy:hover,.u1-secondary:hover{background:#edf1ed}
.u1-contact-sheet .contact-secondary{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid var(--c-line);padding-top:.65rem;gap:.2rem}
.u1-contact-sheet .contact-secondary a{font:.93rem/1.5 Arial,sans-serif;color:#71301e;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:.23em;text-decoration:underline}
.u1-contact-sheet .contact-evidence{font-weight:600!important}
.u1-contact-sheet .contact-status{font:.87rem/1.6 Arial,sans-serif;color:var(--c-muted);margin:1rem 0 0;max-width:52ch}
.u1-contact-sheet .contact-status:empty{display:none}
.u1-contact-sheet .contact-challenge{margin-top:1rem;max-width:100%}
.u1-contact-sheet .contact-challenge:empty{display:none}
.u1-contact-sheet .contact-retry{min-height:44px;font:600 .9rem/1.5 Arial,sans-serif;background:transparent;color:var(--c-ink);border:1px solid #9caeaa;padding:.55rem .85rem;margin-top:1rem;cursor:pointer}
.u1-contact-sheet .contact-fallback-link{display:inline-flex;align-items:center;min-height:44px;color:#71301e;font:.84rem/1.5 Arial,sans-serif;margin-top:.8rem}
.u1-contact-sheet :focus-visible{outline:3px solid #007b83;outline-offset:4px}
html.u1-contact-open{overflow:hidden}
.contact-toggle[data-contact-trigger]{cursor:pointer}
.u1-contact-fallback{max-width:34rem;margin:0 0 3rem;background:#fffefa;border:1px solid #d9d5cb;padding:2rem;font:1.0625rem/1.7 Arial,sans-serif;color:#182f3c}
.u1-contact-fallback h2{font:400 1.6rem/1.3 Georgia,serif;margin:0 0 1rem}
.u1-contact-fallback .contact-name{font:400 1.4rem/1.4 Georgia,serif;margin-bottom:.4rem}
.u1-contact-fallback .contact-email{font-size:1.1rem;overflow-wrap:anywhere}
.u1-contact-fallback .fallback-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.3rem 0}
.u1-contact-fallback .fallback-links{display:flex;flex-direction:column;gap:.25rem;align-items:start;border-top:1px solid #d9d5cb;padding-top:.7rem}
.u1-contact-fallback .fallback-links a{min-height:44px;display:inline-flex;align-items:center}
.u1-contact-fallback .js-only{display:none}
.u1-contact-enhanced .u1-contact-fallback .js-only{display:inline-flex}
.u1-contact-fallback .fallback-note{font:.9rem/1.65 Arial,sans-serif;color:#54636a;margin-top:1rem}
@media(max-width:40rem){.u1-contact-sheet{padding:1.25rem;width:calc(100% - 1.5rem);max-height:calc(100dvh - 1.5rem)}.u1-contact-sheet .contact-dialog-heading{margin-bottom:1.4rem}.u1-contact-sheet .contact-mail,.u1-contact-sheet .contact-copy{flex:1 1 auto;padding:.7rem .9rem}.u1-contact-sheet .contact-name{font-size:1.3rem}.u1-contact-sheet .contact-email{font-size:1.02rem}.u1-contact-fallback{padding:1.25rem}}
@media(forced-colors:active){.u1-contact-sheet{border:2px solid CanvasText}.u1-contact-sheet::backdrop{background:Canvas}.u1-contact-sheet .contact-mail{border:2px solid ButtonText}.u1-contact-sheet :focus-visible{outline-color:Highlight}}

/* Contact candidate implementation baseline; owner acceptance remains open. Existing shared controller/protocol unchanged.
   Rules only target the dialog; Home and standalone fallback geometry are not reopened. */
dialog.u1-contact-sheet{--ink:#182f3c;--white:#fffefa;--paper:#f5f2eb;--quiet:#54636a;--line:#d9d5cb;--rust:#98462e;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif;width:min(35rem,calc(100% - 32px));max-width:35rem;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;margin:auto;padding:29px 34px 25px;border:1px solid #b8b9af;border-top:3px solid var(--rust);border-radius:4px;background:var(--white);color:var(--ink);box-shadow:0 24px 80px #11293640;font:16px/1.65 var(--sans)}
dialog.u1-contact-sheet::backdrop{background:#182f3c86}
dialog.u1-contact-sheet .contact-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 31px}
dialog.u1-contact-sheet .contact-dialog-title{font:400 24px/1.2 var(--serif);margin:0;letter-spacing:-.025em}
dialog.u1-contact-sheet .contact-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid transparent;background:transparent;color:var(--ink);font:28px/1 var(--sans);cursor:pointer}
dialog.u1-contact-sheet .contact-close:hover{background:#eeeee5}
dialog.u1-contact-sheet .contact-name{font:400 30px/1.2 var(--serif);letter-spacing:-.02em;margin:0 0 10px}
dialog.u1-contact-sheet .contact-email{font:19px/1.5 var(--sans);margin:0 0 19px;user-select:all;overflow-wrap:anywhere}
dialog.u1-contact-sheet .contact-intro{font:16px/1.65 var(--sans);color:var(--quiet);margin:0 0 24px;max-width:47ch}
dialog.u1-contact-sheet .contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px}
dialog.u1-contact-sheet .contact-mail,dialog.u1-contact-sheet .contact-copy,dialog.u1-contact-sheet .contact-retry,dialog.u1-contact-sheet .contact-fallback-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 20px;font:600 14px/1.5 var(--sans);border:1px solid var(--ink);text-decoration:none;border-radius:2px;background:var(--ink);color:var(--white)}
dialog.u1-contact-sheet .contact-copy,dialog.u1-contact-sheet .contact-retry{background:transparent;color:var(--ink);border-color:#a4aaa2}
dialog.u1-contact-sheet .contact-mail:hover,dialog.u1-contact-sheet .contact-fallback-link:hover{background:#294a59}
dialog.u1-contact-sheet .contact-copy:hover,dialog.u1-contact-sheet .contact-retry:hover{background:#eeeee5}
dialog.u1-contact-sheet .contact-secondary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 22px;border-top:1px solid var(--line);padding-top:13px}
dialog.u1-contact-sheet .contact-secondary a{font:13px/1.5 var(--sans);display:inline-flex;align-items:center;min-height:44px;color:var(--rust)}
dialog.u1-contact-sheet .contact-status{font:13px/1.65 var(--sans);color:var(--quiet);margin:15px 0 0}
dialog.u1-contact-sheet .contact-status:empty{display:none}
dialog.u1-contact-sheet:has(.contact-details:not([hidden])) .contact-fallback-link{display:none}
dialog.u1-contact-sheet .contact-retry,dialog.u1-contact-sheet .contact-fallback-link{margin-top:20px}
dialog.u1-contact-sheet :focus-visible{outline:3px solid #007b83;outline-offset:4px}
@media(max-width:780px){dialog.u1-contact-sheet{width:calc(100% - 28px);padding:20px 22px 18px;max-height:calc(100dvh - 28px)}dialog.u1-contact-sheet .contact-dialog-heading{margin-bottom:26px}dialog.u1-contact-sheet .contact-dialog-title{font-size:23px}dialog.u1-contact-sheet .contact-name{font-size:29px;margin-bottom:11px}dialog.u1-contact-sheet .contact-email{font-size:18px;margin-bottom:19px}dialog.u1-contact-sheet .contact-intro{font-size:15px;line-height:1.65;margin-bottom:23px}dialog.u1-contact-sheet .contact-actions{gap:10px;flex-wrap:nowrap}dialog.u1-contact-sheet .contact-actions>a,dialog.u1-contact-sheet .contact-actions>button{flex:1 1 auto;font-size:13px;padding:11px 14px;min-width:0}dialog.u1-contact-sheet .contact-secondary{flex-direction:column;align-items:flex-start;gap:0;padding-top:10px}}
