
:root {
  --fundo: #fbf7f2; --cartao: #ffffff; --tinta: #272727; --tinta-2: #6b6b6b;
  --linha: #e8dfd2; --marca: #7d5f30; --marca-suave: #f5ede0;
  --tinta-fraca: #d0c6b7;
  --ouro: #d6b07b; --ouro-linha: #e2caa8;
  --alta: #a32e22; --alta-f: #faebe7;
  --media: #8a5a0f; --media-f: #fbf0df;
  --aus-ferias: #2f7f6f;  --aus-ferias-f: #e3f1ee;
  --aus-licenca: #9c84c9; --aus-licenca-f: #efeaf8;
  --aus-baixa: #3e5a78;   --aus-baixa-f: #e4ebf2;
  --aus-ferias-t: #246a5c; --aus-licenca-t: #6a50a0; --aus-baixa-t: #3e5a78;
  --aus-ocupado: #efebe5;   
  --urg-alta:  #4a0d4e; --urg-alta-f:  #e9b3f0;
  --urg-media: #5e0d06; --urg-media-f: #ffa294;
  --urg-baixa: #6b4b00; --urg-baixa-f: #ffe45c;
  --baixa: #41601f; --baixa-f: #eff3e7;
  --azul: #2c5470; --azul-f: #eaf0f4;
  --roxo: #733a72; --roxo-f: #f2ebf8;
  --amarelo: #6b4b00; --amarelo-f: #fdf3bf;
  --cinza-f: #f2ece3;
  --vestido: #40331f; --vestido-tinta: #f7ecd9;
  --q-fica: #eae2d6; --q-fica-tinta: #5f5a53;
  --q-preparar-f: #ffe9b4; --q-preparar-linha: #f7cb81; --q-preparar: #7c530e;
  --q-entrar-f: #dff5d0;   --q-entrar-linha: #bedfa9;
  --ronda-feito: #385a42;
  --ronda-nada: #eae2d6;
  --q-libertar-f: var(--cartao);
  --q-libertar-tinta: var(--tinta);  --q-libertar-tinta-2: var(--tinta-2);
  --q-libertar-palavra: var(--q-preparar);
  --q-libertar-marca: var(--marca);
  --q-libertar-pre: var(--azul);     --q-libertar-prio: var(--alta);
  --azul-linha: #c7dbea; --alta-linha: #f7ccc4;
  --aceitar: #2c5b40; --aceitar-f: #e3efe4; --aceitar-linha: #b8d4bc;
  --terminar: #beeca3;
  --foto-tinta: #000000;
  --gesto: #e7c99e; --gesto-linha: rgba(160, 122, 66, .28);
  --gesto-selo: #fff;
  --casa-1: #7d5f30; --casa-1-f: #f3e7d4;
  --casa-2: #2c5470; --casa-2-f: #e3edf3;
  --casa-3: #41601f; --casa-3-f: #e9f0df;
  --casa-4: #8d4a1c; --casa-4-f: #f8e7d9;
  --casa-5: #5c4470; --casa-5-f: #ece6f3;
  --casa-6: #1f5f57; --casa-6-f: #dcefeb;
  --serif: "Century-PS", "Libre Baskerville", Georgia, "Times New Roman", serif;
  --t-micro: .75rem;   
  --t-nota: .85rem;    
  --t-corpo: 1rem;     
  --t-medio: 1.15rem;  
  --t-titulo: 1.4rem;  
  --comando: 2.3rem;
  --lateral: 15.5rem;
  --fio: rgba(196, 158, 105, .26);
  --raio: 20px;      
  --raio-p: 13px;    
  --sombra: 0 1px 2px rgba(125, 95, 48, .05), 0 6px 16px rgba(125, 95, 48, .07);
  --sombra-alta: 0 16px 36px rgba(125, 95, 48, .18);   
}
:root.tema-escuro {
  --fundo: #1c1a17; --cartao: #26231f; --tinta: #efe9e0; --tinta-2: #a79e92;
  --linha: #3a352e; --marca: #d6b07b; --marca-suave: #332b20;
  --tinta-fraca: #4e4740;
  --ouro: #d6b07b; --ouro-linha: #4a4033;
  --alta: #f0968a; --alta-f: #3a2422;
  --media: #e9b569; --media-f: #3a2e1c;
  --aus-ferias: #6fc3b2;  --aus-ferias-f: #1d302c;
  --aus-licenca: #c4b2ec; --aus-licenca-f: #2c2638;
  --aus-baixa: #8faac8;   --aus-baixa-f: #1f2a36;
  --aus-ferias-t: #6fc3b2; --aus-licenca-t: #c4b2ec; --aus-baixa-t: #8faac8;
  --aus-ocupado: #2e2a25;
  --urg-alta:  #edb4f2; --urg-alta-f:  #3d1543;
  --urg-media: #ff9d8c; --urg-media-f: #4a1a12;
  --urg-baixa: #ffd84d; --urg-baixa-f: #453807;
  --baixa: #a9c98a; --baixa-f: #26301e;
  --azul: #8fb8d4; --azul-f: #1f2b33;
  --roxo: #d4a8cf; --roxo-f: #33222f;
  --amarelo: #f0d060; --amarelo-f: #3a3208;
  --cinza-f: #302b25;
  --vestido: #57452c; --vestido-tinta: #f6e8cf;
  --q-fica: #35302a; --q-fica-tinta: #a79e92;
  --q-preparar-f: #40331c; --q-preparar-linha: #97733c; --q-preparar: #e9b569;
  --q-entrar-f: #26311d;   --q-entrar-linha: #3b4d2c;
  --ronda-feito: #a9c98a;
  --ronda-nada: #4e4740;
  --q-libertar-f: #fbf7f2;
  --q-libertar-tinta: #272727;       --q-libertar-tinta-2: #6b6b6b;
  --q-libertar-palavra: #7c530e;
  --q-libertar-marca: #7d5f30;
  --q-libertar-pre: #2c5470;         --q-libertar-prio: #a32e22;
  --azul-linha: #37526a; --alta-linha: #6b3a33;
  --aceitar: #b3d8be; --aceitar-f: #223028; --aceitar-linha: #3d5a48;
  --foto-tinta: #efe9e0;
  --gesto: #4b3c27; --gesto-linha: rgba(214, 176, 123, .28);
  --gesto-selo: rgba(255, 255, 255, .9);
  --fio: rgba(255, 255, 255, .10);
  --sombra: 0 1px 2px rgba(0, 0, 0, .28), 0 6px 16px rgba(0, 0, 0, .26);
  --sombra-alta: 0 16px 36px rgba(0, 0, 0, .5);
  --casa-1: #d6b07b; --casa-1-f: #3a2f20;
  --casa-2: #8fb8d4; --casa-2-f: #1f2b33;
  --casa-3: #a9c98a; --casa-3-f: #26301e;
  --casa-4: #e0a077; --casa-4-f: #38271c;
  --casa-5: #bda6d0; --casa-5-f: #2b2434;
  --casa-6: #7fc7ba; --casa-6-f: #17302c;
}


