
/* Paleta Dalu */
:root{--fundo:#F3F4F8;--card:#FFF;--tinta:#1A1236;--suave:#7C7A94;--borda:#E4E3EE;
--roxo:#6A3FD6;--roxo-escuro:#2E1A6B;--verde:#12B89A;--coral:#FF5E6E;--amarelo:#FFC24D;--claro:#F3F4F8;
/* nomes antigos mantidos, agora apontando para a paleta nova */
--petro:#2E1A6B;--agua:#6A3FD6;--menta:#7FE8D5;--lilas:#6A3FD6;--ambar:#FFC24D;
--sombra:0 1px 2px rgba(26,18,54,.04),0 8px 24px rgba(26,18,54,.07)}
*{box-sizing:border-box;margin:0;padding:0;font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
body{color:var(--tinta);min-height:100vh;overscroll-behavior-y:none;letter-spacing:-.01em;
background:
  radial-gradient(760px 380px at 96% -4%, rgba(106,63,214,.26), transparent 64%),
  radial-gradient(620px 340px at -8% 12%, rgba(18,184,154,.16), transparent 60%),
  radial-gradient(520px 300px at 50% 108%, rgba(255,94,110,.10), transparent 62%),
  linear-gradient(178deg,#ECE9F9 0%,#F2F1FA 46%,#F6F5FB 100%);
background-attachment:fixed}
.cartao-cor{border-radius:19px;padding:15px 14px;position:relative;overflow:hidden}
.cartao-cor::after{content:'';position:absolute;right:-24px;top:-24px;width:84px;height:84px;border-radius:999px;opacity:.10;background:currentColor}
.faixa{width:4px;border-radius:99px;align-self:stretch;flex-shrink:0}
.titulo-secao{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.titulo-secao span.marca-cor{width:4px;height:18px;border-radius:99px;background:var(--agua)}
.num{font-variant-numeric:tabular-nums;letter-spacing:-.02em}
button{cursor:pointer;border:none;background:none;font-size:inherit;color:inherit;font-family:inherit;transition:transform .12s,opacity .12s}
button:active{transform:scale(.97)}button:disabled{opacity:.45;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--agua);outline-offset:2px}
input,select{font-size:16px;padding:12px 14px;border:1.5px solid var(--borda);border-radius:14px;background:var(--card);width:100%;color:var(--tinta);font-family:inherit}
input:focus,select:focus{border-color:var(--agua)}
svg{display:block;flex-shrink:0}
.wrap{max-width:1140px;margin:0 auto;display:flex}
aside{width:244px;flex-shrink:0;padding:26px 18px;height:100vh;position:sticky;top:0;overflow:auto;background:var(--card);border-right:1px solid var(--borda);display:flex;flex-direction:column}
main{flex:1;min-width:0;padding:0 18px 116px}
h1{font-size:22px;font-weight:800;letter-spacing:-.03em}
h2{font-size:23px;font-weight:700;letter-spacing:-.03em}
h3{font-size:16px;font-weight:700;letter-spacing:-.02em}
.card{background:var(--card);border-radius:20px;padding:16px;box-shadow:var(--sombra);border:1px solid rgba(232,235,239,.9)}
.tag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;white-space:nowrap;letter-spacing:0}
.barra{height:8px;border-radius:999px;background:var(--borda);overflow:hidden}
.barra>div{height:100%;border-radius:999px;transition:width .4s cubic-bezier(.2,.8,.2,1)}
nav.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:flex-end;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-top:1px solid var(--borda);padding:9px 6px calc(9px + env(safe-area-inset-bottom));z-index:30;box-shadow:0 -2px 18px rgba(16,27,34,.05)}
nav.tabs button.tb{flex:1;padding:6px 0;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--suave);border-radius:16px;letter-spacing:-.01em}
nav.tabs button.tb.on{color:var(--petro)}
nav.tabs button.tb .bolha{width:46px;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;transition:background .2s}
nav.tabs button.tb.on .bolha{background:rgba(18,48,63,.09)}
.botao-central{flex:0 0 auto;width:60px;height:60px;margin:0 6px -6px;border-radius:22px;background:linear-gradient(150deg,#12303F,#1F6E63);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(18,48,63,.32)}
.selo{position:absolute;top:2px;right:14px;min-width:19px;height:19px;border-radius:999px;background:var(--coral);color:#fff;font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 5px}
.navlink{width:100%;text-align:left;border-radius:14px;padding:11px 13px;margin-bottom:3px;display:flex;gap:11px;align-items:center;font-size:14.5px;font-weight:600;color:var(--suave)}
.navlink.on{background:var(--petro);color:#fff}
.linha{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--borda)}
.linha:last-child{border-bottom:none}
.avatar{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;font-size:13px}
.chip{border:1.5px solid var(--borda);border-radius:999px;padding:7px 15px;font-size:13px;font-weight:600;color:var(--suave);white-space:nowrap;background:var(--card)}
.chip.on{background:var(--petro);color:#fff;border-color:var(--petro)}
.rolagem{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.rolagem::-webkit-scrollbar{display:none}
.modal{position:fixed;inset:0;background:rgba(16,27,34,.5);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;z-index:60}
.modal>div{background:var(--card);border-radius:26px 26px 0 0;padding:24px 22px calc(24px + env(safe-area-inset-bottom));width:100%;max-width:490px;max-height:92vh;overflow:auto}
.puxador{width:38px;height:4px;border-radius:99px;background:var(--borda);margin:-8px auto 16px}
.campo{margin-bottom:13px}
.campo label{display:block;font-size:12.5px;font-weight:600;color:var(--suave);margin-bottom:6px}
.btn{background:var(--petro);color:#fff;border-radius:15px;padding:14px 16px;font-size:14.5px;font-weight:700;width:100%;display:flex;align-items:center;justify-content:center;gap:7px}
.btn.vazio{background:var(--fundo);color:var(--tinta)}
.btn.perigo{background:transparent;color:var(--coral);border:1.5px solid rgba(240,86,63,.3)}
.btn.mini{width:auto;padding:8px 13px;font-size:12.5px;border-radius:11px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.topbar{position:sticky;top:0;z-index:28;display:flex;align-items:center;gap:11px;padding:12px 16px;background:rgba(247,248,250,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--borda)}
.mais{position:fixed;right:18px;bottom:88px;width:58px;height:58px;border-radius:20px;background:var(--petro);color:#fff;display:flex;align-items:center;justify-content:center;z-index:25;box-shadow:0 8px 24px rgba(18,48,63,.35)}
.vazio-msg{text-align:center;color:var(--suave);font-size:14px;padding:34px 16px;font-weight:500}
.item-menu{width:100%;display:flex;align-items:center;gap:13px;padding:15px 16px;background:var(--card);border-bottom:1px solid var(--borda);text-align:left}
.item-menu:last-child{border-bottom:none}
@media(max-width:767px){aside{display:none}}
@media(min-width:768px){.so-mob{display:none!important}}
@media(min-width:768px){nav.tabs{display:none}.topbar{display:none}main{padding:34px 34px 60px}aside{display:block}.modal{align-items:center;padding:20px}.modal>div{border-radius:26px}.puxador{display:none}.mais{bottom:30px;right:30px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ══ Acabamento: superfícies que parecem levantadas do fundo ══ */
.card{
  border:1px solid rgba(255,255,255,.9);
  box-shadow:
    0 1px 1px rgba(26,18,64,.03),
    0 4px 10px rgba(26,18,64,.045),
    0 14px 34px rgba(26,18,64,.07);
  background:linear-gradient(180deg,#FFF 0%,#FDFDFF 100%);
}

/* barra de baixo: vidro, não bloco chapado */
nav.tabs{
  background:rgba(255,255,255,.82);
  -webkit-backdrop-filter:saturate(180%) blur(18px);
  backdrop-filter:saturate(180%) blur(18px);
  border-top:1px solid rgba(26,18,64,.06);
  box-shadow:0 -8px 28px rgba(26,18,64,.06);
}

.topbar{
  background:rgba(255,255,255,.78);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid rgba(26,18,64,.05);
}

/* botão principal com profundidade */
.btn{
  box-shadow:0 1px 2px rgba(26,18,64,.10),0 6px 16px rgba(106,63,214,.20);
  letter-spacing:-.01em;
}
.btn.vazio,.btn.perigo{box-shadow:0 1px 2px rgba(26,18,64,.05)}

/* toque com resposta física */
button{transition:transform .12s ease, opacity .12s ease}
button:active{transform:scale(.975)}
@media (prefers-reduced-motion:reduce){button{transition:none}button:active{transform:none}}

/* foco visível para quem navega por teclado */
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{
  outline:2.5px solid #6A3FD6;outline-offset:2px;border-radius:12px}

@keyframes pulsa{0%,100%{opacity:.25}50%{opacity:1}}
