/* Painel Sonho Real — sóbrio de propósito: aqui é ferramenta de trabalho,
   não vitrine. Mesmas cores da marca, medidas no mesmo critério de contraste. */

:root{
  /* mesma paleta/fontes do site original (dourado + rosa, texto ameixa, Playfair/Poppins) */
  --acao:#C9A84C; --acao-esc:#A8832A; --azul:#A8832A;
  --tinta:#2D2326; --fraca:#7A6B6E; --linha:#EAE1D3;
  --fundo:#FAF7F2; --papel:#FFFFFF;
  --ok-bg:#E7F5EA; --ok-tx:#1B5E20;
  --er-bg:#FDECEA; --er-tx:#B3261E;
  --av-bg:#FFF3CD; --av-tx:#4A3B00;
  --r:12px;
  --sombra:0 2px 10px rgba(200,120,163,.10), 0 1px 3px rgba(45,35,38,.05);
  --fonte:"Poppins","Segoe UI",system-ui,-apple-system,sans-serif;
  --display:"Playfair Display",Georgia,"Times New Roman",serif;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--fundo);color:var(--tinta);font:400 15px/1.55 var(--fonte)}
img{max-width:100%;height:auto;display:block}
h1{font-size:1.6rem;margin:0 0 4px}
h2{font-size:1.05rem;margin:0 0 16px;color:var(--tinta)}
a{color:var(--azul)}
.pnl-wrap{max-width:1100px;margin:0 auto;padding:0 20px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--azul);outline-offset:2px;border-radius:6px}

/* ── topo ─────────────────────────────────────────────── */
.pnl-topo{background:var(--papel);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:20}
.pnl-topo-in{display:flex;align-items:center;gap:24px;min-height:60px;flex-wrap:wrap}
.pnl-marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tinta);font-size:.95rem}
.pnl-marca img{border-radius:7px}
.pnl-nav{display:flex;gap:4px;margin-left:8px;flex-wrap:wrap}
.pnl-nav a{color:var(--fraca);text-decoration:none;font-weight:700;font-size:.9rem;padding:8px 12px;border-radius:8px}
.pnl-nav a:hover{background:var(--fundo);color:var(--tinta)}
.pnl-nav a.atual{background:var(--acao);color:#fff}
.pnl-eu{margin-left:auto;display:flex;align-items:center;gap:14px}
.pnl-ver{font-size:.85rem;text-decoration:none;color:var(--fraca)}
.pnl-ver:hover{color:var(--azul)}
.pnl-sair{margin:0}
.pnl-sair button{background:none;border:0;color:var(--fraca);font:700 .85rem var(--fonte);cursor:pointer;padding:6px}
.pnl-sair button:hover{color:var(--acao)}

.pnl-main{padding:28px 20px 60px}
.pnl-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.pnl-cab p{margin:0;color:var(--fraca);font-size:.93rem}

/* ── recados ──────────────────────────────────────────── */
.pnl-recado{padding:12px 16px;border-radius:var(--r);margin:0 0 20px;font-size:.93rem}
.pnl-ok{background:var(--ok-bg);color:var(--ok-tx)}
.pnl-erro{background:var(--er-bg);color:var(--er-tx)}
.pnl-aviso{background:var(--av-bg);color:var(--av-tx)}

/* ── caixas ───────────────────────────────────────────── */
.pnl-caixa{background:var(--papel);border:1px solid var(--linha);border-radius:var(--r);padding:22px;margin-bottom:20px;box-shadow:var(--sombra)}
.pnl-sem-pad{padding:0;overflow:hidden}
.pnl-estreita{max-width:460px}
.pnl-duas{display:grid;gap:20px;grid-template-columns:360px 1fr;align-items:start}

/* ── números do painel ────────────────────────────────── */
.pnl-numeros{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}
.pnl-num{background:var(--papel);border:1px solid var(--linha);border-radius:var(--r);padding:18px 20px;
  text-decoration:none;color:var(--tinta);box-shadow:var(--sombra);display:block}
.pnl-num:hover{border-color:var(--azul)}
.pnl-num strong{display:block;font-size:2rem;line-height:1.1}
.pnl-num span{color:var(--fraca);font-size:.88rem}
.pnl-num em{display:block;font-style:normal;font-size:.8rem;color:var(--fraca);margin-top:4px}

/* Cartão de vendas/taxa da plataforma (início) */
.pnl-fat-linhas{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:12px;color:var(--fraca);font-size:.92rem}
.pnl-fat-linhas strong{color:var(--tinta);font-weight:600}
.pnl-fat-vazio{margin:0 0 12px;color:var(--fraca);font-size:.92rem}
.pnl-barra{height:10px;background:var(--linha);border-radius:999px;overflow:hidden;margin:4px 0 12px}
.pnl-barra span{display:block;height:100%;min-width:0;border-radius:999px;
  background:linear-gradient(90deg,var(--acao),var(--acao-esc));transition:width .5s ease}
.pnl-fat-pe{margin:0;font-size:.92rem;color:var(--fraca)}
.pnl-fat-pe strong{color:var(--tinta);font-weight:600}
.pnl-fat-ok{font-style:normal;font-weight:600;color:var(--ok-tx);margin-left:4px}

.pnl-pend{margin:0;padding-left:20px;display:grid;gap:8px}
.pnl-pend li{color:var(--er-tx)}
.pnl-pend a{color:inherit}
.pnl-ok-txt{margin:0;color:var(--ok-tx);font-weight:700}
.pnl-dica-bloco{margin:14px 0 0;font-size:.87rem;color:var(--fraca);background:var(--fundo);padding:11px 14px;border-radius:9px}

/* ── tabelas ──────────────────────────────────────────── */
.pnl-tab{width:100%;border-collapse:collapse;font-size:.92rem}
.pnl-tab th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fraca);
  padding:12px 16px;border-bottom:1px solid var(--linha);background:var(--fundo)}
