#owner-assistant-widget {
    --chat-size: 54px;
    --chat-edge-right: max(16px, env(safe-area-inset-right, 0px));
    --chat-edge-left: max(12px, env(safe-area-inset-left, 0px));
    --chat-edge-bottom: max(16px, env(safe-area-inset-bottom, 0px));
    position: fixed;
    right: var(--chat-edge-right);
    bottom: calc(var(--chat-edge-bottom) + var(--chat-keyboard, 0px));
    z-index: 990;
}
#owner-assistant-open {
    display: grid;
    place-items: center;
    width: var(--chat-size);
    height: var(--chat-size);
    padding: 0;
    border: 1px solid transparent;
    border-radius: 50%;
    color: var(--ink-inv);
    background: var(--brand);
    box-shadow: var(--shadow-lg);
    cursor: pointer;
}
#owner-assistant-open:hover { background: var(--brand-2); }
#owner-assistant-open:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
}
#owner-assistant-open .ic { width: 25px; height: 25px; }
#owner-assistant-open[aria-expanded="false"] .owner-assistant-icon-collapse,
#owner-assistant-open[aria-expanded="true"] .owner-assistant-icon-chat { display: none; }
#owner-assistant {
    position: absolute;
    right: 0;
    bottom: calc(var(--chat-size) + 10px);
    width: min(540px, calc(100vw - var(--chat-edge-right) - var(--chat-edge-left)));
    height: min(590px, calc(100vh - var(--chat-edge-bottom) - var(--chat-size) - 22px));
    height: min(590px, calc(var(--chat-visible-height, 100dvh) - var(--chat-edge-bottom) - var(--chat-size) - 22px));
    padding: 0;
    border: 1px solid var(--line-3);
    border-radius: var(--r-lg);
    background: var(--bg);
    color: var(--ink);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
}
#owner-assistant:not([hidden]) { display: flex; flex-direction: column; }
#owner-assistant > header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--line);
    background: var(--surface);
}
#owner-assistant h2 { flex: 1; margin: 0; font-size: 1rem; }
#owner-assistant > header .btn { min-height: 36px; }
#owner-assistant-close { min-width: 36px; }
#owner-assistant-messages {
    flex: 1 1 auto;
    overflow: auto;
    overscroll-behavior: contain;
    min-height: 0;
    padding: 12px;
}
#owner-assistant article {
    margin-bottom: 10px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: var(--r);
    background: var(--surface);
}
#owner-assistant article p { margin: 6px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
#owner-assistant h3 { margin: 10px 0 4px; font-size: 1rem; }
#owner-assistant small { display: block; margin-top: 5px; color: var(--ink-2); }
.owner-assistant-table { overflow-x: auto; }
.owner-assistant-products { display: grid; gap: 6px; margin: 8px 0; }
.owner-assistant-products a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 8px;
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
}
.owner-assistant-products img { width: 44px; height: 44px; object-fit: contain; flex: 0 0 auto; }
.owner-assistant-product-link img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    margin-right: 4px;
    vertical-align: middle;
}
#owner-assistant table { width: 100%; min-width: 24rem; border-collapse: collapse; }
#owner-assistant th, #owner-assistant td { padding: 5px 8px; border-bottom: 1px solid var(--line); text-align: left; }
#owner-assistant-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 10px;
    align-items: end;
    padding: 10px 12px;
    border-top: 1px solid var(--line);
    background: var(--surface);
}
#owner-assistant-form label { grid-column: 1 / -1; }
#owner-assistant-input {
    width: 100%;
    resize: none;
    padding: 8px;
    border: 1px solid var(--line-3);
    border-radius: var(--r-sm);
    font: inherit;
    font-size: 16px;
}
