.comunidade-app {
    --com-petroleo: #123b5d;
    --com-petroleo-escuro: #0b2b45;
    --com-turquesa: #0f9d94;
    --com-turquesa-escuro: #08756f;
    --com-turquesa-claro: #dff5f2;
    --com-dourado: #d4a72c;
    --com-fundo: #f2f7fa;
    --com-card: #ffffff;
    --com-texto: #1c2f3e;
    --com-texto-suave: #607481;
    --com-borda: #dbe7ed;
    --com-sombra: 0 10px 28px rgba(18, 59, 93, .08);
    --com-verde: #2e8b57;
    --com-verde-claro: #e5f4eb;
    --com-laranja: #d9822b;
    --com-laranja-claro: #fff0df;
    --com-azul: #3478c0;
    --com-azul-claro: #e7f0fb;
    min-height: 54vh;
    background:
        radial-gradient(circle at 95% 4%, rgba(15, 157, 148, .10), transparent 22rem),
        var(--com-fundo);
    color: var(--com-texto);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html[data-ri-theme="dark"] .comunidade-app {
    --com-fundo: #10212d;
    --com-card: #172c39;
    --com-texto: #edf6fa;
    --com-texto-suave: #a9bdc8;
    --com-borda: #2f4857;
    --com-turquesa-claro: #153f42;
    --com-verde-claro: #183b2b;
    --com-laranja-claro: #462f1b;
    --com-azul-claro: #1c3651;
    --com-sombra: 0 12px 30px rgba(0, 0, 0, .18);
}

.comunidade-app *,
.comunidade-app *::before,
.comunidade-app *::after {
    box-sizing: border-box;
}

.comunidade-app a {
    color: var(--com-turquesa-escuro);
    text-decoration: none;
}

html[data-ri-theme="dark"] .comunidade-app a {
    color: #65d0c9;
}

.comunidade-app .container {
    width: min(1180px, calc(100% - 32px));
    margin-inline: auto;
}

.comunidade-topo {
    position: relative;
    z-index: 5;
    color: #fff;
    background:
        radial-gradient(circle at 86% 10%, rgba(15, 157, 148, .42), transparent 22rem),
        linear-gradient(110deg, var(--com-petroleo-escuro), var(--com-petroleo));
    border-bottom: 3px solid var(--com-dourado);
    box-shadow: 0 8px 22px rgba(11, 43, 69, .16);
}

.comunidade-topo-inner {
    width: min(1180px, calc(100% - 32px));
    min-height: 76px;
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.comunidade-marca {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #fff !important;
}

.comunidade-marca-sinal {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 13px;
    color: #fff;
    background: var(--com-turquesa);
    box-shadow: 0 7px 16px rgba(3, 35, 48, .22);
    font-size: 1.15rem;
}

.comunidade-marca > span:last-child {
    display: flex;
    flex-direction: column;
    line-height: 1.08;
}

.comunidade-marca strong {
    font-size: 1.02rem;
}

.comunidade-marca small {
    margin-top: 4px;
    color: #cfe1ea;
    font-size: .72rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.comunidade-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
}

.comunidade-menu > a:not(.botao) {
    color: #e8f3f7;
    font-size: .86rem;
    font-weight: 650;
}

.comunidade-menu > a:not(.botao):hover {
    color: #fff;
}

.comunidade-menu .link-sair {
    opacity: .82;
}

.comunidade-sair-form {
    margin: 0;
}

.comunidade-sair-form .link-sair {
    padding: 0;
    color: #e8f3f7;
    background: transparent;
    border: 0;
    font: inherit;
    font-size: .86rem;
    font-weight: 650;
    cursor: pointer;
}

.comunidade-sair-form .link-sair:hover {
    color: #fff;
}

.aluno-chip,
.autor-aviso {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
}

.aluno-chip {
    padding: 8px 11px;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .16);
}

.comunidade-conteudo {
    padding-block: 28px 42px;
}

.comunidade-app .card {
    display: block;
    margin-bottom: 17px;
    padding: 21px;
    overflow: hidden;
    color: var(--com-texto);
    background: var(--com-card);
    border: 1px solid var(--com-borda);
    border-radius: 16px;
    box-shadow: var(--com-sombra);
}

.comunidade-app h1,
.comunidade-app h2,
.comunidade-app h3,
.comunidade-app p {
    color: inherit;
}

.comunidade-app h1 {
    margin: 0 0 9px;
    color: var(--com-petroleo-escuro);
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    line-height: 1.12;
    font-weight: 800;
}

html[data-ri-theme="dark"] .comunidade-app h1 {
    color: #e9f6fa;
}

.comunidade-app h2 {
    margin: 0;
    font-size: 1.18rem;
    font-weight: 780;
}

.comunidade-app h3 {
    margin: 0 0 11px;
    font-size: 1rem;
    font-weight: 750;
}

.sobrelinha {
    display: block;
    margin-bottom: 7px;
    color: var(--com-turquesa-escuro);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .11em;
}

html[data-ri-theme="dark"] .sobrelinha {
    color: #66d4cd;
}

.hero-comunidade {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 166px;
    padding: 27px 29px !important;
    background:
        radial-gradient(circle at 88% 22%, rgba(15, 157, 148, .18), transparent 15rem),
        linear-gradient(135deg, var(--com-card), color-mix(in srgb, var(--com-card) 72%, var(--com-turquesa-claro)));
    border-top: 4px solid var(--com-turquesa) !important;
}

.hero-comunidade > div {
    max-width: 690px;
}

.hero-comunidade p {
    margin: 0;
    color: var(--com-texto-suave);
    line-height: 1.6;
}

.hero-menor {
    min-height: 135px;
}

.grade {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 22px;
    align-items: start;
}

.sidebar {
    position: sticky;
    top: 20px;
}

.comunidade-app .botao {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 15px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #fff !important;
    background: var(--com-petroleo);
    box-shadow: 0 6px 14px rgba(18, 59, 93, .13);
    font: inherit;
    font-size: .88rem;
    font-weight: 750;
    line-height: 1.1;
    cursor: pointer;
}

.comunidade-app .botao:hover {
    transform: translateY(-1px);
    filter: brightness(1.04);
}

.comunidade-app .botao.verde {
    background: var(--com-turquesa);
    box-shadow: 0 7px 16px rgba(15, 157, 148, .20);
}

.comunidade-app .botao.secundario {
    color: var(--com-petroleo) !important;
    background: var(--com-card);
    border-color: var(--com-borda);
    box-shadow: none;
}

html[data-ri-theme="dark"] .comunidade-app .botao.secundario {
    color: #d9edf3 !important;
}

.comunidade-app .botao.pequeno {
    min-height: 36px;
    padding: 8px 11px;
    font-size: .79rem;
}

.comunidade-app .botao.largo {
    width: 100%;
}

.acoes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.campo {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 15px;
}

.campo > span,
.campo > label {
    color: var(--com-texto);
    font-size: .82rem;
    font-weight: 750;
}

.campo small {
    color: var(--com-texto-suave);
    font-size: .74rem;
    font-weight: 500;
}

.campo input,
.campo select,
.campo textarea {
    width: 100%;
    min-height: 43px;
    padding: 10px 12px;
    color: var(--com-texto);
    background: var(--com-card);
    border: 1px solid #cddce4;
    border-radius: 10px;
    outline: none;
    font: inherit;
    font-size: .9rem;
}

html[data-ri-theme="dark"] .campo input,
html[data-ri-theme="dark"] .campo select,
html[data-ri-theme="dark"] .campo textarea {
    border-color: var(--com-borda);
}

.campo input:focus,
.campo select:focus,
.campo textarea:focus {
    border-color: var(--com-turquesa);
    box-shadow: 0 0 0 3px rgba(15, 157, 148, .14);
}

.campo textarea {
    min-height: 132px;
    resize: vertical;
}

.campo textarea.entrada-codigo {
    min-height: 155px;
    color: #dcecf2;
    background: #0d2433;
    border-color: #254252;
    font-family: Consolas, "Courier New", monospace;
}

.linha {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 12px;
}

.filtros-card {
    padding: 17px !important;
}

.filtros {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(130px, 1fr));
    gap: 10px;
    align-items: end;
}

