:root{
  --azul:#2C3C4B; --bege:#C3A48C; --azul-profundo:#1F2B36;
  --creme:#F7F2EC; --areia:#EDE3D9; --papel:#FFFCF8;
  --tinta:#56626D; --bege-escuro:#7A6352; --creme-suave:#D9CFC4;
  --erro:#9B2C2C;
  --serif:"Marcellus",Georgia,serif;
  --caps:"Marcellus SC","Marcellus",Georgia,serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--creme);color:var(--azul);font-family:var(--serif);-webkit-font-smoothing:antialiased}
body{min-height:100vh}
a{color:var(--bege-escuro)} a:hover{color:var(--azul)}
h1,h2,h3{font-weight:400;margin:0}
button,input,select,textarea{font-family:inherit;font-size:16px;color:var(--azul)}
[hidden]{display:none!important}

.app{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:var(--creme)}
.wide{max-width:980px}
.sobre{font-family:var(--caps);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--bege-escuro)}
.muted{color:var(--tinta)}
.filete{width:48px;height:1px;background:var(--bege)}

/* Login */
.hero{background:var(--azul);padding:64px 32px 44px;display:flex;flex-direction:column;align-items:center;gap:10px;border-radius:0 0 50% 50%/0 0 48px 48px;text-align:center}
.mono{width:64px;height:64px;border:1px solid var(--bege);border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--bege)}
.hero .logo{display:block;height:auto;max-width:60%}
.hero .nome{font-size:26px;color:var(--creme);margin-top:6px}
.hero .sub{font-family:var(--caps);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--bege)}
.form{padding:36px 28px 24px;display:flex;flex-direction:column;gap:18px}
label.campo{display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--tinta)}
.campo input,.campo select,.campo textarea{min-height:50px;padding:12px 16px;border:1px solid var(--creme-suave);border-radius:4px;background:var(--papel)}
.campo textarea{min-height:160px;resize:vertical;line-height:1.5}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--bege);outline-offset:1px}
.btn{min-height:50px;border:0;border-radius:4px;background:var(--azul);color:var(--creme);font-family:var(--caps);font-size:14px;letter-spacing:3px;text-transform:uppercase;padding:0 20px;cursor:pointer}
.btn:disabled{opacity:.6;cursor:wait}
.btn.linha{background:transparent;color:var(--azul);border:1px solid var(--azul)}
.btn.peq{min-height:40px;font-size:12px;letter-spacing:2px;padding:0 14px}
.link{background:none;border:0;color:var(--bege-escuro);text-decoration:underline;cursor:pointer;padding:12px;align-self:center;font-size:15px}
.msg{font-size:14px;line-height:1.45;padding:12px 14px;border-radius:4px;background:var(--areia);color:var(--azul)}
.msg.erro{background:#F6E3E1;color:var(--erro)}
.rodape-login{padding:0 28px 32px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:13px;line-height:1.5;color:var(--tinta);margin-top:auto}

/* Telas internas */
.tela{padding:40px 22px 24px;display:flex;flex-direction:column;gap:16px;flex:1}
.topo{display:flex;align-items:center;justify-content:space-between;gap:12px}
.topo h1{font-size:28px}
.card-azul{background:var(--azul);border-radius:4px;padding:22px;display:flex;flex-direction:column;gap:8px}
.card-azul .sobre{color:var(--bege)}
.card-azul .grande{font-size:28px;color:var(--creme)}
.card-azul .info{font-size:15px;color:var(--creme-suave)}
.card-azul hr{border:0;height:1px;background:var(--bege);opacity:.5;margin:6px 0;width:100%}
.alerta{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--creme-suave)}
.grade2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.card{background:var(--papel);border:1px solid var(--areia);border-radius:4px;padding:16px;display:flex;flex-direction:column;gap:6px}
.card .sobre{font-size:11px;letter-spacing:2px}
.card .valor{font-size:20px;line-height:1.2;overflow-wrap:anywhere}
.item{display:flex;align-items:center;gap:14px;background:var(--papel);border:1px solid var(--areia);border-radius:4px;padding:16px;text-decoration:none;color:var(--azul);cursor:pointer;text-align:left;width:100%}
.item .txt{flex:1;display:flex;flex-direction:column;gap:4px}
.item .sobre{font-size:11px;letter-spacing:2px}
.item .tit{font-size:17px}
.destaque{background:var(--bege);color:var(--azul-profundo);border:0}
.destaque .sobre{color:var(--azul-profundo)}
.zap{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;border:1px solid var(--azul);border-radius:4px;text-decoration:none;color:var(--azul);font-size:15px}
.artigo{white-space:pre-line;font-size:17px;line-height:1.6;color:var(--azul)}
.voltar{background:none;border:0;padding:8px 0;color:var(--bege-escuro);font-size:15px;cursor:pointer;display:flex;align-items:center;gap:6px;align-self:flex-start}
.linha-dado{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--areia);font-size:16px}
.linha-dado span:first-child{color:var(--tinta)}
.linha-dado span:last-child{text-align:right;overflow-wrap:anywhere}

nav.abas{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--areia);background:var(--papel);padding:6px 6px calc(10px + env(safe-area-inset-bottom))}
nav.abas button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;color:var(--tinta);font-size:12px;cursor:pointer;min-height:56px}
nav.abas button[aria-current="page"]{color:var(--azul)}
nav.abas svg{stroke:currentColor}
.carregando{padding:80px 20px;text-align:center;color:var(--tinta)}

