/* Namespaced assistant styles: existing portal geometry is unchanged. */

.side .assistant-trigger {
    position: absolute;
    inset: 50% auto auto 46px;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    padding: 5px;
    border: 0;
    border-radius: 50%;
    background: #102b3d55;
    color: #76a5be;
    cursor: pointer;
    display: grid;
    place-items: center;
}

.side .assistant-trigger svg {
    width: 18px;
    height: 18px;
}

.side .assistant-trigger:hover {
    background: #173b55;
    color: #8bd9ff;
}

.side .assistant-trigger:focus-visible {
    outline: 2px solid #52c8e0;
    outline-offset: 3px;
}

.sinaa-assistant {
    --chat-bg: #0b1725;
    --chat-panel: #122236;
    --chat-text: #e8eff7;
    --chat-muted: #99afc7;
    --chat-border: #293c52;
    --chat-user: #154d62;

    position: fixed;
    inset: 0;
    width: min(600px, calc(100vw - 32px));
    height: min(730px, calc(100dvh - 40px));
    max-width: none;
    max-height: none;
    margin: auto;
    padding: 0;
    border: 1px solid var(--chat-border);
    border-radius: 24px;
    background: var(--chat-bg);
    color: var(--chat-text);
    box-shadow: 0 28px 100px #0008;
    overflow: hidden;
    font-family: inherit;
}

.sinaa-assistant::backdrop {
    background: #020914a8;
    backdrop-filter: blur(5px);
}

.assistant-shell {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sinaa-assistant button,
.sinaa-assistant textarea {
    font: inherit;
}

.assistant-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 24px;
    border-bottom: 1px solid var(--chat-border);
    background: var(--chat-panel);
}

.assistant-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    height: 44px;
    border-radius: 15px;
    background: linear-gradient(135deg, #1d9fae, #2775c6);
    color: white;
    font-size: 26px;
}

.assistant-header h2 {
    font-size: 18px;
    margin: 0;
}

.assistant-header p {
    font-size: 12px;
    color: var(--chat-muted);
    margin: 5px 0 0;
}

.assistant-close {
    margin-inline-start: auto;
    border: 0;
    background: #b62c3b;
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 23px !important;
    line-height: 1;
}