.filtros .campo {
    margin: 0;
}

.filtros .campo-busca {
    grid-column: span 2;
}

.acoes-filtro {
    display: flex;
    gap: 8px;
    align-items: center;
}

.contexto-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 17px;
    padding: 14px 17px;
    color: #0c5f5a;
    background: var(--com-turquesa-claro);
    border: 1px solid rgba(15, 157, 148, .23);
    border-radius: 13px;
}

html[data-ri-theme="dark"] .contexto-box {
    color: #a2e4df;
}

.contexto-box > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.contexto-box span {
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.contexto-box strong {
    font-size: .93rem;
}

.contexto-box .contexto-contagem {
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .58);
    white-space: nowrap;
}

html[data-ri-theme="dark"] .contexto-box .contexto-contagem {
    background: rgba(0, 0, 0, .16);
}

.contexto-formulario {
    margin-top: 2px;
}

.publicacao {
    position: relative;
    border-left: 4px solid var(--com-turquesa) !important;
}

.publicacao-topo,
.resposta-topo,
.rodape-publicacao,
.secao-titulo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 13px;
}

.autor {
    color: var(--com-petroleo);
    font-size: .85rem;
    font-weight: 780;
}

html[data-ri-theme="dark"] .autor {
    color: #d9edf3;
}

.meta {
    color: var(--com-texto-suave);
    font-size: .8rem;
}

.badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 13px 0 11px;
}

.comunidade-app .badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 760;
    line-height: 1;
}

.comunidade-app .badge.aberta {
    color: var(--com-azul);
    background: var(--com-azul-claro);
}

.comunidade-app .badge.em_discussao {
    color: var(--com-laranja);
    background: var(--com-laranja-claro);
}

.comunidade-app .badge.resolvida {
    color: var(--com-verde);
    background: var(--com-verde-claro);
}

.comunidade-app .badge.tipo {
    color: #0c6d67;
    background: var(--com-turquesa-claro);
}

html[data-ri-theme="dark"] .comunidade-app .badge.tipo {
    color: #8ee1dc;
}

.comunidade-app .badge.contexto {
    color: var(--com-texto-suave);
    background: color-mix(in srgb, var(--com-card) 78%, var(--com-borda));
    border: 1px solid var(--com-borda);
}

.comunidade-app .badge.professor {
    margin-left: 5px;
    color: #075e59;
    background: var(--com-turquesa-claro);
    border: 1px solid rgba(15, 157, 148, .24);
    vertical-align: middle;
}

html[data-ri-theme="dark"] .comunidade-app .badge.professor {
    color: #8ee1dc;
}

.titulo {
    margin: 0 0 8px !important;
}

.titulo a {
    color: var(--com-petroleo-escuro);
}

html[data-ri-theme="dark"] .titulo a {
    color: #edf6fa;
}

.resumo,
.resposta-texto,
.solucao-box > div {
    white-space: pre-wrap;
    line-height: 1.58;
}

.resumo {
    margin: 0;
    color: var(--com-texto-suave);
}

.rodape-publicacao {
    align-items: center;
    margin-top: 16px;
    padding-top: 13px;
    color: var(--com-texto-suave);
    border-top: 1px solid var(--com-borda);
    font-size: .79rem;
}