/* Admin */
.barra{background:var(--azul);color:var(--creme);padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.barra .sobre{color:var(--bege)}
.abas-admin{display:flex;gap:8px;flex-wrap:wrap}
.abas-admin button{background:none;border:1px solid var(--creme-suave);color:var(--creme);border-radius:4px;min-height:40px;padding:0 14px;cursor:pointer;font-size:14px}
.abas-admin button[aria-current="page"]{background:var(--bege);color:var(--azul-profundo);border-color:var(--bege)}
.tabela-box{overflow-x:auto;background:var(--papel);border:1px solid var(--areia);border-radius:4px}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--areia);white-space:nowrap}
th{font-family:var(--caps);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--bege-escuro);font-weight:400}
tr.inativo td{color:var(--tinta);opacity:.7}
.acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.painel{background:var(--papel);border:1px solid var(--areia);border-radius:4px;padding:22px;display:flex;flex-direction:column;gap:16px}
.check{display:flex;gap:10px;align-items:center;font-size:15px;color:var(--tinta);min-height:44px}
.check input{width:20px;height:20px}

/* Refinamentos */
.btn-bege{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:6px;border-radius:4px;background:var(--bege);color:var(--azul-profundo);text-decoration:none;font-family:var(--caps);font-size:13px;letter-spacing:2px;text-transform:uppercase}
.btn-bege:hover{color:var(--azul-profundo);filter:brightness(1.05)}
.carteirinha{background:var(--azul);color:var(--creme);border-radius:10px;padding:20px 22px;display:flex;flex-direction:column;gap:8px;aspect-ratio:1.586;max-height:240px;justify-content:space-between}
.cart-topo{display:flex;justify-content:space-between;align-items:flex-start}
.cart-topo .sobre{color:var(--bege)}
.cart-nome{font-size:21px;line-height:1.2}
.cart-num{font-family:var(--caps);font-size:17px;letter-spacing:3px;color:var(--creme-suave);overflow-wrap:anywhere}
.cart-rodape{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--creme-suave);border-top:1px solid rgba(195,164,140,.5);padding-top:8px}
.inst{display:flex;gap:12px;align-items:flex-start;background:var(--areia);border-radius:4px;padding:14px 12px 14px 16px}
.inst-ic{color:var(--bege-escuro);padding-top:2px}
.inst-txt{flex:1;display:flex;flex-direction:column;gap:6px}
.inst-txt p{margin:0;font-size:14px;line-height:1.45;color:var(--azul)}
.inst-txt .btn{align-self:flex-start;margin-top:4px}
.inst-x{background:none;border:0;font-size:24px;line-height:1;color:var(--tinta);width:44px;height:44px;margin:-10px -6px 0 0;cursor:pointer}
.dep-linha{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr)) auto;gap:10px;align-items:end}

.niver{background:var(--bege);color:var(--azul-profundo);border-radius:4px;padding:20px;display:flex;flex-direction:column;gap:6px}
.niver .sobre{color:var(--azul-profundo)}
.niver-tit{font-size:24px;line-height:1.2}
.niver p{margin:0;font-size:15px;line-height:1.5}
select.status{min-height:40px;padding:0 10px;border:1px solid var(--creme-suave);border-radius:4px;background:var(--papel)}

.aviso{display:flex;gap:10px;align-items:flex-start;background:var(--papel);border:1px solid var(--bege);border-radius:4px;padding:16px 10px 16px 18px}
.aviso-txt{flex:1;display:flex;flex-direction:column;gap:4px}
.aviso-tit{font-size:19px;line-height:1.25}
.aviso p{margin:2px 0 0;font-size:15px;line-height:1.5;color:var(--tinta);white-space:pre-line}
.notas{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px}
.nota{min-height:44px;border:1px solid var(--creme-suave);border-radius:4px;background:var(--papel);font-size:15px;cursor:pointer;padding:0}
.nota.sel{background:var(--azul);color:var(--creme);border-color:var(--azul)}
.notas-leg{display:flex;justify-content:space-between;font-size:12px;color:var(--tinta)}
.passos{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:14px;font-size:16px;line-height:1.5}
.chip{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--areia);color:var(--azul);white-space:nowrap}
.chip.andamento{background:#E6EDF3}
.chip.concluido{background:#E3EFE6;color:#24543A}
.resposta{background:var(--creme);border-radius:4px;padding:12px;display:flex;flex-direction:column;gap:4px;font-size:15px;line-height:1.45}
@media (max-width:360px){.notas{grid-template-columns:repeat(6,minmax(0,1fr))}}
.barras{display:flex;flex-direction:column;gap:10px}
.barra-l{display:grid;grid-template-columns:minmax(90px,180px) 1fr 40px;gap:10px;align-items:center;font-size:14px}
.barra-f{height:14px;background:var(--areia);border-radius:2px;overflow:hidden}
.barra-f span{display:block;height:100%;background:var(--azul)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.kpi{background:var(--papel);border:1px solid var(--areia);border-radius:4px;padding:16px;display:flex;flex-direction:column;gap:4px}
.kpi .n{font-size:32px;line-height:1.1}

.avatar{border-radius:999px;object-fit:cover;display:inline-flex;flex:none;border:2px solid var(--bege)}
.avatar-ini{align-items:center;justify-content:center;background:var(--azul);color:var(--creme);border-color:var(--bege)}
.avatar-btn{background:none;border:0;padding:0;cursor:pointer;border-radius:999px;line-height:0}
.perfil{display:flex;gap:16px;align-items:center;background:var(--papel);border:1px solid var(--areia);border-radius:4px;padding:16px}
