/* Phần bổ sung cho bản WordPress: gói, audio, hỏi đáp. */
.tuvi-app{max-width:100%;overflow-x:clip}
.tuvi-app .page-shell{padding-top:8px}
.tuvi-app .tuvi-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tuvi-app .tuvi-buttons .secondary-button{min-height:43px;font-size:11px}
.tuvi-app .tuvi-access{grid-column:1/-1;font-size:11px;color:#5f6457;display:flex;flex-direction:column;gap:8px}
.tuvi-app .tuvi-access:empty{display:none}
.tuvi-app .tuvi-badge-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tuvi-app .tuvi-plan-badge{background:#f3eaeb;color:var(--accent);border:1px solid #e6cfd2;border-radius:20px;padding:3px 10px;font-weight:600;font-size:10px}
.tuvi-app .tuvi-unlock{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:#faf7f1;border:1px dashed #dccdb6;border-radius:5px}
.tuvi-app .tuvi-unlock small{color:#8d8077}
.tuvi-app .tuvi-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.tuvi-app .tuvi-link-strong{font-weight:600}
.tuvi-app .tuvi-warn{color:#922d32}
.tuvi-app .primary-button svg{width:14px;height:14px}
.tuvi-app .tuvi-panel{margin:0 0 14px;padding:18px 20px;border:1px solid #e6e5de;border-radius:6px;background:#fff}
.tuvi-app .tuvi-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.tuvi-app .tuvi-panel h3{margin:2px 0 0;font-family:var(--serif);font-weight:400;font-size:20px}
.tuvi-app .tuvi-audio-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.tuvi-app .tuvi-audio-actions .secondary-button{font-size:11px;min-height:40px}
.tuvi-app .tuvi-locked{opacity:.7}
.tuvi-app .tuvi-audio-list{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.tuvi-app .tuvi-track{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#4d5145}
.tuvi-app .tuvi-track audio{width:100%;height:38px}
.tuvi-app .tuvi-part{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:8px;font-size:10px;color:#8a8f7f}
.tuvi-app .tuvi-chat-log{max-height:460px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px 10px}
.tuvi-app .tuvi-chat-empty{font-size:11px;color:#858b79;margin:0}
.tuvi-app .tuvi-msg{max-width:88%;padding:10px 13px;border-radius:10px;font-size:12px;line-height:1.8;color:#3a4135}
.tuvi-app .tuvi-msg-user{align-self:flex-end;background:#722d35;color:#fff;border-bottom-right-radius:3px}
.tuvi-app .tuvi-msg-ai{align-self:flex-start;background:#f9f8f3;border:1px solid #ecebe3;border-bottom-left-radius:3px}
.tuvi-app .tuvi-msg-error{border-color:#edccc7;background:#fff0ed}
.tuvi-app .tuvi-pending{opacity:.6;font-style:italic}
.tuvi-app .tuvi-chat-suggest{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 10px}
.tuvi-app .tuvi-chat-suggest button{font-size:10px;border:1px solid #e1e2d9;background:#fafaf6;border-radius:20px;padding:5px 11px;color:#6d7263}
.tuvi-app .tuvi-chat-suggest button:disabled{opacity:.5;cursor:not-allowed}
.tuvi-app .tuvi-chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:0}
.tuvi-app .tuvi-chat-form textarea{width:100%;border:1px solid #dedfd7;border-radius:5px;padding:9px 11px;font:inherit;font-size:12px;resize:vertical;min-height:43px}
.tuvi-app .tuvi-chat-form .primary-button{width:auto;justify-content:center}
.tuvi-app button:disabled{cursor:not-allowed}
@media(max-width:600px){.tuvi-app .tuvi-buttons{justify-content:stretch}.tuvi-app .tuvi-buttons>*{flex:1 1 100%}.tuvi-app .tuvi-chat-form{grid-template-columns:1fr}.tuvi-app .tuvi-panel{padding:16px}.tuvi-app .tuvi-msg{max-width:100%}}
.tuvi-app .tuvi-h{display:block;font-family:var(--serif);font-size:13.5px;color:#354a35;margin:8px 0 2px}
