:root {
    --iacao-ink: #12282f;
    --iacao-muted: #63777d;
    --iacao-line: #dce9e7;
    --iacao-paper: #ffffff;
    --iacao-soft: #f2faf8;
    --iacao-primary: #078a82;
    --iacao-deep: #064f59;
    --iacao-mint: #5ee4d0;
    --iacao-coral: #ef7668;
}

.iacao-assistant {
    position: fixed;
    right: max(24px, env(safe-area-inset-right));
    bottom: max(24px, env(safe-area-inset-bottom));
    z-index: 1085;
    color: var(--iacao-ink);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.iacao-assistant [hidden] { display: none !important; }
.iacao-assistant button, .iacao-assistant textarea, .iacao-assistant a { font: inherit; }

.iacao-toggle {
    position: relative;
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 50%;
    background: linear-gradient(145deg,#0eb7a9,#06545d);
    box-shadow: 0 20px 45px rgba(5,77,84,.38), 0 5px 15px rgba(4,63,70,.22), inset 0 1px rgba(255,255,255,.42);
    cursor: pointer;
    isolation: isolate;
    transition: transform .22s ease, box-shadow .22s ease;
}

.iacao-toggle:hover, .iacao-toggle:focus-visible {
    transform: translateY(-4px) scale(1.025);
    box-shadow: 0 26px 54px rgba(5,77,84,.46), 0 7px 18px rgba(4,63,70,.26);
    outline: none;
}

.iacao-toggle img { width: 68px; height: 68px; border-radius: 50%; }
.iacao-toggle-orbit {
    position: absolute;
    inset: -7px;
    z-index: -1;
    border: 1px solid rgba(40,223,204,.62);
    border-radius: 50%;
    animation: iacaoPulse 2.8s ease-out infinite;
}
.iacao-online {
    position: absolute;
    right: 1px;
    bottom: 7px;
    width: 16px;
    height: 16px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #27c594;
    box-shadow: 0 2px 8px rgba(10,96,75,.35);
}

.iacao-hint {
    position: absolute;
    right: 90px;
    bottom: 7px;
    width: max-content;
    max-width: min(250px, calc(100vw - 125px));
    padding: 12px 15px;
    border: 1px solid rgba(8,126,120,.17);
    border-radius: 17px 17px 5px 17px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 17px 42px rgba(20,47,52,.17);
    animation: iacaoHintIn .35s ease both;
}
.iacao-hint::after {
    content: "";
    position: absolute;
    right: -7px;
    bottom: 15px;
    width: 14px;
    height: 14px;
    border-top: 1px solid rgba(8,126,120,.12);
    border-right: 1px solid rgba(8,126,120,.12);
    background: #fff;
    transform: rotate(45deg);
}
.iacao-hint strong, .iacao-hint span { display: block; }
.iacao-hint strong { margin-bottom: 2px; font-size: 13px; }
.iacao-hint span { color: var(--iacao-muted); font-size: 11px; }

.iacao-panel {
    display: grid;
    grid-template-rows: auto auto minmax(0,1fr) auto auto;
    width: min(420px, calc(100vw - 32px));
    height: min(660px, calc(100dvh - 42px));
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 28px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 34px 100px rgba(7,38,45,.35), 0 8px 24px rgba(7,68,75,.15);
    backdrop-filter: blur(22px) saturate(125%);
    animation: iacaoPanelIn .3s cubic-bezier(.2,.8,.2,1) both;
}

.iacao-head {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 84px;
    padding: 14px 15px;
    color: #fff;
    background:
        radial-gradient(circle at 85% 0, rgba(91,235,216,.28), transparent 38%),
        linear-gradient(135deg,#0a817c,#064b58 76%);
}
.iacao-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 18px;
    background: rgba(255,255,255,.1);
    box-shadow: inset 0 1px rgba(255,255,255,.2);
}
.iacao-avatar img { width: 48px; height: 48px; border-radius: 15px; }
.iacao-title { min-width: 0; flex: 1; }
.iacao-title strong, .iacao-title small, .iacao-eyebrow { display: block; }
.iacao-title strong { margin: 2px 0 1px; font-size: 20px; line-height: 1; letter-spacing: -.025em; }
.iacao-title small { overflow: hidden; color: #b7d9d8; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.iacao-eyebrow { color: #d5f9f2; font-size: 8.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.iacao-eyebrow i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #67efd7; box-shadow: 0 0 10px #67efd7; }
.iacao-head-actions { display: flex; gap: 6px; }
.iacao-head-actions button {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 12px;
    color: #fff;
    background: rgba(255,255,255,.08);
    cursor: pointer;
    transition: background .18s ease, transform .18s ease;
}
.iacao-head-actions button:hover, .iacao-head-actions button:focus-visible { background: rgba(255,255,255,.19); transform: translateY(-1px); outline: none; }

.iacao-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 14px;
    border-bottom: 1px solid var(--iacao-line);
    color: #32716d;
    background: #effaf7;
    font-size: 10px;
    font-weight: 700;
}
.iacao-trust i { color: var(--iacao-primary); }

.iacao-messages {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 18px 16px 12px;
    background:
        radial-gradient(circle at 20% 10%,rgba(92,224,205,.09),transparent 14rem),
        linear-gradient(#fbfdfd,#f7fbfa);
    scrollbar-width: thin;
    scrollbar-color: #b7d8d3 transparent;
}
.iacao-message { display: flex; gap: 8px; margin: 0 0 13px; animation: iacaoMessageIn .22s ease both; }
.iacao-message.is-user { justify-content: flex-end; }
.iacao-message-avatar {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    margin-top: 2px;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(145deg,#0ca398,#075963);
    font-size: 12px;
}
.iacao-message-body { max-width: 84%; }
.iacao-bubble {
    padding: 11px 13px;
    border: 1px solid #dce9e7;
    border-radius: 7px 18px 18px 18px;
    color: #263d42;
    background: #fff;
    box-shadow: 0 7px 18px rgba(17,58,62,.06);
    font-size: 12.5px;
    line-height: 1.55;
    white-space: pre-wrap;
}
.iacao-message.is-user .iacao-bubble {
    border-color: transparent;
    border-radius: 18px 7px 18px 18px;
    color: #fff;
    background: linear-gradient(135deg,#0c9188,#07616a);
    box-shadow: 0 9px 22px rgba(4,105,103,.18);
}
.iacao-message.is-loading .iacao-bubble { display: flex; align-items: center; gap: 9px; color: #587177; }
.iacao-thinking { display: flex; gap: 4px; }
.iacao-thinking i { width: 6px; height: 6px; border-radius: 50%; background: var(--iacao-primary); animation: iacaoDot 1.1s ease-in-out infinite; }
.iacao-thinking i:nth-child(2) { animation-delay: .13s; }.iacao-thinking i:nth-child(3) { animation-delay: .26s; }

.iacao-source-list, .iacao-action-list, .iacao-feedback { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.iacao-source-list a, .iacao-action-list a, .iacao-feedback button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid #cfe2df;
    border-radius: 9px;
    color: #226d68;
    background: rgba(255,255,255,.92);
    font-size: 9.5px;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}
.iacao-action-list a { color: #fff; border-color: transparent; background: #087d77; }
.iacao-source-list a:hover, .iacao-source-list a:focus-visible, .iacao-feedback button:hover, .iacao-feedback button:focus-visible { border-color: #79c8bd; background: #effbf8; outline: none; }
.iacao-action-list a:hover, .iacao-action-list a:focus-visible { background: #075e64; outline: none; }
.iacao-feedback { align-items: center; color: #819095; font-size: 9px; }
.iacao-feedback button { width: 27px; min-height: 27px; justify-content: center; padding: 0; border-radius: 50%; color: #60777c; }
.iacao-feedback button.is-selected { color: #fff; border-color: var(--iacao-primary); background: var(--iacao-primary); }
.iacao-feedback button:disabled { cursor: default; opacity: .72; }

.iacao-quick {
    display: flex;
    gap: 7px;
    overflow-x: auto;
    padding: 10px 14px 8px;
    border-top: 1px solid #e6efed;
    background: #fff;
    scrollbar-width: none;
}
.iacao-quick::-webkit-scrollbar { display: none; }
.iacao-quick button {
    flex: 0 0 auto;
    max-width: 230px;
    padding: 8px 11px;
    border: 1px solid #cfe2df;
    border-radius: 999px;
    color: #326662;
    background: #f6fbfa;
    font-size: 10.5px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}
.iacao-quick button:hover, .iacao-quick button:focus-visible { color: #075f5c; border-color: #7bc9be; background: #eaf9f5; outline: none; }
.iacao-quick button:disabled { opacity: .55; cursor: wait; }

.iacao-compose { padding: 8px 12px max(10px,env(safe-area-inset-bottom)); border-top: 1px solid #edf2f1; background: #fff; }
.iacao-compose form {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 7px 7px 7px 12px;
    border: 1px solid #cfdedc;
    border-radius: 17px;
    background: #f9fcfb;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.iacao-compose form:focus-within { border-color: #64bfb5; box-shadow: 0 0 0 3px rgba(8,138,130,.1); }
.iacao-compose textarea {
    width: 100%;
    min-height: 31px;
    max-height: 92px;
    padding: 6px 0;
    resize: none;
    overflow-y: auto;
    border: 0;
    outline: 0;
    color: var(--iacao-ink);
    background: transparent;
    font-size: 12px;
    line-height: 1.45;
}
.iacao-compose textarea::placeholder { color: #8a9a9e; }
.iacao-compose form > button {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(145deg,#0b9c92,#075b64);
    box-shadow: 0 7px 16px rgba(6,105,103,.2);
    cursor: pointer;
}
.iacao-compose form > button:disabled { color: #93aaa7; background: #e0e9e7; box-shadow: none; cursor: not-allowed; }
.iacao-compose-meta { display: flex; justify-content: space-between; gap: 10px; padding: 6px 3px 0; color: #839397; font-size: 8.5px; }
.iacao-compose-meta i { margin-right: 3px; color: #4b9b91; }

body[data-theme="dark"] .iacao-panel { color: #eef9f7; border-color: #315159; background: rgba(17,42,48,.98); }
body[data-theme="dark"] .iacao-messages { background: linear-gradient(#153239,#102930); }
body[data-theme="dark"] .iacao-bubble { color: #e5f3f1; border-color: #315159; background: #1c3c43; }
body[data-theme="dark"] .iacao-trust, body[data-theme="dark"] .iacao-quick, body[data-theme="dark"] .iacao-compose { border-color: #315159; background: #15343a; }
body[data-theme="dark"] .iacao-trust { color: #9ed7d0; }
body[data-theme="dark"] .iacao-quick button, body[data-theme="dark"] .iacao-compose form, body[data-theme="dark"] .iacao-source-list a, body[data-theme="dark"] .iacao-feedback button { color: #c9e3df; border-color: #3d5e64; background: #1d3d43; }
body[data-theme="dark"] .iacao-compose textarea { color: #eef9f7; }
body[data-theme="dark"] .iacao-hint { color: #eef9f7; border-color: #36595f; background: #19383e; }
body[data-theme="dark"] .iacao-hint::after { background: #19383e; }

@keyframes iacaoPulse { 70%,100% { transform: scale(1.23); opacity: 0; } }
@keyframes iacaoPanelIn { from { transform: translateY(18px) scale(.975); opacity: 0; } }
@keyframes iacaoHintIn { from { transform: translateX(10px); opacity: 0; } }
@keyframes iacaoMessageIn { from { transform: translateY(6px); opacity: 0; } }
@keyframes iacaoDot { 0%,60%,100% { transform: translateY(0); opacity: .35; } 30% { transform: translateY(-4px); opacity: 1; } }

@media (max-width: 620px) {
    .iacao-assistant { right: max(16px,env(safe-area-inset-right)); bottom: max(16px,env(safe-area-inset-bottom)); }
    .iacao-toggle { width: 68px; height: 68px; }.iacao-toggle img { width: 59px; height: 59px; }
    .iacao-assistant.is-open { inset: 0; }
    .iacao-panel { width: 100%; height: 100dvh; border: 0; border-radius: 0; animation-name: iacaoMobileIn; }
    .iacao-head { padding-top: max(13px,env(safe-area-inset-top)); }
    .iacao-message-body { max-width: 88%; }
    .iacao-hint { right: 79px; }
    body.iacao-mobile-open { overflow: hidden; }
}
@keyframes iacaoMobileIn { from { transform: translateY(100%); } }

@media print { .iacao-assistant { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
    .iacao-toggle-orbit, .iacao-panel, .iacao-hint, .iacao-message, .iacao-thinking i { animation: none !important; }
    .iacao-toggle, .iacao-head-actions button { transition: none !important; }
}