* { box-sizing: border-box; }
body {
  margin: 0; background: var(--fundo); color: var(--tinta);
  font: 16px/1.55 Quicksand, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, sans-serif;
}
body { font-weight: 500; }
header {
  position: relative;
  z-index: 10; background: rgba(255, 255, 255, .74);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  border-bottom: 1px solid var(--linha);
  box-shadow: inset 0 -2px 0 -1px var(--ouro);
}
header .barra {
  max-width: 640px; margin: 0 auto;
  display: flex; align-items: center; gap: .75rem; padding: .5rem 1rem;
}
header .logo {
  display: flex; flex-direction: column; gap: .05rem;
  text-decoration: none; color: var(--tinta); min-width: 0;
}
header .logo .grupo {
  font-family: var(--serif); font-weight: 700; font-size: .95rem;
  text-transform: uppercase; letter-spacing: .1em; line-height: 1.2;
}
header .logo .nome {
  font-size: .62rem; font-weight: 700; color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .17em; line-height: 1.2;
}
header .perfil { margin-left: auto; }
.vestido {
  position: sticky; top: 0; z-index: 9;
  background: var(--vestido); color: var(--vestido-tinta);
  display: flex; align-items: center; gap: .75rem;
  padding: .5rem 1rem;
}
.vestido .quem { display: flex; flex-direction: column; min-width: 0; }
.vestido .nome { font-size: .88rem; font-weight: 700; line-height: 1.25; }
.vestido .preco {
  font-size: .72rem; line-height: 1.25;
  color: color-mix(in srgb, var(--vestido-tinta) 72%, transparent);
}
.vestido svg.ic { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; }
.vestido form { margin-left: auto; }
.vestido button {
  border: 1px solid color-mix(in srgb, var(--vestido-tinta) 45%, transparent);
  background: transparent; color: var(--vestido-tinta);
  padding: .35rem .7rem; border-radius: var(--raio-p);
  font: inherit; font-size: .8rem; font-weight: 700;
  white-space: nowrap; cursor: pointer;
}
.vestido button:active { background: rgba(255, 255, 255, .14); }
@media (min-width: 900px) {
  .vestido { padding-left: 1.4rem; padding-right: 1.4rem; }
}
@media (hover: hover) {
  .vestido button:hover { background: rgba(255, 255, 255, .12); }
}
.lateral { display: none; }
.alternar-lateral { display: none; }
.veu-gaveta { display: none; }
.fecha-gaveta { display: none; }
.barra-baixo {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 30;
  display: flex; align-items: stretch;
  background: linear-gradient(to bottom,
              rgba(255, 255, 255, .60), rgba(255, 255, 255, .86));
  -webkit-backdrop-filter: blur(28px) saturate(185%);
  backdrop-filter: blur(28px) saturate(185%);
  border-top: 1px solid var(--linha);
  box-shadow: inset 0 3px 0 -1px var(--ouro),
              inset 0 4px 5px -4px rgba(255, 255, 255, .95),
              0 -2px 14px rgba(0,0,0,.06);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .barra-baixo { background: var(--cartao); }
}
.barra-baixo > * { flex: 1 1 0; min-width: 0; }
.barra-baixo > a {
  display: flex; flex-direction: column; align-items: center; gap: .1rem;
  padding: .4rem .15rem .45rem; text-decoration: none;
  color: var(--tinta-2); font-size: .7rem; font-weight: 600;
  letter-spacing: .01em; text-align: center;
  -webkit-tap-highlight-color: transparent;
}
.barra-baixo .icone {
  display: grid; place-items: center;
  width: 3.2rem; height: 1.9rem; border-radius: 999px;
  transition: background .18s ease, box-shadow .18s ease,
              transform .18s cubic-bezier(.34, 1.56, .64, 1);
}
.barra-baixo svg.ic {
  width: 1.45rem; height: 1.45rem; stroke-width: 1.8; vertical-align: 0;
}
.barra-baixo > a.ativo { color: var(--marca); font-weight: 700; }
.barra-baixo > a.ativo .icone {
  background: linear-gradient(to bottom,
              rgba(255, 255, 255, .55), rgba(255, 255, 255, 0)),
              var(--marca-suave);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85),
              inset 0 -1px 1px rgba(125, 95, 48, .10),
              0 1px 2px rgba(60, 45, 20, .08);
}
.barra-baixo > a.ativo svg.ic { stroke-width: 2.4; }
.barra-baixo > a:active .icone {
  background: var(--cinza-f); transform: scale(.88);
  box-shadow: inset 0 1px 2px rgba(60, 45, 20, .12);
}
@media (prefers-reduced-motion: reduce) {
  .barra-baixo .icone { transition: background .18s ease; }
  .barra-baixo > a:active .icone { transform: none; }
}
:where(html.tema-escuro) header { background: rgba(38, 35, 31, .72); }
:where(html.tema-escuro) .barra-baixo {
  background: linear-gradient(to bottom,
              rgba(38, 35, 31, .66), rgba(38, 35, 31, .88));
  box-shadow: inset 0 3px 0 -1px var(--ouro),
              inset 0 4px 5px -4px rgba(255, 255, 255, .16),
              0 -2px 14px rgba(0,0,0,.35);
}
:where(html.tema-escuro) .barra-baixo > a.ativo .icone {
  background: linear-gradient(to bottom,
              rgba(255, 255, 255, .06), rgba(255, 255, 255, 0)),
              var(--marca-suave);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14),
              inset 0 -1px 1px rgba(0, 0, 0, .30),
              0 1px 2px rgba(0, 0, 0, .25);
}
a.flutuante {
  position: fixed; right: 1rem; z-index: 40;
  bottom: calc(4.6rem + env(safe-area-inset-bottom, 0px));
  display: inline-flex; align-items: center; gap: .45rem;
  min-height: 3.25rem; padding: 0 1.15rem; border-radius: 999px;
  background: var(--gesto); border: 1px solid var(--gesto-linha);
  color: var(--tinta); text-decoration: none;
  font-size: 1rem; font-weight: 700; letter-spacing: -.01em;
  box-shadow: 0 3px 8px rgba(125, 95, 48, .18), 0 12px 26px rgba(125, 95, 48, .26);
  -webkit-tap-highlight-color: transparent;
}
a.flutuante svg.ic { width: 1.3rem; height: 1.3rem; stroke-width: 2.4; vertical-align: 0; }
a.flutuante:active { transform: scale(.97); }
@media (prefers-reduced-motion: reduce) { a.flutuante:active { transform: none; } }
@supports selector(:has(*)) {
  body:has(a.flutuante) main {
    padding-bottom: calc(8.5rem + env(safe-area-inset-bottom, 0px));
  }
}
.linguas { margin-top: 1rem; display: grid; gap: .5rem; }
.linguas .lingua {
  display: flex; align-items: center; gap: .6rem; cursor: pointer;
  padding: .8rem .9rem; border: 1px solid var(--fio);
  border-radius: var(--raio-p); background: var(--cartao);
}
.linguas .lingua.escolhida { border-color: var(--marca); background: var(--creme); }
.linguas .lingua span { font-weight: 600; }
.perfil { position: relative; }
.perfil summary {
  display: flex; align-items: center; gap: .4rem; cursor: pointer;
  min-height: 2.6rem; padding: .2rem .3rem .2rem .25rem; border-radius: 999px;
  list-style: none;  
  -webkit-tap-highlight-color: transparent;
}
.perfil summary::-webkit-details-marker { display: none; }
.perfil .avatar {
  flex: 0 0 auto; width: 2.15rem; height: 2.15rem; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--marca-suave); border: 1px solid var(--ouro-linha);
  color: var(--marca); font-size: .82rem; font-weight: 700; letter-spacing: .02em;
}
.perfil[open] > summary .avatar {
  background: var(--ouro); border-color: var(--ouro); color: #272727;
}
.perfil summary:active .avatar { filter: brightness(.97); }
.perfil .quem { display: none; flex-direction: column; line-height: 1.2; }
.perfil .menu .quem { display: flex; }
.perfil .quem .nome { font-size: .88rem; font-weight: 700; color: var(--tinta); }
.perfil .quem .funcao { font-size: .75rem; color: var(--tinta-2); }
.perfil .seta { display: inline-block; font-size: .7rem; color: var(--tinta-2); }
.perfil[open] .seta { transform: rotate(180deg); }
.perfil .menu {
  position: absolute; right: 0; top: calc(100% + .45rem); z-index: 20;
  min-width: 15rem; padding: .5rem;
  background: var(--cartao); border: 1px solid var(--linha);
  border-radius: var(--raio); box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.perfil .menu .cabeca {
  display: flex; align-items: center; gap: .6rem;
  padding: .4rem .4rem .55rem; border-bottom: 1px solid var(--linha);
}
.perfil .menu a.sair, .perfil .menu a.password, .perfil .menu a.horario,
.perfil .menu a.lingua, .perfil .menu a.avisos-telemovel {
  display: block; margin-top: .4rem; padding: .5rem .55rem; border-radius: var(--raio-p);
  color: var(--tinta); text-decoration: none; font-size: .9rem; font-weight: 600;
}
.perfil .menu a.avisos-telemovel[role="button"] {
  cursor: pointer; -webkit-user-select: none; user-select: none;
}
.perfil .menu .tema {
  display: flex; align-items: center; justify-content: space-between;
  gap: .6rem; margin-top: .4rem; padding: .1rem .45rem .1rem .55rem;
}
html:not(.com-js) .perfil .menu .tema { display: none; }
.perfil .menu .tema .rotulo {
  font-size: .85rem; font-weight: 600; color: var(--tinta-2);
}
.perfil .menu .tema .pilulas {
  display: flex; padding: 2px;
  border: 1px solid var(--linha); border-radius: 99px;
}
.perfil .menu .tema button {
  min-height: 2rem; padding: 0 .7rem; border: 0; border-radius: 99px;
  background: transparent; color: var(--tinta-2);
  font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer;
}
.perfil .menu .tema button[aria-pressed="true"] {
  background: var(--marca-suave); color: var(--marca);
}
:where(html.tema-escuro) .perfil .menu .tema button[aria-pressed="true"] {
  box-shadow: inset 0 0 0 1px var(--ouro-linha);
}
.perfil .menu { max-width: calc(100vw - 1.2rem); }
@media (max-width: 430px) {
  header .barra { gap: .5rem; padding: .5rem .8rem; }
  .barra-baixo > a { font-size: .66rem; }
  .barra-baixo .icone { width: 2.8rem; }
}
main { max-width: 640px; margin: 0 auto;
       padding: 1rem 1rem calc(5rem + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 899.98px) {
  body:not(:has(nav.barra-baixo)) main {
    padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
  }
}
.lateral .logo {
  display: flex; flex-direction: column; gap: .1rem;
  text-decoration: none; color: var(--tinta);
  padding: .2rem 2.6rem 1.15rem .7rem;
  margin-bottom: .9rem; border-bottom: 1px solid var(--linha);
}
.lateral .logo .grupo {
  font-family: var(--serif); font-weight: 700; font-size: .92rem;
  text-transform: uppercase; letter-spacing: .09em; line-height: 1.25;
}
.lateral .logo .nome {
  font-size: .62rem; font-weight: 700; color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .17em;
}
.lateral nav { display: flex; flex-direction: column; gap: .12rem; }
.lateral nav a {
  display: flex; align-items: center; gap: .7rem;
  padding: .55rem .7rem; border-radius: var(--raio-p);
  text-decoration: none; color: var(--tinta-2);
  font-size: .95rem; font-weight: 600;
  transition: background .12s, color .12s;
}
.lateral nav .icone { display: grid; place-items: center; flex: 0 0 auto; }
.lateral nav svg.ic { width: 1.25rem; height: 1.25rem; vertical-align: 0; }
.lateral nav a.ativo {
  background: var(--marca-suave); color: var(--marca); font-weight: 700;
}
.lateral nav a.ativo svg.ic { stroke-width: 2.4; }
.lateral nav .sub-separadores {
  display: flex; flex-direction: column; gap: .1rem;
  margin: .1rem 0 .35rem;
}
.lateral nav .sub-separadores a {
  padding-left: calc(.7rem + 1.25rem + .7rem); font-size: .9rem;
  font-weight: 600;
}
.lateral nav .separador-com-andar > summary {
  display: flex; align-items: center; gap: .7rem;
  padding: .55rem .7rem; border-radius: var(--raio-p);
  color: var(--tinta-2); font-size: .95rem; font-weight: 600;
  cursor: pointer; list-style: none;
  -webkit-tap-highlight-color: transparent;
  transition: background .12s, color .12s;
}
.lateral nav .separador-com-andar > summary::-webkit-details-marker {
  display: none;
}
.lateral nav .separador-com-andar > summary::after {
  content: "›"; margin-left: auto; font-size: 1.25rem; line-height: 1;
  color: var(--tinta-2); transform: rotate(90deg); transition: transform .15s;
}
.lateral nav .separador-com-andar[open] > summary::after {
  transform: rotate(-90deg);
}
@media (prefers-reduced-motion: reduce) {
  .lateral nav .separador-com-andar > summary::after { transition: none; }
}
.lateral nav summary.aberto { color: var(--marca); font-weight: 700; }
.lateral nav summary.aberto svg.ic { stroke-width: 2.4; }
.lateral nav .grupo {
  margin: 1.4rem 0 .35rem; padding: 0 .75rem;
  font-size: var(--t-micro); font-weight: 700; color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .11em;
}
.lateral .rodape {
  margin-top: auto; padding-top: .9rem; border-top: 1px solid var(--linha);
}
.lateral .perfil summary { padding: .35rem .45rem; border-radius: var(--raio-p); }
.lateral .perfil .seta { margin-left: auto; }
.lateral .perfil .menu {
  top: auto; bottom: calc(100% + .45rem); right: auto; left: 0;
  min-width: 100%; max-width: none;
}
@media (max-width: 899.98px) {
  html.com-js .abre-gaveta { display: grid; }
  .abre-gaveta {
    display: none; place-items: center; flex: 0 0 auto;
    width: 2.6rem; height: 2.6rem; padding: 0;
    border: 1px solid var(--linha); border-radius: var(--raio-p);
    background: var(--cartao); color: var(--tinta); cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .abre-gaveta svg.ic { width: 1.25rem; height: 1.25rem; vertical-align: 0; }
  .abre-gaveta:active { background: var(--cinza-f); }
  body:has(.abre-gaveta) header .barra { gap: .55rem; }
  body:has(.abre-gaveta):not(:has(.vestido)) header {
    position: sticky; top: 0;
  }
  body:has(.abre-gaveta) .lateral {
    display: flex; flex-direction: column;
    position: fixed; top: 0; bottom: 0; left: 0;
    width: min(16.5rem, 84vw); z-index: 60;
    padding: .9rem .8rem 1.1rem;
    background: var(--cartao);
    border-right: 1px solid var(--linha);
    box-shadow: inset -2px 0 0 -1px var(--ouro),
                10px 0 30px rgba(38, 35, 31, .20);
    overflow-y: auto; overscroll-behavior: contain;
  }
  html.com-js body:has(.abre-gaveta) .lateral {
    transform: translateX(-102%); visibility: hidden;
    transition: transform .22s ease, visibility .22s;
  }
  html.com-js.gaveta-aberta body:has(.abre-gaveta) .lateral {
    transform: translateX(0); visibility: visible;
  }
  html.com-js.gaveta-aberta, html.com-js.gaveta-aberta body { overflow: hidden; }
  html.com-js body:has(.abre-gaveta) .fecha-gaveta { display: grid; }
  body:has(.abre-gaveta) .fecha-gaveta {
    position: absolute; top: .75rem; right: .7rem;
    display: none; place-items: center;
    width: 2.4rem; height: 2.4rem; padding: 0;
    border: 0; border-radius: var(--raio-p);
    background: transparent; color: var(--tinta-2); cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  body:has(.abre-gaveta) .fecha-gaveta svg.ic {
    width: 1.15rem; height: 1.15rem; vertical-align: 0;
  }
  body:has(.abre-gaveta) .fecha-gaveta:active {
    background: var(--cinza-f); color: var(--tinta);
  }
  body:has(.abre-gaveta) .lateral nav a,
  body:has(.abre-gaveta) .lateral nav .separador-com-andar > summary {
    min-height: 2.75rem; -webkit-tap-highlight-color: transparent;
  }
  body:has(.abre-gaveta) .lateral nav a:active,
  body:has(.abre-gaveta) .lateral nav .separador-com-andar > summary:active {
    background: var(--cinza-f); color: var(--tinta);
  }
  body:has(.abre-gaveta) .lateral nav a.ativo:active {
    background: var(--marca-suave); color: var(--marca);
  }
  body:has(.abre-gaveta) .lateral .rodape { display: none; }
  body:has(.abre-gaveta) .alternar-lateral { display: none; }
  .veu-gaveta {
    display: block;
    position: fixed; inset: 0; z-index: 55; border: 0; padding: 0;
    background: rgba(38, 35, 31, .38); opacity: 0;
    pointer-events: none; transition: opacity .22s ease; cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  html.gaveta-aberta .veu-gaveta { opacity: 1; pointer-events: auto; }
  html.com-js.gaveta-aberta.a-arrastar body:has(.abre-gaveta) .lateral {
    transform: translateX(var(--arrasto, 0px)); transition: none;
  }
  html.a-arrastar .veu-gaveta { transition: none; }
  @media (prefers-reduced-motion: reduce) {
    body:has(.abre-gaveta) .lateral, .veu-gaveta { transition: none; }
  }
}
svg.ic {
  width: 1.05em; height: 1.05em; flex: 0 0 auto; vertical-align: -.16em;
  fill: none; stroke: currentColor; stroke-width: 1.9;
  stroke-linecap: round; stroke-linejoin: round;
}
button svg.ic, .cta svg.ic, .atalhos a svg.ic,
.filtros button svg.ic, .barra-registo a svg.ic { stroke-width: 2.4; }
h1 { font-family: var(--serif); font-weight: 400; font-size: var(--t-titulo);
     margin: 1rem 0 .5rem; letter-spacing: .01em; }
h2 { font-size: var(--t-nota); margin: 1.5rem 0 .5rem; color: var(--tinta-2);
     text-transform: uppercase; letter-spacing: .11em; font-weight: 700; }
section.ala > h2 { text-transform: none; letter-spacing: .04em; }
.cartao {
  display: block; background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio); padding: .85rem 1rem; margin-bottom: .6rem;
  box-shadow: var(--sombra); color: inherit; text-decoration: none;
}
a.cartao:active { filter: brightness(.97); }
.cartao .topo { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.cartao .id { font-weight: 700; color: var(--tinta-2); }
.cartao .onde { font-weight: 600; margin: .2rem 0 0; }
.cartao .desc { color: var(--tinta-2); margin: .1rem 0 0;
                font-size: var(--t-nota); }
.pedir-traducao {
  position: fixed; left: 1rem; z-index: 40; margin: 0;
  bottom: calc(4.6rem + env(safe-area-inset-bottom, 0px));
  max-width: calc(100vw - 12rem);
}
.pedir-traducao button {
  border: 1px solid var(--linha); background: var(--cartao);
  color: var(--tinta-2); border-radius: 999px;
  padding: .5rem .95rem; font-size: var(--t-nota); font-weight: 600;
  font-family: inherit;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08); cursor: pointer;
}
.pedir-traducao button:hover { color: var(--tinta); border-color: var(--tinta-2); }
.pedir-traducao.falhou button {
  background: var(--alta-f); color: var(--alta); border-color: var(--alta);
  white-space: normal; text-align: left; line-height: 1.3;
}
.cartao .rodape { display: flex; gap: 1rem; margin-top: .45rem;
                  color: var(--tinta-2); font-size: var(--t-nota);
                  flex-wrap: wrap; }
.cartao .rodape.compacto { row-gap: .15rem; }
.badge {
  display: inline-block; padding: .1rem .55rem; border-radius: 99px;
  font-size: var(--t-micro); font-weight: 600; white-space: nowrap;
}
.u-alta  { color: var(--urg-alta);  background: var(--urg-alta-f); }
.u-media { color: var(--urg-media); background: var(--urg-media-f); }
.u-baixa { color: var(--urg-baixa); background: var(--urg-baixa-f); }
.st-iniciado             { color: var(--azul);  background: var(--azul-f); }
.st-trabalhos-em-curso   { color: var(--media); background: var(--media-f); }
.st-em-aquisicao         { color: var(--media); background: var(--media-f); }
.st-aguarda-reatribuicao { color: var(--media); background: var(--media-f); }
.st-aguarda-recomeco     { color: var(--tinta-2); background: var(--cinza-f); }
.st-por-resolver         { color: var(--media); background: var(--media-f); }
.st-concluido            { color: var(--baixa); background: var(--baixa-f); }
.st-cancelado            { color: var(--alta); background: var(--alta-f); }
.item { margin-bottom: .6rem; }
.item .cartao {
  margin-bottom: 0; border-radius: var(--raio) var(--raio) 0 0;
  border-bottom: none; box-shadow: none;
}
.item { border-radius: var(--raio); box-shadow: var(--sombra); }
.cta {
  display: flex; align-items: center; justify-content: center; gap: .4rem;
  min-height: var(--comando); padding: .5rem .9rem; text-decoration: none;
  font-weight: 600; font-size: var(--t-nota);
  background: var(--marca-suave); color: var(--marca);
  border: 1px solid var(--fio); border-radius: var(--raio-p);
}
.item .cta { border-radius: 0 0 var(--raio) var(--raio); }
.cta:active { filter: brightness(.97); }
.cta.solo { border-radius: var(--raio-p); margin: .8rem 0; padding: .75rem;
            font-size: var(--t-corpo); }
.vazio {
  background: var(--cartao); border: 1px dashed var(--linha);
  border-radius: var(--raio);
  padding: 1.2rem 1rem; color: var(--tinta-2); text-align: center;
}
.vazio a { color: var(--marca); font-weight: 600; }
dl.meta { display: grid; grid-template-columns: auto 1fr; gap: .25rem .9rem; margin: .5rem 0; }
dl.meta dt { color: var(--tinta-2); font-size: var(--t-nota); }
dl.meta dd { margin: 0; }
.pontos-hero {
  background: var(--marca-suave); color: var(--marca);
  border-radius: var(--raio); box-shadow: var(--sombra);
  border: 1px solid var(--ouro-linha);
  text-align: center; padding: 1.1rem; margin: .8rem 0 1rem;
}
.pontos-hero strong { font-size: 2rem; display: block; font-family: var(--serif); }
ul.lista { list-style: none; margin: 0; padding: 0; }
ul.lista li { padding: .45rem 0; border-bottom: 1px solid var(--linha); }
ul.lista li:last-child { border-bottom: none; }
.fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
         gap: .5rem; }
.fotos :is(img, video) {
  width: 100%; border-radius: var(--raio-p); border: 1px solid var(--fio);
}
.fotos video { background: #1c1a17; }
.fotos .leg { font-size: var(--t-micro); color: var(--tinta-2); }
form.login { max-width: 360px; margin: 3rem auto 0; }
.marca-entrada { text-align: center; margin-bottom: 1.8rem; }
.marca-entrada .grupo {
  font-family: var(--serif); font-size: 1.15rem; margin: 0;
  text-transform: uppercase; letter-spacing: .17em; color: var(--tinta);
}
.marca-entrada .ornamento {
  color: var(--ouro); margin: .25rem 0; font-size: .8rem; line-height: 1;
}
.marca-entrada h1 {
  font-family: inherit; font-size: .82rem; font-weight: 600; margin: 0;
  text-transform: uppercase; letter-spacing: .13em; color: var(--tinta-2);
}
form.login label { display: block; margin-top: .9rem; font-size: .9rem;
                   font-weight: 600; }
form.login label:first-of-type { margin-top: 0; }
form.login input[type=tel], form.login input[type=password] {
  width: 100%; padding: .7rem .8rem; font-size: 1.05rem; border-radius: var(--raio-p);
  border: 1px solid var(--linha); background: var(--cartao); color: var(--tinta);
}
form.login .marca-teste {
  margin: 0 0 1.1rem; text-align: center; font-size: var(--t-micro);
  text-transform: uppercase; letter-spacing: .12em; color: var(--tinta-2);
}
form.login select {
  width: 100%; padding: .7rem .8rem; font-size: 1.05rem;
  border-radius: var(--raio-p); border: 1px solid var(--linha);
  background: var(--cartao); color: var(--tinta);
  font-family: inherit; cursor: pointer;
}
form.login button {
  width: 100%; margin-top: .7rem; padding: .7rem; font-size: 1rem;
  border: none; border-radius: var(--raio-p); background: var(--ouro); color: #272727;
  font-weight: 700; cursor: pointer; font-family: inherit;
  text-transform: uppercase; letter-spacing: .08em;
}
.hero-metrica {
  display: block; text-decoration: none; color: inherit;
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio); box-shadow: var(--sombra);
  padding: 1.1rem 1.2rem; margin: .8rem 0 .6rem;
}
.hero-metrica .valor {
  font-size: 3.25rem; line-height: 1; font-weight: 600; letter-spacing: -.02em;
}
.hero-metrica .rotulo { font-size: 1.05rem; color: var(--tinta-2); margin-left: .5rem; }
.hero-metrica .detalhe { color: var(--tinta-2); font-size: .9rem; margin: .5rem 0 0; }
.hero-metrica.pontos {
  background: var(--marca-suave); border-color: var(--ouro-linha);
  color: var(--marca); margin: .6rem 0 .2rem;
}
.hero-metrica.pontos .valor { font-family: var(--serif); font-weight: 400; }
.hero-metrica.pontos .rotulo,
.hero-metrica.pontos .detalhe { color: inherit; opacity: .85; }
.grelha-metricas { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; }
.metrica {
  display: block; text-decoration: none; color: inherit;
  background: var(--cartao); border: 1px solid var(--fio);
  border-left: 3px solid var(--fio); border-radius: var(--raio);
  box-shadow: var(--sombra); padding: .75rem .85rem;
}
.metrica:active, .hero-metrica:active { filter: brightness(.97); }
.metrica .valor { font-size: 1.9rem; font-weight: 600; line-height: 1.15; }
.metrica .rotulo { font-size: .9rem; font-weight: 600; }
.metrica .detalhe { color: var(--tinta-2); font-size: .78rem; margin: .2rem 0 0; }
.metrica.grave   { border-left-color: var(--alta); }
.metrica.atencao { border-left-color: var(--media); }
.metrica.bom     { border-left-color: var(--baixa); }
.metrica.sem-link:active { filter: none; }
.atalhos { display: flex; flex-wrap: wrap; gap: .4rem; margin: .6rem 0; }
.titulo-acao {
  display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .9rem;
  margin: 1rem 0 .5rem;
}
.titulo-acao h1 { margin: 0; }
.titulo-acao .atalhos { margin: 0; flex: 1 0 auto; justify-content: flex-end; }
@media (max-width: 899px) {
  .titulo-acao .atalhos { flex: 1 1 100%; min-width: 0; }
}
.atalhos a {
  flex: 1 1 auto; display: inline-flex; align-items: center; gap: .4rem;
  justify-content: center; min-height: var(--comando);
  text-align: center; text-decoration: none; font-size: var(--t-nota);
  padding: .3rem .9rem; border-radius: var(--raio-p);
  border: 1px solid var(--fio); background: var(--cartao); color: var(--marca);
  font-weight: 600; box-shadow: var(--sombra);
}
.atalhos a.destaque { border-color: var(--ouro); background: var(--marca-suave); }
.atalhos.abaixo { margin-top: 1.1rem; }
.cartao.com-alerta { border-color: var(--media); }
.alerta-linha { color: var(--media); font-size: var(--t-nota);
                margin: .45rem 0 0; }
.rodape .alerta { color: var(--media); font-weight: 600; }
.cartao.dormente { opacity: .62; }
.gaveta {
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio); box-shadow: var(--sombra);
  margin-bottom: .6rem; padding: 0 .9rem;
}
.gaveta > summary {
  display: flex; align-items: center; flex-wrap: wrap; gap: .1rem .7rem;
  padding: .75rem .1rem; cursor: pointer; list-style: none;
}
.gaveta > summary::-webkit-details-marker { display: none; }
.gaveta > summary::after {
  content: "›"; font-size: 1.5rem; line-height: 1; color: var(--tinta-2);
  transform: rotate(90deg); transition: transform .15s;
}
.gaveta[open] > summary::after { transform: rotate(-90deg); }
@media (prefers-reduced-motion: reduce) {
  .gaveta > summary::after { transition: none; }
}
.icone-local { line-height: 1; color: var(--marca); }
.icone-local svg.ic { width: 1.5rem; height: 1.5rem; stroke-width: 1.7; }
.gaveta .identidade { flex: 1 1 auto; min-width: 0; display: flex;
                      flex-direction: column; }
.gaveta .titulo { font-family: var(--serif); font-size: var(--t-medio); }
.gaveta .onde { color: var(--tinta-2); font-size: var(--t-nota); }
.gaveta .cartao { background: transparent; }
.gaveta .rotinas-do-sitio { padding-bottom: .8rem; }
.gaveta .rotinas-do-sitio .cartao:last-child { margin-bottom: 0; }
.gaveta.com-alerta { border-color: var(--media); }
.gaveta.dormente { opacity: .62; }
.gaveta .gaveta {
  background: transparent; border: 0; border-top: 1px solid var(--linha);
  border-radius: 0; margin: 0; padding: 0 0 0 .8rem;
}
.gaveta.casa > .grupos-da-casa { padding-bottom: .3rem; }
.gaveta .gaveta > summary { padding: .6rem .1rem; }
.gaveta .gaveta .titulo { font-size: var(--t-corpo); }
.gaveta .gaveta .icone-local svg.ic { width: 1.25rem; height: 1.25rem; }
.gaveta.dormente .gaveta.dormente { opacity: 1; }
.gaveta .gaveta.com-alerta { border-color: transparent; border-top-color: var(--media); }
.gaveta-feitas {
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio); box-shadow: var(--sombra);
  margin-top: 1rem; padding: 0 .9rem;
}
.gaveta-feitas > summary {
  display: flex; align-items: center; gap: .5rem;
  padding: .75rem .1rem; cursor: pointer; list-style: none;
}
.gaveta-feitas > summary::-webkit-details-marker { display: none; }
.gaveta-feitas > summary::after {
  content: "›"; margin-left: auto; font-size: 1.5rem; line-height: 1;
  color: var(--tinta-2); transform: rotate(90deg);
}
.gaveta-feitas[open] > summary::after { transform: rotate(-90deg); }
@media (prefers-reduced-motion: no-preference) {
  .gaveta-feitas > summary::after { transition: transform .15s; }
}
.gaveta-feitas .titulo { font-size: var(--t-medio); font-weight: 700; }
.gaveta-feitas .quantas {
  color: var(--tinta-2); font-size: var(--t-nota); font-weight: 700;
}
.gaveta-feitas .dentro { padding-bottom: .8rem; }
.tudo-feito {
  display: flex; flex-direction: column; align-items: center; gap: .45rem;
  margin: .7rem 0 0; padding: 1.5rem 1rem;
  border-radius: var(--raio); background: var(--baixa-f); color: var(--baixa);
  text-align: center;
}
.tudo-feito .selo {
  width: 3rem; height: 3rem; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--baixa); color: var(--cartao);
}
.tudo-feito .selo svg.ic { width: 1.6rem; height: 1.6rem; stroke-width: 2.6;
                           vertical-align: 0; }
