/* Estilos de páginas específicas (antes inline em <style>). Usa só tokens de estudio.css. */

/* Informes de gestão (calendário) */
.gestao-cabecalho { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.gestao-kicker { color:var(--cor-destaque); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.gestao-cabecalho h1 { margin:4px 0 6px; }
.gestao-cabecalho p { margin:0; color:var(--cor-texto-suave); }
.gestao-cta { padding:10px 16px; border-radius:var(--radius); background:var(--cor-destaque); color:var(--cor-branco); font-weight:600; white-space:nowrap; }
.gestao-cta:hover { background:var(--cor-destaque-hover); color:var(--cor-branco); text-decoration:none; }
.gestao-resumo { display:flex; align-items:center; gap:28px; margin-bottom:16px; padding:15px 18px; background:var(--cor-fundo-card); border:1px solid var(--cor-borda); border-radius:var(--radius); box-shadow:var(--sombra-card); }
.gestao-resumo > div:not(.gestao-legenda) { display:flex; align-items:baseline; gap:8px; }
.gestao-resumo strong { font-family:var(--fonte-titulo); font-size:1.5rem; }
.gestao-resumo span { color:var(--cor-texto-suave); font-size:.84rem; }
.gestao-legenda { display:flex; gap:16px; margin-left:auto; }
.gestao-legenda span { display:flex; align-items:center; gap:6px; }
.gestao-ponto { display:inline-block; width:8px; height:8px; border-radius:50%; }
.gestao-ponto-conta { background:var(--cor-destaque); }.gestao-ponto-evento { background:var(--cor-info); }.gestao-ponto-aviso { background:var(--cor-aviso); }
.gestao-calendario-painel { padding:20px; background:var(--cor-fundo-card); border:1px solid var(--cor-borda); border-radius:var(--radius); box-shadow:var(--sombra-card); }
#gestao-calendario .fc { font-family:var(--fonte-corpo); }.gestao-calendario-painel .fc-toolbar-title { font-family:var(--fonte-titulo); color:var(--cor-primaria); font-size:1.35rem; }.gestao-calendario-painel .fc-button { background:var(--cor-primaria); border:0; }.gestao-calendario-painel .fc-button:hover { background:var(--cor-primaria-hover); }.gestao-calendario-painel .fc-button-active { background:var(--cor-destaque)!important; }
.gestao-evento { border:0; border-radius:4px; padding:2px 4px; cursor:pointer; }.gestao-conta { background:var(--cor-destaque)!important; }.gestao-evento.gestao-evento { background:var(--cor-info); }.gestao-evento.gestao-aviso { background:var(--cor-aviso); }
.gestao-modal[hidden] { display:none; }.gestao-modal { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:20px; }.gestao-modal-fundo { position:absolute; inset:0; background:rgba(28,26,25,.58); }.gestao-modal-caixa { position:relative; width:min(620px,100%); max-height:calc(100vh - 40px); overflow:auto; padding:28px; background:var(--cor-fundo-card); border-radius:10px; box-shadow:0 20px 60px rgba(28,26,25,.25); }.gestao-modal-fechar { position:absolute; top:12px; right:14px; padding:0 8px; background:transparent; color:var(--cor-texto-suave); font-size:1.7rem; line-height:1; }.gestao-modal-fechar:hover { background:transparent; color:var(--cor-destaque); }.gestao-modal-caixa h2 { margin:4px 0 2px; }.gestao-modal-data { margin:0 0 20px; color:var(--cor-texto-suave); }.gestao-modal-item { padding:15px 0; border-top:1px solid var(--cor-borda); }.gestao-modal-item h3 { margin:0 0 8px; font-size:1.05rem; }.gestao-modal-item p { margin:5px 0; color:var(--cor-texto-suave); white-space:pre-line; }.gestao-modal-meta { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:.84rem; }.gestao-modal-meta strong { color:var(--cor-texto); }.gestao-vazio { padding:20px 0; color:var(--cor-texto-suave); }
.gestao-modal-acoes { display:flex; align-items:center; gap:14px; margin-top:14px; }.gestao-modal-acoes a { font-size:.86rem; font-weight:600; }.gestao-modal-acoes form { margin:0; }.gestao-modal-acoes button { padding:6px 10px; background:transparent; color:var(--cor-erro); border:1px solid var(--cor-erro); font-size:.82rem; }
@media (max-width:767px) { .gestao-cabecalho { align-items:start; flex-direction:column; }.gestao-resumo { align-items:start; flex-wrap:wrap; gap:12px 20px; }.gestao-legenda { width:100%; margin-left:0; }.gestao-calendario-painel { padding:8px; }.gestao-modal-caixa { padding:24px 18px; } }

/* Formulário de informe de gestão */
.gestao-form-cabecalho { max-width: 760px; margin-bottom: 24px; }
.gestao-form-cabecalho > a { color: var(--cor-texto-suave); font-size: .9rem; }
.gestao-form-cabecalho .gestao-kicker { display: block; margin-top: 25px; color: var(--cor-destaque); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.gestao-form-cabecalho h1 { margin: 4px 0 7px; }
.gestao-form-cabecalho p { color: var(--cor-texto-suave); }
.gestao-form { max-width: 760px; padding: 24px; background: var(--cor-fundo-card); border: 1px solid var(--cor-borda); border-radius: var(--radius); box-shadow: var(--sombra-card); }
.gestao-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; }
.gestao-form-campo { margin-bottom: 12px; }
.gestao-form-campo-largo { grid-column: 1 / -1; }
.gestao-form-campo label { display: block; }
.gestao-form-campo ul { margin: 3px 0 0; padding: 0; color: var(--cor-erro); list-style: none; font-size: .84rem; }
.gestao-form-opcoes { display: flex; gap: 18px; align-items: center; margin: 8px 0 24px; color: var(--cor-texto-suave); font-size: .9rem; }
.gestao-form-opcoes label { display: inline; margin: 0; }
.gestao-form-acoes { display: flex; justify-content: flex-end; align-items: center; gap: 18px; }
.gestao-form-acoes a { color: var(--cor-texto-suave); }
@media (max-width: 767px) { .gestao-form-grid { grid-template-columns: 1fr; } .gestao-form-campo-largo { grid-column: auto; } .gestao-form-opcoes { align-items: start; flex-direction: column; gap: 8px; } }

/* Envio de comprovante de repasse */
.repasse-cabecalho { max-width: 760px; margin: 8px auto 26px; }
.repasse-voltar { display: inline-block; margin-bottom: 24px; color: var(--cor-texto-suave); font-size: .9rem; }
.repasse-voltar:hover { color: var(--cor-destaque); }
.repasse-etiqueta { display: block; color: var(--cor-destaque); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.repasse-cabecalho h1 { margin: 5px 0 8px; font-size: 2.35rem; }
.repasse-cabecalho > p { max-width: 580px; margin: 0; color: var(--cor-texto-suave); }
.repasse-alerta { max-width: 760px; margin: 0 auto 18px; padding: 14px 18px; background: var(--cor-aviso-fundo); border: 1px solid var(--cor-aviso); border-radius: var(--radius); color: var(--cor-aviso); }
.repasse-alerta p { margin: 4px 0 0; }
.repasse-layout { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(340px, 1.28fr); gap: 18px; max-width: 760px; margin: 0 auto; align-items: start; }
.repasse-resumo, .repasse-formulario { background: var(--cor-fundo-card); border: 1px solid var(--cor-borda); border-radius: var(--radius); box-shadow: var(--sombra-card); }
.repasse-resumo { padding: 22px; background: var(--cor-primaria); color: var(--cor-branco); }
.repasse-resumo-label { color: var(--cor-texto-sobre-escuro); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.repasse-resumo h2 { margin: 8px 0 25px; color: var(--cor-branco); font-size: 1.6rem; }
.repasse-valor { padding: 16px 0 19px; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.repasse-valor span { display: block; color: var(--cor-texto-sobre-escuro); font-size: .82rem; }
.repasse-valor strong { display: block; margin-top: 4px; font-family: var(--fonte-titulo); font-size: 1.9rem; }
.repasse-resumo dl { margin: 16px 0 0; }
.repasse-resumo dl div { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; font-size: .86rem; }
.repasse-resumo dt { color: var(--cor-texto-sobre-escuro); }
.repasse-resumo dd { margin: 0; text-align: right; }
.repasse-formulario { padding: 24px; }
.repasse-formulario-topo { display: flex; align-items: center; gap: 13px; margin-bottom: 20px; }
.repasse-icone { display: grid; width: 42px; height: 42px; place-items: center; background: var(--cor-info-fundo); border-radius: 50%; color: var(--cor-info); font-size: 1.3rem; font-weight: 700; }
.repasse-formulario h2 { margin: 0 0 3px; font-size: 1.35rem; }
.repasse-formulario-topo p { margin: 0; color: var(--cor-texto-suave); font-size: .88rem; }
.repasse-instrucoes { margin-bottom: 20px; padding: 13px 15px; background: var(--cor-fundo); border-left: 3px solid var(--cor-destaque); }
.repasse-instrucoes span { color: var(--cor-destaque); font-size: .78rem; font-weight: 700; text-transform: uppercase; }
.repasse-instrucoes p { margin: 3px 0 0; color: var(--cor-texto-suave); font-size: .86rem; }
.repasse-formulario form p { margin-bottom: 18px; }
.repasse-formulario input[type="file"] { width: 100%; padding: 16px; border: 1px dashed var(--cor-destaque); border-radius: var(--radius); background: var(--cor-destaque-suave); color: var(--cor-texto-suave); }
.repasse-formulario input[type="file"]::file-selector-button { margin-right: 10px; padding: 8px 12px; border: 0; border-radius: 5px; background: var(--cor-destaque); color: var(--cor-branco); font-weight: 600; cursor: pointer; }
.repasse-status { display: inline-block; padding: 3px 8px; border-radius: 99px; font-size: .72rem; font-weight: 700; }
.repasse-status-pendente { background: var(--cor-aviso-fundo); color: var(--cor-aviso); }
.repasse-status-em_analise { background: var(--cor-info-fundo); color: var(--cor-info); }
.repasse-status-aprovado { background: var(--cor-sucesso-fundo); color: var(--cor-sucesso); }
.repasse-status-rejeitado { background: var(--cor-erro-fundo); color: var(--cor-erro); }
.repasse-arquivo { display: block; margin: -6px 0 18px; font-size: .86rem; font-weight: 600; }
.repasse-acoes { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 22px; }
.repasse-cancelar { color: var(--cor-texto-suave); font-size: .9rem; }
.repasse-acoes button { padding: 11px 16px; }
.repasse-acoes button span { margin-left: 6px; font-size: 1.1em; }
@media (max-width: 767px) { .repasse-cabecalho h1 { font-size: 1.9rem; } .repasse-layout { grid-template-columns: 1fr; } .repasse-resumo { order: 2; } .repasse-formulario { order: 1; } }

/* QR por recurso */
.qr-card { max-width: 360px; margin: 0 auto; text-align: center; }
.qr-image svg { width: 100%; height: auto; max-width: 280px; }
.qr-url { word-break: break-all; font-size: 0.78rem; color: var(--cor-texto-suave); }
