/* Shared guide and explicitly consented AI chat. Theme tokens remain canonical. */
.ww-assistant { position: fixed; z-index: 80; left: max(18px, env(safe-area-inset-left)); right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); color: var(--ww-text); font-size: .9rem; display: flex; justify-content: flex-end; pointer-events: none; }
.ww-assistant > * { pointer-events: auto; }
.ww-assistant[hidden], .ww-assistant [hidden] { display: none !important; }
.ww-assistant button, .ww-assistant input, .ww-assistant select { font: inherit; min-height: 44px; border-radius: 9px; }
.ww-assistant button { cursor: pointer; border: 1px solid var(--ww-border); padding: .6rem .85rem; background: var(--ww-surface-2); color: var(--ww-text); font-weight: 650; }
.ww-assistant button:disabled { cursor: wait; opacity: .6; }
.ww-assistant :is(button, a, input, select, textarea):focus-visible { outline: 3px solid var(--ww-accent); outline-offset: 3px; }
.assistant-launcher { display: flex; align-items: center; gap: .55rem; box-shadow: 0 6px 24px #0002; background: var(--ww-primary-700) !important; color: var(--ww-bg) !important; }
.assistant-launcher svg { width: 22px; height: 22px; fill: var(--ww-bg); }
.assistant-panel { position: absolute; bottom: 60px; right: 0; width: min(410px, 100%); max-height: min(740px, calc(100dvh - 110px)); border: 1px solid var(--ww-border); border-radius: 18px; overflow: hidden; box-shadow: 0 16px 60px #0003; background: var(--ww-surface); display: flex; flex-direction: column; }
.assistant-panel header { padding: 18px; display: flex; justify-content: space-between; align-items: center; gap: 10px; border-bottom: 1px solid var(--ww-border); background: var(--ww-surface-2); flex-shrink: 0; }
.assistant-panel header button { font-size: 1.5rem; min-width: 44px; }
.assistant-panel h2 { font-size: 1.3rem; margin: 4px 0 0; }
.assistant-eyebrow { text-transform: uppercase; letter-spacing: .1em; font-size: .65rem; margin: 0; color: var(--ww-muted); }
.assistant-body { padding: 18px; overflow-y: auto; min-height: 0; flex: 1 1 auto; overscroll-behavior: contain; }
.assistant-body p { margin: 0 0 12px; line-height: 1.55; }
.assistant-availability { font-size: .75rem; color: var(--ww-secondary); font-weight: 650; }
.ww-assistant label { display: block; font-weight: 600; margin: 12px 0 6px; }
.ww-assistant input, .ww-assistant select { width: 100%; padding: .65rem .75rem; border: 1px solid var(--ww-border); background: var(--ww-bg); color: var(--ww-text); box-sizing: border-box; }
.assistant-search-row { display: flex; gap: 8px; }
.assistant-search-row input { min-width: 0; }
.assistant-body h3 { font-size: 1rem; margin: 0 0 8px; }
.assistant-draft { padding: 16px 0; margin-top: 16px; border-top: 1px solid var(--ww-border); }
.assistant-small { color: var(--ww-muted); font-size: .75rem; }
.assistant-body a { color: var(--ww-secondary); text-underline-offset: 3px; }
.assistant-result { border-bottom: 1px solid var(--ww-border); padding: 12px 0; }
.assistant-result p { font-size: .8rem; margin: 5px 0 0; }
.assistant-links, .assistant-actions { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 14px 0; }
.assistant-links a { min-height: 44px; display: inline-flex; align-items: center; }
.assistant-status { font-size: .8rem; font-weight: 600; }
[data-assistant-change-list] { padding-left: 20px; font-size: .8rem; }
[data-assistant-change-list] li { margin: 12px 0; overflow-wrap: anywhere; }
[data-assistant-field-form] > button { width: 100%; margin-top: 12px; }
[data-assistant-apply] { background: var(--ww-accent) !important; color: var(--everyday-button-text) !important; }
.assistant-nudge { position: absolute; bottom: 60px; right: 0; width: min(290px, 100%); padding: 14px; border: 1px solid var(--ww-border); border-radius: 14px; background: var(--ww-surface); box-shadow: var(--shadow); }
.assistant-nudge p { margin: 0 0 8px; padding-right: 25px; }
[data-assistant-nudge-dismiss] { position: absolute; right: 5px; top: 5px; background: none !important; border: 0 !important; }
@media (max-width: 600px) { .ww-assistant { left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); } .assistant-launcher { font-size: .8rem !important; padding: .55rem .7rem !important; } }
@media print { .ww-assistant { display: none !important; } }
.assistant-chat { border-top: 1px solid var(--ww-border); margin-top: 16px; padding-top: 16px; }
.assistant-notice { margin: 12px 0; border: 1px solid var(--ww-border); border-radius: 10px; padding: 10px 12px; background: var(--ww-surface-2); }
.assistant-notice summary { cursor: pointer; min-height: 28px; display: list-item; font-weight: 650; }
.assistant-notice p { font-size: .8rem; margin: 10px 0 0; overflow-wrap: anywhere; }
.ww-assistant textarea { width: 100%; resize: vertical; min-height: 88px; max-height: 180px; padding: .65rem .75rem; border: 1px solid var(--ww-border); border-radius: 8px; background: var(--ww-bg); color: var(--ww-text); font: inherit; box-sizing: border-box; }
.ww-assistant .assistant-choice { display: flex; gap: 10px; align-items: flex-start; font-size: .8rem; font-weight: 400; line-height: 1.5; padding: 7px 0; }
.ww-assistant .assistant-choice input { flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; padding: 0; margin: 2px 0 0; accent-color: var(--ww-accent); }
.assistant-messages { max-height: 220px; overflow-y: auto; overscroll-behavior: contain; overflow-wrap: anywhere; }
.assistant-message { margin: 10px 0; padding: 12px; border: 1px solid var(--ww-border); border-radius: 12px; background: var(--ww-surface-2); }
.assistant-message-user { margin-left: 24px; }
.assistant-message strong { font-size: .7rem; color: var(--ww-secondary); }
.assistant-message p { white-space: pre-wrap; font-size: .85rem; margin: 6px 0 0; }
@media (max-width: 600px) { .ww-assistant :is(input:not([type="checkbox"]), select, textarea) { font-size: 16px; } }