.tudo-feito .frase { font-size: var(--t-medio); font-weight: 700; }
.tudo-feito .sub { font-size: var(--t-nota); font-weight: 600; opacity: .78; }
.cartao.rotina {
  position: relative; padding-right: 2rem;
  border-left: 3px solid transparent;
}
.cartao.rotina::after {
  content: "›"; position: absolute; top: 50%; right: .85rem;
  transform: translateY(-50%); font-size: 1.4rem; line-height: 1;
  color: var(--tinta-2);
}
.cartao.rotina .cabeca {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: .2rem .55rem;
}
.cartao.rotina .nome { font-weight: 600; }
.cartao.rotina .molde {
  display: block; color: var(--tinta-2); font-size: var(--t-nota);
  margin-top: .1rem;
}
.cartao.rotina .agora {
  display: flex; flex-wrap: wrap; gap: .1rem .9rem;
  margin-top: .4rem; font-size: var(--t-nota);
}
.cartao.rotina .agora .alerta { color: var(--media); font-weight: 600; }
.cartao.rotina.com-alerta { border-left-color: var(--media); }
.selo {
  display: inline-block; padding: .05rem .5rem; border-radius: 99px;
  font-size: .75rem; font-weight: 700; white-space: nowrap;
  text-transform: uppercase; letter-spacing: .04em;
}
.selo.e-em-curso   { color: var(--azul);    background: var(--azul-f); }
.selo.e-sem-data   { color: var(--media);   background: var(--media-f); }
.selo.e-desligada  { color: var(--tinta-2); background: var(--cinza-f); }
.selo.e-a-pedido   { color: var(--marca);   background: var(--marca-suave); }
.selo.e-por-fazer  { color: #fff;           background: var(--alta); }
:where(html.tema-escuro) .selo.e-por-fazer { color: #1c1a17; }
.lista-quartos .cartao.quarto { padding-right: 2rem; position: relative; }
.lista-quartos .cartao.quarto::after {
  content: "›"; position: absolute; top: 50%; right: .85rem;
  transform: translateY(-50%); font-size: 1.4rem; line-height: 1;
  color: var(--tinta-2);
}
.lista-quartos .cartao.quarto .cabeca {
  display: flex; align-items: center; flex-wrap: wrap; gap: .2rem .55rem;
}
.lista-quartos .cartao.quarto .nome {
  display: inline-flex; align-items: center; gap: .4rem; font-weight: 600;
}
.lista-quartos .cartao.quarto .molde {
  display: block; color: var(--tinta-2); font-size: var(--t-nota);
  margin-top: .1rem;
}
dialog.popup.sair h2 {
  color: var(--tinta); padding-right: 2rem;
  text-transform: none; letter-spacing: 0; font-size: 1.1rem;
}
dialog.popup.sair .corpo { position: relative; }
dialog.popup.sair .fechar-sair { position: absolute; top: 0; right: 0; margin: 0; }
dialog.popup.sair .fechar-sair button {
  background: none; border: none; padding: .5rem; cursor: pointer;
  color: var(--tinta-2); line-height: 0;
}
dialog.popup.sair .escolhas-sair {
  display: flex; flex-direction: column; gap: .6rem; margin-top: 1.1rem;
}
dialog.popup.sair .escolhas-sair form { margin: 0; }
dialog.popup.sair .escolhas-sair a,
dialog.popup.sair .escolhas-sair .guardar,
dialog.popup.sair .escolhas-sair button {
  display: block; width: 100%; box-sizing: border-box; text-align: center;
  padding: .8rem 1rem; font-size: 1rem; font-weight: 600; font-family: inherit;
  line-height: 1.2; letter-spacing: .01em;
  border-radius: 999px; border: 1px solid transparent; cursor: pointer;
  transition: background .15s ease, border-color .15s ease,
              box-shadow .15s ease, transform .15s ease;
}
dialog.popup.sair .escolhas-sair .guardar,
dialog.popup.sair .escolhas-sair .ficar-folha {
  background: var(--ouro); color: #1c1a17; text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3),
              0 2px 8px rgba(39, 39, 39, .12);
}
dialog.popup.sair .escolhas-sair .guardar:hover,
dialog.popup.sair .escolhas-sair .ficar-folha:hover {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3),
              0 4px 14px rgba(39, 39, 39, .18);
}
dialog.popup.sair .escolhas-sair .como-estava {
  background: transparent; color: var(--tinta-2); border-color: var(--fio);
  text-decoration: none;
}
dialog.popup.sair .escolhas-sair .como-estava:hover { background: var(--cinza-f); }
dialog.popup.sair .escolhas-sair .apagar,
dialog.popup.sair .escolhas-sair .sair-folha {
  background: transparent; color: var(--alta); border-color: var(--alta);
  text-decoration: none;
}
dialog.popup.sair .escolhas-sair .apagar:hover,
dialog.popup.sair .escolhas-sair .sair-folha:hover { background: var(--alta-f); }
dialog.popup.sair .escolhas-sair a:active,
dialog.popup.sair .escolhas-sair button:active {
  transform: translateY(1px); box-shadow: none;
}
.escolher-quarto .rotulo {
  font-size: var(--t-micro); font-weight: 700; color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .08em; margin: 0 0 .3rem;
}
.escolher-quarto .ajuda {
  color: var(--tinta-2); font-size: var(--t-nota); margin: 0 0 .8rem;
}
.escolher-quarto {
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio); box-shadow: var(--sombra);
  padding: .9rem 1rem; width: fit-content; max-width: 100%;
}
.escolher-quarto .familia { display: grid; gap: .3rem; margin: 0 0 .8rem; }
.escolher-quarto .familia:last-child { margin-bottom: 0; }
.escolher-quarto .apelido {
  font-size: var(--t-nota); color: var(--marca); font-weight: 600;
}
.escolher-quarto .numeros {
  display: flex; flex-wrap: wrap; gap: .3rem; max-width: 24.7rem;
}
.escolher-quarto .porta {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.75rem; height: 2.75rem; padding: 0 .6rem;
  font: inherit; font-weight: 600; line-height: 1; text-decoration: none;
  color: var(--tinta); background: var(--cinza-f);
  border: 1px solid transparent; border-radius: var(--raio-p);
  cursor: pointer; transition: background .12s, border-color .12s;
}
.escolher-quarto .porta:hover, .escolher-quarto .porta:focus-visible {
  background: var(--marca-suave); border-color: var(--ouro);
}
.escolher-quarto .porta.ocupada {
  color: var(--tinta-2); background: transparent;
  border-color: var(--linha); border-style: dashed; font-weight: 500;
}
@media (min-width: 900px) {
  .escolher-quarto .familia {
    grid-template-columns: 8rem 1fr; gap: .75rem; align-items: center;
  }
}
.provas-leitura {
  display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0 0;
}
.provas-leitura img {
  display: block; width: 4.5rem; height: 4.5rem; object-fit: cover;
  border-radius: var(--raio-p); border: 1px solid var(--linha);
}
.provas-leitura a:hover img { border-color: var(--ouro); }
.provas-leitura video {
  display: block; width: 11rem; height: 4.5rem; object-fit: cover;
  background: #000;
  border-radius: var(--raio-p); border: 1px solid var(--linha);
}
.molduras { margin: 0 0 .5rem; max-width: 420px; }
.molduras .tira {
  display: flex; gap: .5rem; margin: 0;
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scrollbar-width: none;
}
.molduras .tira::-webkit-scrollbar { display: none; }
.molduras .moldura {
  flex: 0 0 100%; scroll-snap-align: start;
  display: block; aspect-ratio: 4 / 3; overflow: hidden;
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio-p);
}
.molduras .moldura:not(:only-child) { flex-basis: 90%; }
.molduras .moldura img {
  display: block; width: 100%; height: 100%; object-fit: contain;
}
.molduras .moldura.video { background: #000; }
.molduras .moldura video {
  display: block; width: 100%; height: 100%; object-fit: contain;
  background: #000;
}
.molduras .leg {
  margin: .25rem 0 0; font-size: var(--t-micro); color: var(--tinta-2);
}
@media (min-width: 900px) {
  .molduras:has(.moldura:only-child) { max-width: none; width: fit-content; }
  .molduras .moldura:only-child {
    flex: 0 1 auto; aspect-ratio: auto;
    height: 21rem; width: auto; max-width: 420px;
  }
  .molduras .moldura:only-child img,
  .molduras .moldura:only-child video {
    width: auto; max-width: 100%; height: 100%;
  }
}
dialog.ver-foto {
  position: fixed; inset: 0; width: 100%; max-width: 100%;
  height: 100%; max-height: 100%;
  margin: 0; padding: 0; border: 0; background: rgba(0, 0, 0, .92);
}
dialog.ver-foto::backdrop { background: rgba(0, 0, 0, .92); }
dialog.ver-foto .tira {
  display: flex; height: 100%;
  overflow-x: auto; overscroll-behavior: contain;
  scroll-snap-type: x mandatory; scrollbar-width: none;
}
dialog.ver-foto .tira::-webkit-scrollbar { display: none; }
dialog.ver-foto .tira :is(img, video) {
  flex: 0 0 100%; scroll-snap-align: start;
  width: 100%; height: 100%; object-fit: contain;
}
dialog.ver-foto .fechar-foto {
  position: absolute; top: .7rem; right: .7rem; z-index: 1;
  display: grid; place-items: center; width: 2.6rem; height: 2.6rem;
  padding: 0; border: 0; border-radius: 50%; cursor: pointer;
  background: rgba(0, 0, 0, .5); color: #fff;
}
dialog.ver-foto .fechar-foto svg.ic { width: 1.35rem; height: 1.35rem; }
dd .observacao {
  margin: .3rem 0 0; font-size: var(--t-nota); color: var(--tinta-2);
  font-style: italic;
}
.oculta {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;
}
.ficha-rotina { display: flex; align-items: center; gap: .45rem;
                margin: .1rem 0 .4rem; color: var(--tinta-2);
                font-size: var(--t-nota); }
.ficha-rotina .icone-local svg.ic { width: 1.15rem; height: 1.15rem; }
.selos { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 1rem; }
main p a, main .nota a, main li a { color: var(--marca); font-weight: 600; }
body.leitura main a { color: var(--marca); font-weight: 600; }
.editavel > summary {
  display: inline-flex; align-items: center; gap: .35rem; cursor: pointer;
  padding: .3rem .85rem; min-height: var(--comando);
  border: 1px solid var(--linha); border-radius: 999px;
  background: var(--cartao); color: var(--marca); font-size: var(--t-nota);
  font-weight: 600; list-style: none;
}
.editavel > summary::-webkit-details-marker { display: none; }
.editavel > summary .fechar,
.editavel[open] > summary .abrir { display: none; }
.editavel[open] > summary .fechar { display: inline; }
.editavel[open] > summary { margin-bottom: 1rem; color: var(--tinta-2); }
.linha-editavel {
  display: flex; flex-wrap: wrap; gap: .6rem 1rem;
  align-items: flex-start; justify-content: space-between;
}
.linha-editavel .valor-atual { flex: 1 1 12rem; min-width: 0; }
.linha-editavel .valor-atual .quem { margin: 0; font-weight: 700; }
.linha-editavel .valor-atual .nota { margin: .3rem 0 0; }
.linha-editavel > .editavel { flex: 0 0 auto; }
.linha-editavel > .editavel[open] { flex: 1 1 100%; }
.detalhes { margin: 0 0 1rem; display: grid; gap: .75rem; }
.detalhes dt {
  font-size: var(--t-micro); font-weight: 700; color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .08em;
}
.detalhes dd { margin: .15rem 0 0; font-weight: 500; }
h2.com-acao { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
h2.com-acao a { color: var(--marca); text-decoration: none; text-transform: none;
                letter-spacing: 0; font-weight: 600; }
.filtros { display: flex; flex-wrap: wrap; gap: .4rem; margin: .8rem 0 .2rem; }
.filtros select {
  flex: 1 1 8.5rem; min-width: 0; padding: .35rem .5rem;
  min-height: var(--comando); font-size: var(--t-nota);
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  background: var(--cartao); color: var(--tinta);
}
.filtros button {
  flex: 0 0 auto; padding: .35rem 1.1rem; min-height: var(--comando);
  font-size: var(--t-nota); font-weight: 700;
  border: none; border-radius: var(--raio-p); background: var(--ouro); color: #272727;
  cursor: pointer; font-family: inherit;
  text-transform: uppercase; letter-spacing: .06em;
}
form.escolher-casa, .onde-estou {
  display: flex; align-items: center; gap: .5rem; margin: 0;
}
form.escolher-casa select {
  max-width: 100%; min-height: var(--comando);
  padding: .3rem .85rem; font: inherit; font-size: .95rem; font-weight: 700;
  letter-spacing: .01em;
  border: 1px solid var(--linha); border-radius: 99px;
  background: var(--cartao); color: var(--tinta); cursor: pointer;
  box-shadow: var(--sombra);
  appearance: none; -webkit-appearance: none; padding-right: 2.1rem;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .8rem center;
  background-size: .72rem;
}
form.escolher-casa select:hover { border-color: var(--ouro-linha); }
:where(html.tema-escuro) form.escolher-casa select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a79e92' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
.onde-estou .nome-casa {
  display: inline-flex; align-items: center; min-width: 0;
  min-height: var(--comando); padding: .3rem .9rem;
  border: 1px solid var(--ouro-linha); border-radius: 99px;
  background: var(--marca-suave); color: var(--marca);
  font-weight: 700; font-size: .95rem; letter-spacing: .01em;
}
.cartao-porta {
  display: flex; align-items: center; gap: .95rem;
  padding: 1.05rem 1rem; margin: 0 0 .8rem;
  background: var(--cartao); border: 1px solid var(--ouro-linha);
  border-radius: var(--raio); box-shadow: var(--sombra);
  text-decoration: none; color: var(--tinta);
}
.cartao-porta:hover { border-color: var(--marca); }
.cartao-porta:active { filter: brightness(.97); }
.cartao-porta .medalhao {
  flex: none; width: 2.9rem; height: 2.9rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--marca-suave); border: 1px solid var(--ouro-linha);
  color: var(--marca);
  position: relative; overflow: visible;
}
.cartao-porta .medalhao svg.ic { width: 1.4rem; height: 1.4rem; }
.cartao-porta .dizeres { flex: 1 1 auto; min-width: 0; }
.cartao-porta .verbo {
  display: block; font-family: var(--serif); font-size: 1.15rem;
  font-weight: 400; color: var(--marca); line-height: 1.25;
}
.cartao-porta .legenda {
  display: block; margin-top: .2rem; font-size: var(--t-nota);
  color: var(--tinta-2);
}
.cartao-porta .seta { flex: none; font-size: 1.5rem; color: var(--ouro); }
.cartao-porta .bolha {
  position: absolute; top: -.45rem; right: -.45rem;
  min-width: 1.35rem; height: 1.35rem; padding: 0 .3rem;
  border-radius: 999px; background: var(--media); color: #fff;
  font-size: .72rem; font-weight: 700; line-height: 1;
  display: grid; place-items: center;
  border: 2px solid var(--cartao);
  box-shadow: 0 2px 6px rgba(0, 0, 0, .22);
  font-variant-numeric: tabular-nums;
}
.filtros-estado {
  display: flex; flex-wrap: wrap; gap: .35rem; margin: .2rem 0 1rem;
}
.filtros-estado a {
  text-decoration: none; font-size: .82rem; font-weight: 600;
  padding: .35rem .75rem; border-radius: 999px;
  border: 1px solid var(--linha); background: var(--cartao); color: var(--tinta-2);
}
.filtros-estado a.ativo {
  border-color: var(--ouro); background: var(--marca-suave); color: var(--marca);
}
.filtros-estado a:active { filter: brightness(.97); }
.seletor-dia { display: flex; align-items: center; gap: .4rem; min-width: 0; }
.seletor-dia svg.ic {
  flex: 0 0 auto; width: 1rem; height: 1rem; color: var(--tinta-2);
}
.seletor-dia select {
  flex: 0 1 auto; min-width: 0; padding: .35rem .5rem;
  min-height: var(--comando); font-size: var(--t-nota); font-weight: 600;
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  background: var(--cartao); color: var(--tinta); font-family: inherit;
  cursor: pointer;
}
.seletor-dia .filtros-estado { margin: 0; }
.caras {
  display: flex; gap: .15rem; align-items: stretch;
  margin: .2rem 0 1.1rem; border-bottom: 1px solid var(--linha);
  overflow-x: auto; scrollbar-width: none;
}
.caras::-webkit-scrollbar { display: none; }
.caras a {
  flex: 0 0 auto; display: flex; align-items: center; gap: .45rem;
  padding: .55rem .9rem; white-space: nowrap;
  color: var(--tinta-2); text-decoration: none;
  font-weight: 600; font-size: var(--t-nota);
  border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.caras a svg.ic { width: 1.1rem; height: 1.1rem; vertical-align: 0; }
.caras a.ativa {
  color: var(--marca); border-bottom-color: var(--ouro); font-weight: 700;
}
.caras a.ativa svg.ic { stroke-width: 2.4; }
@media (hover: hover) {
  .caras a:hover { color: var(--tinta); }
}
.caras .conta {
  font-size: .72rem; font-weight: 700; padding: .05rem .4rem;
  border-radius: 999px; background: var(--cinza-f); color: var(--tinta-2);
}
.caras a.ativa .conta { background: var(--marca-suave); color: var(--marca); }
@media (max-width: 480px) {
  .caras-equipa a svg.ic { display: none; }
  .caras-equipa a { padding-inline: .55rem; }
}
@media (min-width: 900px) {
  .caras-equipa { display: none; }
}
.secoes { display: flex; gap: .5rem; margin: 0 0 1.4rem; flex-wrap: wrap;
          align-items: stretch; }
.secoes a {
  display: flex; align-items: center; gap: .6rem;
  padding: .6rem 1rem; min-height: var(--comando);
  border: 1px solid var(--fio); border-radius: var(--raio-p);
  background: var(--cartao); box-shadow: var(--sombra);
  color: var(--tinta-2); text-decoration: none;
  font-weight: 700; font-size: var(--t-corpo);
}
.secoes a svg.ic { width: 1.25rem; height: 1.25rem; vertical-align: 0; }
.secoes .conta {
  font-size: .78rem; font-weight: 700; padding: .05rem .45rem;
  border-radius: 999px; background: var(--cinza-f); color: var(--tinta-2);
}
.secoes a.ativa {
  border-color: var(--ouro); background: var(--marca-suave); color: var(--marca);
}
.secoes a.ativa svg.ic { stroke-width: 2.4; }
.secoes a.ativa .conta { background: rgba(255, 255, 255, .8); color: var(--marca); }
:where(html.tema-escuro) .secoes a.ativa .conta { background: rgba(0, 0, 0, .28); }
@media (hover: hover) {
  .secoes a:hover { border-color: var(--ouro-linha); color: var(--tinta); }
}
.secoes .vazia {
  display: flex; align-items: center; gap: .6rem;
  padding: .6rem 1rem; min-height: var(--comando);
  border: 1px dashed var(--linha); border-radius: var(--raio-p);
  color: var(--tinta-2); opacity: .55;
  font-weight: 700; font-size: var(--t-corpo);
}
.secoes .vazia svg.ic { width: 1.25rem; height: 1.25rem; vertical-align: 0; }
@media (max-width: 560px) {
  .secoes {
    flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
    margin-left: -1rem; margin-right: -1rem;
    padding: 0 1rem .3rem;
  }
  .secoes::-webkit-scrollbar { display: none; }
  .secoes a, .secoes .vazia { flex: 0 0 auto; white-space: nowrap; }
}
.resumo-lista {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .9rem;
  margin: 0 0 .7rem;
}
.resumo-lista .conta { font-size: 1.05rem; font-weight: 600; }
.resumo-lista .pontos { color: var(--marca); font-weight: 600; font-size: .9rem; }
.resumo-lista .pontos svg.ic { width: 1em; height: 1em; }
.resumo-lista a { color: var(--marca); font-size: .85rem; text-decoration: none; }
.linhas {
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio); box-shadow: var(--sombra); overflow: hidden;
}
.linhas > .linha + .linha { border-top: 1px solid var(--linha); }
.linha { display: flex; align-items: stretch; }
.linha .alvo {
  flex: 1 1 auto; min-width: 0;
  display: grid; grid-template-columns: auto auto 1fr;
  align-items: baseline; gap: .1rem .55rem;
  padding: .7rem 1rem; text-decoration: none; color: inherit;
}
.linha .id { font-weight: 700; color: var(--tinta-2); font-size: .88rem; }
.linha .alvo > .badge { justify-self: start; }
.linha .onde { grid-column: 1 / -1; min-width: 0; }
.linha .sitio { font-weight: 600; }
.linha .desc {
  color: var(--tinta-2); font-size: .9rem;
  display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.linha .factos {
  grid-column: 1 / -1; display: flex; flex-wrap: wrap; min-width: 0;
  align-items: center; gap: .25rem .7rem;
  color: var(--tinta-2); font-size: .82rem; margin-top: .15rem;
}
.linha .factos svg.ic { width: 1em; height: 1em; }
.linha .factos .atrasada { color: var(--media); font-weight: 600; }
.linha .sem-ninguem { font-style: italic; }
.linha .motivo {
  grid-column: 1 / -1; color: var(--tinta-2); font-size: .82rem;
  margin-top: .15rem;
}
.linha .motivo svg.ic { width: 1em; height: 1em; }
.linha:active { background: var(--cinza-f); }
.pendente {
  display: flex; align-items: center; gap: .55rem; min-width: 0;
  padding: .7rem .75rem; margin: 0 0 .55rem;
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: 22px; box-shadow: var(--sombra);
  text-decoration: none; color: var(--tinta);
  transition: transform .1s, border-color .15s;
}
.pendente:hover { border-color: var(--ouro-linha); }
.pendente:active { transform: scale(.985); }
.pendente .dizeres { flex: 1 1 auto; min-width: 0; }
.pendente .cabeca { display: flex; align-items: baseline; gap: .4rem; }
.pendente .casa {
  flex: 1 1 0; min-width: 0;
  font-size: .66rem; font-weight: 600; letter-spacing: .07em;
  text-transform: uppercase; color: var(--tinta-2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.pendente .quando {
  flex: 0 0 auto; margin-left: auto; color: var(--tinta-2);
  font-size: .74rem; font-variant-numeric: tabular-nums; white-space: nowrap;
}
.pendente .quando.espera-muito { color: var(--media); font-weight: 600; }
.pendente .quarto {
  display: block; margin-top: .12rem;
  font-weight: 700; font-size: 1.02rem; line-height: 1.2;
  overflow-wrap: anywhere;
}
.pendente .frase {
  display: block; margin: .1rem 0 0; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
  color: var(--tinta-2); font-size: .88rem; line-height: 1.35;
}
.pendente .rodape {
  display: flex; align-items: center; flex-wrap: wrap; gap: .2rem .45rem;
  margin-top: .3rem; font-size: .76rem; color: var(--marca);
}
.pendente .rodape svg.ic { width: 1em; height: 1em; }
.pendente .rodape .sem-ninguem { font-style: italic; color: var(--tinta-2); }
.pendente .foto {
  flex: 0 0 auto; width: 3.6rem; height: 3.6rem; object-fit: cover;
  border-radius: var(--raio-p); border: 1px solid var(--fio);
}
.pendente .rodape .badge { margin: -.1rem 0; }
.pilha { display: grid; gap: .55rem; margin: 0 0 1.2rem; }
.cabeca-pilha {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: .8rem; margin: 0 .4rem .45rem;
}
.cabeca-pilha h2 { margin: 0; }
.cabeca-pilha .conta {
  color: var(--tinta-2); font-size: .82rem; font-variant-numeric: tabular-nums;
}
.cabeca-pilha .conta.bolha-nova {
  min-width: 1.05rem; height: 1.05rem; padding: 0;
  border-radius: 999px; background: var(--alta); color: #fff;
  display: grid; place-items: center;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .16);
}
.cabeca-pilha .conta.bolha-nova svg.ic {
  width: .78rem; height: .78rem; stroke-width: 2.6;
}
.notificacao {
  display: flex; align-items: center; gap: .55rem; min-width: 0;
  padding: .7rem .75rem; border-radius: 22px;
  background: var(--cartao);
  border: 1px solid var(--fio); box-shadow: var(--sombra);
}
.notificacao.urgente {
  background: #f9f0fb;
  border-color: rgba(115, 58, 114, .22);
  box-shadow: 0 1px 2px rgba(115, 58, 114, .06),
              0 6px 16px rgba(115, 58, 114, .1);
}
.notificacao .alvo {
  flex: 1 1 auto; min-width: 0; display: flex; align-items: center;
  padding: 0; text-decoration: none; color: inherit;
}
.notificacao .corpo { flex: 1 1 auto; min-width: 0; }
.notificacao .cabeca {
  display: flex; align-items: baseline; gap: .4rem;
}
.notificacao .casa {
  flex: 1 1 0; min-width: 0;
  font-size: .66rem; font-weight: 600; letter-spacing: .07em;
  text-transform: uppercase; color: var(--tinta-2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.notificacao .sitio {
  display: block; margin-top: .12rem;
  font-weight: 700; font-size: 1.02rem; line-height: 1.2;
  overflow-wrap: anywhere;
}
.notificacao .quando {
  flex: 0 0 auto; margin-left: auto; color: var(--tinta-2);
  font-size: .74rem; font-variant-numeric: tabular-nums;
}
.urge {
  flex: 0 0 auto; font-size: .68rem; font-weight: 700; color: var(--alta);
  text-transform: uppercase; letter-spacing: .06em;
}
.notificacao .desc {
  display: block; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
  margin-top: .1rem; color: var(--tinta-2); font-size: .88rem;
  line-height: 1.35;
}
.notificacao .extra {
  display: flex; align-items: center; flex-wrap: wrap; gap: .2rem .45rem;
  margin-top: .3rem; font-size: .76rem; color: var(--marca);
}
.notificacao .extra svg.ic { width: 1em; height: 1em; }
.badge.tipo {
  background: var(--marca-suave); color: var(--marca);
  border: 1px solid var(--ouro-linha);
}
.badge.espera { background: var(--media-f); color: var(--media); }
.notificacao .extra .motivo {
  color: var(--tinta-2); min-width: 0; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap;
}
.notificacao:active { transform: scale(.985); }
.notificacao { transition: transform .1s, box-shadow .15s; }
.pilha + .nota { margin: -.7rem .4rem 1.2rem; }
.dobra > summary {
  display: flex; align-items: center; justify-content: center; gap: .35rem;
  width: fit-content; margin: 0 auto; padding: .45rem 1rem;
  border-radius: 999px; border: 1px solid var(--fio); background: var(--cartao);
  color: var(--marca); font-size: .82rem; font-weight: 600;
  cursor: pointer; list-style: none;
}
.dobra > summary::-webkit-details-marker { display: none; }
.dobra > summary::after {
  content: "›"; font-size: 1.15rem; line-height: 1; color: var(--tinta-2);
  transform: rotate(90deg); transition: transform .15s;
}
.dobra[open] > summary::after { transform: rotate(-90deg); }
@media (prefers-reduced-motion: reduce) {
  .dobra > summary::after { transition: none; }
}
.dobra > summary:active { transform: scale(.985); }
.dobra .fechar, .dobra[open] .abrir { display: none; }
.dobra[open] .fechar { display: inline; }
.dobra[open] { display: flex; flex-direction: column-reverse; }
.dobra .pilha { margin: 0 0 .55rem; }
.notificacao .terminar-ja { flex: 0 0 auto; margin: 0; }
.notificacao a.terminar-ja {
  display: flex; flex-direction: column; align-items: center; gap: .25rem;
  text-decoration: none; color: var(--marca);
  transition: transform .1s;
}
.notificacao .terminar-ja .disco {
  width: 2.9rem; height: 2.9rem; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--marca-suave); border: 1px solid var(--ouro-linha);
  transition: border-color .12s;
  animation: respira-terminar 2.8s ease-in-out infinite;
}
.notificacao .terminar-ja .disco.conta {
  font-size: var(--t-nota); font-weight: 600; letter-spacing: -.02em;
}
.notificacao:nth-child(4n+2) .terminar-ja .disco { animation-delay: .4s; }
.notificacao:nth-child(4n+3) .terminar-ja .disco { animation-delay: .8s; }
.notificacao:nth-child(4n) .terminar-ja .disco { animation-delay: 1.2s; }
form.foto-a-subir label:has(input[type=file]) {
  pointer-events: none;
  animation: foto-a-subir 1.1s ease-in-out infinite;
}
@keyframes foto-a-subir {
  0%, 100% { opacity: 1; }
  50% { opacity: .35; }
}
@media (prefers-reduced-motion: reduce) {
  form.foto-a-subir label:has(input[type=file]) { animation: none; opacity: .5; }
}
@keyframes respira-terminar {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.09); }
}
.notificacao .terminar-ja .rot {
  font-size: .68rem; font-weight: 700; letter-spacing: .02em;
}
.notificacao .terminar-ja svg.ic { width: 1.4rem; height: 1.4rem; }
.notificacao a.terminar-ja:active { transform: scale(.96); }
.notificacao .foto-ja { flex: 0 0 auto; margin: 0; }
.notificacao a.foto-ja {
  display: block; border-radius: var(--raio-p); overflow: hidden;
  background: var(--cinza-f); border: 1px solid var(--fio);
  transition: transform .1s, border-color .12s;
}
.notificacao .foto-ja :is(img, video) {
  display: block; width: 3.6rem; height: 3.6rem; object-fit: cover;
}
.notificacao a.foto-ja:has(video) { position: relative; background: #000; }
.notificacao a.foto-ja:has(video)::after {
  content: ""; position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%); pointer-events: none;
  border-style: solid; border-width: .42rem 0 .42rem .72rem;
  border-color: transparent transparent transparent #fff;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .8));
}
.notificacao a.foto-ja:active { transform: scale(.96); }
.notificacao .abrir-ja { flex: 0 0 auto; margin: 0; }
.notificacao a.abrir-ja {
  min-height: 2.6rem; padding: 0 .95rem; border-radius: 999px;
  display: flex; align-items: center; position: relative;
  font-family: inherit; font-size: .84rem; font-weight: 700;
  white-space: nowrap; cursor: pointer; text-decoration: none;
  background: linear-gradient(135deg, #fffdf8 0%, #faf1e0 100%);
  border: 1px solid var(--ouro-linha); color: var(--marca);
  transition: transform .1s, border-color .12s;
}
.notificacao a.abrir-ja:active { transform: scale(.96); }
.notificacao .abrir-ja .ponto-nova {
  position: absolute; top: -.4rem; right: -.4rem;
  width: 1.05rem; height: 1.05rem; border-radius: 50%;
  background: var(--alta); border: 2px solid var(--cartao);
  box-shadow: 0 2px 6px rgba(0, 0, 0, .22);
}
@media (prefers-reduced-motion: reduce) {
  .notificacao,
  .notificacao a.terminar-ja,
  .notificacao a.foto-ja,
  .notificacao a.abrir-ja { transition: none; }
  .notificacao:active,
  .notificacao a.terminar-ja:active,
  .notificacao a.foto-ja:active,
  .notificacao a.abrir-ja:active { transform: none; }
  .notificacao .terminar-ja .disco { animation: none; }
}
:where(html.tema-escuro) .notificacao {
  background: var(--cartao); border-color: var(--fio); box-shadow: var(--sombra);
}
:where(html.tema-escuro) .notificacao.urgente {
  background: #2f2233; border-color: rgba(212, 168, 207, .26);
}
:where(html.tema-escuro) .notificacao a.abrir-ja {
  background: linear-gradient(135deg, #2b2620 0%, #332b20 100%);
  border-color: var(--ouro-linha); color: var(--marca);
}
:where(html.tema-escuro) .notificacao .abrir-ja .ponto-nova {
  border-color: var(--cartao); box-shadow: 0 2px 6px rgba(0, 0, 0, .4);
}
:where(html.tema-escuro) .cabeca-pilha .conta.bolha-nova { color: #1c1a17; }
details.perigo { margin: 2rem 0 0; padding-top: 1rem; border-top: 1px solid var(--linha); }
details.perigo summary { color: var(--alta); cursor: pointer; font-size: .95rem; }
details.perigo input[type=text] {
  width: 100%; margin-top: .6rem; padding: .6rem .7rem; font-size: 1rem;
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  background: var(--cartao); color: var(--tinta);
}
details.perigo button {
  width: 100%; margin-top: .5rem; padding: .65rem; font-size: 1rem;
  border: none; border-radius: var(--raio-p); background: var(--alta); color: #fff;
  font-weight: 600; cursor: pointer;
}
.cartao.cancelada { border-color: var(--alta); }
.cartao.cancelada .desc { margin-top: .3rem; }
.cartao.pedido-externo-ficha {
  border: 1px solid var(--fio); border-radius: var(--raio); padding: 1rem 1.2rem;
}
.cartao.pedido-externo-ficha.pedido { border-color: var(--ouro-linha); }
.pedido-externo-ficha .cabeca-pedido { display: flex; align-items: center; gap: .8rem; }
.pedido-externo-ficha .medalha {
  width: 2.4rem; height: 2.4rem; border-radius: 50%; flex: 0 0 auto;
  display: grid; place-items: center; background: var(--cinza-f);
  color: var(--tinta-2);
}
.pedido-externo-ficha .medalha svg.ic { width: 1.25rem; height: 1.25rem; }
.pedido-externo-ficha.pedido .medalha { background: var(--media-f); color: var(--media); }
.pedido-externo-ficha.marcado .medalha,
.pedido-externo-ficha.chegou .medalha { background: var(--marca-suave); color: var(--marca); }
.pedido-externo-ficha .dizer { min-width: 0; }
.pedido-externo-ficha .cabeca-pedido .id { display: block; font-weight: 600; line-height: 1.3; }
.pedido-externo-ficha .cabeca-pedido .estado {
  display: block; font-size: var(--t-nota); color: var(--tinta-2);
}
.pedido-externo-ficha.pedido .cabeca-pedido .estado { color: var(--media); font-weight: 600; }
.cartao.pedido-externo-ficha .desc { margin: .6rem 0 0; }
.cartao.pedido-externo-ficha .rodape {
  margin-top: .7rem; padding-top: .6rem; border-top: 1px solid var(--linha);
}
.cartao.pedido-externo-ficha .fotos-peca {
  display: flex; flex-wrap: wrap; gap: .5rem; margin: .7rem 0 0;
}
.cartao.pedido-externo-ficha .fotos-peca img {
  width: 3.4rem; height: 3.4rem; object-fit: cover;
  border-radius: var(--raio-p); border: 1px solid var(--fio); display: block;
}
:where(html.tema-escuro) details.perigo button { color: #1c1a17; }
.aviso { background: var(--alta-f); color: var(--alta);
         border-radius: var(--raio-p); padding: .7rem .9rem; margin: .8rem 0; }
.aviso.morno { background: var(--media-f); color: var(--media); }
.aviso.bom { background: var(--baixa-f); color: var(--baixa); }
.recado {
  position: fixed; z-index: 40; left: 50%; top: 4.4rem;
  width: min(26rem, calc(100% - 1.6rem)); box-sizing: border-box;
  display: flex; align-items: center; gap: .7rem;
  padding: .7rem .8rem; border-radius: var(--raio);
  font-weight: 600; background: var(--cartao); color: var(--tinta);
  box-shadow: 0 6px 14px rgba(125, 95, 48, .14),
              0 18px 40px rgba(125, 95, 48, .20);
  animation: recado-entra .22s ease-out both,
             recado-sai .34s cubic-bezier(.4, 0, 1, 1) 2.6s both;
}
.recado .disco {
  flex: 0 0 auto; width: 2.3rem; height: 2.3rem; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--baixa); color: var(--cartao);
}
.recado .disco svg.ic {
  width: 1.25rem; height: 1.25rem; stroke-width: 2.6; vertical-align: 0;
}
.recado.mau .disco { background: var(--alta); }
.recado.placa .disco { background: var(--tinta); }
.recado .dizeres { display: flex; flex-direction: column; min-width: 0; }
.recado .dizeres > span:first-child { font-weight: 700; line-height: 1.25; }
.recado .sub {
  font-size: var(--t-nota); font-weight: 600; color: var(--tinta-2);
}
@keyframes recado-entra {
  from { opacity: 0; transform: translate(-50%, -.7rem); }
  to   { opacity: 1; transform: translate(-50%, 0); }
}
@media (max-width: 900px) {
  .recado { top: auto; bottom: 5.6rem; }
  @keyframes recado-entra {
    from { opacity: 0; transform: translate(-50%, .7rem); }
    to   { opacity: 1; transform: translate(-50%, 0); }
  }
}
@keyframes recado-sai {
  0%   { opacity: 1; transform: translate(-50%, 0); }
  55%  { opacity: 1; }
  100% { opacity: 0; visibility: hidden;
         transform: translate(-50%, calc(-100% - 4.6rem)); }
}
@media (prefers-reduced-motion: reduce) {
  .recado { animation: recado-sai .01s linear 2.6s both; }
}
@media (min-width: 900px) {
  .recado {
    left: auto; right: 1.5rem; top: 1.2rem; width: 22rem;
    animation: recado-entra-canto .22s ease-out both,
               recado-sai-canto .34s cubic-bezier(.4, 0, 1, 1) 2.6s both;
  }
  @keyframes recado-entra-canto {
    from { opacity: 0; transform: translateY(-.7rem); }
    to   { opacity: 1; transform: none; }
  }
  @keyframes recado-sai-canto {
    0%   { opacity: 1; transform: none; }
    55%  { opacity: 1; }
    100% { opacity: 0; visibility: hidden;
           transform: translateY(calc(-100% - 1.4rem)); }
  }
  @media (prefers-reduced-motion: reduce) {
    .recado { animation: recado-sai-canto .01s linear 2.6s both; }
  }
}
.nota { color: var(--tinta-2); font-size: var(--t-nota); }
.agora .falta { display: block; margin-top: .35rem; color: var(--media);
                font-weight: 600; }
.impedido { margin: 0; color: var(--media); font-weight: 600;
            line-height: 1.45; }
.impedido + .nota { margin-top: .4rem; }
dialog.popup {
  border: none; border-radius: var(--raio); padding: 0; max-width: 32rem;
  width: calc(100% - 2rem); background: var(--cartao); color: var(--tinta);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .28);
}
dialog.popup::backdrop { background: rgba(0, 0, 0, .45); }
dialog.popup .corpo { padding: 1.1rem 1.2rem 1.2rem; }
dialog.popup h2 {
  margin: 0 0 .5rem; font-size: 1.05rem; color: var(--media);
}
dialog.popup p { margin: 0 0 1rem; line-height: 1.45; }
dialog.popup button {
  width: 100%; padding: .65rem; font-size: 1rem; font-weight: 600;
  border: none; border-radius: var(--raio-p); background: var(--marca); color: #fff;
  cursor: pointer;
}
form.editar .campo { margin-bottom: .9rem; }
form.editar label {
  display: block; font-size: var(--t-micro); font-weight: 700;
  color: var(--tinta-2); text-transform: uppercase; letter-spacing: .08em;
  margin-bottom: .3rem;
}
form.editar label .opcional { text-transform: none; letter-spacing: 0;
                              font-weight: 500; }
form.editar input, form.editar select, form.editar textarea {
  width: 100%; padding: .6rem .7rem; font: inherit; font-weight: 500;
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  background: var(--cartao); color: var(--tinta);
}
form.editar textarea { resize: vertical; }
form.editar .ajuda { color: var(--tinta-2); font-size: var(--t-nota);
                     margin: .3rem 0 0; }
form.editar select {
  appearance: none; -webkit-appearance: none; padding-right: 2.2rem;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .7rem center;
  background-size: .8rem; cursor: pointer;
}
:where(html.tema-escuro) form.editar select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a79e92' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
form.editar .folha {
  background: var(--cartao); border: 1px solid var(--linha);
  border-radius: var(--raio); padding: 1.1rem 1.1rem .3rem;
}
form.editar .folha > h2.seccao:first-child,
form.editar .folha > .grupo:first-child > h2.seccao:first-child {
  margin-top: 0; padding-top: 0; border-top: none;
}
form.editar .folha input, form.editar .folha select,
form.editar .folha textarea { background-color: var(--fundo); }
form.editar .fecho {
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.2rem;
  margin-top: 1rem; justify-content: flex-end;
}
form.editar .fecho .nota { flex: 1 1 15rem; margin: 0; }
form.editar fieldset { border: 0; padding: 0; margin: 0 0 .9rem; min-width: 0; }
form.editar legend {
  padding: 0; margin-bottom: .3rem; font-size: var(--t-micro); font-weight: 700;
  color: var(--tinta-2); text-transform: uppercase; letter-spacing: .08em;
}
:is(form.editar, form.pedido) .escolhas { display: grid; gap: .4rem; }
form.editar .escolhas.dois { grid-template-columns: repeat(2, minmax(0, 1fr)); }
:is(form.editar, form.pedido) .escolhas.tres {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
form.editar .escolhas.quatro { grid-template-columns: repeat(2, minmax(0, 1fr)); }
form.editar .escolhas.frases { grid-template-columns: 1fr; }
form.editar .escolhas.frases label.escolha {
  flex-direction: row; align-items: center; justify-content: flex-start;
  text-align: left; min-height: 0; padding: .55rem .7rem;
  font-weight: 500; font-size: .92rem; line-height: 1.35;
}
:is(form.editar, form.pedido) label.escolha {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; position: relative; gap: .05rem; margin: 0;
  cursor: pointer;
  min-height: 3.2rem; padding: .45rem .5rem; text-align: center;
  overflow-wrap: break-word; min-width: 0;
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  background: var(--fundo); color: var(--tinta);
  font-size: .95rem; font-weight: 600;
  text-transform: none; letter-spacing: 0;
}
:is(form.editar, form.pedido) label.escolha input {
  position: absolute; width: 1px; height: 1px; opacity: 0; margin: 0;
}
form.editar label.escolha .quanto {
  font-size: var(--t-micro); font-weight: 600; color: var(--tinta-2);
}
:is(form.editar, form.pedido) label.escolha:has(input:checked) {
  color: var(--marca); background: var(--marca-suave); border-color: var(--marca);
  box-shadow: inset 0 0 0 1px var(--marca);
}
form.editar label.escolha:has(input:checked) .quanto { color: inherit; }
:is(form.editar, form.pedido) label.escolha:has(input:focus-visible) {
  outline: 2px solid var(--marca); outline-offset: 2px;
}
:is(form.editar, form.pedido) label.escolha.urg-alta  { --nivel: var(--urg-alta);  --cheio: var(--urg-alta-f); }
:is(form.editar, form.pedido) label.escolha.urg-media { --nivel: var(--urg-media); --cheio: var(--urg-media-f); }
:is(form.editar, form.pedido) label.escolha.urg-baixa { --nivel: var(--urg-baixa); --cheio: var(--urg-baixa-f); }
:is(form.editar, form.pedido) .escolhas.tres:has(.escolha.nivel) {
  display: flex; flex-wrap: wrap; gap: 3px; padding: 3px;
  border: 1px solid var(--linha); border-radius: 24px;
  background: var(--cinza-f);
}
:is(form.editar, form.pedido) label.escolha.nivel {
  flex: 1 1 6rem; min-width: 0;
  min-height: 2.9rem; padding: .55rem .5rem;
  border: none; border-radius: 21px;
  background: transparent; color: var(--tinta-2);
  box-shadow: none;
}
:is(form.editar, form.pedido) label.escolha.nivel .nome {
  display: block; text-align: center; text-wrap: balance;
}
:is(form.editar, form.pedido) label.escolha.nivel:has(input:checked) {
  background: var(--cheio); color: var(--nivel);
  box-shadow: inset 0 0 0 1px var(--nivel);
}
form.editar fieldset.campo:has(.escolha.nivel) {
  container-type: inline-size; container-name: calha-urgencia;
}
@container calha-urgencia (max-width: 21rem) {
  :is(form.editar, form.pedido) .escolhas.tres:has(.escolha.nivel) { flex-direction: column; }
  :is(form.editar, form.pedido) label.escolha.nivel { flex: 0 0 auto; min-height: 2.6rem; }
}
@keyframes pisca-nivel {
  0%, 100% { box-shadow: inset 0 0 0 1px var(--nivel), 0 0 0 0 var(--nivel); }
  50%      { box-shadow: inset 0 0 0 1px var(--nivel), 0 0 0 .3rem transparent; }
}
:is(form.editar, form.pedido) label.escolha.urg-alta:has(input:checked) {
  animation: pisca-nivel 1.6s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  :is(form.editar, form.pedido) label.escolha.urg-alta:has(input:checked) { animation: none; }
}
.oficios { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; }
.oficios label, form.editar .oficios label {
  position: relative; display: inline-flex; align-items: center; gap: .3rem;
  min-height: 0; margin: 0; padding: .6rem .9rem; border-radius: 999px;
  background: var(--cartao); border: 1px solid var(--linha);
  color: var(--tinta); font-size: .9rem; font-weight: 600; cursor: pointer;
  text-transform: none; letter-spacing: 0;
  -webkit-tap-highlight-color: transparent;
}
.oficios input {
  position: absolute; width: 1px; height: 1px; opacity: 0; margin: 0;
  pointer-events: none;
}
.oficios svg.ic { display: none; }
.oficios input:checked + svg.ic { display: inline; }
.oficios label:has(input:checked), form.editar .oficios label:has(input:checked) {
  background: var(--marca-suave); border: 1.5px solid var(--ouro);
  color: var(--marca); font-weight: 700;
}
.oficios label:has(input:focus-visible),
form.editar .oficios label:has(input:focus-visible) {
  outline: 2px solid var(--ouro); outline-offset: 2px;
}
form.editar .campo.estreito input { max-width: 8rem; }
form.editar button.principal {
  width: 100%; margin-top: .4rem; padding: .7rem 1.4rem; font-size: 1rem;
  border: none; border-radius: var(--raio-p); background: var(--ouro); color: #272727;
  font-weight: 700; cursor: pointer; font-family: inherit;
  text-transform: uppercase; letter-spacing: .08em;
}
form.editar .fecho button.principal { margin-top: 0; }
button:disabled { opacity: .5; cursor: progress; }
:is(form.editar, form.pedido) .anexar {
  display: inline-flex; align-items: center; gap: .35rem; cursor: pointer;
  margin-top: .5rem; padding: .35rem .7rem;
  border: 1px dashed var(--linha); border-radius: 999px;
  background: var(--fundo); color: var(--tinta-2);
  font-size: var(--t-nota); font-weight: 600;
}
:is(form.editar, form.pedido) .anexar:hover {
  color: var(--marca); border-color: var(--ouro-linha);
}
:is(form.editar, form.pedido) .anexar input {
  position: absolute; width: 1px; height: 1px; opacity: 0;
}
:is(form.editar, form.pedido) .anexar:has(input:focus-visible) {
  outline: 2px solid var(--marca); outline-offset: 2px;
}
form.editar .provas {
  display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem;
}
form.editar .provas :is(img, video) {
  width: 1.75rem; height: 1.75rem; object-fit: cover;
  border-radius: .3rem; border: 1px solid var(--linha);
  background: var(--fundo);
}
form.editar .provas .video { position: relative; display: inline-flex; }
form.editar .provas .video::after {
  content: ""; position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  border-style: solid; border-width: .22rem 0 .22rem .38rem;
  border-color: transparent transparent transparent #fff;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .7));
}
form.editar .provas .quantas {
  align-self: center; font-size: var(--t-nota); color: var(--tinta-2);
}
form.editar .provas :is(img, video).nova, .provas :is(img, video).nova,
.provas-anexadas :is(img, video).nova {
  border: 1px dashed var(--ouro);
}
form.editar .provas .quantas.por-enviar,
.provas .quantas.por-enviar, .provas-anexadas .quantas.por-enviar {
  align-self: center; font-size: var(--t-nota);
  color: var(--marca); font-weight: 600;
}
form.editar .anexar.escolhida, .anexar-prova.escolhida {
  border-style: solid; border-color: var(--ouro); color: var(--marca);
}
.caixa-foto {
  display: flex; flex-direction: column; align-items: flex-start; gap: .5rem;
  min-height: 4.5rem; padding: .6rem .7rem;
  background: var(--cartao); border: 1px solid var(--linha);
  border-radius: var(--raio-p);
}
.caixa-foto .anexar, .caixa-foto .provas { margin-top: 0; }
.caixa-foto:has(.provas.com-lista .peca-foto) .anexar { order: 2; }
.fotos-atuais, .provas.com-lista {
  display: flex; flex-wrap: wrap; gap: .5rem;
  align-items: center;
}
.peca-foto {
  position: relative; display: block; width: 6rem; height: 6rem;
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  background: var(--fundo); overflow: hidden;
}
.peca-foto .olhar { display: block; width: 100%; height: 100%; }
.peca-foto :is(img, video), .peca-foto :is(img, video).nova {
  display: block; width: 100%; height: 100%; object-fit: cover;
  border: none; border-radius: 0;
}
.peca-foto.nova { border: 1px dashed var(--ouro); }
.peca-foto .tirar-x input {
  position: absolute; width: 1px; height: 1px; opacity: 0; margin: 0;
}
.peca-foto .tirar-x {
  position: absolute; top: 0; right: 0; width: 2rem; height: 2rem; margin: 0;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  padding: 0; border: none; background: none;
}
.peca-foto .tirar-x > span {
  display: flex; align-items: center; justify-content: center;
  width: 1.125rem; height: 1.125rem; border-radius: 50%;
  background: #fff; border: 1px solid rgba(39, 39, 39, .2);
  color: #272727;
  box-shadow: 0 1px 3px rgba(39, 39, 39, .28);
}
.peca-foto .tirar-x > span svg.ic { width: .54rem; height: .54rem; }
.peca-foto .tirar-x:hover > span {
  color: var(--alta); border-color: var(--alta-linha);
}
.peca-foto .tirar-x:has(input:focus-visible) > span,
.peca-foto .tirar-x:focus-visible > span {
  outline: 2px solid var(--marca); outline-offset: 2px;
}
.peca-foto .volta-atras { display: none; }
.peca-foto:has(input:checked) { border-color: var(--alta-linha); }
.peca-foto:has(input:checked) :is(img, video) { opacity: .2; }
.peca-foto:has(input:checked) .tirar-x { display: none; }
.peca-foto:has(input:checked) .volta-atras {
  position: absolute; inset: 0; margin: 0; cursor: pointer;
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: .05rem; color: var(--alta);
}
.peca-foto .volta-atras svg.ic { width: 1.15rem; height: 1.15rem; }
.peca-foto .volta-atras .palavra {
  font-size: .66rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase;
}
dialog.fonte-foto {
  border: none; padding: 0; margin: auto auto 0;
  width: 100%; max-width: 100%;
  background: var(--cartao); color: var(--tinta);
  border-radius: var(--raio) var(--raio) 0 0;
  box-shadow: 0 -8px 40px rgba(0, 0, 0, .3);
}
dialog.fonte-foto::backdrop { background: rgba(0, 0, 0, .45); }
@media (min-width: 900px) {
  dialog.fonte-foto {
    margin: auto; max-width: 22rem; border-radius: var(--raio);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .28);
  }
}
dialog.fonte-foto .fonte {
  display: flex; align-items: center; gap: .8rem; width: 100%;
  padding: 1.05rem 1.3rem; border: none; border-bottom: 1px solid var(--linha);
  background: none; color: var(--tinta); font-family: inherit;
  font-size: 1.02rem; font-weight: 600; text-align: left; cursor: pointer;
}
dialog.fonte-foto .fonte:active { background: var(--marca-suave); }
dialog.fonte-foto .fonte svg.ic {
  width: 1.4rem; height: 1.4rem; color: var(--marca); flex: 0 0 auto;
}
dialog.fonte-foto .desistir-fonte {
  display: block; width: 100%; padding: .95rem;
  border: none; border-top: .4rem solid var(--fundo);
  padding-bottom: calc(.95rem + env(safe-area-inset-bottom));
  background: none; color: var(--tinta-2);
  font-family: inherit; font-size: 1rem; cursor: pointer;
}
dialog.anotar {
  position: fixed; inset: 0; width: 100%; max-width: 100%;
  height: 100%; max-height: 100%;
  margin: 0; padding: 0; border: 0; background: #0d0d0d; color: #fff;
}
dialog.anotar[open] { display: flex; flex-direction: column; }
dialog.anotar::backdrop { background: #0d0d0d; }
dialog.anotar .barra-anotar {
  display: flex; align-items: center; gap: .3rem;
  padding: max(.5rem, env(safe-area-inset-top)) .6rem .5rem;
}
dialog.anotar .barra-anotar button {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .55rem; border: 0; border-radius: 999px;
  background: none; color: #fff; font: inherit; cursor: pointer;
}
dialog.anotar .barra-anotar button:disabled { opacity: .3; cursor: default; }
dialog.anotar .barra-anotar svg.ic { width: 1.35rem; height: 1.35rem; }
dialog.anotar .barra-anotar .pronto-traco {
  margin-left: auto; padding: .5rem 1.1rem;
  background: var(--ouro); color: #272727; font-weight: 700;
}
dialog.anotar .tela-anotar {
  flex: 1 1 auto; min-height: 0; display: grid; place-items: center;
  padding: .2rem;
}
dialog.anotar canvas {
  max-width: 100%; max-height: 100%; touch-action: none; cursor: crosshair;
}
dialog.anotar .ferramentas {
  display: flex; align-items: center; justify-content: center;
  gap: .5rem 1.4rem; flex-wrap: wrap; padding: .7rem .6rem;
}
dialog.anotar .cores, dialog.anotar .grossuras {
  display: flex; align-items: center; gap: .6rem;
}
dialog.anotar .cores button {
  width: 1.8rem; height: 1.8rem; padding: 0; border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .4); cursor: pointer;
}
dialog.anotar .cores button[aria-pressed="true"] {
  border-color: #fff; box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
}
dialog.anotar .grossuras button {
  display: grid; place-items: center; width: 2rem; height: 2rem; padding: 0;
  border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%;
  background: none; cursor: pointer;
}
dialog.anotar .grossuras button[aria-pressed="true"] {
  background: rgba(255, 255, 255, .18); border-color: #fff;
}
dialog.anotar .grossuras span { display: block; border-radius: 50%; background: #fff; }
dialog.anotar .tira-fotos {
  display: flex; gap: .45rem; overflow-x: auto;
  padding: 0 .6rem calc(.6rem + env(safe-area-inset-bottom));
}
dialog.anotar .tira-fotos button {
  padding: 0; border: 2px solid transparent; border-radius: .4rem;
  background: none; line-height: 0; cursor: pointer;
}
dialog.anotar .tira-fotos button[aria-pressed="true"] { border-color: var(--ouro); }
dialog.anotar .tira-fotos img {
  width: 2.7rem; height: 2.7rem; object-fit: cover; border-radius: .25rem;
}
form.editar .provas .escrever-foto,
.provas .escrever-foto, .provas-anexadas .escrever-foto {
  display: inline-flex; align-items: center; gap: .3rem; align-self: center;
  padding: .3rem .65rem; border: 1px dashed var(--ouro); border-radius: 999px;
  background: none; color: var(--marca); font-family: inherit;
  font-size: var(--t-nota); font-weight: 600; cursor: pointer;
}
form.editar .provas .escrever-foto svg.ic,
.provas .escrever-foto svg.ic, .provas-anexadas .escrever-foto svg.ic {
  width: .95rem; height: .95rem;
}
form.editar .provas :is(img).nova, .provas :is(img).nova,
.provas-anexadas :is(img).nova { cursor: pointer; }
.lista-erros .cabeca { margin: 0 0 .4rem; font-weight: 600; }
.lista-erros ul { margin: 0; padding-left: 1.1rem; }
.lista-erros li { margin: .2rem 0; }
.lista-erros a { color: inherit; }
form.editar .campo.mau > label, form.editar .campo.mau > legend {
  color: var(--alta);
}
form.editar .campo.mau > input, form.editar .campo.mau > select,
form.editar .campo.mau > textarea { border-color: var(--alta); }
details.medicao.mau { border-color: var(--alta); }
details.medicao.mau > summary { color: var(--alta); }
form.editar h2.seccao {
  margin: 1.8rem 0 .9rem; padding-top: 1.1rem; font-size: var(--t-nota);
  border-top: 1px solid var(--linha); color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .1em;
}
form.editar h2.seccao:first-of-type { margin-top: .6rem; }
form.editar h2.seccao .opcional { text-transform: none; letter-spacing: 0;
                                  font-weight: 500; }
form.editar .campo.caixa label { text-transform: none; letter-spacing: 0;
                                 font-size: .95rem; color: var(--tinta);
                                 font-weight: 500; }
form.editar .campo.caixa input[type=checkbox] { width: auto; margin-right: .5rem; }
form.editar .dias { display: flex; flex-wrap: wrap; gap: .4rem; }
form.editar label.dia {
  display: flex; align-items: center; gap: .35rem; margin: 0;
  padding: .45rem .7rem; border: 1px solid var(--linha); border-radius: 999px;
  text-transform: none; letter-spacing: 0; font-size: .88rem; font-weight: 500;
  color: var(--tinta); cursor: pointer;
}
form.editar label.dia input { width: auto; }
form.editar label.dia:has(input:checked) {
  color: var(--marca); background: var(--marca-suave); border-color: var(--marca);
  font-weight: 600;
}
form.editar .ramos { display: grid; gap: .5rem; }
form.editar .ramo {
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  padding: .7rem .8rem .1rem; background: var(--fundo);
}
form.editar .ramo:has(input[type=radio]:checked) {
  border-color: var(--marca); background: var(--marca-suave);
  box-shadow: inset 0 0 0 1px var(--marca);
}
form.editar .ramo:not(:has(input[type=radio]:checked)) { opacity: .6; }
form.editar label.cabeca-ramo {
  display: flex; align-items: center; gap: .5rem; cursor: pointer;
  margin-bottom: .6rem; text-transform: none; letter-spacing: 0;
  font-size: .95rem; font-weight: 600; color: var(--tinta);
}
form.editar label.cabeca-ramo input { width: auto; margin: 0; }
form.editar label.cabeca-ramo:only-child { margin-bottom: 0; }
form.editar .ramo:has(input[type=radio]:checked) label.cabeca-ramo {
  color: var(--marca);
}
form.editar .ramo .par { grid-template-columns: 1fr; }
form.editar .quando:has(input[value="mensal"]:checked) .so-dias,
form.editar .quando:has(input[value="diaria"]:checked) .so-dias,
form.editar .quando:has(input[value="diaria"]:checked) .so-mensal,
form.editar .quando:has(input[value="semanal"]:checked) .so-mensal {
  display: none;
}
form.editar .grupo-regua {
  border-top: 1px dashed var(--linha); padding-top: .7rem; margin-bottom: .5rem;
}
form.editar .rotulo-regua {
  margin: 0 0 .5rem; font-size: var(--t-micro); font-weight: 700;
  color: var(--tinta-2); text-transform: uppercase; letter-spacing: .08em;
}
details.medicao {
  border: 1px solid var(--linha); border-radius: var(--raio);
  padding: .2rem 1rem; margin-bottom: .8rem; background: var(--cartao);
}
details.medicao summary {
  padding: .7rem 0; cursor: pointer; font-weight: 600; color: var(--tinta-2);
}
details.medicao[open] summary { border-bottom: 1px solid var(--linha);
                                margin-bottom: .9rem; }
@media (min-width: 900px) {
  form.editar { max-width: 46rem; }
  form.editar.larga, .medida { max-width: 54rem; }
  .par { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
  form.editar .folha { padding: 1.2rem 1.4rem .6rem; }
  form.editar .folha.colunas {
    display: grid; grid-template-columns: 1fr 1fr; gap: 0 2.2rem;
    align-items: start;
  }
  form.editar .folha.colunas .grupo + .grupo {
    border-left: 1px solid var(--linha); padding-left: 2.2rem;
  }
  form.editar .folha.colunas .grupo > h2.seccao {
    margin-top: 0; padding-top: 0; border-top: none;
  }
  form.editar.larga:has(.folha.tres) { max-width: 64rem; }
  form.editar .folha.colunas.tres {
    grid-template-columns: 1.15fr 1fr .75fr; gap: 0 1.8rem;
  }
  form.editar .folha.colunas.tres .grupo + .grupo { padding-left: 1.8rem; }
  form.editar .campo { margin-bottom: .75rem; }
  form.editar fieldset { margin-bottom: .75rem; }
  form.editar input, form.editar select, form.editar textarea {
    padding: .5rem .65rem;
  }
  form.editar label.escolha { min-height: 2.8rem; }
  form.editar h2.seccao { margin: 1.2rem 0 .75rem; padding-top: .9rem; }
  form.editar .ajuda.alinhada { margin-top: 1.55rem; }
  .detalhes { grid-template-columns: 1fr 1fr; gap: .9rem 1.5rem; }
  form.editar .turno-lugar { grid-template-columns: 8rem 8rem 1fr; }
  form.editar button.principal { width: auto; }
  form.editar.em-linha { display: flex; align-items: flex-end; gap: .8rem; }
  form.editar.em-linha .campo { flex: 1 1 auto; margin-bottom: 0; }
  form.editar.em-linha button.principal { margin-top: 0; }
}
.voltar {
  display: inline-flex; align-items: center; gap: .5rem;
  margin: .8rem 0 .2rem; padding: .5rem 1.05rem .5rem .85rem;
  min-height: 2.6rem;
  background: var(--cartao); border: 1px solid var(--linha);
  border-radius: 999px;
  color: var(--marca); text-decoration: none;
  font-size: var(--t-nota); font-weight: 600; line-height: 1.2;
  box-shadow: 0 1px 2px rgba(39, 39, 39, .05);
  transition: background .15s ease, border-color .15s ease,
              box-shadow .15s ease, transform .15s ease;
}
.voltar svg.ic { stroke-width: 2.2; transition: transform .15s ease; }
.voltar:hover { background: var(--marca-suave); border-color: var(--ouro-linha); }
.voltar:hover svg.ic { transform: translateX(-2px); }
.voltar:active { transform: translateY(1px); box-shadow: none; }
.voltar.leve {
  background: none; border-color: transparent; box-shadow: none;
  min-height: 2.75rem; padding: .35rem .7rem .35rem .45rem;
  margin: .35rem 0 0 -.7rem;
}
.voltar.leve:hover { background: none; border-color: transparent; }
.cabeca-tarefa { margin: 1rem 0 .8rem; }
.cabeca-tarefa .endereco {
  margin: 0; font-size: var(--t-micro); font-weight: 700; color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .08em;
}
.cabeca-tarefa h1 { margin: .15rem 0 .35rem; }
.cabeca-tarefa .veio-traduzida {
  margin: 0 0 .5rem; font-size: var(--t-micro); color: var(--tinta-2);
  line-height: 1.45;
}
.cabeca-tarefa .veio-traduzida q { font-style: italic; }
.cabeca-tarefa .selos { margin: 0; }
.acao-tarefa { margin: 0 0 1.2rem; }
.acao-tarefa form { margin: 0; }
.acao-tarefa button.principal {
  width: 100%; padding: .85rem 1.4rem; font-size: 1rem;
  border-radius: var(--raio-p); font-weight: 700; cursor: pointer;
  font-family: inherit;
  background: var(--aceitar-f); color: var(--aceitar);
  border: 1px solid var(--aceitar-linha);
  display: flex; align-items: center; justify-content: center; gap: .5rem;
}
.acao-tarefa .cta.solo {
  margin: 0; padding: .7rem .8rem; gap: .8rem;
  justify-content: flex-start; text-align: left;
  background: var(--cartao); color: var(--tinta);
  border: 1.5px solid var(--ouro); border-radius: var(--raio);
  box-shadow: var(--sombra); cursor: pointer;
}
.acao-tarefa .cta.solo .medalha {
  flex: 0 0 auto; width: 2.75rem; height: 2.75rem;
  display: flex; align-items: center; justify-content: center;
  background: var(--marca-suave); border: 1px solid var(--ouro-linha);
  border-radius: .8rem; color: var(--marca);
}
.acao-tarefa .cta.solo .medalha svg.ic { width: 1.35rem; height: 1.35rem; }
.acao-tarefa .cta.solo .texto {
  flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .1rem;
}
.acao-tarefa .cta.solo .dizer { font-weight: 700; }
.acao-tarefa .cta.solo .texto small {
  font-weight: 400; font-size: var(--t-nota); color: var(--tinta-2);
  line-height: 1.35;
}
.acao-tarefa .cta.solo svg.ic.aponta { color: var(--marca); }
.acao-tarefa .terminar-par { display: flex; flex-direction: column; gap: .55rem; }
.acao-tarefa .juntar-foto {
  height: 3.4rem; display: flex; align-items: center; justify-content: center;
  gap: .5rem; background: var(--cartao); border: 1px solid var(--linha);
  border-radius: var(--raio-p); color: var(--foto-tinta); cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.acao-tarefa .juntar-foto svg.ic { width: 1.35rem; height: 1.35rem; }
.acao-tarefa .juntar-foto .verbo {
  font-size: .9rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase;
}
.acao-tarefa .juntar-foto:active { background: var(--cinza-f); }
.acao-tarefa .juntar-foto input[type=file] { display: none; }
.acao-tarefa .juntar-foto .quantas {
  font-size: var(--t-nota); font-weight: 700;
}
.acao-tarefa form.tem-foto .juntar-foto {
  background: var(--marca-suave); border-color: var(--ouro);
}
.acao-tarefa .terminar-cheio {
  height: 3.4rem; display: flex; align-items: center;
  justify-content: center; gap: .5rem; border: none;
  border-radius: var(--raio-p); background: var(--baixa); color: var(--cartao);
  font-family: inherit; font-size: .9rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
}
.acao-tarefa .terminar-cheio svg.ic { stroke-width: 2.4; }
.acao-tarefa .terminar-cheio:active { filter: brightness(.96); }
.acao-tarefa form.a-enviar .terminar-cheio,
.acao-tarefa form.a-enviar .juntar-foto { pointer-events: none; opacity: .7; }
.folha-fecho {
  position: fixed; inset: auto 0 0 0; width: 100%; max-width: 640px;
  margin: 0 auto; border: none;
  padding: .6rem 1rem calc(1.2rem + env(safe-area-inset-bottom, 0px));
  border-radius: var(--raio) var(--raio) 0 0;
  background: var(--cartao); color: var(--tinta);
  box-shadow: var(--sombra-alta);
}
.folha-fecho::backdrop { background: rgba(39, 39, 39, .44); }
.folha-fecho[open] { animation: folha-sobe .24s cubic-bezier(.22, .9, .3, 1); }
@keyframes folha-sobe { from { transform: translateY(102%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .folha-fecho[open] { animation: none; }
}
.folha-fecho .pega {
  width: 2.4rem; height: .25rem; border-radius: 999px;
  background: var(--linha); margin: .15rem auto .85rem;
}
.folha-fecho .rotulo {
  margin: 0; font-size: var(--t-micro); font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-2);
}
.folha-fecho h2 {
  font-family: var(--serif); font-weight: 400; font-size: 1.2rem;
  line-height: 1.3; margin: .25rem 0 .85rem;
  text-transform: none; letter-spacing: .01em; color: var(--tinta);
}
.folha-fecho .factos { margin: 0 0 1.1rem; border-top: 1px solid var(--linha); }
.folha-fecho .facto {
  display: flex; align-items: center; gap: .6rem; margin: 0;
  padding: .62rem .1rem; border-bottom: 1px solid var(--linha);
  font-size: var(--t-nota); font-weight: 600;
}
.folha-fecho .facto svg.ic { width: 1.15rem; height: 1.15rem; color: var(--marca); }
.folha-fecho .facto[hidden] { display: none; }
.folha-fecho .terminar-cheio { width: 100%; }
.folha-fecho .facto.falta,
.folha-fecho .facto.falta svg.ic { color: var(--alta); }
.folha-fecho .facto.foto {
  display: block; padding: 0;
}
.folha-fecho .anexar {
  display: flex; align-items: center; gap: .6rem; width: 100%;
  padding: .62rem .1rem; cursor: pointer; color: var(--tinta);
  -webkit-tap-highlight-color: transparent;
}
.folha-fecho .anexar input {
  position: absolute; width: 1px; height: 1px; opacity: 0;
}
.folha-fecho .anexar:has(input:focus-visible) {
  outline: 2px solid var(--marca); outline-offset: 2px;
}
.folha-fecho .anexar.escolhida { color: var(--marca); }
.folha-fecho .anexar:active { background: var(--cinza-f); }
.folha-fecho .provas {
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem;
  margin: 0; padding: 0 .1rem .62rem 1.85rem;
}
.folha-fecho .provas :is(img, video) {
  width: 1.75rem; height: 1.75rem; object-fit: cover;
  border-radius: .3rem; border: 1px solid var(--linha); background: var(--fundo);
}
.folha-fecho .provas .quantas { font-size: var(--t-nota); color: var(--tinta-2); }
.folha-fecho .atras {
  display: block; width: 100%; margin: .55rem 0 0; padding: .6rem;
  border: none; background: none; font-family: inherit;
  font-size: var(--t-nota); font-weight: 600; color: var(--tinta-2);
  cursor: pointer;
}
.ajudou .alternar {
  display: flex; align-items: center; gap: .6rem; cursor: pointer;
}
.ajudou .alternar, .ajudou .quem-ajudou .pessoa {
  text-transform: none; letter-spacing: 0;
}
.ajudou .alternar .marca {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 1.4rem; height: 1.4rem; border-radius: 6px;
  border: 2px solid var(--linha); background: var(--fundo);
}
.ajudou .alternar .marca svg.ic { width: .9rem; height: .9rem; opacity: 0; }
.ajudou .alternar:has(input:checked) .marca {
  border-color: var(--marca); background: var(--marca); color: var(--cartao);
}
.ajudou .alternar:has(input:checked) .marca svg.ic { opacity: 1; }
.ajudou .alternar input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ajudou .alternar:has(input:focus-visible) .marca {
  outline: 2px solid var(--marca); outline-offset: 2px;
}
.ajudou .quem-ajudou {
  display: flex; flex-wrap: wrap; gap: .4rem; margin: .55rem 0 0;
}
.ajudou .quem-ajudou .pessoa {
  position: relative; display: inline-flex; align-items: center;
  min-height: 2.75rem; padding: .35rem .9rem;
  border: 1px solid var(--linha); border-radius: 999px;
  background: var(--cartao); font-size: var(--t-nota); font-weight: 600;
  cursor: pointer;
}
.ajudou .quem-ajudou .pessoa input {
  position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0;
}
.ajudou .quem-ajudou .pessoa:has(input:checked) {
  background: var(--marca); border-color: var(--marca); color: var(--cartao);
}
.ajudou .quem-ajudou .pessoa:has(input:focus-visible) {
  outline: 2px solid var(--marca); outline-offset: 2px;
}
@supports selector(:has(*)) {
  .ajudou .quem-ajudou { display: none; }
  .ajudou:has(.alternar input:checked) .quem-ajudou { display: flex; }
}
.folha-fecho .ajudou { border-bottom: 1px solid var(--linha); }
.folha-fecho .ajudou .alternar {
  padding: .62rem .1rem; font-size: var(--t-nota); font-weight: 600;
}
.folha-fecho .ajudou:has(.alternar input:checked) .alternar {
  padding-bottom: .2rem;
}
.folha-fecho .ajudou .quem-ajudou { margin: 0 0 .62rem; }
.ajudou.em-cartao {
  margin: 0 0 .55rem; padding: .6rem .75rem;
  background: var(--cartao); border: 1px solid var(--ouro-linha);
  border-radius: var(--raio);
}
.ajudou.em-cartao .alternar {
  min-height: 2.6rem; font-size: 1rem; font-weight: 600; color: var(--tinta);
}
.ajudou.em-cartao:has(.alternar input:checked) { border-color: var(--marca); }
.nota-fecho .dizer {
  display: flex; align-items: center; gap: .6rem;
  text-transform: none; letter-spacing: 0; cursor: pointer;
}
.nota-fecho .dizer svg.ic {
  flex: none; width: 1.1rem; height: 1.1rem; color: var(--tinta-2);
}
.nota-fecho textarea {
  display: block; width: 100%; margin: .45rem 0 0; padding: .55rem .7rem;
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  background: var(--fundo); color: var(--tinta);
  font-family: inherit; font-size: var(--t-nota); line-height: 1.45;
  resize: vertical;
}
.nota-fecho textarea:focus-visible {
  outline: 2px solid var(--marca); outline-offset: 1px;
}
.folha-fecho .nota-fecho { padding: .62rem .1rem; }
.folha-fecho .nota-fecho .dizer {
  font-size: var(--t-nota); font-weight: 600;
}
.nota-fecho.em-cartao {
  margin: 0 0 .55rem; padding: .6rem .75rem;
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio);
}
.nota-fecho.em-cartao .dizer {
  min-height: 2.6rem; font-size: 1rem; font-weight: 600; color: var(--tinta);
}
.quando-pedir {
  margin: 1.1rem 0 .45rem; font-size: var(--t-micro); font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-2);
}
.gestos-par { display: flex; gap: .55rem; }
.gestos-par .gesto-par {
  flex: 1 1 0; min-width: 0;
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: .3rem; height: 4.1rem;
  background: var(--cartao); border: 1px solid var(--linha);
  border-radius: var(--raio-p); box-shadow: 0 1px 2px rgba(125, 95, 48, .04);
  color: var(--tinta); text-decoration: none;
  font-size: var(--t-nota); font-weight: 600; text-align: center;
}
.gestos-par .gesto-par .desenho { color: var(--marca); line-height: 1; }
.gestos-par .gesto-par .desenho svg.ic { width: 1.25rem; height: 1.25rem; }
.gestos-par .gesto-par:active { filter: brightness(.97); }
@media (hover: hover) {
  .gestos-par .gesto-par:hover { border-color: var(--ouro); }
}
.topo-tarefa {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: .6rem; margin-bottom: .75rem;
}
.topo-tarefa .voltar { margin: 0; flex: 0 0 auto; }
.topo-tarefa .onde-tarefa {
  min-width: 0; text-align: right;
}
.topo-tarefa .onde-tarefa .a-casa {
  display: block; line-height: 1.4;
  font-size: var(--t-micro); font-weight: 700; color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .08em;
}
.topo-tarefa .onde-tarefa .a-porta {
  display: block;
  font-family: var(--serif); font-size: var(--t-titulo); font-weight: 700;
  line-height: 1.2; color: var(--tinta); letter-spacing: 0;
  text-transform: none;
}
.topo-tarefa .onde-tarefa .a-porta svg.ic {
  width: 1em; height: 1em; margin-right: .25rem; vertical-align: -.1em;
  stroke-width: 2.2;
}
.faixa-abre {
  background: var(--cinza-f); border-radius: var(--raio-p);
  margin: 0 0 .6rem; padding: 0 .85rem;
}
.faixa-abre > summary {
  display: flex; align-items: center; gap: .5rem; padding: .8rem .1rem;
  cursor: pointer; list-style: none;
  color: var(--tinta-2); font-size: var(--t-nota); font-weight: 600;
}
.faixa-abre > summary::-webkit-details-marker { display: none; }
.faixa-abre > summary .dizeres { flex: 1; min-width: 0; }
.faixa-abre > summary .conta {
  display: grid; place-items: center; min-width: 1.35rem; height: 1.35rem;
  padding: 0 .35rem; border-radius: 999px;
  background: var(--cartao); border: 1px solid var(--linha);
  font-size: var(--t-micro); color: var(--marca);
}
.faixa-abre > summary::after {
  content: "›"; font-size: 1.35rem; line-height: 1; color: var(--tinta-2);
  transform: rotate(90deg); transition: transform .15s;
}
.faixa-abre[open] > summary::after { transform: rotate(-90deg); }
@media (prefers-reduced-motion: reduce) {
  .faixa-abre > summary::after { transition: none; }
}
.faixa-abre .molduras { margin: 0 0 .85rem; }
@media (min-width: 900px) {
  .faixa-abre.da-foto { width: fit-content; min-width: 20rem; max-width: 100%; }
  .faixa-abre.da-foto .molduras { margin-inline: auto; }
}
.ficha-pe {
  display: flex; flex-wrap: wrap; gap: .25rem 1.1rem;
  margin: 1.2rem 0 .6rem; padding: .8rem .1rem 0;
  border-top: 1px solid var(--linha);
  color: var(--tinta-2); font-size: var(--t-nota);
}
.ficha-pe span { display: inline-flex; align-items: center; gap: .3rem; }
.acao-tarefa .cta.solo input[type=file] { display: none; }
.acao-tarefa form.a-enviar .cta.solo { pointer-events: none; opacity: .7; }
.acao-tarefa noscript button.principal { margin-top: .5rem; }
.acao-tarefa .nota { margin: .45rem 0 0; }
.acao-tarefa .bloqueado {
  display: flex; align-items: center; gap: .5rem; margin: 0;
  padding: .8rem .9rem; border: 1px dashed var(--linha);
  border-radius: var(--raio-p); background: var(--cinza-f);
  color: var(--tinta-2); font-weight: 600;
}
@media (min-width: 900px) {
  .acao-tarefa button.principal,
  .acao-tarefa .cta.solo { width: auto; display: inline-flex; }
}
.estado-agora {
  border-left: 3px solid var(--ouro-linha); border-radius: var(--raio-p);
  background: var(--cartao); border-top: 1px solid var(--fio);
  border-right: 1px solid var(--fio); border-bottom: 1px solid var(--fio);
  box-shadow: var(--sombra);
  padding: .7rem .9rem; margin: 0 0 1rem;
}
.estado-agora .frase {
  display: flex; align-items: baseline; gap: .45rem;
  margin: 0; font-size: var(--t-medio); line-height: 1.35; font-weight: 600;
}
.estado-agora .frase svg.ic { align-self: center; }
.estado-agora .detalhe {
  display: flex; flex-wrap: wrap; gap: .1rem .9rem;
  margin: .3rem 0 0; color: var(--tinta-2); font-size: var(--t-nota);
}
.estado-agora .detalhe strong { color: var(--tinta); font-weight: 600; }
.aviso-ficha {
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio); box-shadow: var(--sombra);
  padding: 1.1rem 1.2rem; margin-bottom: .9rem;
}
.aviso-ficha .cabeca {
  display: flex; align-items: center; gap: .55rem; flex-wrap: wrap;
}
.aviso-ficha .cabeca svg.ic { color: var(--marca); }
.aviso-ficha .titulo { font-size: var(--t-medio); font-weight: 600; }
.aviso-ficha .quando {
  color: var(--tinta-2); font-size: var(--t-nota); margin: .1rem 0 0;
}
.aviso-ficha .resposta {
  margin: .8rem 0 0; padding-top: .8rem; border-top: 1px solid var(--fio);
}
.aviso-ficha .rotulo {
  font-size: var(--t-micro); font-weight: 700; text-transform: uppercase;
  letter-spacing: .11em; color: var(--tinta-2);
}
.aviso-ficha .destino { color: var(--tinta-2); margin: .25rem 0 0; }
.aviso-ficha .ninguem { color: var(--tinta-2); margin: .25rem 0 0; }
.pastilhas-tirar { display: flex; flex-wrap: wrap; gap: .4rem; margin: .45rem 0 0; }
.pastilhas-tirar label {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--marca-suave); color: var(--marca); border-radius: 99px;
  padding: .3rem .5rem .3rem .85rem; font-weight: 600;
  font-size: var(--t-nota); cursor: pointer; border: 1px solid transparent;
}
.pastilhas-tirar input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pastilhas-tirar .tirar {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.15rem; height: 1.15rem; border-radius: 99px;
  background: rgba(0, 0, 0, .07);
}
.pastilhas-tirar .tirar svg.ic { width: .7rem; height: .7rem; }
.pastilhas-tirar label:not(:has(input:checked)) {
  background: none; color: var(--tinta-2); border-color: var(--linha);
  text-decoration: line-through;
}
.pastilhas-tirar label:not(:has(input:checked)) .tirar { background: none; }
.pastilhas-tirar label:not(:has(input:checked)) .tirar svg.ic { display: none; }
.pastilhas-tirar label:has(input:focus-visible) {
  outline: 2px solid var(--marca); outline-offset: 2px;
}
.aviso-meio {
  margin: .5rem 0 0; font-size: var(--t-nota); color: var(--media);
  line-height: 1.45;
}
.aviso-meio a { color: var(--media); font-weight: 600; white-space: nowrap; }
.gaveta-gente {
  margin: .9rem 0 0; padding-top: .7rem; border-top: 1px solid var(--fio);
}
.gaveta-gente > summary {
  list-style: none; cursor: pointer; display: inline-flex; align-items: center;
  gap: .4rem; font-weight: 600; font-size: var(--t-nota); color: var(--marca);
  min-height: var(--comando);
}
.gaveta-gente > summary::-webkit-details-marker { display: none; }
.gaveta-gente > summary svg.ic { transition: transform .15s; }
.gaveta-gente[open] > summary svg.ic { transform: rotate(180deg); }
.gaveta-gente .lista {
  display: grid; gap: .1rem .6rem; margin: .2rem 0 .3rem;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
}
.gaveta-gente label {
  display: flex; align-items: center; gap: .6rem;
  padding: .42rem .55rem; border-radius: var(--raio-p); cursor: pointer;
}
.gaveta-gente label:has(input:checked) { background: var(--marca-suave); }
.gaveta-gente input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.gaveta-gente .marca {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto; width: 1.4rem; height: 1.4rem; border-radius: 6px;
  border: 2px solid var(--linha); background: var(--fundo);
}
.gaveta-gente .marca svg.ic { width: .9rem; height: .9rem; opacity: 0; }
.gaveta-gente label:has(input:checked) .marca {
  border-color: var(--marca); background: var(--marca); color: var(--cartao);
}
.gaveta-gente label:has(input:checked) .marca svg.ic { opacity: 1; }
.gaveta-gente label:has(input:focus-visible) .marca {
  outline: 2px solid var(--marca); outline-offset: 2px;
}
.gaveta-gente .quem { min-width: 0; }
.gaveta-gente .quem b { display: block; font-weight: 600; }
.gaveta-gente .quem span {
  display: block; font-size: var(--t-nota); color: var(--tinta-2);
}
.aviso-ficha .barra-guardar {
  display: flex; align-items: center; gap: 1rem;
  margin: .9rem -1.2rem -1.1rem; padding: .8rem 1.2rem;
  border-top: 1px solid var(--fio); flex-wrap: wrap;
}
.aviso-ficha .barra-guardar button {
  padding: .55rem 1.6rem; min-height: var(--comando); font-size: var(--t-nota);
  font-weight: 700; border: none; border-radius: var(--raio-p);
  background: var(--ouro); color: #272727; cursor: pointer;
  font-family: inherit; text-transform: uppercase; letter-spacing: .06em;
}
.aviso-ficha .barra-guardar .nota { margin: 0; flex: 1 1 14rem; }
.estado-agora .gesto {
  display: block; margin: .35rem 0 0; font-size: var(--t-nota);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  background: rgba(0, 0, 0, .05); border-radius: var(--raio-p);
  padding: .2rem .5rem;
}
.estado-agora.t-mau    { border-left-color: var(--alta); background: var(--alta-f); }
.estado-agora.t-espera { border-left-color: var(--media); background: var(--media-f); }
.estado-agora.t-bom    { border-left-color: var(--baixa); background: var(--baixa-f); }
.estado-agora.t-mau .frase    { color: var(--alta); }
.estado-agora.t-espera .frase { color: var(--media); }
.estado-agora.t-bom .frase    { color: var(--baixa); }
.ficha-tarefa {
  display: flex; flex-wrap: wrap; gap: .2rem 1.1rem;
  color: var(--tinta-2); font-size: var(--t-nota);
}
.ficha-tarefa > span { display: inline-flex; align-items: center; gap: .35rem; }
.badge.neutro { color: var(--tinta-2); background: var(--cinza-f); }
.badge.ao-servico { color: var(--baixa); background: var(--baixa-f); }
.badge.fora { color: var(--tinta-2); background: var(--cinza-f); }
.filtros-cronologia { display: flex; flex-wrap: wrap; align-items: center;
                      gap: .4rem 1rem; margin: .8rem 0 .2rem; }
.filtros-cronologia .filtros { margin: 0; flex: 1 1 14rem; max-width: 22rem; }
.barra-do-dia {
  display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: .5rem 1rem; margin: 1.5rem 0 .5rem;
}
.barra-do-dia .filtros-estado { margin: 0; }
.barra-do-dia .cta { flex: 0 0 auto; }
.acoes-da-barra { display: flex; gap: .5rem; flex-wrap: wrap; }
.estado-do-dia { display: flex; align-items: center; gap: .4rem;
                 margin: .2rem 0 .6rem; font-size: var(--t-nota);
                 font-weight: 600; }
.estado-do-dia.confirmado { color: var(--baixa); }
.estado-do-dia.previsto { color: var(--media); }
.estado-do-dia svg.ic { width: 1rem; height: 1rem; }
.cronologia {
  --rotulo-fila: 7.2rem; --espaco-fila: .6rem; --borda-cron: 1rem;
  position: relative;
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio); box-shadow: var(--sombra);
  padding: 2.1rem var(--borda-cron) .8rem; margin: .6rem 0;
}
.cronologia .eixo, .cronologia .fila {
  display: flex; align-items: center; gap: var(--espaco-fila);
}
.cronologia .rotulo-fila {
  flex: 0 0 var(--rotulo-fila); min-width: 0; font-size: var(--t-nota);
  font-weight: 600; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap;
}
.cronologia .rotulo-fila a { color: var(--tinta); text-decoration: none; }
@media (hover: hover) {
  .cronologia .rotulo-fila a:hover { color: var(--marca); }
}
.cronologia .pista {
  flex: 1 1 auto; position: relative; height: 1.8rem;
  background: var(--fundo); border-radius: 9px;
}
.cronologia .eixo .pista { height: 1.15rem; background: none; }
.cronologia .marca {
  position: absolute; transform: translateX(-50%);
  font-size: var(--t-micro); color: var(--tinta-2);
  font-variant-numeric: tabular-nums;
}
.cronologia .seccao {
  font-size: var(--t-micro); font-weight: 700; color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .11em;
  padding: .6rem 0 .3rem; border-bottom: 1px solid var(--linha);
  margin-bottom: .3rem;
}
.cronologia .fila { padding: .16rem 0; }
.cronologia .faixa {
  position: absolute; top: 0; bottom: 0; border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; white-space: nowrap;
  font-size: var(--t-micro); font-weight: 600;
  font-variant-numeric: tabular-nums;
  background: var(--marca-suave); border: 1px solid var(--marca);
  color: var(--marca);
}
.cronologia .faixa.acabou { opacity: .5; }
.cronologia.prevista .faixa { border-style: dashed; }
.cronologia.tom-1 .faixa { background: var(--casa-1-f); border-color: var(--casa-1); color: var(--casa-1); }
.cronologia.tom-2 .faixa { background: var(--casa-2-f); border-color: var(--casa-2); color: var(--casa-2); }
.cronologia.tom-3 .faixa { background: var(--casa-3-f); border-color: var(--casa-3); color: var(--casa-3); }
.cronologia.tom-4 .faixa { background: var(--casa-4-f); border-color: var(--casa-4); color: var(--casa-4); }
.cronologia.tom-5 .faixa { background: var(--casa-5-f); border-color: var(--casa-5); color: var(--casa-5); }
.cronologia.tom-6 .faixa { background: var(--casa-6-f); border-color: var(--casa-6); color: var(--casa-6); }
.cronologia .linha-agora, .cronologia .selo-agora {
  position: absolute; z-index: 1;
  left: calc(var(--borda-cron) + var(--rotulo-fila) + var(--espaco-fila)
             + (100% - 2 * var(--borda-cron) - var(--rotulo-fila)
                - var(--espaco-fila)) * var(--agora));
}
.cronologia .linha-agora { top: 1.85rem; bottom: .8rem; width: 2px;
                           background: var(--alta); border-radius: 1px; }
.cronologia .selo-agora {
  top: .55rem; transform: translateX(-50%);
  font-size: var(--t-micro); font-weight: 700; color: var(--alta);
  background: var(--alta-f); border-radius: 99px; padding: 0 .5rem;
}
.peneira { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1rem; }
.peneira[hidden] { display: none; }
.peneira select, .peneira input {
  padding: .55rem .7rem; font: inherit; font-weight: 500;
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  background: var(--cartao); color: var(--tinta);
}
.peneira input { flex: 1 1 14rem; max-width: 22rem; }
.peneira select {
  appearance: none; -webkit-appearance: none; padding-right: 2.2rem;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .7rem center;
  background-size: .8rem; cursor: pointer;
}
:where(html.tema-escuro) .peneira select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a79e92' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
.sem-resultado { color: var(--tinta-2); font-size: var(--t-nota);
                 padding: .8rem 0 .2rem; }
.peneira .campos { display: contents; }
.peneira .campos[hidden] { display: none; }
.a-equipa .peneira .cta { margin-left: auto; flex: 0 0 auto; }
.cta.so-icone { width: var(--comando); padding: 0; }
.cta.so-icone svg { width: 1.1rem; height: 1.1rem; }
.equipa-lista {
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio); box-shadow: var(--sombra);
  padding: .3rem 1.1rem .8rem; margin: .6rem 0;
}
.equipa-lista .grupo {
  display: flex; align-items: baseline; gap: .5rem;
  font-size: var(--t-micro); font-weight: 700; color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .11em;
  padding: .9rem 0 .35rem; border-bottom: 1px solid var(--linha);
  margin-bottom: .1rem;
}
.equipa-lista .grupo .conta {
  font-size: var(--t-micro); font-weight: 600; letter-spacing: 0;
  text-transform: none; opacity: .8; font-variant-numeric: tabular-nums;
}
.equipa-lista .pessoa {
  display: grid; gap: .1rem .8rem; padding: .55rem 0;
  border-bottom: 1px solid var(--linha);
}
.equipa-lista .pessoa:last-child { border-bottom: none; }
.equipa-lista .pessoa[hidden], .equipa-lista .grupo[hidden] { display: none; }
.equipa-lista .pessoa.ultima { border-bottom: none; }
.equipa-lista .nome { font-size: var(--t-corpo); font-weight: 600; }
.equipa-lista .nome a { color: var(--tinta); text-decoration: none; }
@media (hover: hover) {
  .equipa-lista .nome a:hover { color: var(--marca); }
}
.equipa-lista .tambem {
  font-size: var(--t-micro); color: var(--tinta-2); margin-left: .45rem;
}
.equipa-lista .casas { display: flex; flex-wrap: wrap; gap: .3rem; }
.casa-selo {
  font-size: var(--t-micro); font-weight: 700; padding: .05rem .5rem;
  border-radius: 99px; white-space: nowrap;
}
.casa-selo.tom-1 { color: var(--casa-1); background: var(--casa-1-f); }
.casa-selo.tom-2 { color: var(--casa-2); background: var(--casa-2-f); }
.casa-selo.tom-3 { color: var(--casa-3); background: var(--casa-3-f); }
.casa-selo.tom-4 { color: var(--casa-4); background: var(--casa-4-f); }
.casa-selo.tom-5 { color: var(--casa-5); background: var(--casa-5-f); }
.casa-selo.tom-6 { color: var(--casa-6); background: var(--casa-6-f); }
.casa-selo.todas {
  color: var(--tinta-2); background: none;
  border: 1px dashed var(--linha); padding: 0 .45rem;
}
.acesso { margin-top: 1.2rem; padding: .9rem 1rem; border-radius: var(--raio);
          border: 1px solid var(--fio); background: var(--cartao);
          box-shadow: var(--sombra); }
.acesso h2 { margin: 0 0 .4rem; }
.acesso .nota { margin: 0; }
.acesso form { margin: .7rem 0 0; }
.acesso button {
  padding: .55rem 1rem; font: inherit; font-weight: 600; cursor: pointer;
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  background: transparent; color: var(--tinta);
}
.password-nova { font-family: ui-monospace, "SF Mono", Menlo, monospace;
                 font-size: 1.35rem; font-weight: 600; letter-spacing: .06em;
                 margin: .3rem 0 .5rem; user-select: all; }
.tirar-da-operacao { margin-top: 1.6rem; }
.tirar-da-operacao button {
  padding: .6rem 1.1rem; font: inherit; font-weight: 600; cursor: pointer;
  border: none; border-radius: var(--raio-p); background: var(--alta); color: #fff;
}
:where(html.tema-escuro) .tirar-da-operacao button { color: #1c1a17; }
.horario { display: grid; gap: .4rem; margin: .6rem 0; }
.horario .dia {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .6rem;
  background: var(--cartao); border: 1px solid var(--linha);
  border-radius: var(--raio-p); padding: .5rem .75rem;
}
.horario .dia > .rotulo {
  flex: 0 0 7rem; font-weight: 600; font-size: var(--t-nota);
}
.horario .dia.hoje {
  border-color: var(--ouro); background: var(--marca-suave);
}
.horario .turno { font-size: var(--t-nota);
                  font-variant-numeric: tabular-nums; }
.horario .dia.folga > .rotulo, .horario .turno.vaga { color: var(--tinta-2); }
.horario .turno.agora { color: var(--baixa); font-weight: 700; }
.escalas { display: grid; gap: 1rem; margin: .8rem 0; }
.escala { border-top: 1px solid var(--linha); padding-top: .8rem; }
.escala .quem {
  display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: .4rem .8rem;
}
.escala .quem a { color: var(--tinta); font-weight: 700; text-decoration: none; }
.escala .quem .acoes { display: flex; align-items: center; gap: .6rem; }
.escala .sub { display: block; color: var(--tinta-2);
               font-size: var(--t-nota); }
.escala .acoes .sub { display: inline; }
.escala .sem-escala { color: var(--media); font-size: var(--t-nota);
                      margin: .5rem 0 0; }
.escala .sem-escala.calma { color: var(--tinta-2); }
.pedir-mudanca { margin: .7rem 0 .2rem; }
.pedir-mudanca > summary {
  display: inline-flex; width: auto; cursor: pointer; list-style: none;
}
.pedir-mudanca > summary::-webkit-details-marker { display: none; }
.pedir-mudanca[open] > summary { margin-bottom: .6rem; }
.pedir-mudanca form.editar {
  border: 1px solid var(--linha); border-left: 3px solid var(--ouro);
  border-radius: var(--raio); padding: .9rem 1rem .8rem; background: var(--cartao);
}
.pedir-mudanca form.editar > .nota { margin: 0 0 .9rem; }
.meus-pedidos { list-style: none; margin: .6rem 0 0; padding: 0; }
.meus-pedidos li {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .5rem;
  padding: .45rem 0; font-size: var(--t-nota);
  border-top: 1px solid var(--linha);
}
.meus-pedidos .quando { font-weight: 600; font-variant-numeric: tabular-nums; }
.meus-pedidos .motivo, .meus-pedidos .resposta { color: var(--tinta-2); }
.meus-pedidos .resposta { flex-basis: 100%; }
.meus-pedidos li.e-aprovado, .meus-pedidos li.e-recusado { opacity: .72; }
.selo.e-pendente { color: var(--media);   background: var(--media-f); }
.selo.e-aprovado { color: var(--baixa);   background: var(--baixa-f); }
.selo.e-recusado { color: var(--tinta-2); background: var(--cinza-f); }
.fila-decisao { margin: .8rem 0 1.2rem; }
.fila-decisao .pedido {
  background: var(--cartao); border: 1px solid var(--linha);
  border-left: 3px solid var(--media); border-radius: var(--raio);
  padding: .8rem 1rem; margin-bottom: .6rem;
}
.fila-decisao .quando {
  color: var(--marca); font-weight: 600; font-size: var(--t-nota);
  font-variant-numeric: tabular-nums;
}
.fila-decisao .quando a {
  color: inherit; text-decoration: underline; text-underline-offset: 3px;
  text-decoration-thickness: 1px; text-decoration-color: var(--ouro-linha);
}
.fila-decisao .motivo { margin: .3rem 0 .7rem; }
.fila-decisao .oque {
  margin: 0 0 .45rem; font-size: var(--t-medio); line-height: 1.42;
  text-wrap: pretty;
}
.fila-decisao .quem-onde {
  display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .5rem;
  margin: 0; font-size: var(--t-nota); color: var(--tinta-2);
}
.fila-decisao .quem-onde .nome { color: var(--tinta); font-weight: 700; }
.fila-decisao .quem-onde a {
  color: inherit; text-decoration: underline; text-underline-offset: 3px;
  text-decoration-thickness: 1px; text-decoration-color: var(--ouro-linha);
}
.fila-decisao .quem-onde .badge { margin-left: auto; }
.fila-decisao .quanto {
  display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .7rem;
  margin-top: .6rem;
}
.fila-decisao .quanto .rot {
  font-size: var(--t-micro); font-weight: 700; color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .08em;
}
.degraus { display: flex; gap: .35rem; flex-wrap: wrap; align-items: stretch; }
.degraus > button {
  display: flex; flex-direction: column; justify-content: center;
  min-width: 3.1rem; min-height: var(--comando); padding: .28rem .8rem;
  font: inherit; font-weight: 700; font-variant-numeric: tabular-nums;
  border-radius: var(--raio-p); border: 1px solid var(--linha);
  background: var(--cartao); color: var(--tinta); cursor: pointer;
}
.degraus > button:hover {
  border-color: var(--ouro); background: var(--marca-suave); color: var(--marca);
}
.degraus > button:active { filter: brightness(.97); }
.degraus > button.zero { color: var(--tinta-2); }
.degraus > button .un {
  font-size: .6rem; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: var(--tinta-2); margin-top: -.15rem;
}
.degraus > button { order: 1; }
.degraus .outro {
  order: 2; display: flex; align-items: stretch; gap: 0;
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  background: var(--cartao); overflow: hidden;
}
.degraus .outro input {
  order: 1; width: 4.6rem; padding: .28rem .5rem; font: inherit;
  font-weight: 700; font-variant-numeric: tabular-nums; text-align: right;
  border: 0; background: none; color: var(--tinta);
}
.degraus .outro button {
  order: 2; display: grid; place-items: center; padding: 0 .55rem;
  border: 0; border-left: 1px solid var(--linha); cursor: pointer;
  background: var(--fundo); color: var(--tinta-2);
}
.degraus .outro:focus-within { border-color: var(--ouro); }
.degraus .outro button:hover { color: var(--marca); background: var(--marca-suave); }
.fila-decisao .pedido.com-erro {
  border-color: var(--alta); border-left-color: var(--alta);
}
.fila-decisao .erro-campo, .correcao .erro-campo {
  margin: 0 0 .5rem; font-size: var(--t-nota); font-weight: 600;
  color: var(--alta); display: flex; align-items: flex-start; gap: .3rem;
}
.fila-decisao .erro-campo .ic, .correcao .erro-campo .ic {
  flex: none; margin-top: .1rem;
}
.fila-decisao input[type=text] {
  width: 100%; padding: .55rem .7rem; font: inherit; font-weight: 500;
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  background: var(--cartao); color: var(--tinta);
}
.decididas .cabeca-lista, .decididas .grelha {
  display: grid; grid-template-columns: 6rem 1fr 9rem 5rem 8rem 5.5rem;
  align-items: center; gap: .2rem 1rem; padding: .65rem 1rem;
}
.decididas .grelha { flex: 1 1 auto; min-width: 0; }
.decididas .grelha:hover { background: var(--marca-suave); }
.decididas .dia {
  color: var(--tinta-2); font-size: var(--t-nota);
  font-variant-numeric: tabular-nums;
}
.decididas .oque { font-weight: 600; min-width: 0; }
.decididas .oque a { color: inherit; text-decoration: none; }
.decididas .oque a:hover {
  text-decoration: underline; text-underline-offset: 3px;
  text-decoration-color: var(--ouro-linha);
}
.decididas .oque .onde {
  color: var(--tinta-2); font-weight: 500; font-size: var(--t-nota);
}
.decididas .porquem { color: var(--tinta-2); font-size: var(--t-nota); }
.decididas .quanto-pago {
  text-align: right; font-weight: 700; font-variant-numeric: tabular-nums;
  color: var(--marca);
}
.decididas .quanto-pago.nada { color: var(--tinta-2); font-weight: 600; }
.decididas .quanto-pago .cada {
  display: block; font-size: .6rem; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: var(--tinta-2);
}
.decididas .corrigir {
  justify-self: end; font-size: var(--t-nota); font-weight: 700;
  color: var(--tinta-2); text-decoration: none;
  border: 1px solid var(--linha); border-radius: 999px;
  padding: .2rem .7rem; background: var(--cartao);
}
.decididas .corrigir:hover {
  border-color: var(--ouro); background: var(--marca-suave); color: var(--marca);
}
.selo.e-corrigida { color: var(--marca); background: var(--marca-suave); }
@media (max-width: 899px) {
  .decididas .cabeca-lista { display: none; }
  .decididas .grelha {
    grid-template-columns: 1fr auto; gap: .15rem .7rem; padding: .7rem 1rem;
  }
  .decididas .oque { grid-column: 1 / -1; }
  .decididas .corrigir { grid-column: 2; }
}
.correcao {
  background: var(--marca-suave); border-top: 1px solid var(--ouro-linha);
  border-bottom: 1px solid var(--ouro-linha); padding: 1rem 1.1rem;
}
.correcao .titulo { font-weight: 700; margin: 0 0 .15rem; }
.correcao .era { color: var(--tinta-2); font-size: var(--t-nota); margin: 0; }
.correcao .era b { color: var(--tinta); font-weight: 700; }
.correcao .quanto {
  display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem;
  margin: .8rem 0 0;
}
.correcao .quanto .rot {
  font-size: var(--t-micro); font-weight: 700; color: var(--tinta-2);
  text-transform: uppercase; letter-spacing: .08em;
}
.correcao .quanto input {
  width: 5rem; padding: .5rem .6rem; font: inherit; font-weight: 700;
  font-variant-numeric: tabular-nums; text-align: right;
  border: 1px solid var(--ouro-linha); border-radius: var(--raio-p);
  background: var(--cartao); color: var(--tinta);
}
.correcao .campo { margin: .8rem 0 0; }
.correcao .campo label {
  display: block; font-size: var(--t-micro); font-weight: 700;
  color: var(--tinta-2); text-transform: uppercase; letter-spacing: .08em;
  margin-bottom: .3rem;
}
.correcao .porque input {
  width: 100%; padding: .55rem .7rem; font: inherit; font-weight: 500;
  border: 1px solid var(--ouro-linha); border-radius: var(--raio-p);
  background: var(--cartao); color: var(--tinta);
}
.correcao .saldo {
  display: flex; align-items: baseline; gap: .4rem; margin: .9rem 0 0;
  font-size: var(--t-nota); font-weight: 600;
}
.correcao .saldo svg.ic { color: var(--marca); }
.correcao .gestos {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  margin-top: .9rem;
}
.correcao .gestos .principal {
  display: inline-flex; align-items: center; gap: .4rem;
  min-height: var(--comando); padding: .45rem 1rem; font: inherit;
  font-weight: 700; font-size: var(--t-nota); border-radius: var(--raio-p);
  border: 1px solid var(--ouro); background: var(--marca); color: #fff;
  cursor: pointer;
}
:where(html.tema-escuro) .correcao .gestos .principal { color: #1c1a17; }
.correcao .gestos .fora {
  font-size: var(--t-nota); font-weight: 600; color: var(--tinta-2);
  text-decoration: none;
}
.correcao .gestos .fora:hover { text-decoration: underline; }
.horario .noutro {
  font-size: var(--t-micro); color: var(--marca);
  background: var(--marca-suave);
  border-radius: 6px; padding: .05rem .35rem;
}
.calendario {
  --calha: 2.1rem;      
  --alt-hora: 1.7rem;   
  display: grid; grid-template-columns: var(--calha) repeat(7, minmax(0, 1fr));
  margin: .6rem 0 .2rem;
}
.calendario .cab {
  text-align: center; font-size: var(--t-micro); font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em; color: var(--tinta-2);
  padding-bottom: .35rem;
}
.calendario .cab.hoje { color: var(--marca); }
.calendario .regua {
  position: relative; height: calc(var(--horas) * var(--alt-hora));
}
.calendario .regua span {
  position: absolute; right: .5rem; top: calc(var(--i) * var(--alt-hora));
  transform: translateY(-50%);
  font-size: var(--t-micro); font-weight: 600; color: var(--tinta-2);
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.calendario .regua span::after {
  content: ""; position: absolute; right: -.5rem; top: 50%; width: .5rem;
  border-top: 1px solid var(--linha);
}
.calendario .col {
  position: relative; height: calc(var(--horas) * var(--alt-hora));
  border-left: 1px solid var(--linha); background: var(--cartao);
  background-image:
    linear-gradient(to top, var(--linha) 0 1px, transparent 1px),
    repeating-linear-gradient(to bottom,
      var(--linha) 0 1px, transparent 1px var(--alt-hora));
}
.calendario .regua + .col { border-radius: 8px 0 0 8px; }
.calendario .col:last-child {
  border-right: 1px solid var(--linha); border-radius: 0 8px 8px 0;
}
.calendario .col.folga { background-color: var(--fundo); }
.calendario .col.hoje { background-color: var(--marca-suave); }
.calendario .bloco {
  position: absolute; left: 3px; right: 3px; overflow: hidden;
  display: flex; flex-direction: column;
  border-radius: var(--raio-p); padding: .2rem .15rem;
  font-size: var(--t-micro); line-height: 1.25; text-align: center;
  font-variant-numeric: tabular-nums; letter-spacing: -.01em;
  background: var(--casa-f, var(--cinza-f)); color: var(--casa, var(--tinta-2));
  border: 1px solid var(--linha); border-left: 3px solid var(--casa, var(--tinta-2));
  border-color: color-mix(in srgb, var(--casa, var(--tinta-2)) 30%, transparent);
  border-left-color: var(--casa, var(--tinta-2));
  box-shadow: 0 1px 2px rgb(0 0 0 / .06);
}
.calendario .bloco .horas {
  display: flex; flex-direction: column; align-items: center; font-weight: 700;
}
.calendario .bloco .entra, .calendario .bloco .sai { white-space: nowrap; }
.calendario .bloco .sai { opacity: .8; }
.calendario .bloco .casa { display: none; }
.calendario .agora-linha {
  position: absolute; left: 0; right: 0; height: 2px; z-index: 2;
  background: var(--alta);
}
.calendario .agora-linha::before {
  content: ""; position: absolute; left: -3px; top: -3px;
  width: 8px; height: 8px; border-radius: 50%; background: var(--alta);
}
.casa-1 { --casa: var(--casa-1); --casa-f: var(--casa-1-f); }
.casa-2 { --casa: var(--casa-2); --casa-f: var(--casa-2-f); }
.casa-3 { --casa: var(--casa-3); --casa-f: var(--casa-3-f); }
.casa-4 { --casa: var(--casa-4); --casa-f: var(--casa-4-f); }
.casa-5 { --casa: var(--casa-5); --casa-f: var(--casa-5-f); }
.casa-6 { --casa: var(--casa-6); --casa-f: var(--casa-6-f); }
.casas {
  list-style: none; display: flex; flex-wrap: wrap; gap: .3rem .9rem;
  margin: .6rem 0 0; padding: 0; font-size: var(--t-nota);
}
.casas li { display: flex; align-items: center; gap: .4rem; }
.casas .marca {
  width: .75rem; height: .75rem; border-radius: 4px;
  background: var(--casa-f, var(--cinza-f));
  border-left: 3px solid var(--casa, var(--tinta-2));
}
form.editar fieldset.dia-turnos {
  border: 1px solid var(--linha); border-radius: var(--raio);
  padding: .3rem .8rem .5rem; margin: 0 0 .8rem;
}
form.editar fieldset.dia-turnos legend {
  font-size: var(--t-micro); font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--tinta-2); padding: 0 .35rem;
}
form.editar fieldset.dia-turnos { position: relative; }
form.editar .folga-botao {
  position: absolute; top: -.1rem; right: .6rem;
  display: flex; align-items: center; gap: .35rem;
  padding: .25rem .6rem; border: 1px solid var(--linha); border-radius: 999px;
  background: var(--cartao); cursor: pointer;
  font-size: var(--t-nota); font-weight: 600; color: var(--tinta-2);
  -webkit-tap-highlight-color: transparent;
}
form.editar .folga-botao input { margin: 0; accent-color: var(--marca); }
form.editar fieldset.folgado {
  background: var(--cinza-f); border-style: dashed;
}
form.editar fieldset.folgado .folga-botao {
  color: var(--marca); border-color: var(--ouro-linha);
  background: var(--marca-suave);
}
form.editar .escolhas.pastilhas {
  display: flex; flex-wrap: wrap; gap: .5rem; padding: .4rem 0 .2rem;
}
form.editar .escolhas.pastilhas .escolha {
  display: flex; align-items: center; gap: .35rem;
  padding: .25rem .6rem; border: 1px solid var(--linha); border-radius: 999px;
  background: var(--cartao); cursor: pointer;
  font-size: var(--t-nota); font-weight: 600; color: var(--tinta-2);
  -webkit-tap-highlight-color: transparent;
  min-height: 0; flex-direction: row; text-align: left; box-shadow: none;
}
form.editar .escolhas.pastilhas .escolha input {
  position: static; width: auto; height: auto; opacity: 1;
  margin: 0; accent-color: var(--marca);
}
form.editar .escolhas.pastilhas .escolha:has(input:checked) {
  color: var(--marca); border-color: var(--ouro-linha);
  background: var(--marca-suave);
}
form.editar fieldset.folgado .turno-lugar,
form.editar fieldset.folgado .lugar-nota { display: none; }
form.editar fieldset.folgado::after {
  content: "sem turno neste dia";
  display: block; padding: .35rem 0 .5rem;
  font-size: .85rem; color: var(--tinta-2);
}
form.editar .turno-lugar { display: grid; gap: 0 .8rem; align-items: end; }
form.editar .lugar-nota {
  margin: .1rem 0 .5rem; font-size: var(--t-micro); color: var(--tinta-2);
  border-top: 1px dashed var(--linha); padding-top: .5rem;
}
.tabela-caixa {
  background: var(--cartao); border: 1px solid var(--linha);
  border-radius: var(--raio); overflow-x: auto;
}
table.tabela {
  width: 100%; min-width: 60rem; border-collapse: collapse;
  font-size: var(--t-nota); table-layout: fixed;
}
table.tabela th {
  text-align: left; font-size: var(--t-micro); text-transform: uppercase;
  letter-spacing: .04em; color: var(--tinta-2); font-weight: 600;
  padding: .6rem .9rem; border-bottom: 1px solid var(--linha);
  white-space: nowrap;
}
table.tabela td {
  padding: .6rem .9rem; border-bottom: 1px solid var(--linha);
  vertical-align: middle;
}
table.tabela tbody tr:last-child td { border-bottom: none; }
table.tabela th.cel-pessoa { width: 13rem; }
table.tabela th.cel-turno  { width: 11rem; }
table.tabela th.cel-num    { width: 6rem; text-align: right; }
table.tabela td.cel-num {
  text-align: right; font-variant-numeric: tabular-nums; font-weight: 600;
}
table.tabela td.cel-pessoa a { color: var(--tinta); font-weight: 700;
                               text-decoration: none; }
table.tabela .sub { display: block; color: var(--tinta-2);
                    font-size: var(--t-micro); }
table.tabela td.cel-resumo {
  color: var(--tinta-2); overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap;
}
.barra-recorte {
  display: flex; align-items: center; flex-wrap: wrap; gap: .55rem .9rem;
  box-sizing: border-box; padding: .45rem .6rem .45rem .85rem; margin: 0 0 .25rem;
  background: var(--cartao); border: 1px solid var(--fio);
  border-radius: var(--raio-p);
}
.barra-recorte form.escolher-casa { margin: 0; }
.barra-recorte form.escolher-casa select {
  height: auto; padding: .2rem 1.7rem .2rem .2rem; border-color: transparent;
  background-color: transparent; box-shadow: none;
}
.barra-recorte form.escolher-casa select:hover { border-color: var(--linha); }
.barra-recorte .onde-estou { margin: 0; }
.barra-recorte .onde-estou .nome-casa {
  min-height: 0; padding: .2rem; border: none; background: none;
  color: var(--tinta);
}
.recorte-fio { width: 1px; align-self: stretch; min-height: 1.3rem;
               background: var(--linha); }
.recorte-passo {
  display: inline-flex; align-items: center; gap: 0;
  border: 1px solid var(--linha); border-radius: var(--raio-p);
  overflow: hidden;
}
.recorte-seta {
  display: flex; align-items: center; justify-content: center;
  width: 2rem; min-height: var(--comando); font-size: 1rem; line-height: 1;
  color: var(--marca); text-decoration: none;
}
.recorte-seta.inerte { color: var(--linha); }
.recorte-rotulo {
  padding: 0 .8rem; font-size: var(--t-nota); font-weight: 700;
  color: var(--tinta); white-space: nowrap; text-transform: capitalize;
}
.recorte-degrau {
  display: inline-flex; align-items: center; gap: .4rem;
  min-height: var(--comando); padding: .2rem .8rem;
  border: 1px solid var(--fio); border-radius: var(--raio-p);
  background: var(--cartao); color: var(--tinta-2);
  font-size: var(--t-nota); font-weight: 700; text-decoration: none;
}
@media (hover: hover) {
  .recorte-degrau:hover { border-color: var(--ouro-linha); color: var(--tinta); }
  .recorte-seta:hover { color: var(--tinta); }
}
@media (max-width: 899px) {
  .barra-recorte > .recorte-fio { display: none; }
}
.barra-registo {
  display: flex; flex-wrap: wrap; align-items: center; gap: .6rem;
  margin: 0 0 .7rem;
}
.barra-registo .meses {
  display: flex; align-items: center; gap: .2rem; margin-right: auto;
}
.barra-registo .mes-atual {
  font-weight: 700; text-transform: capitalize; min-width: 8.5rem;
  text-align: center; font-size: var(--t-nota);
}
.barra-registo .mes-seta {
  display: inline-flex; align-items: center; justify-content: center;
  width: var(--comando); height: var(--comando); border-radius: var(--raio-p);
  border: 1px solid var(--linha); background: var(--cartao);
  color: var(--marca); text-decoration: none; font-weight: 700;
}
.barra-registo .mes-seta.inerte { color: var(--linha); background: none; }
.barra-registo a.destaque {
  display: inline-flex; align-items: center; gap: .4rem;
  min-height: var(--comando); padding: .3rem .9rem; border-radius: var(--raio-p);
  text-decoration: none; font-size: var(--t-nota);
  background: var(--ouro); color: #272727; font-weight: 700;
}
table.tabela.registo {
  width: 100%; min-width: 46rem; border-collapse: collapse;
  font-size: var(--t-nota); table-layout: auto;
}
table.tabela.registo th {
  text-align: left; vertical-align: top; padding: .55rem .6rem;
  font-size: var(--t-micro); text-transform: uppercase; letter-spacing: .03em;
  color: var(--tinta-2); font-weight: 700; white-space: normal;
  border-bottom: 1px solid var(--linha); background: var(--cinza-f);
}
table.tabela.registo th .sub {
  display: block; margin-top: .15rem; text-transform: none;
  letter-spacing: 0; font-weight: 500; font-size: var(--t-micro);
  white-space: nowrap;
}
table.tabela.registo th.cel-obs .sub { white-space: normal; }
table.tabela.registo th.cel-dia { width: 3rem; }
table.tabela.registo th.cel-hora { width: 4.2rem; }
table.tabela.registo th.cel-quarto { width: 7.5rem; }
table.tabela.registo td.cel-quarto { white-space: nowrap; font-weight: 600; }
table.tabela.registo th.cel-medicao { width: 7.5rem; }
table.tabela.registo th.cel-quem { width: 8.5rem; }
table.tabela.registo th.cel-obs { width: auto; min-width: 14rem; }
table.tabela.registo td {
  padding: .5rem .6rem; border-bottom: 1px solid var(--linha);
  vertical-align: top;
}
table.tabela.registo td.cel-medicao, table.tabela.registo td.cel-quem {
  white-space: nowrap;
}
table.tabela.registo tbody tr:last-child td { border-bottom: none; }
table.tabela.registo tbody tr { cursor: pointer; }
table.tabela.registo .cel-dia, table.tabela.registo .cel-hora {
  text-align: center; white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
table.tabela.registo .cel-dia { font-weight: 700; }
table.tabela.registo td.cel-medicao { font-variant-numeric: tabular-nums; }
table.tabela.registo td.fora { color: var(--alta); font-weight: 700; }
table.tabela.registo tr.falhada td { background: var(--alta-f); }
table.tabela.registo td.cel-obs { color: var(--tinta-2); }
table.tabela.registo tr.sem-linhas td {
  text-align: center; color: var(--tinta-2); padding: 1.4rem;
  cursor: default;
}
table.tabela.registo .sem-ninguem { color: var(--tinta-2); }
@media (min-width: 900px) {
  .registo-largo {
    width: min(59.5rem, calc(50vw + 22rem - var(--lateral) / 2));
  }
}
.so-computador { display: none; }
.barra-baixo > a.so-computador, .lateral nav a.so-computador { display: none; }
@media (min-width: 900px) {
  .so-computador { display: block; }
  .lateral nav a.so-computador { display: flex; }
  .so-telemovel { display: none !important; }
  .barra-baixo { display: none; }
  a.flutuante { display: none; }
  .pedir-traducao {
    left: calc(var(--lateral) + 1rem); bottom: 1.25rem; max-width: 22rem;
  }
  header { display: none; }
  body { padding-left: var(--lateral); }
  html.lateral-fechada { --lateral: 3.4rem; }
  .lateral {
    position: fixed; top: 0; bottom: 0; left: 0; width: var(--lateral);
    z-index: 20; display: flex; flex-direction: column;
    padding: 1.15rem .8rem 1rem;
    background: rgba(255, 255, 255, .74);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    backdrop-filter: blur(18px) saturate(150%);
    border-right: 1px solid var(--linha);
    box-shadow: inset -2px 0 0 -1px var(--ouro);
    overflow-y: auto;
  }
  .alternar-lateral {
    position: fixed; top: 1.15rem; left: calc(var(--lateral) - 2.9rem);
    z-index: 25; width: 2.1rem; height: 2.1rem; padding: 0;
    display: grid; place-items: center;
    border: 1px solid transparent; border-radius: var(--raio-p);
    background: transparent; color: var(--tinta-2); cursor: pointer;
    transition: left .18s, background .12s, color .12s, border-color .12s;
  }
  .alternar-lateral svg.ic { width: 1.3rem; height: 1.3rem; vertical-align: 0; }
  html.com-js .alternar-lateral { display: grid; }
  @media (hover: hover) {
    .alternar-lateral:hover { background: var(--cinza-f); color: var(--tinta); }
  }
  html.lateral-fechada .lateral { display: none; }
  html.lateral-fechada .alternar-lateral {
    left: .65rem; background: var(--cartao); border-color: var(--linha);
  }
  :where(html.tema-escuro) .lateral { background: rgba(38, 35, 31, .72); }
  @media (prefers-reduced-motion: reduce) {
    .alternar-lateral { transition: none; }
  }
  .perfil summary .quem { display: flex; min-width: 0; }
  .perfil .menu .cabeca { display: none; }
  .perfil .menu .cabeca + a { margin-top: 0; }
  .perfil summary .quem .nome, .perfil summary .quem .funcao {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  main { max-width: 1200px; padding: 1.5rem 2rem 4rem; }
  body.largo main { max-width: 1500px; }
  h1 { font-size: 1.75rem; margin: .5rem 0 1rem; }
  .titulo-acao { margin: .5rem 0 1rem; }
  h2 { margin: 2rem 0 .7rem; }
  .cartao, .metrica, .hero-metrica, .cta, .atalhos a {
    transition: border-color .12s, box-shadow .12s, background .12s;
  }
  @media (hover: hover) {
    .lateral nav a:hover { background: var(--cinza-f); color: var(--tinta); }
    .lateral nav .separador-com-andar > summary:hover {
      background: var(--cinza-f); color: var(--tinta);
    }
    .lateral nav a.ativo:hover { background: var(--marca-suave); color: var(--marca); }
    .perfil summary:hover, .perfil .menu a.sair:hover,
    .perfil .menu a.password:hover,
    .perfil .menu a.lingua:hover,
    .perfil .menu a.avisos-telemovel:hover,
    .perfil .menu a.horario:hover { background: var(--cinza-f); }
    .perfil .menu .tema button[aria-pressed="false"]:hover {
      background: var(--cinza-f); color: var(--tinta);
    }
    a.cartao:hover, a.metrica:hover, .hero-metrica:hover {
      border-color: var(--marca); box-shadow: 0 2px 10px rgba(0,0,0,.07);
    }
    .cta:hover, .atalhos a:hover { background: var(--marca-suave); }
    .acao-tarefa button.principal:hover { border-color: var(--marca); }
    .acao-tarefa .cta.solo:hover {
      background: var(--ouro); filter: brightness(1.05);
    }
  }
  a:focus-visible, button:focus-visible, select:focus-visible,
  input:focus-visible, summary:focus-visible, tr:focus-visible {
    outline: 2px solid var(--marca); outline-offset: 2px; border-radius: var(--raio-p);
  }
  .cartoes {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
    gap: .75rem; align-items: start;
  }
  .cartoes .item, .cartoes > .cartao { margin-bottom: 0; }
  .cartoes .vazio { grid-column: 1 / -1; }
  .grelha-metricas { grid-template-columns: repeat(4, 1fr); gap: .75rem; }
  .metrica { padding: .9rem 1rem; border-left-width: 4px; }
  .metrica .valor { font-size: 2.2rem; }
  .atalhos a { flex: 0 0 auto; }
  .filtros { gap: .5rem; margin: 1rem 0 .4rem; }
  .filtros select { flex: 0 1 13rem; padding: .5rem .6rem; cursor: pointer; }
  .linha .alvo {
    grid-template-columns: 3.2rem 5.6rem 7.5rem minmax(14rem, 1fr) auto;
    align-items: center; gap: .3rem .9rem; padding: .65rem 1.2rem;
  }
  .linha .onde { grid-column: auto; }
  .linha .alvo > .badge.estado { grid-column: 3; }
  .linha .factos {
    grid-column: auto; margin-top: 0; flex-wrap: nowrap; white-space: nowrap;
    justify-content: flex-end;
  }
  .linha .motivo { grid-column: 4 / -1; margin-top: 0; }
  @media (hover: hover) {
    .linha .alvo:hover { background: var(--marca-suave); }
    .filtros-estado a:hover { border-color: var(--marca); }
  }
  .pilha, .cabeca-pilha, .pilha + .nota { max-width: 46rem; }
  .notificacao { padding: .8rem .9rem; gap: .7rem; border-radius: 24px; }
  .notificacao .desc { font-size: .9rem; }
  .cabeca-pilha { margin: 0 .6rem .5rem; }
  @media (hover: hover) {
    .notificacao:hover { box-shadow: var(--sombra-alta); }
    .notificacao a.terminar-ja:hover .disco { border-color: var(--marca); }
  }
  .tabela-caixa {
    border-color: var(--fio); box-shadow: var(--sombra);
  }
  table.tabela tbody tr { cursor: pointer; }
  @media (hover: hover) {
    table.tabela tbody tr:hover { background: var(--marca-suave); }
  }
  .horario { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .horario .dia {
    flex-direction: column; align-items: stretch; gap: .2rem;
  }
  .horario .dia > .rotulo { flex: none; }
  .cronologia { --rotulo-fila: 11rem; --borda-cron: 1.4rem; }
  .equipa-lista .pessoa {
    grid-template-columns: 1fr auto; align-items: center;
  }
  .equipa-lista .casas { justify-content: flex-end; }
  .calendario { --calha: 2.6rem; --alt-hora: 2rem; }
  .calendario .bloco { padding: .25rem .4rem; }
  .calendario .bloco .horas {
    flex-direction: row; flex-wrap: wrap; justify-content: center;
  }
  .calendario .bloco .sai::before {
    content: "–"; opacity: .55; padding: 0 .15em;
  }
  .calendario .bloco .casa {
    display: block; font-weight: 600; opacity: .85; align-self: center;
    margin: auto 0; min-height: 0;
    max-width: 100%; overflow: hidden; text-overflow: ellipsis;
    white-space: nowrap;
  }
  .calendario .bloco { container-type: size; }
  @container (max-height: 3.4rem) {
    .calendario .bloco .casa { display: none; }
  }
  .colunas {
    display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 1.5rem; align-items: start;
  }
  .colunas > * { min-width: 0; }
  .colunas.so-uma { grid-template-columns: minmax(0, 46rem); }
  .colunas > * > h2:first-child { margin-top: 0; }
  .fotos { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
  .pontos-hero {
    display: inline-flex; align-items: baseline; gap: .6rem;
    padding: .9rem 1.4rem; text-align: left;
  }
  .pontos-hero strong { display: inline; font-size: 2rem; }
  body.leitura main { max-width: 52rem; }
  form.login { margin-top: 5rem; }
  details.perigo { max-width: 34rem; }
  details.perigo button { width: auto; padding: .6rem 1.4rem; }
  .cta.solo { max-width: 26rem; }
}