.assistant-feed {
    flex: 1;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.assistant-welcome {
    margin: auto;
    text-align: center;
    color: var(--chat-muted);
    max-width: 360px;
}

.assistant-welcome > span {
    font-size: 42px;
    color: #44c4d6;
}

.assistant-welcome h3 {
    font-size: 20px;
    color: var(--chat-text);
    line-height: 1.6;
}

.assistant-welcome p {
    line-height: 1.9;
    font-size: 14px;
}

.assistant-message {
    max-width: 88%;
    padding: 12px 16px;
    border: 1px solid var(--chat-border);
    border-radius: 16px;
    align-self: flex-end;
    background: var(--chat-panel);
    line-height: 1.9;
    font-size: 14px;
    overflow-wrap: anywhere;
    flex-shrink: 0;
}

.assistant-message.user {
    align-self: flex-start;
    background: var(--chat-user);
    border-color: #2783a0;
    border-top-right-radius: 4px;
}

.assistant-message.bot {
    border-top-left-radius: 4px;
}

.assistant-message.error {
    border-color: #c45f69;
}

.assistant-message small {
    display: block;
    font-size: 11px;
    color: var(--chat-muted);
    margin-bottom: 4px;
}

.assistant-message > div {
    white-space: pre-wrap;
}

.assistant-status {
    min-height: 24px;
    padding: 0 24px;
    font-size: 12px;
    color: var(--chat-muted);
}

.assistant-composer {
    position: relative;
    margin: 8px 18px 0;
    padding: 12px;
    border: 1px solid var(--chat-border);
    border-radius: 18px;
    background: var(--chat-panel);
}

.sinaa-assistant textarea {
    width: 100%;
    box-sizing: border-box;
    background: transparent;
    border: 0;
    color: var(--chat-text);
    resize: none;
    min-height: 58px;
    max-height: 140px;
    padding: 4px;
    line-height: 1.7;
    outline: none;
}

.sinaa-assistant textarea::placeholder {
    color: var(--chat-muted);
}

.assistant-composer:focus-within {
    border-color: #40b8cd;
}

.assistant-compose-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.assistant-compose-actions small {
    font-size: 10px;
    color: var(--chat-muted);
}

.assistant-emoji {
    border: 0;
    background: transparent;
    color: var(--chat-text);
    font-size: 25px !important;
    width: 34px;
    cursor: pointer;
}

.assistant-send {
    margin-inline-start: auto;
    border: 0;
    border-radius: 11px;
    padding: 10px 17px;
    background: #177f94;
    color: white;
    cursor: pointer;
    font-weight: 700 !important;
    display: flex;
    gap: 9px;
    align-items: center;
}

.assistant-send:disabled {
    opacity: 0.5;
    cursor: wait;
}

.assistant-emojis {
    position: absolute;
    bottom: 100%;
    right: 0;
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
    border: 1px solid var(--chat-border);
    border-radius: 15px;
    background: var(--chat-panel);
    box-shadow: 0 10px 30px #0004;
}

.assistant-emojis[hidden] {
    display: none;
}

.assistant-emojis button {
    border: 0;
    background: transparent;
    padding: 5px;
    font-size: 22px;
    cursor: pointer;
    border-radius: 8px;
}

.assistant-emojis button:hover {
    background: var(--chat-user);
}

.assistant-footer {
    padding: 10px;
    text-align: center;
    font-size: 10px;
    color: var(--chat-muted);
}

/* Light mode */

html[data-theme="light"] .sinaa-assistant {
    --chat-bg: #f7f9fc;
    --chat-panel: #fff;
    --chat-text: #20334a;
    --chat-muted: #687b91;
    --chat-border: #dbe4ef;
    --chat-user: #e0f3f7;
}

html[data-theme="light"] .side .assistant-trigger {
    color: #47758e;
    background: #e7f1f866;
}

html[data-theme="light"] .side .assistant-trigger:hover {
    background: #dcecf7;
    color: #176a9b;
}

/* Mobile */

@media (max-width: 600px) {
    .sinaa-assistant {
        width: calc(100vw - 16px);
        height: calc(100dvh - 16px);
        border-radius: 18px;
    }

    .assistant-header {
        padding: 16px;
    }

    .assistant-feed {
        padding: 15px;
    }

    .assistant-compose-actions small {
        font-size: 9px;
    }

    .assistant-message {
        max-width: 92%;
    }
}

/* Print */

@media print {
    .assistant-trigger,
    .sinaa-assistant {
        display: none !important;
    }
}

.side .assistant-trigger.assistant-trigger-brand {
    inset: 0 auto auto 44px;
    transform: none;
}
.assistant-new-chat{border:1px solid var(--chat-border);border-radius:9px;background:transparent;color:var(--chat-text);padding:7px 10px;font-size:11px;cursor:pointer;margin-inline-start:auto}.assistant-new-chat+.assistant-close{margin-inline-start:0}@media(max-width:600px){.assistant-header{gap:8px}.assistant-header h2{font-size:16px}.assistant-new-chat{padding:6px;font-size:10px}}

/* V5: compact mobile chat, visual viewport follows software keyboard. */
.assistant-close{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;line-height:1}.assistant-close svg{width:18px;height:18px}.assistant-floating{display:none}.assistant-is-open{overflow:hidden}.assistant-status:empty{min-height:0;padding:0}.assistant-header>div:nth-child(2){min-width:0}.assistant-header h2{line-height:1.5}.assistant-new-chat{white-space:nowrap}.sinaa-assistant textarea{font-size:16px}.assistant-shell{min-height:0}.assistant-header,.assistant-composer,.assistant-footer,.assistant-status{flex-shrink:0}.assistant-close:hover{background:#d3384b}.assistant-send:hover{background:#188fa3}.assistant-floating:focus-visible{outline:3px solid #54c7ef;outline-offset:4px}
@media(max-width:1000px){.assistant-floating{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:45;width:58px;height:53px;padding:13px;border-radius:20px 20px 5px 20px;display:grid;place-items:center;border:1px solid #6dbdd077;background:linear-gradient(145deg,#236780,#10364b);color:#d4f6ff;box-shadow:inset 0 1px 1px #d5f7ff55,inset 0 -3px 4px #0003,0 10px 26px #0005;cursor:pointer}.assistant-floating svg{width:29px;height:29px}.assistant-floating>span{display:none}.assistant-floating:hover{background:#236780}html[data-theme=light] .assistant-floating{background:linear-gradient(145deg,#f5fbff,#c6e4f2);border-color:#9cc4d9;color:#216481;box-shadow:inset 0 1px 1px #fff,inset 0 -3px 4px #2c648a12,0 10px 26px #30567422}}
@media(max-width:600px),(max-width:1000px) and (max-height:600px){.sinaa-assistant{inset:auto;top:var(--assistant-top,0px);left:0;right:0;margin:0;width:100%;height:var(--assistant-vh,100dvh);max-height:none;border-radius:0;border:0;box-shadow:none}.assistant-header{padding:12px 14px;gap:9px}.assistant-avatar{flex-basis:32px;height:32px;border-radius:11px;font-size:20px}.assistant-header h2{font-size:15px}.assistant-header p{font-size:10px;margin-top:1px}.assistant-close{flex-basis:32px;width:32px;height:32px;border-radius:9px}.assistant-new-chat{font-size:10px;padding:6px 7px}.assistant-feed{padding:16px 12px;gap:12px}.assistant-welcome>span{font-size:30px}.assistant-welcome h3{font-size:18px;margin:10px 0}.assistant-welcome p{font-size:13px}.assistant-message{font-size:14px;padding:9px 12px;max-width:91%;line-height:1.75}.assistant-composer{margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-radius:0;border-width:1px 0 0}.sinaa-assistant textarea{font-size:16px;min-height:40px;max-height:100px;padding:5px;line-height:1.5}.assistant-compose-actions{gap:8px}.assistant-compose-actions small{display:none}.assistant-emoji{height:35px;width:35px;padding:0}.assistant-send{min-height:38px;padding:8px 15px;font-size:14px}.assistant-footer{display:none}.assistant-status{font-size:11px;padding:5px 14px}.assistant-status:empty{padding:0}.assistant-emojis{right:10px;max-width:calc(100vw - 20px)}.sinaa-assistant::backdrop{backdrop-filter:none}}
@media print{.assistant-floating{display:none!important}}
