/* Painel: complementa base.css, pensado para celular. */
body.painel main { padding-top: 2rem; }
.cartao { text-align: left; background: rgba(247, 244, 238, .04);
          border: 1px solid rgba(194, 160, 106, .35); border-radius: .75rem; padding: 1.5rem; }
.cartao h2 { text-align: center; }
.cartao .botao { display: block; width: 100%; text-align: center; }
label { display: block; margin: 1rem 0 .35rem; color: var(--ouro); font-size: .9rem; }
input:not([type=hidden]) { width: 100%; padding: .8rem; font: inherit; font-size: 1.05rem;
        color: var(--marfim); background: rgba(247, 244, 238, .06);
        border: 1px solid rgba(194, 160, 106, .5); border-radius: .5rem; }
input:focus-visible { outline: 2px solid var(--ouro); outline-offset: 1px; }
.erro { color: #F2B8A8; }
.qr { margin: 1rem 0; }
/* responsivo e sem corte: a margem de silêncio já está no viewBox do SVG */
.qr svg { display: block; width: 100%; max-width: 260px; height: auto; aspect-ratio: 1;
          margin: 0 auto; border-radius: .5rem; }
code { font-size: 1rem; letter-spacing: .05em; color: var(--marfim); }
.segredo { overflow-wrap: anywhere; }   /* quebra entre os grupos de 4 */
.codigos { columns: 2; padding-left: 1.5rem; line-height: 2; }
.link { background: none; border: 0; padding: .25rem; color: var(--ouro); font: inherit;
        text-decoration: underline; cursor: pointer; }
.sair-discreto { margin-top: 1rem; }
.barra { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem;
         padding: .75rem 1.25rem; border-bottom: 1px solid rgba(194, 160, 106, .35);
         font-size: .9rem; }
.barra form { margin: 0; }
.marca-barra { font-family: "Cinzel", Georgia, serif; color: var(--ouro); letter-spacing: .1em;
               text-transform: uppercase; text-decoration: none; }
.quem { margin-left: auto; opacity: .85; }
.menu { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; width: 100%; }
.menu a { color: var(--marfim); }
.eventos { list-style: none; padding: 0; text-align: left; }
.evento { padding: 1rem 0; border-bottom: 1px solid rgba(194, 160, 106, .2); }
.evento p { margin: .15rem 0; }
.evento .quando { color: var(--ouro); font-size: .9rem; }
.evento .anfitrioes { font-family: "Cinzel", Georgia, serif; font-size: 1.2rem; }
.evento .detalhe { opacity: .8; font-size: .9rem; }

/* Fase 3c: eventos */
.ok { color: #B8E0B0; }
.selo { display: inline-block; margin: 0 0 .5rem; padding: .15rem .6rem; border-radius: 1rem;
        background: var(--ouro); color: var(--noite); font-size: .8rem; }
.hoje { margin-bottom: 1rem; }
.hoje p { margin: .2rem 0; }
.hoje .anfitrioes { font-family: "Cinzel", Georgia, serif; font-size: 1.25rem; }
.calendario { margin: 2rem 0 1.5rem; }
.calendario .mes { display: flex; align-items: center; justify-content: space-between; }
.calendario .mes h2 { margin: 0; font-size: 1.1rem; }
.calendario .mes .link { font-size: 1.6rem; text-decoration: none; padding: 0 .75rem; }
.calendario table { width: 100%; border-collapse: collapse; table-layout: fixed; margin-top: .5rem; }
.calendario th { color: var(--ouro); font-weight: normal; font-size: .8rem; padding: .3rem 0; }
.calendario td { text-align: center; padding: .15rem 0; }
.calendario td a { display: block; padding: .45rem 0; border-radius: .5rem; color: var(--marfim);
                   text-decoration: none; }
.calendario td.fora { opacity: .3; }
.calendario td.dia-hoje a { outline: 1px solid var(--marfim); }
.calendario td.com-evento a { background: var(--ouro); color: var(--noite); font-weight: bold; }
.abas { display: flex; border-bottom: 1px solid rgba(194, 160, 106, .35); }
.abas a { flex: 1; padding: .7rem 0; color: var(--marfim); text-decoration: none; opacity: .7; }
.abas a.ativa { opacity: 1; color: var(--ouro); border-bottom: 2px solid var(--ouro); }
.evento a { display: block; color: inherit; text-decoration: none; }
select { width: 100%; padding: .8rem; font: inherit; font-size: 1.05rem; color: var(--marfim);
         background: var(--noite); border: 1px solid rgba(194, 160, 106, .5); border-radius: .5rem; }
fieldset { margin: 1.5rem 0 0; padding: 0 1rem 1rem; border: 1px solid rgba(194, 160, 106, .35);
           border-radius: .5rem; }
legend { color: var(--ouro); padding: 0 .35rem; font-size: .9rem; }
.linha { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .75rem; }
.linha input { min-width: 0; }   /* campos de hora não estouram a coluna no celular */
.ajuda { margin: .35rem 0 0; font-size: .8rem; opacity: .75; }
.perigo { color: #F2B8A8; }
.botao.perigo { background: #B5503C; color: var(--marfim); }