.pnl-tab td{padding:12px 16px;border-bottom:1px solid var(--linha);vertical-align:middle}
.pnl-tab tr:last-child td{border-bottom:0}
.pnl-tab .dir{text-align:right}
.pnl-tab .cen{text-align:center}
.pnl-td-nome{display:flex;align-items:center;gap:12px}
.pnl-td-nome img{width:52px;height:40px;object-fit:cover;border-radius:7px;flex:0 0 auto}
.pnl-td-nome span{display:block;color:var(--fraca);font-size:.8rem}
.pnl-td-acoes{display:flex;gap:6px;justify-content:flex-end;align-items:center}
.pnl-off{opacity:.5}
.pnl-sub{color:var(--fraca);font-size:.82rem;display:block}
.pnl-vazio{text-align:center;color:var(--fraca);padding:28px 16px}

/* ── botões ───────────────────────────────────────────── */
.pnl-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  font:700 .9rem/1 var(--fonte);text-decoration:none;cursor:pointer;
  padding:11px 18px;border-radius:9px;border:1.5px solid transparent;transition:.15s;white-space:nowrap}
.pnl-btn-p{padding:7px 12px;font-size:.82rem}
.pnl-btn-bloco{width:100%;margin-top:8px}
.pnl-btn-acao{background:var(--acao);color:#fff}
.pnl-btn-acao:hover{background:var(--acao-esc)}
.pnl-btn-linha{background:var(--papel);color:var(--tinta);border-color:var(--linha)}
.pnl-btn-linha:hover{border-color:var(--azul);color:var(--azul)}
.pnl-btn-perigo{background:var(--papel);color:var(--er-tx);border-color:#F1C6C1}
.pnl-btn-perigo:hover{background:var(--er-bg)}
.pnl-inline{display:inline;margin:0}

.pnl-chave{border:1.5px solid var(--linha);background:var(--papel);border-radius:999px;
  padding:5px 14px;font:700 .8rem var(--fonte);cursor:pointer}
.pnl-chave.on{background:var(--ok-bg);color:var(--ok-tx);border-color:#B6DFC0}
.pnl-chave.off{background:var(--fundo);color:var(--fraca)}
.pnl-chave:disabled{opacity:.4;cursor:not-allowed}

/* ── formulários ──────────────────────────────────────── */
.pnl-form label{display:block;font-weight:700;font-size:.87rem;margin:16px 0 6px}
.pnl-form .pnl-caixa label:first-child{margin-top:0}
.pnl-dica{font-weight:400;color:var(--fraca);font-size:.82rem}
.pnl-form input[type=text],.pnl-form input[type=password],.pnl-form input[type=number],
.pnl-form input[type=date],.pnl-form input:not([type]),.pnl-form select,.pnl-form textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--linha);border-radius:9px;
  font:400 .95rem var(--fonte);background:var(--papel);color:var(--tinta)}
.pnl-form textarea{resize:vertical}
.pnl-form input[type=file]{width:100%;font-size:.88rem;padding:10px 0}
.pnl-linha2{display:grid;gap:0 18px;grid-template-columns:1fr 1fr}
.pnl-linha3{display:grid;gap:0 18px;grid-template-columns:repeat(3,1fr)}
.pnl-col2{grid-column:1 / -1}
.pnl-check{display:flex;align-items:flex-end;padding-bottom:2px}
.pnl-check label{display:flex;align-items:center;gap:8px;margin:16px 0 6px;font-size:.9rem}
.pnl-check input{width:auto}
.pnl-fieldset{border:1px solid var(--linha);border-radius:var(--r);padding:16px 18px;margin:20px 0 0}
.pnl-fieldset legend{font-weight:700;font-size:.87rem;padding:0 6px}
.pnl-previa{width:170px;border-radius:9px;border:1px solid var(--linha);margin-bottom:6px}
.pnl-acoes{display:flex;gap:10px;align-items:center;margin-top:22px;flex-wrap:wrap}
.pnl-acoes-fixas{margin-bottom:20px}

/* ── login ────────────────────────────────────────────── */
.pnl-login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}
.pnl-login{background:var(--papel);border:1px solid var(--linha);border-radius:18px;
  padding:34px;width:100%;max-width:390px;box-shadow:var(--sombra)}