.rodape-publicacao a {
    font-weight: 750;
}

.stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.stat {
    padding: 12px 5px;
    text-align: center;
    background: color-mix(in srgb, var(--com-card) 78%, var(--com-turquesa-claro));
    border-radius: 11px;
}

.stat strong,
.stat span {
    display: block;
}

.stat strong {
    color: var(--com-petroleo);
    font-size: 1.28rem;
}

html[data-ri-theme="dark"] .stat strong {
    color: #dceef4;
}

.stat span {
    margin-top: 2px;
    color: var(--com-texto-suave);
    font-size: .67rem;
}

.comunidade-app hr {
    margin: 17px 0;
    border: 0;
    border-top: 1px solid var(--com-borda);
    opacity: 1;
}

.flash {
    margin-bottom: 17px;
    padding: 13px 15px;
    border-radius: 11px;
    font-size: .88rem;
    font-weight: 650;
}

.flash.sucesso {
    color: #17673e;
    background: #e5f5eb;
    border: 1px solid #bce2ca;
}

.flash.erro {
    color: #8f2727;
    background: #fff0f0;
    border: 1px solid #f0c4c4;
}

.flash.info {
    color: #225b84;
    background: #eaf4fb;
    border: 1px solid #c8dfee;
}

html[data-ri-theme="dark"] .flash.sucesso,
html[data-ri-theme="dark"] .flash.erro,
html[data-ri-theme="dark"] .flash.info {
    color: var(--com-texto);
    background: var(--com-card);
    border-color: var(--com-borda);
}

.vazio {
    padding: 20px;
    color: var(--com-texto-suave);
    text-align: center;
}

.codigo {
    max-width: 100%;
    margin: 10px 0 0;
    padding: 15px;
    overflow: auto;
    white-space: pre-wrap;
    color: #dcecf2;
    background: #0d2433;
    border: 1px solid #254252;
    border-radius: 12px;
    font-family: Consolas, "Courier New", monospace;
    font-size: .86rem;
    line-height: 1.5;
}

.codigo code {
    color: inherit;
    font: inherit;
}

.solucao-box {
    margin-top: 18px;
    padding: 16px;
    color: #1d6942;
    background: var(--com-verde-claro);
    border: 1px solid rgba(46, 139, 87, .25);
    border-left: 4px solid var(--com-verde);
    border-radius: 12px;
}

html[data-ri-theme="dark"] .solucao-box {
    color: #a8ddbc;
}

.solucao-box strong {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 7px;
}

.publicacao-detalhe {
    max-width: 1000px;
}

.publicacao-detalhe .publicacao h1 {
    font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.publicacao-detalhe .publicacao h3 {
    margin-top: 18px;
}

.publicacao-acoes {
    margin-top: 17px;
}

.autor-aviso {
    padding: 9px 12px;
    color: var(--com-texto-suave);
    background: color-mix(in srgb, var(--com-card) 76%, var(--com-borda));
}

.voltar-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 13px;
    font-size: .85rem;
    font-weight: 700;
}

.resolver-card {
    display: grid !important;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 22px;
    border-top: 4px solid var(--com-dourado) !important;
}

.resolver-card form .campo {
    margin-top: 0;
}

.secao-titulo {
    align-items: center;
    margin-bottom: 17px;
}

.secao-titulo > span {
    color: var(--com-texto-suave);
    font-size: .79rem;
}

.resposta {
    margin-top: 12px;
    padding: 15px;
    background: color-mix(in srgb, var(--com-card) 88%, var(--com-fundo));
    border: 1px solid var(--com-borda);
    border-radius: 12px;
}

.resposta.solucao {
    background: var(--com-verde-claro);
    border-color: rgba(46, 139, 87, .36);
    border-left: 4px solid var(--com-verde);
}

.resposta-texto {
    margin-top: 9px;
}

.acao-resposta {
    margin-top: 11px;
}

.responder-box {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--com-borda);
}

.formulario-card {
    max-width: 930px;
    margin-inline: auto;
    padding: 27px !important;
}

.formulario-cabecalho {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 21px;
}

.formulario-cabecalho > i {
    color: var(--com-turquesa);
    font-size: 2rem;
}

.oculto {
    display: none !important;
}

.login-wrap {
    min-height: 620px;
    display: grid;
    place-items: center;
    padding: 42px 16px;
}

.login-card {
    width: min(500px, 100%);
    padding: 29px !important;
    border-top: 5px solid var(--com-turquesa) !important;
}

.login-identidade {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 13px;
}

