@charset "UTF-8";
/* ============================================================
   WORKSPACE MODERN - Repaginacao das Areas de Trabalho
   Estilos escopados: nao afetam outras paginas do sistema
   ============================================================ */

/* ---- Banner de boas-vindas -------------------------------- */
.workspace-welcome {
    background: linear-gradient(135deg, #eef3d8 0%, #dce6b0 60%, #c6d580 100%);
    border: 1px solid #b8ca6a;
    border-radius: 10px;
    margin: 10px 2% 18px 2%;
    padding: 16px 20px;
    box-shadow: 0 2px 8px rgba(70, 100, 0, 0.10);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
    box-sizing: border-box;
}

.workspace-welcome-info {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    gap: 3px;
}

.workspace-welcome-greeting {
    font-size: 13px;
    color: #4a6200;
    font-family: Lato, Arial, sans-serif;
}

.workspace-welcome-name {
    font-size: 20px;
    font-weight: bold;
    color: #1d3a00;
    font-family: Lato, Arial, sans-serif;
    line-height: 1.2;
}

.workspace-welcome-school {
    font-size: 12px;
    color: #4a6200;
    font-family: Lato, Arial, sans-serif;
    margin-top: 2px;
}

.workspace-welcome-meta {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    gap: 12px;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.workspace-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-family: Lato, Arial, sans-serif;
}
.workspace-badge-direcao    { background: #1d5a00; color: #fff; }
.workspace-badge-secretaria { background: #3a7a00; color: #fff; }
.workspace-badge-supervisao { background: #5a6e00; color: #fff; }
.workspace-badge-sme        { background: #2d5a8e; color: #fff; }

.workspace-logout {
    font-size: 12px;
    color: #1d5a00;
    text-decoration: none;
    border: 1px solid #1d5a00;
    padding: 4px 10px;
    border-radius: 5px;
    font-family: Lato, Arial, sans-serif;
    background: rgba(255,255,255,0.5);
    white-space: nowrap;
    -webkit-transition: background 0.15s ease, color 0.15s ease;
    transition: background 0.15s ease, color 0.15s ease;
}
.workspace-logout:hover {
    background: #1d5a00;
    color: #fff;
    text-decoration: none;
}

/* ---- Grade flexivel --------------------------------------- */
.workspace-grid {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    /* Paineis nao se esticam para igualar alturas */
    -webkit-align-items: flex-start;
    align-items: flex-start;
    gap: 14px;
    padding: 0 2% 10px 2%;
    /* Resetar contadores CSS */
    counter-reset: sec-panel;
}

/* ---- Painel individual ------------------------------------ */
.workspace-grid .painelTab {
    /* border-box garante que borda nao quebre o calc() do width */
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09);
    border-color: #c4d47e;
    border-radius: 10px;
    -webkit-transition: box-shadow 0.2s ease, -webkit-transform 0.15s ease;
    transition: box-shadow 0.2s ease, transform 0.15s ease;
}
.workspace-grid .painelTab:hover {
    box-shadow: 0 4px 16px rgba(70, 100, 0, 0.15);
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
}

/* Paineis SEC: incrementar contador de passos */
.workspace-grid .painelTab[data-perfil="sec"] {
    counter-increment: sec-panel;
}

/* ---- Cabecalho do painel ---------------------------------- */
.workspace-grid .painelTabTitulo,
.workspace-grid .painelTabTitulo2 {
    background: linear-gradient(135deg, #dde9a8 0%, #c6d580 100%);
    border-bottom: 1px solid #b0c460;
    border-top-left-radius: 9px;
    border-top-right-radius: 9px;
    padding: 9px 12px;
    font-size: 13.5px;
    font-family: Lato, Arial, sans-serif;
    font-weight: bold;
    color: #1d3a00;
    letter-spacing: 0.2px;
    position: relative;
}

/* Estilo base dos ::before de icone (aplicado a todos os titulos) */
.workspace-grid .painelTabTitulo::before,
.workspace-grid .painelTabTitulo2::before {
    font-size: 17px;
    line-height: 1;
    vertical-align: middle;
    margin-right: 5px;
    font-style: normal;
}

/* Ocultar imagens PNG originais dos titulos */
.workspace-grid .painelTabTitulo > img,
.workspace-grid .painelTabTitulo2 > img {
    display: none;
}

/* Icones emoji por painel (via :has()) - facilmente reversiveis.
   Usando escapes Unicode para evitar problemas de encoding no servidor. */
/* 📚 livros */
.workspace-grid .painelTabTitulo2:has(img[src*="books30"])::before  { content: "\1F4DA"; }
/* 🗂️ fichario */
.workspace-grid .painelTabTitulo:has(img[src*="books30"])::before   { content: "\1F5C2\FE0F"; }
/* 👥 grupo */
.workspace-grid .painelTabTitulo2:has(img[src*="crowd"])::before    { content: "\1F465"; }
/* 📖 livro aberto */
.workspace-grid .painelTabTitulo2:has(img[src*="instructor"])::before { content: "\1F4D6"; }
/* 🎓 formatura */
.workspace-grid .painelTabTitulo2:has(img[src*="graduate"])::before { content: "\1F393"; }
/* ⚙️ engrenagem */
.workspace-grid .painelTabTitulo2:has(img[src*="tools"])::before    { content: "\2699\FE0F"; }
/* 🔑 chave */
.workspace-grid .painelTabTitulo:has(img[src*="id12"])::before      { content: "\1F511"; }
/* 📋 prancheta */
.workspace-grid .painelTabTitulo:has(img[src*="file148"])::before   { content: "\1F4CB"; }
/* 📝 memo */
.workspace-grid .painelTabTitulo:has(img[src*="simbolo"])::before   { content: "\1F4DD"; }
/* 📦 caixa */
.workspace-grid .painelTabTitulo:has(img[src*="caixa"])::before     { content: "\1F4E6"; }
/* 💬 balao */
.workspace-grid .painelTabTitulo:has(img[src*="chat"])::before      { content: "\1F4AC"; }
/* 🚌 onibus */
.workspace-grid .painelTabTitulo:has(img[src*="onibus"])::before    { content: "\1F68C"; }

/* Ocultar span que continha as imagens passo01/02/03... (float right) */
.workspace-grid .painelTabTitulo2 > span,
.workspace-grid .painelTabTitulo  > span {
    display: none;
}

/* Badge numerado moderno nos titulos (substitui passo01.fw.png etc.) */
.workspace-grid .painelTab[data-perfil="sec"] .painelTabTitulo2::after {
    content: counter(sec-panel);
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.55);
    border: 1.5px solid #8aaa38;
    font-size: 12px;
    font-weight: bold;
    color: #1d3a00;
    font-family: Lato, Arial, sans-serif;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    line-height: 1;
}

/* ---- Corpo do painel -------------------------------------- */
.workspace-grid .painelTabTexto,
.workspace-grid .painelTabTexto2 {
    padding: 8px 12px 10px 12px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    gap: 0;
}

/* <a> FILHOS DIRETOS: links de navegacao em bloco clicavel.
   <a> dentro de <p> ficam inline (nao quebram "1) texto"). */
.workspace-grid .painelTabTexto > a,
.workspace-grid .painelTabTexto2 > a {
    display: block;
    padding: 5px 8px;
    border-radius: 5px;
    text-decoration: none;
    font-size: 13px;
    font-family: Lato, Arial, sans-serif;
    color: #1d5a00;
    -webkit-transition: background 0.15s ease, padding-left 0.12s ease;
    transition: background 0.15s ease, padding-left 0.12s ease;
    line-height: 1.4;
}
.workspace-grid .painelTabTexto > a:hover,
.workspace-grid .painelTabTexto2 > a:hover {
    background: rgba(198, 213, 128, 0.35);
    color: #0f2e00;
    padding-left: 14px;
    text-decoration: none;
}

/* Itens numerados (Configuracoes e Historico): hover nao deve
   reduzir padding-left, pois o badge ocupa aquele espaco */
.workspace-grid .painelTabTexto2 > img + a:hover,
.workspace-grid .painelTabTexto.hist-numbered > a:hover {
    padding-left: 34px;
}

/* Suprimir <br> diretos (entre <a> soltos).
   <br> dentro de <p> (e.g. hist-note) sao preservados. */
.workspace-grid .painelTabTexto > br,
.workspace-grid .painelTabTexto2 > br {
    display: none;
}

/* Ocultar <img> diretas do corpo (passo51/52 em Configuracoes) */
.workspace-grid .painelTabTexto2 > img,
.workspace-grid .painelTabTexto  > img {
    display: none;
}

/* ---- Configuracoes: badge numerico (1) (2) nos 2 primeiros links --- */
/* Os links que seguem <img> (mesmo oculta) recebem contador */
.workspace-grid .painelTabTexto2 {
    counter-reset: cfg-step;
}
.workspace-grid .painelTabTexto2 > img + a {
    counter-increment: cfg-step;
    padding-left: 34px;
    position: relative;
}
.workspace-grid .painelTabTexto2 > img + a::before {
    content: counter(cfg-step);
    position: absolute;
    left: 8px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
    border: 1.5px solid #8aaa38;
    font-size: 10px;
    font-weight: bold;
    color: #1d3a00;
    font-family: Lato, Arial, sans-serif;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    line-height: 1;
}

/* ---- Historico Escolar: badge numerico (1)-(4) -----------  */
.workspace-grid .painelTabTexto.hist-numbered {
    counter-reset: hist-step;
}
.workspace-grid .painelTabTexto.hist-numbered > a {
    counter-increment: hist-step;
    padding-left: 34px;
    position: relative;
}
.workspace-grid .painelTabTexto.hist-numbered > a::before {
    content: counter(hist-step);
    position: absolute;
    left: 8px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
    border: 1.5px solid #8aaa38;
    font-size: 10px;
    font-weight: bold;
    color: #1d3a00;
    font-family: Lato, Arial, sans-serif;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    line-height: 1;
}

/* Nota explicativa abaixo dos links do Historico */
.workspace-grid .painelTabTexto .hist-note {
    margin: 10px 0 2px 0;
    padding: 8px 10px;
    border-top: 1px dashed #c4d47e;
    font-size: 12px;
    color: #4a6200;
    font-family: Lato, Arial, sans-serif;
    line-height: 1.5;
}
.workspace-grid .painelTabTexto .hist-note a {
    color: #1d5a00;
    font-weight: bold;
}
.workspace-grid .painelTabTexto .hist-note a:hover {
    text-decoration: underline;
}

/* ---- <p> genericos dentro de paineis ---------------------- */
.workspace-grid .painelTabTexto p,
.workspace-grid .painelTabTexto2 p {
    margin: 4px 0;
    font-size: 13px;
    font-family: Lato, Arial, sans-serif;
    color: #2a2a2a;
    line-height: 1.6;
}
.workspace-grid .painelTabTexto p a,
.workspace-grid .painelTabTexto2 p a {
    color: #1d5a00;
    text-decoration: none;
}
.workspace-grid .painelTabTexto p a:hover,
.workspace-grid .painelTabTexto2 p a:hover {
    text-decoration: underline;
    color: #0f2e00;
}

/* ---- Responsividade --------------------------------------- */
@media only screen and (min-width: 481px) {
    .workspace-welcome {
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    .workspace-grid .painelTab {
        width: calc(50% - 7px);
    }
}
@media only screen and (min-width: 769px) {
    .workspace-grid .painelTab {
        width: calc(33.333% - 10px);
    }
}

/* ============================================================
   TOOLBAR (#bar)
   ============================================================ */

#bar {
    background: linear-gradient(to bottom, #d8ea96 0%, #c6d580 100%);
    border-bottom: 1px solid #a8bc52;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* Logo com altura controlada */
.pagelogo img {
    max-height: 34px;
    width: auto;
    vertical-align: middle;
    margin-top: 4px;
}

/* Tecnica: mede a largura exata da scrollbar (100vw = viewport, 100% = body sem scrollbar).
   A variavel e herdada por todos os elementos, incluindo os filhos do #bar (position:fixed). */
body {
    --scrollbar-w: calc(100vw - 100%);
}

/* Wrapper interno: alinha ao .container (92.53% do body).
   #bar e position:fixed (100% da viewport), entao subtraimos a scrollbar para igualar. */
.bar-inner {
    width: calc(92.53% - var(--scrollbar-w, 0px));
    margin: 0 auto;
    height: 41px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* Logo: comportamento normal dentro do flex */
.bar-inner .pagelogo {
    float: none;
    position: static;
    line-height: 0;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
}

/* Menu desktop: empurrado para a direita com margin-left: auto */
.bar-inner .menubar {
    position: static;
    float: none;
    top: auto;
    left: auto;
    margin-left: auto;
    font-family: Lato, Arial, sans-serif;
}

/* Botao hamburger mobile: posicionado ao final do flex row.
   Visibilidade (hidden 481px+) ja controlada pelo style.css original. */
.bar-inner .menubar2 {
    position: static;
    left: auto;
    float: none;
    margin-left: 12px;
}

/* Links do menu desktop — pill hover */
.menubar a {
    border-radius: 6px;
    font-family: Lato, Arial, sans-serif;
    font-size: 13px;
    color: #1d3a00 !important;
    -webkit-transition: background 0.15s ease, color 0.15s ease;
    transition: background 0.15s ease, color 0.15s ease;
}

.menubar a:hover {
    background: rgba(0, 0, 0, 0.11);
    color: #0f2000 !important;
    border-radius: 6px;
}

/* Separador | entre links */
.menubar {
    color: #5a7a00;
    font-family: Lato, Arial, sans-serif;
}

/* ============================================================
   PAINEL CONTEXTUAL (.painel-contextbar)
   Aparece em sub-paginas com info do usuario e navegacao rapida
   ============================================================ */

.painel.painel-contextbar {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 95%;
    float: none;
    margin: 0 2.5% 12px 2.5%;
    background: linear-gradient(135deg, #f5f9e8 0%, #eef3d8 100%);
    border: 1px solid #c4d47e;
    border-left: 4px solid #8aaa38;
    border-radius: 8px;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.07);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    align-items: stretch;
    padding: 0;
}

.painel.painel-contextbar .painel_texto {
    -webkit-flex: 1;
    flex: 1;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 14px;
    font-family: Lato, Arial, sans-serif;
}

/* Nome do usuario */
.painel.painel-contextbar .pc-greeting {
    font-size: 13px;
    color: #1d3a00;
    white-space: nowrap;
}

/* Badge de perfil */
.painel.painel-contextbar .pc-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 20px;
    background: #8aaa38;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-family: Lato, Arial, sans-serif;
    white-space: nowrap;
}

/* Grupo de links de acao */
.painel.painel-contextbar .pc-actions {
    display: -webkit-flex;
    display: flex;
    gap: 6px;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.painel.painel-contextbar .pc-link {
    font-size: 12px;
    color: #1d5a00;
    text-decoration: none;
    border: 1px solid #b0c460;
    padding: 3px 10px;
    border-radius: 5px;
    background: rgba(255,255,255,0.5);
    font-family: Lato, Arial, sans-serif;
    white-space: nowrap;
    -webkit-transition: background 0.15s ease, color 0.15s ease;
    transition: background 0.15s ease, color 0.15s ease;
}

.painel.painel-contextbar .pc-link:hover {
    background: #8aaa38;
    color: #fff;
    border-color: #8aaa38;
    text-decoration: none;
}

/* Select de escola (painel SME) */
.painel.painel-contextbar .pc-escola-form {
    display: -webkit-inline-flex;
    display: inline-flex;
}

.painel.painel-contextbar .pc-escola-select {
    font-size: 12px;
    font-family: Lato, Arial, sans-serif;
    border: 1px solid #b0c460;
    border-radius: 5px;
    padding: 3px 8px;
    background: #f5f9e8;
    color: #1d3a00;
    cursor: pointer;
    max-width: 260px;
    -webkit-transition: border-color 0.15s ease;
    transition: border-color 0.15s ease;
}

.painel.painel-contextbar .pc-escola-select:focus {
    border-color: #7a9c00;
    outline: none;
}

/* Botao × fechar */
.painel.painel-contextbar #btn_fechar1 {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    padding: 0 14px;
    border-left: 1px solid #d0dc90;
    width: auto;
    margin: 0;
    float: none;
}

.painel.painel-contextbar #btn_fechar1 a {
    font-size: 20px;
    color: #7a9c00;
    text-decoration: none;
    line-height: 1;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-transition: background 0.15s ease, color 0.15s ease;
    transition: background 0.15s ease, color 0.15s ease;
    font-weight: normal;
}

.painel.painel-contextbar #btn_fechar1 a:hover {
    background: rgba(138, 170, 56, 0.25);
    color: #1d3a00;
}

/* ============================================================
   FOOTER
   ============================================================ */

footer {
    background: linear-gradient(to bottom, #d9e2a9 0%, #c6d580 100%);
    border-top: 1px solid #b0c460;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.06);
    padding: 12px 0;
}

.footer-inner {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
    font-family: Lato, Arial, sans-serif;
    font-size: 12px;
    color: #2d4a00;
}

.footer-brand {
    font-weight: bold;
    color: #1d3a00;
}

.footer-dot {
    color: #7a9c00;
    font-size: 14px;
    line-height: 1;
}

.footer-site {
    color: #3a6000;
}

.footer-year {
    color: #4a6200;
}

/* Remover estilos antigos do footer dentro deste contexto */
footer p,
footer address,
footer div {
    margin: 0;
    padding: 0;
    font-style: normal;
}

/* ---- Seletor de escola SME -------------------------------- */
.workspace-escola-selector {
    margin: 8px 2% 14px 2%;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    gap: 10px;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.workspace-escola-selector label {
    font-size: 13px;
    font-family: Lato, Arial, sans-serif;
    color: #1d3a00;
    font-weight: bold;
    white-space: nowrap;
}
.workspace-escola-selector select {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 15px;
    font-family: Arial, sans-serif;
    border: 1px solid #b0c460;
    border-radius: 7px;
    padding: 6px 10px;
    background: #f5f9e8;
    color: #1d3a00;
    min-width: 280px;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.06);
    cursor: pointer;
    -webkit-transition: border-color 0.15s ease, box-shadow 0.15s ease;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.workspace-escola-selector select:focus {
    border-color: #7a9c00;
    box-shadow: 0 0 0 3px rgba(122, 156, 0, 0.15);
    outline: none;
}
