/* Sentinela de Prazos — CSS extraído do mockup aprovado (mockup-mobile.html).
   Visual fechado: paleta, tipografia e componentes não foram redesenhados.
   Acréscimos aqui: fontes por arquivo (em vez de base64), esqueleto do app real
   (troca de tela por classe, não por moldura de celular) e o breakpoint de desktop. */

@font-face{font-family:'Open Sans light';src:url('/fonts/opensans-light-webfont.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Open Sans regular';src:url('/fonts/opensans-regular-webfont.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Open Sans semibold';src:url('/fonts/opensans-semibold-webfont.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Open Sans bold';src:url('/fonts/opensans-bold-webfont.woff2') format('woff2');font-display:swap}

:root{
  --azul-header:#0078AA; --azul-acao:#0084AC; --azul-hover:#029BCA;
  --fundo-app:#EBF0F3; --branco:#FFF; --zebra:#F9F9F9;
  --borda-forte:#CCC; --borda:#DDD; --borda-fraca:#EEE;
  --texto:#454545; --texto-fraco:#666; --texto-apagado:#999;
  --laranja:#FFA500; --erro:#A94442; --vencido:#7A2E2C; --link:#477B91; --foco:#66AFE9;
  --sombra-card:0 2px 5px -1px rgba(0,0,0,.26);
  --sombra-btn:0 1px 6px rgba(0,0,0,.118), 0 1px 4px rgba(0,0,0,.24);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--fundo-app)}
body{font-family:'Open Sans regular',Arial,Helvetica,sans-serif;color:var(--texto);overscroll-behavior-y:none}
:focus-visible{outline:2px solid var(--foco);outline-offset:2px}
button{font-family:inherit}
a{color:var(--link)}

/* ===== esqueleto do app (substitui a moldura de celular do mockup) =====
   #app-root guarda "páginas" de topo mutuamente exclusivas (carregando, login,
   onboarding, app-shell) — troca simples de display, sem router. */
#app-root{height:100vh;height:100dvh;position:relative;overflow:hidden}
#app-root > *{height:100%}
.oculto{display:none !important}

/* ===== tela cheia (login / onboarding) ===== */
.tela-cheia{height:100%;display:flex;flex-direction:column}

/* app-shell: sidebar (escondida no mobile) + área principal + bottom nav */
.app-shell{display:flex;flex-direction:column;height:100%}
.sidebar-nav{display:none}
.app-main{display:flex;flex-direction:column;flex:1;min-height:0}

/* ===== app: chrome comum ===== */
.app{display:flex;flex-direction:column;height:100%;font-size:14px;color:var(--texto);background:var(--fundo-app);min-height:0}
.topbar{flex:0 0 auto;min-height:56px;background:var(--azul-header);color:#fff;display:flex;align-items:center;
  gap:6px;padding:env(safe-area-inset-top,0) 16px 0;padding-top:calc(env(safe-area-inset-top,0) + 0px);box-sizing:border-box}
.topbar{padding-top:env(safe-area-inset-top,0)}
.topbar-linha{display:flex;align-items:center;width:100%;min-height:56px}
.topbar .voltar{width:44px;height:44px;margin-left:-12px;display:flex;align-items:center;
  justify-content:center;cursor:pointer;color:#fff;background:none;border:none;padding:0}
.topbar .titulo{font-size:18px;font-family:'Open Sans semibold'}
.topbar .meta{margin-left:auto;font-size:12px;opacity:.88;white-space:nowrap}
.content{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}
.bottomnav{flex:0 0 auto;background:#fff;display:flex;box-shadow:inset 0 1px 0 var(--borda-fraca);
  padding-bottom:env(safe-area-inset-bottom,0)}
.bottomnav .item{flex:1;min-height:44px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:2px;color:var(--texto-apagado);font-size:11px;background:none;
  border:none;cursor:pointer;font-family:'Open Sans regular';padding:6px 0}
.bottomnav .item.ativo{color:var(--azul-acao)}
.bottomnav .item svg{width:20px;height:20px}

/* ===== botões (do kit PJe) ===== */
.btn{height:40px;padding:6px 14px;font-size:13px;text-transform:uppercase;border:none;
  border-radius:3px;box-shadow:var(--sombra-btn);cursor:pointer;font-family:'Open Sans regular';
  line-height:26px;transition:background .15s ease}
.btn-primary{background:var(--azul-acao);color:#fff}
.btn-primary:hover{background:var(--azul-hover)}
.btn-default{background:#fff;color:var(--texto)}
.btn-default:hover{background:#F0F0F0}
.btn-lg{height:48px;line-height:34px;flex:1}
.btn:disabled{opacity:.5;cursor:default}

/* ===== card de prazo — o SIGNATURE ===== */
.card-prazo{display:flex;flex-direction:column;margin:0 12px 10px;border-radius:3px;
  overflow:hidden;box-shadow:var(--sombra-card);background:#fff;cursor:pointer;border:none;
  text-align:left;width:calc(100% - 24px);padding:0;font-family:inherit;color:inherit}
.card-prazo .linha{display:flex;min-height:76px}
.card-prazo .bar{width:4px;flex:0 0 4px}
.card-prazo .selo{width:54px;flex:0 0 54px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:0;padding:4px 0}
.card-prazo .selo .n{font-family:'Open Sans light';font-size:30px;line-height:.72;
  letter-spacing:-.5px}
.card-prazo .selo .u{font-size:12px;line-height:1;margin-top:3px;font-family:'Open Sans regular'}
.card-prazo .selo .n-hoje{font-family:'Open Sans bold';font-size:13px;line-height:1.2;
  text-align:center;padding:0 4px}
.card-prazo .conteudo{flex:1 1 auto;min-width:0;padding:11px 12px 11px 10px;
  display:flex;flex-direction:column;justify-content:center;gap:2px}
.conteudo .classe{font-size:14px;color:var(--texto)}
.conteudo .processo{font-size:13px;color:var(--texto-fraco);font-variant-numeric:tabular-nums}
.conteudo .orgao{font-size:12px;color:var(--texto-apagado)}
.conteudo .linha4{font-size:13px;margin-top:3px}
.linha4.acao{color:var(--azul-acao);font-family:'Open Sans semibold'}
.linha4.tarefa{color:var(--texto)}
.linha4.concluido{color:var(--texto-apagado)}
.card-prazo .rodape-card{border-top:1px solid var(--borda-fraca)}
.card-prazo .rodape-card .btn{width:100%;height:44px;line-height:32px;border-radius:0;
  box-shadow:none;background:#fff;color:var(--azul-acao);font-family:'Open Sans semibold'}
.card-prazo .rodape-card .btn:hover{background:var(--zebra)}
.card-prazo.concluido{opacity:.55;cursor:default}

/* cores de urgência: barra + número do selo */
.u-cinza .bar,.u-cinza .selo{background:#fff}
.u-cinza .bar{background:var(--texto-apagado)}
.u-cinza .n,.u-cinza .u{color:var(--texto-apagado)}
.u-azul .bar{background:var(--azul-acao)}
.u-azul .n,.u-azul .u{color:var(--azul-acao)}
.u-laranja .bar{background:var(--laranja)}
.u-laranja .n,.u-laranja .u{color:var(--laranja)}
.u-vermelho .bar{background:var(--erro)}
.u-vermelho .n,.u-vermelho .u{color:var(--erro)}
.u-hoje .bar{background:var(--erro)}
.u-hoje .selo{background:var(--erro);color:#fff}
.u-vencido .bar{background:var(--vencido)}
.u-vencido .selo{background:var(--vencido);color:#fff}
.u-vencido .n,.u-vencido .u{color:#fff}
.u-concluido .bar{background:var(--texto-apagado)}
.u-concluido .selo{color:var(--texto-apagado)}

/* ===== tela Hoje ===== */
.resumo-bar{background:#fff;padding:12px 16px;font-size:13px;color:var(--texto);
  box-shadow:inset 0 -1px 0 var(--borda-fraca)}
.secao-titulo{font-size:12px;text-transform:uppercase;color:var(--texto-fraco);
  font-family:'Open Sans bold';padding:16px 16px 8px;letter-spacing:.05em}
.vazio-estado{height:100%;box-sizing:border-box;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:14px;padding:0 28px;text-align:center}
.vazio-estado svg{flex:0 0 auto}
.vazio-estado h3{font-family:'Open Sans light';font-weight:400;font-size:18px;margin:0;color:var(--texto)}
.vazio-estado p{font-size:13px;color:var(--texto-apagado);margin:0}

/* ===== tela Intimação ===== */
.detail-card{background:#fff;margin:12px;border-radius:3px;box-shadow:var(--sombra-card);
  padding:16px}
.etiqueta{font-size:12px;text-transform:uppercase;color:var(--texto-fraco);
  font-family:'Open Sans bold';letter-spacing:.04em}
.classe-titulo{font-family:'Open Sans light';font-size:19px;margin:4px 0 12px;color:var(--texto)}
.processo-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}
.processo-row .num{font-size:13px;font-variant-numeric:tabular-nums;color:var(--texto)}
.btn-copiar{height:32px;padding:0 10px;font-size:11px;display:flex;align-items:center;gap:6px;
  min-width:44px;position:relative;flex:0 0 auto}
.btn-copiar::after{content:'';position:absolute;inset:-6px}
.grade2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.grade2 .lbl{font-size:11px;text-transform:uppercase;color:var(--texto-fraco);
  font-family:'Open Sans bold';margin-bottom:3px}
.grade2 .val{font-size:13px;color:var(--texto)}
.divisor{border-top:1px solid var(--borda-fraca);margin:14px 0}
.teor-label{font-size:12px;text-transform:uppercase;color:var(--texto-fraco);
  font-family:'Open Sans bold';margin-bottom:8px;letter-spacing:.04em}
.teor-box{position:relative;max-height:230px;overflow:hidden;transition:max-height .2s ease}
.teor-box.expandido{max-height:none}
.teor-box p{font-size:14px;line-height:1.55;color:var(--texto);margin:0 0 10px;white-space:pre-line}
.teor-fade{position:absolute;left:0;right:0;bottom:0;height:40px;
  background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none}
.teor-box.expandido .teor-fade{display:none}
.ver-tudo{display:block;width:100%;text-align:center;color:var(--link);font-size:13px;
  background:none;border:none;padding:10px 0;margin-top:4px;min-height:44px;cursor:pointer;
  font-family:'Open Sans regular'}
.link-pje{display:block;text-align:center;color:var(--link);font-size:13px;
  text-decoration:underline;padding:14px 0;min-height:44px}
.rodape-acoes{flex:0 0 auto;display:flex;gap:10px;padding:10px 12px;background:#fff;
  box-shadow:0 -1px 0 var(--borda-fraca);padding-bottom:calc(10px + env(safe-area-inset-bottom,0))}
.aviso-triagem{margin:0 12px 12px;padding:10px 12px;border-radius:3px;background:var(--zebra);
  font-size:13px;color:var(--texto)}
.aviso-erro-inline{margin:0 12px 12px;padding:10px 12px;border-radius:3px;background:#FBEDEC;
  border:1px solid var(--erro);color:var(--vencido);font-size:13px}

/* ===== tela Definir prazo (folha) ===== */
.sheet-alca-area{flex:0 0 22px;display:flex;align-items:center;justify-content:center;
  background:var(--fundo-app)}
.sheet-alca{width:38px;height:5px;border-radius:3px;background:var(--borda-forte)}
.sheet-titulo{font-family:'Open Sans light';font-size:22px;padding:6px 16px 4px;color:var(--texto)}
.sheet-detectado{font-size:13px;color:var(--texto);padding:0 16px;margin-bottom:2px}
.sheet-aviso{font-size:12px;color:var(--erro);padding:0 16px;margin-bottom:12px}
.chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 16px}
.chip{height:44px;min-width:44px;padding:0 14px;border:1px solid var(--borda-forte);
  border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:14px;
  color:var(--texto);background:#fff;cursor:pointer;transition:background .15s ease,color .15s ease}
.chip.selecionado{background:var(--azul-acao);color:#fff;border-color:var(--azul-acao)}
.calc-bloco{background:var(--zebra);margin:0 16px 12px;padding:12px 14px;border-radius:3px}
.calc-linha{display:flex;justify-content:space-between;font-size:13px;color:var(--texto);
  padding:3px 0}
.calc-linha.etapa-final{border-top:1px solid var(--borda);margin-top:4px;padding-top:8px;
  font-size:18px;font-family:'Open Sans semibold';color:var(--azul-acao)}
.calc-aviso-envio{font-size:12px;color:var(--texto-apagado);padding:0 16px 16px}
.campo-oquefazer{padding:0 16px 16px}
.campo-oquefazer label{display:block;font-size:12px;font-family:'Open Sans bold';
  color:var(--texto-fraco);text-transform:uppercase;margin-bottom:6px}
.form-control{height:44px;width:100%;padding:8px;font-size:14px;color:var(--texto);
  border:1px solid var(--borda-forte);border-radius:0;background:#fff;
  font-family:'Open Sans regular'}
.form-control:focus{border-color:var(--foco);outline:0;box-shadow:0 0 0 3px rgba(102,175,233,.35)}

/* ===== tela Prazos ===== */
.segmento{display:flex;margin:12px;background:#fff;border-radius:3px;box-shadow:var(--sombra-card);
  overflow:hidden}
.segmento .opc{flex:1;min-height:44px;display:flex;align-items:center;justify-content:center;
  font-size:12.5px;text-transform:uppercase;color:var(--texto-fraco);cursor:pointer;
  background:none;border:none;font-family:'Open Sans semibold'}
.segmento .opc.ativo{color:#fff;background:var(--azul-acao)}
.grupo-titulo{font-size:12px;text-transform:uppercase;color:var(--texto-fraco);
  font-family:'Open Sans bold';padding:14px 16px 6px;letter-spacing:.05em}
.grupo-titulo.vencidos{color:var(--erro)}

/* ===== tela Processos ===== */
.card-simples{background:#fff;margin:12px;border-radius:3px;box-shadow:var(--sombra-card);
  padding:16px}
.card-simples h3{font-size:12px;text-transform:uppercase;color:var(--texto-fraco);
  font-family:'Open Sans bold';margin:0 0 12px;letter-spacing:.05em}
.fonte-linha{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.fonte-linha:last-child{margin-bottom:0}
.fonte-linha .esq b{font-size:14px;font-family:'Open Sans semibold';color:var(--texto);
  display:block}
.fonte-linha .esq span{font-size:12.5px;color:var(--texto-apagado)}
.fonte-linha .esq span.erro-fonte{color:var(--erro)}
.item-processo{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 0;border-bottom:1px solid var(--borda-fraca);min-height:44px}
.item-processo:last-of-type{border-bottom:none}
.item-processo .num{font-size:13px;font-variant-numeric:tabular-nums;color:var(--texto)}
.item-processo .org{font-size:12px;color:var(--texto-apagado)}
.btn-remover{width:32px;height:32px;min-width:32px;border-radius:3px;background:#fff;
  border:1px solid var(--borda-forte);display:flex;align-items:center;justify-content:center;
  color:var(--texto-fraco);cursor:pointer;position:relative}
.btn-remover::after{content:'';position:absolute;inset:-6px}
.btn-full{width:100%;margin-top:12px;height:44px;line-height:30px}
.numproc{display:flex;margin-top:12px}
.numproc input{height:40px;border:1px solid var(--borda-forte);border-right:none;text-align:center;
  font-size:13px;font-family:'Open Sans regular';color:var(--texto);padding:8px 2px;min-width:0}
.numproc input:last-child{border-right:1px solid var(--borda-forte)}
.numproc .fixo{background:var(--zebra);color:var(--texto);pointer-events:none}
.numproc-acoes{display:flex;gap:8px;margin-top:10px}
.numproc-acoes .btn{height:44px;line-height:30px}

/* ===== tela Ajustes ===== */
.lista-ajustes{background:#fff;margin:12px;border-radius:3px;box-shadow:var(--sombra-card);
  overflow:hidden}
.lista-ajustes .item{padding:14px 16px;min-height:44px;display:flex;align-items:center;
  justify-content:space-between;gap:10px;box-shadow:inset 0 -1px 0 var(--borda-fraca);cursor:pointer;
  background:none;border:none;width:100%;text-align:left;font-family:inherit}
.lista-ajustes .item:last-child{box-shadow:none}
.lista-ajustes .item .rot{font-size:14px;color:var(--texto)}
.lista-ajustes .item .rot small{display:block;font-size:12px;color:var(--texto-apagado);
  margin-top:2px}
.lista-ajustes .item.saida .rot{color:var(--erro)}
.status-ativa{font-size:13px;color:var(--azul-acao);font-family:'Open Sans semibold'}
.status-desligada{font-size:13px;color:var(--erro);font-family:'Open Sans semibold'}

/* ===== tela Primeiro uso / Login ===== */
.onboard{height:100%;background:var(--azul-header);color:#fff;display:flex;
  flex-direction:column;padding:calc(env(safe-area-inset-top,0) + 36px) 26px 26px;font-family:'Open Sans regular'}
.onboard .passo{display:none;flex-direction:column;height:100%}
.onboard .passo.ativo{display:flex}
.onboard h2{font-family:'Open Sans light';font-size:28px;margin:0 0 14px;line-height:1.15}
.onboard p{font-size:15px;line-height:1.5;margin:0 0 14px;color:rgba(255,255,255,.92)}
.onboard .lista-passos{margin:0 0 10px;padding-left:0;list-style:none;counter-reset:passo}
.onboard .lista-passos li{counter-increment:passo;display:flex;gap:10px;margin-bottom:12px;
  font-size:14px;line-height:1.4}
.onboard .lista-passos li::before{content:counter(passo);flex:0 0 22px;height:22px;
  border-radius:3px;background:rgba(255,255,255,.18);display:flex;align-items:center;
  justify-content:center;font-size:12px;font-family:'Open Sans semibold'}
.onboard .nota-menor{font-size:12.5px;color:rgba(255,255,255,.75);margin-top:auto}
.onboard .espaco{flex:1}
.onboard .rodape-onboard{display:flex;flex-direction:column;gap:16px}
.dots{display:flex;gap:7px;justify-content:center}
.dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);
  border:none;padding:0;cursor:pointer}
.dots span.ativo{background:#fff}
.onboard .btn-onboard{height:44px;background:#fff;color:var(--azul-header);border:none;
  border-radius:3px;text-transform:uppercase;font-size:13px;font-family:'Open Sans semibold';
  cursor:pointer;box-shadow:var(--sombra-btn)}
.onboard .btn-onboard:disabled{opacity:.6;cursor:default}
.onboard .link-discreto{background:none;border:none;color:rgba(255,255,255,.65);font-size:12.5px;
  text-align:center;padding:8px;min-height:44px;cursor:pointer;text-decoration:underline}
.onboard .depois{display:none;text-align:center}
.onboard .depois.mostrar{display:block}
.onboard .depois .check-ok{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.onboard .btns-depois{display:flex;gap:10px;margin-top:16px}
.onboard .btns-depois button{flex:1;height:44px;border-radius:3px;border:1px solid rgba(255,255,255,.5);
  background:transparent;color:#fff;font-size:12.5px;text-transform:uppercase;cursor:pointer}
.faixa-alerta{display:block;width:100%;background:var(--erro);color:#fff;border:none;
  padding:10px 12px;text-align:left;cursor:pointer;font-family:'Open Sans regular';flex:0 0 auto}
.faixa-alerta .linha1{display:block;font-size:13px;line-height:1.35}
.faixa-alerta .linha2{display:block;font-size:12px;text-decoration:underline;margin-top:2px}

/* ===== login ===== */
.login-tela{height:100%;background:var(--azul-header);color:#fff;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:26px;font-family:'Open Sans regular';gap:18px}
.login-tela h1{font-family:'Open Sans light';font-size:26px;margin:0}
.login-caixa{width:100%;max-width:320px;display:flex;flex-direction:column;gap:12px}
.login-caixa .form-control{background:#fff;border:none;height:48px;font-size:15px}
.login-caixa .btn-onboard{height:48px}
.login-erro{font-size:13px;color:#FFE1DE;min-height:18px}

/* ===== carregando / toast ===== */
.tela-carregando{height:100%;display:flex;align-items:center;justify-content:center;
  background:var(--fundo-app);color:var(--texto-apagado);font-size:13px}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0) + 76px);
  transform:translateX(-50%);background:var(--texto);color:#fff;padding:10px 16px;
  border-radius:3px;font-size:13px;box-shadow:var(--sombra-card);z-index:200;max-width:90vw;
  text-align:center}
.toast.erro{background:var(--vencido)}

/* ===== tela = qualquer painel navegável dentro do app ===== */
.tela{display:none}
.tela.ativa{display:flex;flex-direction:column;flex:1;min-height:0}

/* No mobile, telas de detalhe (intimação / definir prazo) cobrem a tela cheia,
   por cima da lista de origem — dispensa remover a classe .ativa da lista. */
.tela-detalhe.ativa{position:fixed;inset:0;z-index:40;background:var(--fundo-app)}

/* semana e placeholder de detalhe vazio só existem no desktop */
#painel-semana{display:none}
#painel-vazio-detalhe{display:none}

@media (prefers-reduced-motion: reduce){
  *{transition:none !important;animation:none !important}
}

/* ================================================================
   BREAKPOINT DESKTOP — o mesmo HTML, sem framework, só grid + media query.
   Lista à esquerda (400px), detalhe à direita; bottom nav vira coluna lateral;
   Prazos ganha a coluna da semana no lugar do detalhe, até algo ser aberto.
   ================================================================ */
@media (min-width:1024px){
  .app-shell{flex-direction:row}
  .bottomnav{display:none}
  .sidebar-nav{display:flex;flex:0 0 96px}

  .sidebar-nav{flex-direction:column;align-items:stretch;background:#fff;
    box-shadow:inset -1px 0 0 var(--borda-fraca);padding:16px 0;gap:4px}
  .sidebar-nav .item{flex:0 0 auto;min-height:64px;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:6px;color:var(--texto-apagado);font-size:11.5px;
    background:none;border:none;cursor:pointer;font-family:'Open Sans regular'}
  .sidebar-nav .item.ativo{color:var(--azul-acao)}
  .sidebar-nav .item svg{width:22px;height:22px}

  .app-main{display:grid;grid-template-columns:400px 1fr;overflow:hidden;height:100%}
  .app-main .tela-lista{grid-column:1;border-right:1px solid var(--borda-fraca)}
  .app-main .tela-lista.ativa{display:flex}

  /* detalhe (intimação / definir-prazo / semana) some de ser overlay e passa a
     ser a coluna 2, ao lado da lista — nunca sobrepondo nada */
  .app-main .tela-detalhe.ativa{position:static;inset:auto;z-index:auto;grid-column:2;
    display:flex;border-left:none}
  .app-main .tela-detalhe:not(.ativa){display:none}

  #painel-vazio-detalhe{display:none;grid-column:2}
  #painel-vazio-detalhe.ativo{display:flex}

  #painel-semana{display:none;grid-column:2}
  #painel-semana.ativo{display:flex}

  .sheet-alca-area{display:none} /* alça de "arrastar" só faz sentido em folha subindo no celular */

  .card-prazo{cursor:pointer}

  #painel-semana{flex-direction:column;background:#fff;overflow-y:auto}
  .semana-cabecalho{padding:16px;font-size:12px;text-transform:uppercase;color:var(--texto-fraco);
    font-family:'Open Sans bold';letter-spacing:.05em;border-bottom:1px solid var(--borda-fraca)}
  .semana-grade{display:grid;grid-template-columns:repeat(5,1fr);flex:1;min-height:0}
  .semana-dia{border-right:1px solid var(--borda-fraca);display:flex;flex-direction:column;min-width:0}
  .semana-dia:last-child{border-right:none}
  .semana-dia .dia-titulo{padding:10px 8px;font-size:12px;font-family:'Open Sans semibold';
    color:var(--texto-fraco);text-align:center;border-bottom:1px solid var(--borda-fraca)}
  .semana-dia .dia-corpo{flex:1;overflow-y:auto;padding:6px}
  .semana-item{background:#fff;border:1px solid var(--borda-fraca);border-left:3px solid var(--azul-acao);
    border-radius:3px;padding:6px 8px;margin-bottom:6px;font-size:12px;cursor:pointer;text-align:left;
    width:100%}
  .semana-item.u-laranja{border-left-color:var(--laranja)}
  .semana-item.u-vermelho{border-left-color:var(--erro)}
  .semana-item.u-vencido{border-left-color:var(--vencido)}
  .semana-item .sp-classe{display:block;font-family:'Open Sans semibold';color:var(--texto)}
  .semana-item .sp-processo{display:block;color:var(--texto-fraco);font-variant-numeric:tabular-nums}
  .semana-vazio{padding:12px 8px;font-size:12px;color:var(--texto-apagado)}

  .vazio-detalhe{height:100%;display:flex;align-items:center;justify-content:center;
    color:var(--texto-apagado);font-size:14px;text-align:center;padding:0 32px;background:#fff}

  /* onboarding e login continuam centrados, só limitados em largura pra não esticar num monitor */
  .onboard, .login-tela{max-width:480px;margin:0 auto;width:100%}
}