.login-identidade > div > span {
    color: var(--com-turquesa-escuro);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.login-identidade h1 {
    margin: 3px 0 0;
}

.aviso-teste {
    display: flex;
    gap: 10px;
    margin: 17px 0;
    padding: 12px;
    color: #7b5818;
    background: #fff7df;
    border: 1px solid #ead7a3;
    border-radius: 10px;
    font-size: .79rem;
    line-height: 1.45;
}

html[data-ri-theme="dark"] .aviso-teste {
    color: #f0d99a;
    background: #3a321f;
    border-color: #5c4d29;
}

.comunidade-rodape {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 17px max(16px, calc((100% - 1180px) / 2));
    color: #d9eaf1;
    background: var(--com-petroleo);
    border-top: 3px solid var(--com-turquesa);
    font-size: .78rem;
}

.comunidade-rodape strong {
    color: #fff;
}

.comunidade-rodape small {
    color: #bed2dc;
}

.comunidade-app.modo-painel {
    min-height: 100vh;
}

.modo-painel .comunidade-topo-inner,
.modo-painel .container {
    width: min(760px, calc(100% - 24px));
}

.modo-painel .comunidade-topo-inner {
    min-height: 64px;
}

.modo-painel .comunidade-menu > a:not(.botao),
.modo-painel .comunidade-menu .aluno-chip,
.modo-painel .comunidade-menu .link-sair {
    display: none;
}

.modo-painel .grade {
    grid-template-columns: 1fr;
}

.modo-painel .sidebar {
    display: none;
}

.modo-painel .hero-comunidade {
    min-height: auto;
    padding: 20px !important;
}

.modo-painel .hero-comunidade h1 {
    font-size: 1.55rem;
}

.modo-painel .filtros {
    grid-template-columns: minmax(0, 2fr) 1fr 1fr;
}

.modo-painel .filtros .campo-busca {
    grid-column: auto;
}

@media (max-width: 980px) {
    .comunidade-menu > a:not(.botao),
    .comunidade-menu .link-sair {
        display: none;
    }

    .grade {
        grid-template-columns: 1fr;
    }

    .sidebar {
        position: static;
    }

    .filtros {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .comunidade-topo-inner {
        min-height: 68px;
    }

    .comunidade-menu .aluno-chip {
        display: none;
    }

    .hero-comunidade,
    .resolver-card {
        display: block !important;
    }

    .hero-comunidade .botao {
        margin-top: 17px;
    }

    .resolver-card > div {
        margin-bottom: 17px;
    }

    .filtros,
    .modo-painel .filtros {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .filtros .campo-busca,
    .modo-painel .filtros .campo-busca {
        grid-column: span 2;
    }

    .linha {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

@media (max-width: 520px) {
    .comunidade-app .container {
        width: min(100% - 20px, 1180px);
    }

    .comunidade-marca small,
    .comunidade-menu {
        display: none;
    }

    .comunidade-conteudo {
        padding-block: 18px 28px;
    }

    .comunidade-app .card {
        padding: 17px;
        border-radius: 13px;
    }

    .hero-comunidade {
        padding: 20px !important;
    }

    .filtros,
    .modo-painel .filtros {
        grid-template-columns: 1fr;
    }

    .filtros .campo-busca,
    .modo-painel .filtros .campo-busca {
        grid-column: auto;
    }

    .acoes-filtro,
    .acoes-filtro .botao {
        width: 100%;
    }

    .contexto-box,
    .rodape-publicacao,
    .comunidade-rodape {
        align-items: flex-start;
        flex-direction: column;
    }

    .contexto-box .contexto-contagem {
        white-space: normal;
    }

    .stats {
        grid-template-columns: repeat(3, 1fr);
    }

    .publicacao-topo {
        align-items: flex-start;
    }

    .formulario-card,
    .login-card {
        padding: 20px !important;
    }
}

/* V2 · Portal completo + copiloto em formato de conversa */
body {
    margin: 0;
}

.comunidade-app:not(.modo-painel) .hero-comunidade h1 {
    width: max-content;
    max-width: 100%;
    color: transparent;
    background: linear-gradient(108deg, #0b2b45 0%, #315f83 48%, #778792 100%);
    background-clip: text;
    -webkit-background-clip: text;
}

html[data-ri-theme="dark"] .comunidade-app:not(.modo-painel) .hero-comunidade h1 {
    background: linear-gradient(108deg, #f4fbff 0%, #9fc8e5 56%, #87ddd8 100%);
    background-clip: text;
    -webkit-background-clip: text;
}

.comunidade-app.modo-painel {
    min-height: 100vh;
    background: #e8edf2;
    overflow: hidden;
}

.modo-painel .comunidade-conteudo,
.modo-painel .comunidade-conteudo.publicacao-detalhe {
    width: 100%;
    max-width: none;
    height: 100vh;
    padding: 0;
    overflow: auto;
}

.modo-painel .comunidade-conteudo > .flash {
    position: fixed;
    z-index: 30;
    top: 10px;
    left: 50%;
    width: min(390px, calc(100% - 24px));
    margin: 0;
    transform: translateX(-50%);
    box-shadow: 0 12px 35px rgba(8, 35, 66, .2);
}

.com-chat-home,
.com-chat-thread {
    width: 100%;
    height: 100vh;
    min-height: 560px;
    color: #1d2f42;
    background: #edf1f4;
}

.com-chat-home {
    display: grid;
    grid-template-rows: auto auto auto auto auto minmax(0, 1fr) auto;
}

.com-chat-home-head,
.com-chat-thread-head {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    color: #fff;
    background:
        radial-gradient(circle at 86% 0, rgba(24, 167, 162, .32), transparent 145px),
        linear-gradient(128deg, #071d46, #0d3d91);
}

.com-chat-home-head {
    padding: 16px 15px;
}

.com-chat-avatar,
.com-chat-thread-avatar {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #1bb4ae, #087c77);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
}

.com-chat-avatar {
    width: 46px;
    height: 46px;
    font-size: 1.1rem;
}

.com-chat-avatar b {
    position: absolute;
    right: 1px;
    bottom: 1px;
    width: 10px;
    height: 10px;
    border: 2px solid #0d3d91;
    border-radius: 50%;
    background: #62df95;
}

.com-chat-home-head > div,
.com-chat-thread-head > div {
    min-width: 0;
    flex: 1;
}

.com-chat-home-head small {
    display: block;
    margin-bottom: 2px;
    color: #8fe3df;
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.com-chat-home-head h1 {
    overflow: hidden;
    margin: 0;
    color: #fff;
    font-size: 1.02rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.com-chat-home-head p {
    overflow: hidden;
    margin: 3px 0 0;
    color: #d1deee;
    font-size: .68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.com-chat-online {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex: 0 0 auto;
    color: #c9d8eb;
    font-size: .59rem;
    font-weight: 700;
}

.com-chat-online i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #57db91;
    box-shadow: 0 0 0 3px rgba(87, 219, 145, .16);
}

.com-chat-summary {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    color: #0d5f5b;
    background: #ddf4f2;
    border-bottom: 1px solid #c4e5e2;
}

.com-chat-summary > i {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border-radius: 10px;
    color: #fff;
    background: #12938d;
}

.com-chat-summary div {
    display: grid;
    gap: 1px;
}

.com-chat-summary strong {
    font-size: .75rem;
}

.com-chat-summary span {
    color: #477772;
    font-size: .62rem;
}

.com-chat-search {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 31px;
    align-items: center;
    gap: 5px;
    margin: 10px 12px 7px;
    padding: 4px 5px 4px 11px;
    border: 1px solid #d3dce6;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(15, 45, 77, .05);
}

.com-chat-search > i {
    color: #7c8999;
    font-size: .85rem;
}

.com-chat-search input[name="q"] {
    min-width: 0;
    height: 34px;
    padding: 0;
    color: #21344a;
    background: transparent;
    border: 0;
    outline: 0;
    font: inherit;
    font-size: .75rem;
}

.com-chat-search button {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    padding: 0;
    color: #fff;
    background: #0d3d91;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
}

.com-chat-tabs {
    display: flex;
    gap: 6px;
    padding: 0 12px 8px;
    overflow-x: auto;
    scrollbar-width: none;
}

.com-chat-tabs::-webkit-scrollbar {
    display: none;
}

.com-chat-tabs a {
    flex: 0 0 auto;
    padding: 6px 10px;
    color: #647287;
    background: #fff;
    border: 1px solid #d5dde7;
    border-radius: 999px;
    font-size: .64rem;
    font-weight: 800;
}

.com-chat-tabs a.ativo {
    color: #fff;
    background: #0d3d91;
    border-color: #0d3d91;
}

.com-chat-day {
    display: flex;
    justify-content: center;
    padding: 4px 12px 8px;
}

.com-chat-day span {
    padding: 5px 10px;
    color: #69778a;
    background: rgba(255, 255, 255, .82);
    border: 1px solid #d9e0e8;
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(24, 48, 75, .05);
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.com-chat-list {
    min-height: 0;
    overflow-y: auto;
    background:
        radial-gradient(circle at 12px 12px, rgba(13, 61, 145, .025) 1.2px, transparent 1.4px) 0 0 / 24px 24px,
        #edf1f4;
    border-top: 1px solid #dce3ea;
}

.com-chat-preview {
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr) 34px;
    gap: 10px;
    min-height: 84px;
    padding: 11px 12px;
    color: #1d3045 !important;
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid #e1e6eb;
    transition: background .16s ease;
}

.com-chat-preview:hover,
.com-chat-preview:focus-visible {
    background: #f5f9ff;
}

.com-chat-preview:focus-visible {
    outline: 3px solid rgba(15, 157, 148, .35);
    outline-offset: -3px;
}

.com-chat-preview-avatar {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #5385cf, #174f9e);
    font-size: 1rem;
}

.com-chat-preview.status-resolvida .com-chat-preview-avatar {
    background: linear-gradient(145deg, #24ad82, #08756f);
}

.com-chat-preview.status-em_discussao .com-chat-preview-avatar {
    background: linear-gradient(145deg, #6a7f99, #364c67);
}

.com-chat-preview-body,
.com-chat-preview-line {
    min-width: 0;
}

.com-chat-preview-body {
    display: grid;
    align-content: start;
    gap: 2px;
}

.com-chat-preview-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.com-chat-preview-line strong {
    overflow: hidden;
    color: #13263d;
    font-size: .77rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.com-chat-preview-line time {
    flex: 0 0 auto;
    color: #8a96a5;
    font-size: .57rem;
}

.com-chat-preview-author {
    color: #0a7771;
    font-size: .59rem;
    font-weight: 800;
}

.com-chat-preview-text {
    display: -webkit-box;
    overflow: hidden;
    color: #687688;
    font-size: .67rem;
    line-height: 1.32;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.com-chat-preview-solution {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    width: max-content;
    max-width: 100%;
    margin-top: 2px;
    color: #08756f;
    font-size: .58rem;
    font-weight: 850;
}

.com-chat-preview-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 6px;
}

.com-chat-preview-meta b {
    display: grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding-inline: 5px;
    color: #fff;
    background: #18a7a2;
    border-radius: 999px;
    font-size: .56rem;
}

.com-chat-preview-meta small {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #788698;
    font-size: .57rem;
}

.com-chat-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: center;
    gap: 8px;
    padding: 9px 11px calc(9px + env(safe-area-inset-bottom));
    background: #f8fafc;
    border-top: 1px solid #d1dae5;
    box-shadow: 0 -8px 24px rgba(18, 45, 76, .08);
}

.com-chat-new {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 9px 12px;
    color: #fff !important;
    background: linear-gradient(125deg, #0d3d91, #1769d2);
    border-radius: 13px;
}

.com-chat-new > i {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .14);
}

.com-chat-new span {
    display: grid;
    min-width: 0;
}

.com-chat-new small {
    color: #96e4df;
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.com-chat-new strong {
    overflow: hidden;
    font-size: .68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.com-chat-expand {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: #0d3d91 !important;
    background: #fff;
    border: 1px solid #ced8e5;
    border-radius: 13px;
}

.com-chat-system-message {
    width: min(280px, calc(100% - 38px));
    margin: 24px auto;
    padding: 18px;
    color: #5f6f82;
    text-align: center;
    background: rgba(255, 255, 255, .9);
    border: 1px solid #d8e0e8;
    border-radius: 15px;
    box-shadow: 0 8px 24px rgba(22, 48, 77, .06);
}

.com-chat-system-message > i {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin: 0 auto 9px;
    color: #0c817b;
    background: #dff4f2;
    border-radius: 12px;
}

.com-chat-system-message strong {
    display: block;
    color: #20364d;
    font-size: .76rem;
}

.com-chat-system-message p {
    margin: 5px 0 0;
    font-size: .66rem;
    line-height: 1.45;
}

.com-chat-system-message.compacto {
    margin-block: 8px 18px;
    padding: 12px;
}

/* Conversa aberta */
.com-chat-thread {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    overflow: hidden;
}

.com-chat-thread-head {
    min-height: 65px;
    padding: 10px 12px;
}

.com-chat-thread-head > a {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    color: #fff !important;
    border-radius: 10px;
}

.com-chat-thread-head > a:hover {
    background: rgba(255, 255, 255, .12);
}

.com-chat-thread-avatar {
    width: 40px;
    height: 40px;
    font-size: .95rem;
}

.com-chat-thread-head strong,
.com-chat-thread-head > div > span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.com-chat-thread-head strong {
    font-size: .76rem;
}

.com-chat-thread-head > div > span {
    margin-top: 3px;
    color: #c9d7e9;
    font-size: .58rem;
}

.com-chat-thread-status {
    flex: 0 0 auto;
    padding: 5px 8px;
    color: #dce8f8;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    font-size: .54rem;
    font-weight: 850;
}

.com-chat-thread-status.resolvida {
    color: #baf1d1;
    background: rgba(45, 183, 117, .16);
}

.com-chat-thread-context {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 7px 13px;
    color: #406078;
    background: #dceff0;
    border-bottom: 1px solid #c5dcdf;
    font-size: .59rem;
    font-weight: 750;
}

.com-chat-thread-context i {
    color: #0d8a83;
    font-size: .88rem;
}

.com-chat-thread-context span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.com-chat-messages {
    min-height: 0;
    padding: 8px 11px 20px;
    overflow-y: auto;
    scroll-behavior: smooth;
    background:
        linear-gradient(rgba(237, 241, 244, .92), rgba(237, 241, 244, .92)),
        radial-gradient(circle at 10px 10px, rgba(13, 61, 145, .12) 1px, transparent 1.3px) 0 0 / 22px 22px;
}

.com-message {
    display: flex;
    align-items: flex-end;
    gap: 7px;
    margin: 10px 0;
}

.com-message.is-own {
    flex-direction: row-reverse;
}

.com-message-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 29px;
    height: 29px;
    margin-bottom: 2px;
    color: #fff;
    background: #607b99;
    border-radius: 50%;
    font-size: .7rem;
}

.com-message.is-own .com-message-avatar {
    background: #0d8f89;
}

.com-message.is-professor .com-message-avatar {
    background: #0d3d91;
}

.com-message-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: min(84%, 520px);
    min-width: 0;
}

.com-message.is-own .com-message-stack {
    align-items: flex-end;
}

.com-message-author {
    margin: 0 7px 3px;
    color: #52677b;
    font-size: .56rem;
    font-weight: 800;
}

.com-message-author b {
    margin-left: 3px;
    padding: 2px 5px;
    color: #0d3d91;
    background: #dce9fb;
    border-radius: 999px;
    font-size: .5rem;
}

.com-message-bubble {
    position: relative;
    width: 100%;
    padding: 10px 11px 7px;
    color: #24374a;
    background: #fff;
    border: 1px solid #d9e0e7;
    border-radius: 5px 15px 15px;
    box-shadow: 0 3px 11px rgba(25, 49, 74, .07);
}

.com-message.is-own .com-message-bubble {
    background: #dff3f1;
    border-color: #c2e2df;
    border-radius: 15px 5px 15px 15px;
}

.com-message.is-professor .com-message-bubble {
    background: #e6eefb;
    border-color: #c8d8ef;
    border-left: 3px solid #0d3d91;
}

.com-message.is-solution .com-message-bubble {
    background: #e2f5ea;
    border-color: #91d3ab;
    box-shadow: 0 5px 17px rgba(26, 128, 78, .12);
}

.com-message-kind,
.com-message-accepted {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 6px;
    padding: 3px 6px;
    border-radius: 999px;
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.com-message-kind {
    color: #0b736e;
    background: #e0f4f2;
}

.com-message-accepted {
    color: #167044;
    background: #c8ebd6;
}

.com-message-bubble h1 {
    margin: 0 0 7px;
    color: #132a43;
    font-size: .88rem;
    line-height: 1.25;
}

.com-message-bubble p {
    margin: 0;
    color: inherit;
    font-size: .72rem;
    line-height: 1.52;
    white-space: pre-wrap;
}

.com-message-bubble time {
    display: block;
    margin-top: 5px;
    color: #82909e;
    font-size: .5rem;
    text-align: right;
}

.com-message-code {
    margin-top: 8px;
}

.com-message-code summary {
    width: max-content;
    max-width: 100%;
    color: #0b6e69;
    cursor: pointer;
    font-size: .58rem;
    font-weight: 800;
}

.com-message-code .codigo {
    max-height: 230px;
    margin-top: 7px;
    padding: 10px;
    font-size: .64rem;
}

.com-message-solution {
    margin-top: 9px;
    padding: 8px;
    color: #176942;
    background: rgba(205, 239, 219, .82);
    border-left: 3px solid #2e9a63;
    border-radius: 8px;
}

.com-message-solution strong {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 4px;
    font-size: .61rem;
}

.com-message-solution p {
    font-size: .66rem;
}

.com-message-actions {
    display: flex;
    align-items: center;
    margin: 4px 6px 0;
    color: #718092;
    font-size: .56rem;
}

.com-message-actions form {
    margin: 0;
}

.com-message-actions button {
    padding: 3px 0;
    color: #526c85;
    background: transparent;
    border: 0;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
}

.com-message-actions button.is-active,
.com-message-actions button:hover {
    color: #0a837d;
}

.com-chat-resolve {
    width: min(340px, calc(100% - 34px));
    margin: 12px auto;
    color: #31506a;
    background: rgba(255, 248, 222, .95);
    border: 1px solid #ead69a;
    border-radius: 13px;
    box-shadow: 0 4px 14px rgba(93, 73, 26, .07);
}

.com-chat-resolve summary {
    display: grid;
    grid-template-columns: 29px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 8px;
    padding: 10px;
    cursor: pointer;
    list-style: none;
}

.com-chat-resolve summary::-webkit-details-marker {
    display: none;
}

.com-chat-resolve summary > i:first-child {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    color: #8a6713;
    background: #f5e4ad;
    border-radius: 9px;
}

.com-chat-resolve summary span {
    display: grid;
}

.com-chat-resolve summary strong {
    font-size: .67rem;
}

.com-chat-resolve summary small {
    margin-top: 2px;
    color: #7f755b;
    font-size: .56rem;
}

.com-chat-resolve form {
    display: grid;
    gap: 8px;
    padding: 0 10px 10px;
}

.com-chat-resolve textarea {
    min-height: 85px;
    padding: 9px;
    color: #24374a;
    background: #fff;
    border: 1px solid #d9c887;
    border-radius: 9px;
    font: inherit;
    font-size: .68rem;
    resize: vertical;
}

.com-chat-resolve button {
    justify-self: end;
    padding: 7px 10px;
    color: #fff;
    background: #19784d;
    border: 0;
    border-radius: 8px;
    font: inherit;
    font-size: .62rem;
    font-weight: 850;
    cursor: pointer;
}

.com-chat-composer {
    padding: 8px 9px calc(7px + env(safe-area-inset-bottom));
    background: #f7f9fb;
    border-top: 1px solid #ccd6e0;
    box-shadow: 0 -7px 22px rgba(23, 49, 77, .08);
}

.com-chat-composer form {
    position: relative;
    display: grid;
    grid-template-columns: 35px minmax(0, 1fr) 39px;
    align-items: end;
    gap: 6px;
}

.com-chat-composer > small {
    display: block;
    margin-top: 4px;
    color: #8a96a4;
    font-size: .49rem;
    text-align: center;
}

.com-chat-composer details summary,
.com-chat-composer button {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    padding: 0;
    border-radius: 50%;
    cursor: pointer;
}

.com-chat-composer details summary {
    color: #4f6983;
    background: #e8edf3;
    list-style: none;
}

.com-chat-composer details summary::-webkit-details-marker {
    display: none;
}

.com-chat-composer details > textarea {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 44px;
    left: 0;
    min-height: 105px;
    padding: 10px;
    color: #e8f2f7;
    background: #102638;
    border: 1px solid #345168;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(6, 25, 41, .26);
    font-family: Consolas, monospace;
    font-size: .65rem;
    resize: vertical;
}

.com-chat-composer form > textarea {
    width: 100%;
    max-height: 110px;
    min-height: 37px;
    padding: 9px 11px;
    color: #24374a;
    background: #fff;
    border: 1px solid #ced8e2;
    border-radius: 16px;
    outline: 0;
    font: inherit;
    font-size: .72rem;
    line-height: 1.35;
    resize: none;
}

.com-chat-composer form > textarea:focus {
    border-color: #18a7a2;
    box-shadow: 0 0 0 3px rgba(24, 167, 162, .12);
}

.com-chat-composer button {
    width: 39px;
    height: 39px;
    color: #fff;
    background: linear-gradient(145deg, #18a7a2, #08756f);
    border: 0;
    box-shadow: 0 5px 12px rgba(8, 117, 111, .2);
}

/* Formulário e login quando usados dentro do copiloto */
.modo-painel .formulario-card,
.modo-painel .login-card {
    width: min(100% - 20px, 620px);
    margin: 10px auto;
    padding: 18px !important;
    border-radius: 17px;
}

.modo-painel .formulario-cabecalho {
    margin-bottom: 14px;
}

.modo-painel .formulario-cabecalho h1,
.modo-painel .login-identidade h1 {
    font-size: 1.35rem;
}

.modo-painel .login-wrap {
    min-height: 100vh;
    padding: 12px 10px;
}

@media (max-width: 520px) {
    .com-chat-home-head {
        padding-inline: 12px;
    }

    .com-chat-online {
        display: none;
    }

    .com-chat-preview {
        grid-template-columns: 42px minmax(0, 1fr) 28px;
        gap: 8px;
        padding-inline: 10px;
    }

    .com-chat-preview-avatar {
        width: 41px;
        height: 41px;
    }

    .com-chat-thread-status {
        max-width: 70px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .com-message-stack {
        width: min(88%, 520px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .com-chat-list,
    .com-chat-messages {
        scroll-behavior: auto;
    }
}

/* Bloco de códigos: identidade azul/cinza da Biblioteca. */
.notas-page { padding-top:28px; padding-bottom:48px; }
.notas-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 32px; margin-bottom:22px; overflow:hidden; background:linear-gradient(125deg,#fff 0%,#f2f6fb 64%,#dce9f7 100%); }
.notas-hero h1 { margin:.2rem 0 .45rem; color:#13233d; font-size:clamp(1.75rem,4vw,3rem); font-weight:900; letter-spacing:-.045em; }
.notas-hero p { margin:0; max-width:680px; color:#5d6a7d; }
.notas-hero-icon { display:grid; place-items:center; flex:0 0 86px; height:86px; border-radius:26px; color:#fff; font-size:2.25rem; background:linear-gradient(145deg,#1c74c9,#0b315f); box-shadow:0 16px 34px rgba(11,49,95,.22); }
.notas-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr); gap:22px; align-items:start; }
.notas-editor { padding:25px; position:sticky; top:18px; }
.notas-section-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.notas-section-title span { color:#1976b9; font-size:.72rem; font-weight:900; letter-spacing:.13em; }
.notas-section-title h2 { margin:.15rem 0 0; color:#19273c; font-size:1.35rem; }
.notas-section-title > b { display:grid; place-items:center; min-width:34px; height:34px; border-radius:11px; background:#e6eef7; color:#154c7c; }
.notas-grid-campos { display:grid; grid-template-columns:1fr .58fr; gap:12px; }
.notas-code { min-height:250px; color:#eaf4ff !important; background:#111c2d !important; border-color:#263954 !important; font:600 .83rem/1.55 Consolas,Monaco,monospace; tab-size:2; }
.notas-contexto { margin:13px 0; padding:12px 14px; border:1px solid #dce5ef; border-radius:13px; background:#f8fafc; }
.notas-contexto summary { cursor:pointer; color:#42526a; font-weight:800; }
.notas-grid-contexto { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:12px; }
.notas-favorita { display:flex; align-items:center; gap:7px; margin:12px 0 16px; color:#536174; font-weight:750; }
.notas-favorita i,.nota-card.favorita > header > i { color:#eaa900; }
.notas-lista { min-width:0; }
.notas-vazio { padding:45px 25px; text-align:center; color:#647287; }
.notas-vazio i { display:block; margin-bottom:12px; color:#2a77b9; font-size:2rem; }
.notas-vazio strong { display:block; color:#20304a; font-size:1.05rem; }
.nota-card { padding:19px; margin-bottom:13px; border-left:4px solid #cbd7e5; }
.nota-card.favorita { border-left-color:#1f7dbd; }
.nota-card header,.nota-card footer { display:flex; align-items:center; gap:9px; }
.nota-card header time { margin-left:auto; color:#7d8898; font-size:.72rem; }
.nota-linguagem { padding:5px 8px; border-radius:8px; color:#18588b; background:#e6f0f8; font-size:.68rem; font-weight:900; }
.nota-card h3 { margin:12px 0 5px; color:#18273d; font-size:1.05rem; }
.nota-card > p { margin:0 0 10px; color:#687588; }
.nota-card pre { max-height:145px; margin:10px 0; padding:13px; overflow:auto; border-radius:11px; color:#d9e9f8; background:#162235; white-space:pre-wrap; font-size:.75rem; }
.nota-card footer { justify-content:space-between; color:#617187; font-size:.78rem; }
.nota-card footer > div { display:flex; align-items:center; gap:8px; }
.nota-card footer form { margin:0; }
.nota-card footer .link-sair { border:0; background:transparent; cursor:pointer; }
[data-note-group].is-hidden { display:none; }
@media (max-width:900px) { .notas-layout{grid-template-columns:1fr}.notas-editor{position:static}.notas-hero-icon{display:none} }
@media (max-width:600px) { .notas-grid-campos,.notas-grid-contexto{grid-template-columns:1fr}.notas-hero{padding:22px}.notas-editor{padding:18px} }

/* Miniaplicativo do aluno: Comunidade + Anotações */
.comunidade-app.modo-painel { background:#edf2f6; min-height:100vh; }
.com-app-switcher { position:sticky; top:0; z-index:30; display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px 14px; background:rgba(244,248,251,.96); border-bottom:1px solid #cbd6e2; backdrop-filter:blur(10px); }
.com-app-switcher a { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border:1px solid #c7d3df; border-radius:14px; color:#516077; background:#fff; font-weight:800; text-decoration:none; }
.com-app-switcher a.ativo { color:#fff; border-color:#0d8284; background:linear-gradient(135deg,#143f89,#10a5a0); box-shadow:0 7px 18px rgba(13,70,120,.2); }
.com-app-switcher + .comunidade-conteudo { height:calc(100vh - 65px); }
.com-app-switcher + .comunidade-conteudo .com-chat-home,.com-app-switcher + .comunidade-conteudo .com-chat-thread { height:100%; min-height:495px; }
.com-keywords { display:flex; flex-wrap:wrap; gap:5px; margin-top:5px; }
.com-keywords em,.badge.palavra { width:auto!important; height:auto!important; padding:3px 7px; border-radius:999px; background:#e1ebf3; color:#466078; font-size:10px; font-style:normal; font-weight:800; }
.com-chat-closed { display:flex; gap:12px; align-items:center; padding:13px 16px; color:#566579; background:#e5ebf1; border-top:1px solid #cbd5df; }
.com-chat-closed>i { display:grid; place-items:center; width:36px; height:36px; border-radius:12px; color:#fff; background:#67768a; }
.com-chat-closed div { display:grid; gap:2px; }.com-chat-closed span { font-size:12px; }
.responder-box.conversa-fechada { display:flex; align-items:flex-start; gap:14px; background:#eef2f5; border:1px solid #cbd5df; color:#425269; }
.responder-box.conversa-fechada>i { font-size:24px; color:#64748b; }
.notas-page.notas-compactas { width:100%; max-width:none; padding:12px; }
.notas-compactas .notas-hero { margin-bottom:12px; padding:16px; }.notas-compactas .notas-hero h1 { font-size:25px; }.notas-compactas .notas-hero p { font-size:13px; }
.notas-compactas .notas-layout { grid-template-columns:1fr; gap:12px; }.notas-compactas .notas-editor,.notas-compactas .nota-card { padding:15px; }
.notas-compactas .notas-code { min-height:170px; }.notas-compactas .notas-grid-contexto { grid-template-columns:1fr; }