.pnl-login img{width:170px;margin:0 auto 18px}
.pnl-login h1{font-size:1.2rem;text-align:center;margin-bottom:20px}
.pnl-login label{display:block;font-weight:700;font-size:.87rem;margin:14px 0 6px}
.pnl-login input{width:100%;padding:12px 13px;border:1.5px solid var(--linha);border-radius:9px;font:400 .98rem var(--fonte)}
.pnl-login-pe{text-align:center;margin:20px 0 0;font-size:.85rem}
.pnl-login-pe a{color:var(--fraca);text-decoration:none}

.pnl-rodape{border-top:1px solid var(--linha);background:var(--papel);padding:18px 0;
  color:var(--fraca);font-size:.83rem}

@media (max-width:860px){
  .pnl-duas{grid-template-columns:1fr}
  .pnl-linha3{grid-template-columns:1fr}
  .pnl-linha2{grid-template-columns:1fr}
  .pnl-nav{order:3;width:100%;margin:0 0 8px}
  .pnl-td-nome img{display:none}
}

/* ── FASE 3: agenda, reservas ──────────────────────────── */
.pnl-cal-nav{display:flex;gap:10px;justify-content:center;margin-bottom:18px}

/* o calendário reusa .cal do site; aqui só o que é do painel */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-cab{text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--fraca);font-weight:700;padding-bottom:4px}
.cal-vazio{min-height:96px}
.cal-dia{border-radius:10px;border:1.5px solid transparent;padding:5px;min-height:96px;
  display:flex;flex-direction:column;gap:3px}
