.ys-companion-open{margin-block-start:1rem;min-height:44px}
.ys-companion-dialog{position:fixed;inset:0;margin:auto;border:1px solid #e2e8f0;border-radius:1.5rem;padding:0;width:min(440px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);color:#334155;background:#fff;overflow:auto}
.ys-companion-dialog::backdrop{background:rgb(15 23 42 / 55%)}
.ys-companion-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem;border-bottom:1px solid #e2e8f0}
.ys-companion-dialog h2{font-weight:800;font-size:1.1rem}.ys-companion-dialog header p{font-size:.85rem;overflow-wrap:anywhere;margin-top:.35rem}
.ys-companion-dialog header button{width:44px;height:44px;flex-shrink:0;border-radius:.75rem;background:#f1f5f9}
.ys-companion-dialog form{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}
.ys-companion-dialog label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600}
.ys-companion-dialog input:not([type=checkbox]):not([type=file]){width:100%;min-width:0;min-height:44px;border:1px solid #cbd5e1;background:#f8fafc;border-radius:.75rem;padding:.65rem;font-size:16px}
.ys-companion-photo{cursor:pointer}.ys-companion-photo-picker{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;border:1px dashed #a78bba;border-radius:.75rem;background:#faf5ff;color:#623685}.ys-companion-photo:focus-within .ys-companion-photo-picker{outline:2px solid #78439a}
.ys-companion-names{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-block:1rem}
.ys-companion-help,.ys-companion-photo small{font-size:.8rem;line-height:1.9;color:#64748b}
.ys-companion-dialog .ys-companion-consent{flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.8}
.ys-companion-consent input{appearance:auto;position:static;display:inline-block;width:18px;height:18px;margin-top:.4rem;flex-shrink:0;accent-color:#78439a}.ys-companion-consent input:checked::after{content:none}
.ys-companion-photo img{border-radius:50%;object-fit:cover;width:72px;height:72px}
.ys-companion-photo-picker{position:relative;margin-block:.5rem;overflow:hidden}
.ys-companion-photo-picker input[type=file]{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;z-index:1}
.ys-companion-photo [data-companion-photo-status]{font-size:.8rem;color:#623685;line-height:1.8;margin-block:.4rem}
.ys-companion-code-actions{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem}.ys-companion-code-actions button{min-height:44px;color:#623685}.ys-companion-code-actions button:disabled{color:#64748b}
.ys-companion-dialog [data-companion-feedback]{padding:1rem;background:#fff1f2;color:#9f1239;border:1px solid #fecdd3;border-radius:.75rem;line-height:1.9;font-size:.85rem}
.ys-companion-dialog [data-companion-success]{padding:1rem;background:#ecfdf5;color:#065f46;border-radius:.75rem;line-height:1.9}
.ys-companion-dialog [hidden]{display:none!important}
.ys-companion-avatar{position:relative;display:inline-flex;cursor:help}.ys-companion-avatar:focus-visible{outline:2px solid #78439a;border-radius:50%}
.ys-companion-avatar .ys-companion-tooltip{position:absolute;bottom:calc(100% + 8px);inset-inline-start:50%;transform:translateX(50%);display:none;z-index:5;white-space:nowrap;background:#1e293b;color:#fff;padding:.5rem .7rem;border-radius:.6rem;font-size:.75rem}
.ys-companion-avatar:hover .ys-companion-tooltip,.ys-companion-avatar:focus .ys-companion-tooltip{display:block}
.ys-companion-inbox{display:flex;flex-direction:column;gap:1rem}.ys-companion-request{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:1px solid #e2e8f0;background:#fff;border-radius:1rem;flex-wrap:wrap}.ys-companion-request img{width:56px;height:56px;object-fit:cover;border-radius:50%}.ys-companion-request div{flex:1;min-width:0;overflow-wrap:anywhere}.ys-companion-request form{display:flex;gap:.5rem}.ys-companion-request a{font-size:.85rem;color:#623685}.ys-companion-count{border-radius:999px;padding:.1rem .5rem;background:#be185d;color:#fff;font-size:.75rem}
@media(max-width:640px){.ys-companion-request{padding:1rem;gap:.75rem}.ys-companion-request>div{min-width:140px}.ys-companion-request form{flex-basis:100%}.ys-companion-request form button{flex:1}}
