:root{
  /* Marca Clinicode (apps/web/src/lib/brand.js): azul-marinho, azul e turquesa */
  --fundo:#f5f7fb;--card:#fff;--linha:#e3e8ef;--texto:#0b1f3a;--suave:#55657c;--fraco:#8f9bb0;
  --pri:#1e4fd8;--pri-esc:#173ea8;--pri-claro:#e9effd;--escuro:#0b1f3a;--turquesa:#14b8a6;
  --ok:#1e7d4f;--ok-claro:#e6f4ec;--alerta:#a15c00;--alerta-claro:#fdf1de;--erro:#b3261e;--erro-claro:#fbe9e7;
  --raio:12px;--sombra:0 1px 2px rgba(11,31,58,.05),0 8px 28px rgba(11,31,58,.07);
  font-size:15px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--texto);background:var(--fundo);-webkit-font-smoothing:antialiased;line-height:1.5}
[hidden]{display:none!important}
a{color:var(--pri-esc)}
img{max-width:100%;display:block}
h1,h2,h3{line-height:1.2;margin:0;letter-spacing:-.02em;font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif}
button,input,textarea,select{font:inherit;color:inherit}
svg.i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

.wrap{width:min(1120px,100% - 32px);margin:0 auto}
.b{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:9px;border:1px solid var(--linha);background:#fff;cursor:pointer;text-decoration:none;font-weight:600;color:var(--texto);white-space:nowrap;transition:background .15s,border-color .15s,transform .1s}
.b:hover{background:#faf8f5;border-color:#d8cfc4}
.b:active{transform:scale(.98)}
.b:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
.b-pri{background:var(--pri);border-color:var(--pri);color:#fff}
.b-pri:hover{background:var(--pri-esc);border-color:var(--pri-esc)}
.b-grande{height:50px;padding:0 24px;font-size:16px;border-radius:11px}
.b-mini{height:32px;padding:0 12px;font-size:13px}
.b-texto{border-color:transparent;background:none}
.b-perigo{color:var(--erro)}
.b:disabled{opacity:.55;cursor:default}

.topo-app{background:#fff;border-bottom:1px solid var(--linha)}
.topo-app .wrap{display:flex;align-items:center;gap:16px;height:64px}
.marca{display:flex;align-items:center;gap:9px;font-family:"Plus Jakarta Sans",Inter,sans-serif;font-weight:700;font-size:21px;text-decoration:none;color:var(--texto);letter-spacing:-.03em}
.marca .simbolo{width:30px;height:30px;flex:none}
.marca small{font-size:.8em;color:var(--fraco);font-weight:600;letter-spacing:0}
.marca .produto{font-size:12px;font-weight:700;letter-spacing:.02em;color:#0f766e;background:#ccfbf1;border-radius:99px;padding:2px 9px;margin-left:2px}
.topo-app nav{margin-left:auto;display:flex;align-items:center;gap:8px}

.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-size:13px;font-weight:600}
.campo input,.campo select,.campo textarea{height:44px;border:1px solid var(--linha);border-radius:9px;padding:0 12px;background:#fff;width:100%}
.campo textarea{height:auto;padding:10px 12px}
.campo .dica{font-size:12px;color:var(--suave)}
.erro-msg{color:var(--erro);font-size:14px;min-height:1.3em;margin:0}

.card{background:var(--card);border-radius:16px;box-shadow:var(--sombra);padding:24px}
.etiqueta{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;background:#f1ede7;color:var(--suave)}
.etiqueta.ok{background:var(--ok-claro);color:var(--ok)}
.etiqueta.alerta{background:var(--alerta-claro);color:var(--alerta)}
.etiqueta.erro{background:var(--erro-claro);color:var(--erro)}
.etiqueta::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}

.aviso{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--escuro);color:#fff;padding:12px 18px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:100;max-width:calc(100% - 32px);font-size:14px}
.aviso.erro{background:var(--erro)}
.aviso.ok{background:var(--ok)}
