/* ============================================================
   A MARCA DA MUNDO — o sistema Ficha
   ------------------------------------------------------------
   A página é uma mesa. Sobre ela, documentos.

   Aqui moram as peças que qualquer tela da Mundo usa: o papel
   com furo de fichário e régua na margem, a etiqueta, o botão, o
   rótulo em maiúscula. Nada aqui sabe o que é um médico.

   Depende de tokens.css, que precisa ser carregado antes.
   ============================================================ */


/* ============================================================
   RESET
   ============================================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}

body{
  font-family:var(--fc);font-size:16.5px;line-height:1.55;
  color:var(--tinta);background:var(--mesa);
  -webkit-font-smoothing:antialiased;
  min-height:100vh;display:flex;flex-direction:column;
}
/* textura de mesa */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(19,36,27,.16) .5px,transparent .5px);
  background-size:5px 5px;
}

img{max-width:100%;display:block}
a{color:inherit}

/* O navegador esconde o que tem [hidden], mas qualquer regra
   nossa com display ganha dele. Como o painel troca de tela
   ligando e desligando esse atributo, ele precisa ganhar de
   tudo. Sem esta linha, o botão de voltar aparece na tela de
   clientes, onde não há para onde voltar. */
[hidden]{display:none!important}
button{border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left}
ul,ol{list-style:none}
h1,h2,h3,h4{font-family:var(--fd);font-weight:800;line-height:1.06;letter-spacing:-.03em;text-wrap:balance}

/* O foco precisa ser visível, e precisa ser visível em cima de
   qualquer fundo deste painel. Terracota sobre creme e sobre
   verde passa nos dois casos. */
:focus-visible{outline:2.5px solid var(--terra);outline-offset:3px;border-radius:2px}

/* ============================================================
   PRIMITIVAS
   ============================================================ */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter);position:relative;z-index:1}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.mono{font-family:var(--fm);font-size:.615rem;font-weight:600;letter-spacing:.145em;text-transform:uppercase;font-variation-settings:'wdth' 87;line-height:1.6}
.mono-s{font-family:var(--fm);font-size:.535rem;font-weight:600;letter-spacing:.155em;text-transform:uppercase;font-variation-settings:'wdth' 85;line-height:1.6}
.rotulo{display:inline-flex;align-items:center;gap:9px;color:var(--terra)}
/* Sobre a mesa, a terracota não passa no contraste. Em vez de
   trocar a cor da marca, o rótulo ganha a própria tira de papel e
   volta a ficar sobre --folha, que é onde ela passa. E fica
   parecendo o que é: uma etiqueta colada na mesa. */
.abertura .rotulo{background:var(--folha);border:1px solid var(--fio);border-radius:2px;padding:6px 10px}

/* ── A folha ── */
.folha{
  position:relative;background:var(--folha);
  border:1px solid var(--fio-medio);border-radius:2px;
  box-shadow:var(--papel-2);
}
.folha::before{content:'';position:absolute;left:var(--regua-x);top:0;bottom:0;width:1.5px;background:var(--fio-terra);pointer-events:none;z-index:1}
.furos{position:absolute;left:21px;top:0;bottom:0;width:16px;display:flex;flex-direction:column;justify-content:space-evenly;padding:38px 0;z-index:2;pointer-events:none}
.furos span{width:13px;height:13px;border-radius:50%;border:1px solid var(--fio-medio);background:var(--mesa);box-shadow:inset 0 1px 2px rgba(19,36,27,.18)}
.folha-corpo{padding:clamp(20px,3vw,30px) var(--pad-dir) clamp(22px,3.2vw,32px) var(--margem)}

@media(max-width:760px){
  :root{--regua-x:16px;--margem:clamp(28px,7.6vw,38px);--pad-dir:clamp(18px,5vw,26px)}
  .furos{display:none}
}

/* ── Etiqueta ── */
.etq{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--fm);font-size:.495rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1;
  border:1px solid var(--fio-medio);border-radius:50px;padding:6px 10px;color:var(--tinta-70);white-space:nowrap;
}
.etq--verde{border-color:var(--verde-fio);color:var(--verde-vivo);background:var(--verde-fraco)}
.etq--terra{border-color:var(--terra-fio);color:var(--terra);background:var(--terra-fraca)}

/* ── Botões ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--fm);font-size:.63rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;line-height:1;
  min-height:var(--alvo);padding:13px 20px;border:1px solid var(--fio-forte);border-radius:2px;
  background:var(--folha);color:var(--tinta);box-shadow:var(--papel-3);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease);text-align:center;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--papel-1)}
.btn:active{transform:translateY(0)}
.btn[disabled]{opacity:.5;cursor:default;transform:none;box-shadow:none}
.btn--tinta{background:var(--verde);color:#F7F2E6;border-color:var(--verde)}
.btn--terra{background:var(--terra);color:#FFF6EE;border-color:var(--terra)}
.btn-ic{width:13px;height:13px;flex:none}


/* ============================================================
   SEM MOVIMENTO
   ------------------------------------------------------------
   Quem pediu menos animação no aparelho recebe menos animação.
   Não é enfeite: para parte das pessoas, movimento na tela dá
   enjoo de verdade.
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .cliente:hover,.btn:hover{transform:none}
}