.cal-n{font-weight:800;font-size:.95rem;line-height:1}
.n-livre{background:#E7F5EA;color:#1B5E20;border-color:#BFE3C7}
.n-parcial{background:#FFF3CD;color:#4A3B00;border-color:#EBD48A}
.n-lotado{background:#FDECEA;color:#B3261E;border-color:#F3C9C4}
.n-bloqueado{background:#ECEDF1;color:#4A5163;border-color:#DADCE3}
.n-antecedencia,.n-passado{background:var(--papel);color:#9AA1B0;border-color:var(--linha)}
.pnl-cal-add{text-decoration:none;color:inherit;display:block;border-radius:6px;padding:1px 3px}
.pnl-cal-add:hover{background:rgba(255,255,255,.7)}
.pnl-cal-ev{display:block;font-size:.7rem;line-height:1.25;padding:3px 5px;border-radius:5px;
  background:var(--papel);color:var(--tinta);text-decoration:none;border-left:3px solid var(--fraca);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pnl-cal-ev:hover{outline:1.5px solid var(--azul)}
.pnl-cal-ev.st-solicitada{border-left-color:#E0A800}
.pnl-cal-ev.st-confirmada,.pnl-cal-ev.st-sinal_pago{border-left-color:#2E7D32}
.pnl-cal-ev.st-realizada{border-left-color:#8A93A6}
.cal-legenda{list-style:none;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;
  margin:18px 0 0;padding:0;font-size:.82rem;color:var(--fraca)}
.cal-legenda li{display:flex;align-items:center;gap:6px}
.cal-legenda i{width:14px;height:14px;border-radius:4px;border:1.5px solid transparent;display:block}

/* abas de filtro */
.pnl-filtros{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.pnl-aba{text-decoration:none;color:var(--fraca);font-weight:700;font-size:.86rem;
  padding:9px 14px;border-radius:9px;background:var(--papel);border:1.5px solid var(--linha)}
.pnl-aba:hover{border-color:var(--azul);color:var(--azul)}
.pnl-aba.atual{background:var(--acao);border-color:var(--acao);color:#fff}
.pnl-aba span{opacity:.7;font-weight:600}

/* selos de situação */
.pnl-selo{display:inline-block;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px;
  background:var(--fundo);color:var(--fraca);border:1px solid var(--linha)}
.pnl-selo-g{font-size:.9rem;padding:7px 14px}
.pnl-selo.st-solicitada{background:#FFF3CD;color:#4A3B00;border-color:#EBD48A}
.pnl-selo.st-confirmada,.pnl-selo.st-sinal_pago{background:#E7F5EA;color:#1B5E20;border-color:#BFE3C7}
.pnl-selo.st-cancelada{background:#FDECEA;color:#B3261E;border-color:#F3C9C4}
.pnl-td-itens{font-size:.85rem;color:var(--fraca);max-width:230px}

/* escolha de brinquedos ao lançar uma festa */
.pnl-escolha{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.pnl-esc{display:grid;grid-template-columns:46px 1fr 66px;gap:10px;align-items:center;
  border:1.5px solid var(--linha);border-radius:10px;padding:8px 10px;cursor:pointer}
.pnl-esc:hover{border-color:var(--azul)}
.pnl-esc-off{opacity:.55}
.pnl-esc img{width:46px;height:36px;object-fit:cover;border-radius:7px}
.pnl-esc-nome{font-weight:700;font-size:.88rem;line-height:1.25}
.pnl-esc-nome em{display:block;font-style:normal;font-weight:400;font-size:.76rem;color:var(--fraca)}
.pnl-esc input{width:100%;padding:7px;border:1.5px solid var(--linha);border-radius:7px;text-align:center;
  font:400 .9rem var(--fonte)}

/* leitura de uma reserva */
.rev{display:grid;grid-template-columns:120px 1fr;gap:9px 14px;margin:0;font-size:.92rem}
.rev dt{color:var(--fraca)}
.rev dd{margin:0}
.rev-tab{width:100%;border-collapse:collapse;font-size:.92rem}
.rev-tab td{padding:9px 0;border-bottom:1px solid var(--linha)}
.rev-tab .dir{text-align:right}
.rev-total td{font-weight:800;font-size:1.02rem;border-bottom:0;padding-top:13px}
.pnl-nota{white-space:pre-wrap;font:400 .84rem/1.5 var(--fonte);color:var(--fraca);
  background:var(--fundo);padding:12px 14px;border-radius:9px;margin:0}

@media (max-width:700px){
  .cal-dia,.cal-vazio{min-height:64px}
  .pnl-cal-ev{font-size:.62rem;padding:2px 4px}
  .rev{grid-template-columns:1fr;gap:2px 0}
  .rev dt{margin-top:10px}
}

/* Enquanto a troca de senha é obrigatória não há menu — só o motivo. */
.pnl-travado{margin:0 0 0 8px;font-size:.88rem;font-weight:700;color:var(--av-tx);
  background:var(--av-bg);border:1px solid #EBD48A;padding:7px 14px;border-radius:999px}
.pnl-estreita{max-width:460px}

/* ── Responsivo no celular ─────────────────────────────────── */
@media (max-width:620px){
  .pnl-wrap{padding:0 14px}
  .pnl-main{padding:20px 14px 48px}
  /* tabelas viram CARTÕES empilhados: cada linha é um cartão, cada célula ganha
     rótulo (data-label) em cima do valor. Sem rolagem horizontal. */
  .pnl-caixa.pnl-sem-pad{overflow:visible;padding:12px}
  .pnl-tab,.pnl-tab tbody,.pnl-tab tr,.pnl-tab td{display:block;width:auto}
  .pnl-tab thead{display:none}
  .pnl-tab{min-width:0}
  .pnl-tab tr{background:var(--papel);border:1px solid var(--linha);border-radius:12px;
    padding:12px 14px;margin-bottom:12px}
  .pnl-tab td{border-bottom:1px solid var(--linha);padding:8px 0;text-align:left}
  .pnl-tab tr td:last-child{border-bottom:0;padding-bottom:0}
  .pnl-tab td[data-label]::before{content:attr(data-label);display:block;font-size:.72rem;
    text-transform:uppercase;letter-spacing:.04em;color:var(--fraca);font-weight:700;margin-bottom:3px}
  .pnl-tab td.dir,.pnl-tab td.cen{text-align:left}
  .pnl-td-itens{max-width:none}
  .pnl-td-nome{display:flex;align-items:center;gap:10px}
  .pnl-td-nome img{display:inline-block!important;width:52px;height:52px;border-radius:8px}
  .pnl-vazio{text-align:center}
  /* título de seção + botão de ação (+Novo, +Lançar) ocupam a largura */
  .pnl-cab{gap:12px}
  .pnl-cab .pnl-btn{width:100%;text-align:center}
  /* escolha de produtos (lançar festa) e números em layout de celular */
  .pnl-escolha{grid-template-columns:1fr}
  .pnl-numeros{grid-template-columns:1fr 1fr}
  .pnl-eu{gap:10px}
  .pnl-ver{font-size:.85rem}
}
@media (max-width:420px){
  .pnl-numeros{grid-template-columns:1fr}
  .cal{gap:3px}
  .cal-dia,.cal-vazio{min-height:52px}
  .pnl-nav a{padding:8px 10px;font-size:.86rem}
}

/* ── Visual do original aplicado ao painel ── */
h1,h2,.pnl-login-marca{font-family:var(--display)}
.pnl-btn-acao{background:linear-gradient(135deg,var(--acao),var(--acao-esc));color:#fff;border-color:transparent}
.pnl-btn-acao:hover{background:linear-gradient(135deg,var(--acao-esc),var(--acao))}
/* estados ativos usam o dourado escuro para o texto branco ler melhor */
.pnl-nav a.atual,.pnl-aba.atual{background:var(--acao-esc);border-color:var(--acao-esc);color:#fff}
