/* Telas da plataforma (Painel do dono, Minha conta, Contratação) sobre o portal.css. */
.app{min-height:100vh; background:var(--papel)}
.app main{padding:40px 0 80px}
.app .barra{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:28px}
.app .barra h1{margin:0; color:var(--vinho); font-size:clamp(1.8rem, 3vw, 2.4rem)}
.app .quem{font-family:"Montserrat",system-ui,sans-serif; font-size:.78rem; color:var(--muted)}
.app .botao-sec{background:none; border:1px solid var(--line); border-radius:var(--r-pill); padding:9px 16px;
  font-family:"Montserrat",system-ui,sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.06em; cursor:pointer; color:var(--ink-2)}
.app .botao-sec:hover{border-color:var(--cobre); color:var(--vinho)}
.cards-resumo{display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:14px; margin-bottom:32px}
.cards-resumo .card-num{background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px}
.cards-resumo .card-num span{display:block; font-family:"Montserrat",system-ui,sans-serif; font-size:.68rem;
  letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.cards-resumo .card-num strong{display:block; margin-top:6px; font-size:1.8rem; color:var(--vinho)}
.tabela-wrap{overflow-x:auto; background:#fff; border:1px solid var(--line); border-radius:14px}
table.tabela{width:100%; border-collapse:collapse; font-size:.98rem}
.tabela th,.tabela td{padding:12px 14px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top}
.tabela th{font-family:"Montserrat",system-ui,sans-serif; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.tabela tr:last-child td{border-bottom:0}
.tabela .sub{display:block; font-size:.82rem; color:var(--muted)}
.tabela .acoes{display:flex; gap:6px; flex-wrap:wrap}
.selo{display:inline-block; padding:3px 10px; border-radius:var(--r-pill); font-family:"Montserrat",system-ui,sans-serif;
  font-size:.66rem; font-weight:600; letter-spacing:.04em; background:#eee; color:#444; white-space:nowrap}
.selo-ativa{background:#e3f1e5; color:#1f6b33}
.selo-provisionando,.selo-pendente,.selo-aguardando_pagamento{background:#fbf0dc; color:#8a5a00}
.selo-atrasada,.selo-suspensa,.selo-falha_provisionamento{background:#f8e1e1; color:#8f1d1d}
.selo-cancelada{background:#eee; color:#666}
.aviso-demo{background:#fbf0dc; border:1px solid #ecd3a4; color:#6d4800; border-radius:12px; padding:12px 16px; margin-bottom:24px; font-size:.95rem}
.vazio{padding:28px; text-align:center; color:var(--muted)}
.contas{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:16px}
.conta-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px; display:flex; flex-direction:column; gap:8px}
.conta-card h3{margin:0; color:var(--vinho)}
.conta-card .linha{display:flex; justify-content:space-between; gap:10px; font-size:.95rem}
.conta-card .acoes{margin-top:auto; display:flex; gap:8px; flex-wrap:wrap; padding-top:10px}
.seletor{display:flex; gap:8px; flex-wrap:wrap; margin:0 0 20px}
.seletor button{border:1px solid var(--line); background:#fff; border-radius:var(--r-pill); padding:8px 14px; cursor:pointer;
  font-family:"Montserrat",system-ui,sans-serif; font-size:.72rem; font-weight:600}
.seletor button.ativo{background:var(--vinho); color:#fff; border-color:var(--vinho)}
.cartao-fluxo{max-width:620px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:16px; padding:28px}
.cartao-fluxo h1{color:var(--vinho); margin:.2em 0}
.credencial{background:var(--papel); border:1px dashed var(--cobre); border-radius:12px; padding:14px 16px; margin:16px 0;
  font-family:ui-monospace,Consolas,monospace; font-size:1rem; word-break:break-all}
.erro-tela{color:#8f1d1d}
@media (max-width:640px){ .app main{padding-top:24px} }
/* Fase 3: provisionamento, recebimento, rótulos e loja */
.selo-ok,.selo-aprovado{background:#e3f1e5; color:#1f6b33}
.selo-falha,.selo-reprovado{background:#f8e1e1; color:#8f1d1d}
.selo-sem_dados,.selo-abrindo,.selo-documentos_pendentes,.selo-em_analise{background:#fbf0dc; color:#8a5a00}
.etapas{list-style:none; margin:4px 0; padding:0; display:flex; flex-direction:column; gap:4px; font-size:.86rem}
.etapas li{display:flex; justify-content:space-between; gap:8px; align-items:center}
.etapas .detalhe{display:block; color:var(--muted); font-size:.78rem}
.painel-bloco{border-top:1px solid var(--line); margin-top:10px; padding-top:12px}
.painel-bloco h4{margin:0 0 8px; font-family:"Montserrat",system-ui,sans-serif; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.form-grade{display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:10px}
.form-grade label{display:flex; flex-direction:column; gap:4px; font-size:.82rem; color:var(--muted)}
.form-grade input,.form-grade select,.form-grade textarea{font:inherit; color:var(--tinta, #222); padding:9px 10px; border:1px solid var(--line); border-radius:10px; background:#fff}
.form-grade .largo{grid-column:1 / -1}
.form-acoes{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; align-items:center}
.rotulos-lista{display:flex; flex-direction:column; gap:6px; margin:8px 0}
.rotulos-lista .rotulo-linha{display:flex; justify-content:space-between; gap:8px; align-items:center; padding:8px 10px; border:1px solid var(--line); border-radius:10px; font-size:.92rem}
.rotulos-lista .inativo{opacity:.55}
.loja-grade{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:16px; margin-top:20px}
.loja-rotulo{background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px; display:flex; flex-direction:column; gap:6px}
.loja-rotulo h3{margin:0; color:var(--vinho)}
.loja-rotulo .preco{font-size:1.3rem; color:var(--vinho); margin-top:auto}
.loja-topo{display:flex; flex-direction:column; gap:6px; max-width:760px}
/* Fase 4: carrinho, checkout e pedidos */

.carrinho{position:sticky; bottom:12px; margin-top:28px; background:#fff; border:1px solid var(--cobre); border-radius:16px; padding:20px; box-shadow:0 8px 30px rgba(0,0,0,.08); max-width:760px}
.carrinho h2,.carrinho h3{margin:.2em 0 .4em; color:var(--vinho)}
.carrinho-itens{list-style:none; padding:0; margin:8px 0; display:flex; flex-direction:column; gap:8px}
.carrinho-itens li{display:flex; justify-content:space-between; gap:12px; align-items:center}
.carrinho-itens .sub{display:block; font-size:.8rem; color:var(--muted)}
.carrinho .qtd{display:flex; gap:8px; align-items:center}
.carrinho-total{display:flex; justify-content:space-between; font-size:1.1rem; border-top:1px solid var(--line); padding-top:10px}
.carrinho .consent{display:flex; gap:8px; align-items:flex-start; margin:12px 0; font-size:.9rem}
.pedido-linha{border:1px solid var(--line); border-radius:10px; padding:10px 12px; display:flex; flex-direction:column; gap:4px; font-size:.92rem}
.pedido-linha .topo{display:flex; justify-content:space-between; gap:8px; align-items:center}
@media (max-width:600px){.carrinho{position:static}}
.selo-pago,.selo-entregue{background:#e3f1e5; color:#1f6b33}
.selo-enviado{background:#e2ecf8; color:#1d4f8f}
.selo-vencido,.selo-estornado{background:#f8e1e1; color:#8f1d1d}

/* Tema flat (mesmo do portal): sem caixas nem cantos; filetes pretos separam. */
.app .barra h1{color:var(--preto)}
.app .botao-sec{border-color:var(--preto); color:var(--preto)}
.app .botao-sec:hover{background:var(--preto); color:var(--branco); border-color:var(--preto)}
.cards-resumo{gap:28px 24px}
.cards-resumo .card-num{background:none; border:0; border-top:2px solid var(--preto); border-radius:0; padding:14px 0 0}
.cards-resumo .card-num strong{color:var(--preto)}
.tabela-wrap{background:none; border:0; border-radius:0; border-top:2px solid var(--preto)}
.conta-card,.loja-rotulo{background:none; border:0; border-top:2px solid var(--preto); border-radius:0; padding:18px 0 0}
.conta-card h3,.loja-rotulo h3,.loja-rotulo .preco{color:var(--preto)}
.cartao-fluxo{border:0; border-top:3px solid var(--bordo); border-radius:0}
.cartao-fluxo h1{color:var(--preto)}
.credencial,.aviso-demo,.rotulos-lista .rotulo-linha,.pedido-linha{border-radius:0}
.form-grade input,.form-grade select,.form-grade textarea{border:0; border-bottom:1px solid var(--line-2); border-radius:0; padding:9px 2px; background:transparent}
.seletor button{border-color:var(--line-2)}
.seletor button.ativo{background:var(--preto); border-color:var(--preto)}
.carrinho{border:1px solid var(--preto); border-radius:0; box-shadow:none}
.carrinho h2,.carrinho h3{color:var(--preto)}
