.profile-photo-card,.profile-device-card{background:#fff;border:1px solid #dfe6e1;border-radius:24px;padding:24px;margin-bottom:24px}.profile-photo-card{display:flex;gap:24px;align-items:center}.profile-photo-card img{object-fit:cover;border-radius:18px;flex-shrink:0}.profile-device-card p,.profile-photo-card p{max-width:64ch}.device-access{margin-top:18px;width:100%;background:#065b3d;color:white}.device-help{font-size:.88rem;color:#525f59}.profile-device-card button{white-space:normal}.passkey-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e2e7e3;padding:14px 0}.passkey-row span{overflow-wrap:anywhere}.passkey-row small{display:block;color:#59645e}
.profile-capture{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:26px;background:#fffdf5;color:#111;overflow:auto}.profile-capture::backdrop{background:rgb(0 28 18 / .72)}.profile-capture-head{background:#ffbc0d;padding:22px 26px}.profile-capture-head h2{font-size:clamp(1.7rem,5vw,2.35rem);line-height:1.1;margin:8px 0}.profile-capture-head p{margin:8px 0;max-width:55ch}.profile-capture-content{padding:22px 26px}.profile-capture-grid{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px;align-items:start}.photo-frame{position:relative;aspect-ratio:3/4;overflow:hidden;background:#e4eee7;border-radius:20px;border:2px solid #0a6745}.photo-frame video,.photo-frame img{position:absolute;width:100%;height:100%;object-fit:cover}.photo-frame video{transform:scaleX(-1)}.photo-frame svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.photo-frame svg ellipse,.photo-frame svg path{fill:rgb(255 255 255 / .12);stroke:#fff;stroke-width:2;stroke-dasharray:5 4;filter:drop-shadow(0 1px 2px #065b3d)}.photo-frame .frame-caption{position:absolute;bottom:10px;left:10px;right:10px;background:rgb(0 50 32 / .82);border-radius:9px;padding:8px;color:#fff;text-align:center;font-size:.8rem}.capture-instructions ol{padding-left:20px;line-height:1.55}.capture-actions{display:flex;flex-direction:column;gap:12px}.capture-actions button,.photo-file-label{width:100%;white-space:normal;text-align:center;line-height:1.25;min-height:44px}.photo-file-label{cursor:pointer;background:#edf3ef;border:1px solid #bed3c5;border-radius:12px;padding:12px;font-weight:700}.photo-file-label input{display:block;font-size:.82rem;max-width:100%;margin-top:8px}.photo-check{display:flex;gap:9px;align-items:flex-start;margin:16px 0}.photo-check input{width:20px;min-width:20px;height:20px;margin:1px 0 0}.photo-privacy{color:#4b5b51;font-size:.85rem;line-height:1.45;border-top:1px solid #dce4dd;padding-top:14px}.capture-footer{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:14px}.capture-footer button{white-space:normal}.photo-message{min-height:1.4em;overflow-wrap:anywhere}.profile-capture [hidden]{display:none!important}
@media(max-width:580px){.profile-capture-grid{grid-template-columns:1fr;gap:16px}.photo-frame{width:min(100%,240px);margin:auto}.profile-capture-content,.profile-capture-head{padding:18px}.capture-instructions ol{margin:0 0 14px}.profile-photo-card{align-items:flex-start;gap:16px;padding:18px}.profile-photo-card img{width:90px;height:120px}.profile-photo-card h2{font-size:1.2rem}.profile-device-card{padding:18px}}
.profile-capture button,.profile-photo-card button,.profile-device-card button,.device-access{font:inherit;font-weight:700;border:0;border-radius:12px;padding:12px 16px;background:#075b3c;color:#fff;cursor:pointer}.profile-capture button:disabled{opacity:.5;cursor:default}.profile-capture button:focus-visible{outline:3px solid #0b6945;outline-offset:3px}.capture-footer button{background:#e8eee9;color:#124c36}.photo-file-label input::file-selector-button{border:0;border-radius:8px;padding:8px;background:#fff;color:#174e39;font:inherit;font-weight:700;cursor:pointer}
.gratitude-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:12px;border-radius:50%;background:#fff6c7;color:#075b3c}.gratitude-icon svg{width:24px;height:24px}.recognition-note .gratitude-icon{display:flex}.gratitude-preview{background:#fff1a6;border-radius:18px;padding:20px;line-height:1.5;margin:14px 0}.gratitude-preview p{margin:0;font-size:1.05rem}#recognition-form select{width:100%;max-width:100%;min-width:0}#recognition-publication-help{font-size:.9rem;color:#4b5b51;line-height:1.45}#recognition-form [hidden]{display:none!important}

.device-offer{padding:0;border:0;border-radius:24px;width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;color:#101811;background:#fffdf6}.device-offer::backdrop{background:rgb(0 28 18 / .7)}.device-offer-head{background:#ffbc0d;padding:26px}.device-offer h2{font-size:clamp(1.6rem,5vw,2rem);line-height:1.12;margin:12px 0}.device-offer-head p{margin:0}.device-offer-body{padding:24px;line-height:1.5}.device-offer-body p:first-child{margin-top:0}.device-offer-actions{display:flex;flex-direction:column;gap:12px;margin-top:18px}.device-offer button{font:inherit;font-weight:700;border:0;border-radius:12px;padding:14px 18px;white-space:normal;cursor:pointer;background:#075b3c;color:#fff;min-height:48px}.device-offer button:last-child{background:#e8eee9;color:#154b35}.device-offer button:disabled{opacity:.55;cursor:default}.device-offer button:focus-visible{outline:3px solid #0b6945;outline-offset:3px}#device-offer-message{overflow-wrap:anywhere}

.gratitude-picker{min-width:0;padding:18px 0;border:0;border-top:1px solid #dde5df;margin:18px 0}.gratitude-picker legend{font-weight:800;padding-right:10px}.gratitude-picker>p{font-size:.88rem;color:#4b5b51;margin:6px 0 12px}.gratitude-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.gratitude-filters button{border:1px solid #b7cebf;border-radius:22px;background:#fff;color:#174d37;font:inherit;font-weight:700;padding:10px 15px;min-height:44px}.gratitude-filters button[aria-pressed="true"]{background:#075b3c;color:#fff}.gratitude-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gratitude-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:110px;padding:10px;border:2px solid #e2e8df;border-radius:16px;background:#fff;color:#174b36;white-space:normal;font:inherit;font-size:.85rem;cursor:pointer}.gratitude-choice[aria-pressed="true"]{border-color:#075b3c;background:#f0f8e9;box-shadow:0 0 0 2px #ffbc0d}.gratitude-choice>span:last-child{overflow-wrap:anywhere}.gratitude-choice .gratitude-icon{margin:0}.gratitude-emoji{display:inline-block;font-size:3rem;line-height:1.2;margin-bottom:10px}.gratitude-choice .gratitude-emoji{font-size:2rem;margin:0}.gratitude-gif{display:block;width:160px;max-width:100%;margin:0 0 12px}.gratitude-gif img{display:block;width:100%;height:auto;border-radius:12px}.gratitude-choice .gratitude-gif{width:120px;margin:0}.gratitude-filters button:focus-visible,.gratitude-choice:focus-visible{outline:3px solid #075b3c;outline-offset:3px}.gratitude-preview .gratitude-gif{margin-left:auto;margin-right:auto}@media(max-width:450px){.gratitude-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}

.gratitude-choice>span:last-child{color:inherit}

/* Two independent ways to sign in; the device action never submits the password form. */
.device-login-option,.auth-method-divider{max-width:520px}
#passkey-login{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;min-height:76px;padding:18px 20px;white-space:normal;line-height:1.3;font-size:1rem;text-align:left;border:2px solid #075b3c;box-shadow:0 4px 0 #e8f0eb}
#passkey-login .device-fingerprint{width:38px;height:38px;flex:0 0 38px}
#passkey-login span{color:inherit;float:none;min-width:0}
#passkey-login:hover:not(:disabled){background:#03452d}
#passkey-login:focus-visible{outline:3px solid #ffbc0d;outline-offset:4px}
#passkey-login:disabled{opacity:.6;cursor:default;box-shadow:none}
#passkey-login-help{margin:12px 0 0;line-height:1.5}
.auth-method-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:#59645e;font-size:.85rem;text-align:center}
.auth-method-divider::before,.auth-method-divider::after{content:"";height:1px;background:#dce4dd;flex:1}
.auth-method-divider span{flex:0 1 auto}
a.sites-safe-card{color:inherit;text-decoration:none}
a.sites-safe-card:focus-visible{outline:3px solid #075b3c;outline-offset:4px}
@media(max-width:420px){#passkey-login{padding:14px 12px;gap:10px}#passkey-login .device-fingerprint{width:32px;height:32px;flex-basis:32px}}
