*,*::before,*::after{box-sizing:border-box}
:root{
  --papel:#FFF7FA; --papel-2:#FDEDF3; --superficie:#FFFFFF;
  --tinta:#3A2A3F; --tinta-fraca:#8C7894; --linha:#F2DCE7;
  --rosa:#E4487E; --rosa-claro:#FFE1EC;
  --lilas:#8E6FE0; --lilas-claro:#EEE7FF;
  --menta:#2FB79A; --menta-claro:#DBF5EE;
  --pessego:#F79449; --pessego-claro:#FFEBDB;
  --raio:18px; --raio-p:12px;
  --sombra:0 10px 30px -18px rgba(88,32,60,.45);
  --sombra-alta:0 24px 60px -24px rgba(88,32,60,.5);
  --alt-hora:56px;
}
html,body{height:100%}
body{
  margin:0; overflow:hidden;
  font-family:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:15px; line-height:1.4; color:var(--tinta);
  background:
    radial-gradient(900px 420px at 10% -10%, #FFE7F1 0%, rgba(255,231,241,0) 60%),
    radial-gradient(760px 400px at 95% 0%, #EFE7FF 0%, rgba(239,231,255,0) 62%),
    var(--papel);
  display:flex; flex-direction:column;
}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;margin:0;letter-spacing:-.01em}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2.5px solid var(--lilas);outline-offset:2px;border-radius:8px}
.oculto{display:none !important}
.rolo{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#EBD3DF transparent}
.rolo::-webkit-scrollbar{width:8px;height:8px}
.rolo::-webkit-scrollbar-thumb{background:#EBD3DF;border-radius:99px}
.etiqueta{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-fraca);font-weight:700}

/* ---------------- CAMPOS (global — inputs, datas, horas, textareas) ---------------- */
input[type=text],input[type=date],input[type=time],input[type=number],input[type=search],textarea{
  width:100%;padding:10px 12px;border-radius:var(--raio-p);border:1.5px solid var(--linha);
  background:#FFFDFE;color:var(--tinta);transition:border-color .16s,box-shadow .16s,background .16s;
  appearance:none;-webkit-appearance:none;
}
input[type=text]:hover,input[type=date]:hover,input[type=time]:hover,input[type=number]:hover,textarea:hover{
  border-color:#E9C7D6;
}
input:focus,textarea:focus{outline:none;border-color:var(--rosa);box-shadow:0 0 0 3px var(--rosa-claro);background:#fff}
textarea{min-height:62px;resize:vertical;font-family:inherit}
input[type=date],input[type=time]{color-scheme:light;cursor:pointer}
input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{
  cursor:pointer;border-radius:7px;padding:3px;opacity:.55;transition:opacity .16s,background .16s;
}
input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{
  opacity:1;background:var(--rosa-claro);
}
input[type=number]{font-variant-numeric:tabular-nums}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:.6}
::placeholder{color:var(--tinta-fraca);opacity:.75}

/* ---------------- TOPO ---------------- */
.topo{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;
  border-bottom:1px solid var(--linha);background:rgba(255,247,250,.8);backdrop-filter:blur(12px);z-index:20}
.marca{display:flex;align-items:center;gap:10px}
.flor{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:15px;
  background:conic-gradient(from 20deg,var(--rosa),var(--lilas),var(--pessego),var(--rosa));box-shadow:var(--sombra)}
.marca h1{font-size:18px;line-height:1.05;white-space:nowrap}
.marca span{display:block;font-family:'Outfit';font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--tinta-fraca)}
.espaco{flex:1}
.abas{position:relative;display:flex;gap:2px;background:var(--papel-2);border-radius:999px;padding:4px}
.abas .indicador{position:absolute;top:4px;bottom:4px;left:4px;width:80px;border-radius:999px;background:var(--superficie);box-shadow:var(--sombra);z-index:0}
.aba{position:relative;z-index:1;padding:8px 18px;border-radius:999px;font-size:14px;font-weight:500;color:var(--tinta-fraca);transition:color .25s;white-space:nowrap}
.aba[aria-selected="true"]{color:var(--rosa);font-weight:600}
.btn-hoje{padding:8px 14px;border-radius:999px;background:var(--superficie);border:1px solid var(--linha);
  box-shadow:var(--sombra);font-size:13.5px;font-weight:500}

/* ---------------- PALCO ---------------- */
.palco{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;padding:14px}
.principal{min-height:0;display:flex;flex-direction:column;background:var(--superficie);border:1px solid var(--linha);
  border-radius:22px;box-shadow:var(--sombra);padding:14px 16px 16px;overflow:hidden}
.barra-periodo{flex:0 0 auto;display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.barra-periodo h2{font-size:clamp(19px,2.4vw,27px);line-height:1.1}
.barra-periodo .sub{font-size:12px;color:var(--tinta-fraca)}
.circ{width:34px;height:34px;border-radius:50%;border:1px solid var(--linha);display:grid;place-items:center;
  background:#FFFDFE;transition:transform .18s,background .18s;flex:0 0 auto}
.circ:hover{transform:translateY(-2px);background:var(--rosa-claro)}
.vista{display:none;flex:1;min-height:0;flex-direction:column}
.vista.ativa{display:flex}

/* ---------------- MÊS ---------------- */
.cal{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-cab{font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--tinta-fraca);font-weight:700}
.dia-cel{position:relative;min-height:0;border:1px solid var(--linha);border-radius:14px;background:linear-gradient(180deg,#fff,#FFFCFD);
  padding:5px 6px;display:flex;flex-direction:column;gap:3px;overflow:hidden;transition:border-color .18s,background .18s,transform .18s}
.dia-cel.fora{opacity:.42}
.dia-cel.hoje{border-color:var(--pessego);background:linear-gradient(180deg,#FFF8F1,#fff)}
.dia-cel.alvo{border-color:var(--rosa);background:var(--rosa-claro);transform:scale(1.02)}
.dia-topo{display:flex;align-items:baseline;justify-content:space-between;gap:4px;flex:0 0 auto}
.dia-num{font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
.dia-dow{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-fraca)}
.dia-lista{display:flex;flex-direction:column;gap:3px;overflow:hidden;min-height:0}
.chip{display:flex;gap:5px;align-items:baseline;font-size:10.5px;line-height:1.25;border-radius:7px;padding:3px 6px;
  background:var(--rosa-claro);color:#8C2148;cursor:grab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip .h{font-weight:700;font-variant-numeric:tabular-nums}
.chip.escopo-semana{background:var(--lilas-claro);color:#4E2FA8}
.chip.escopo-mes{background:var(--pessego-claro);color:#9A5216}
.chip.feita{background:var(--menta-claro);color:#1A7A66;text-decoration:line-through}
.mais{font-size:9.5px;color:var(--tinta-fraca);font-weight:700;padding-left:3px}

/* ---------------- GRELHA DE HORAS ---------------- */
.grelha-topo{flex:0 0 auto;display:grid;border-bottom:1px solid var(--linha);padding-right:8px}
.grelha-topo .celc{text-align:center;padding:4px 0 8px}
.grelha-topo .celc b{display:block;font-size:15px;font-variant-numeric:tabular-nums}
.grelha-topo .celc small{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-fraca)}
.grelha-topo .celc.hoje b{color:var(--pessego)}
.grelha-topo .celc.sel b{color:var(--rosa)}
.grelha-corpo{flex:1;min-height:0;overflow:auto;position:relative}
.grelha{display:grid;position:relative}
.col-horas{border-right:1px solid var(--linha)}
.hora-rot{height:var(--alt-hora);font-size:10.5px;color:var(--tinta-fraca);text-align:right;padding-right:7px;
  transform:translateY(-7px);font-variant-numeric:tabular-nums}
.col-dia{position:relative;border-right:1px solid var(--linha)}
.col-dia:last-child{border-right:0}
.col-dia.fds{background:#FFFCFD}
.faixa{height:var(--alt-hora);border-bottom:1px dashed var(--linha)}
.faixa.alvo{background:var(--rosa-claro)}
.agora{position:absolute;left:0;right:0;height:2px;background:var(--rosa);z-index:4;pointer-events:none}
.agora::before{content:'';position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--rosa)}
.bloco{position:absolute;left:3px;right:3px;border-radius:10px;padding:4px 7px;overflow:hidden;cursor:grab;
  background:linear-gradient(160deg,#FFD9E7,#FFC2D8);color:#8C2148;border:1px solid rgba(228,72,126,.25);z-index:3}
.bloco b{display:block;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}
.bloco span{font-size:11.5px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bloco.escopo-semana{background:linear-gradient(160deg,#E7DDFF,#D6C6FA);color:#4E2FA8;border-color:rgba(142,111,224,.28)}
.bloco.escopo-mes{background:linear-gradient(160deg,#FFE6D0,#FFD3AE);color:#9A5216;border-color:rgba(247,148,73,.3)}
.bloco.feita{background:linear-gradient(160deg,#D9F5EC,#BFEEE0);color:#1A7A66;border-color:rgba(47,183,154,.3)}
.bloco.feita span{text-decoration:line-through}

/* ---------------- VISTA DIA ---------------- */
.dia-palco{flex:1;min-height:0;display:grid;grid-template-columns:minmax(220px,.85fr) minmax(280px,1.15fr);gap:14px}
.coluna-dia{min-height:0;display:flex;flex-direction:column}
.paineis{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-content:start;padding-right:4px}
.painel{background:#FFFBFC;border:1px solid var(--linha);border-radius:14px;padding:11px}
.painel h4{font-size:11px;font-family:'Outfit';font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--tinta-fraca);margin-bottom:8px}
.painel.largo{grid-column:1/-1}
.linha{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px dashed var(--linha)}
.linha:last-child{border-bottom:0}
.linha span{font-size:13px}
.sn{display:inline-flex;background:var(--papel-2);border-radius:999px;padding:3px;gap:2px;flex:0 0 auto}
.sn button{width:28px;height:24px;border-radius:999px;font-size:12px;font-weight:700;color:var(--tinta-fraca)}
.sn button[aria-pressed="true"][data-v="S"]{background:var(--menta);color:#fff}
.sn button[aria-pressed="true"][data-v="N"]{background:var(--rosa);color:#fff}
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px}
.duo input{width:100%;min-width:0}
.numerao{font-family:'Fraunces';font-size:26px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.numerao small{font-family:'Outfit';font-size:11.5px;font-weight:500;color:var(--tinta-fraca);margin-left:5px}
.copos{display:flex;gap:4px;flex-wrap:wrap;margin:9px 0}
.copo{width:15px;height:21px;border-radius:4px 4px 7px 7px;border:1.5px solid var(--lilas);background:transparent}
.copo.cheio{background:linear-gradient(180deg,#B9A6F2,var(--lilas));border-color:transparent}
.humores{display:flex;gap:5px;flex-wrap:wrap}
.humor{width:35px;height:35px;border-radius:12px;font-size:17px;background:#fff;border:1px solid var(--linha);display:grid;place-items:center;transition:transform .18s}
.humor[aria-pressed="true"]{background:var(--pessego-claro);border-color:var(--pessego);transform:scale(1.06)}
.mini-abas{display:flex;gap:5px;margin-bottom:10px;flex-wrap:wrap}
.mini-aba{padding:5px 11px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--tinta-fraca);background:var(--papel-2)}
.mini-aba[aria-selected="true"]{background:var(--rosa-claro);color:var(--rosa)}
.campo{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.campo label{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-fraca);font-weight:700}
.campo:last-child{margin-bottom:0}

/* ---------------- GRÁFICOS ---------------- */
.legenda{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.chave{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--tinta-fraca);font-weight:500}
.chave i{width:10px;height:10px;border-radius:3px}
.barras{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;align-items:end}
.grupo{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}
.paus{display:flex;align-items:flex-end;gap:4px;height:96px;width:100%;justify-content:center;border-bottom:1.5px dashed var(--linha)}
.pau{position:relative;width:22px;max-width:36%;border-radius:7px 7px 3px 3px;transform-origin:bottom;background:linear-gradient(180deg,var(--c1),var(--c2))}
.pau b{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--tinta)}
.grupo .rot{font-size:10px;text-align:center;color:var(--tinta-fraca);line-height:1.25}
.pilulas{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.pilula{padding:6px 11px;border-radius:999px;background:var(--papel-2);font-size:11.5px;font-weight:600}
.nota{font-size:11px;color:var(--tinta-fraca);margin-top:10px;line-height:1.5}

/* ---------------- MÉTRICAS ---------------- */
.metricas-palco{flex:1;min-height:0;display:flex;padding:14px;overflow:hidden}
.metricas-palco .principal{max-width:1120px;margin:0 auto;width:100%}
.tira-dias{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 2px}
.dia-mini{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:11px;font-weight:700;
  font-variant-numeric:tabular-nums;cursor:pointer;background:var(--papel-2);color:var(--tinta-fraca);
  border:1px solid var(--linha);transition:transform .15s}
.dia-mini:hover{transform:translateY(-2px)}
.dia-mini.cheio{background:var(--menta-claro);color:#1A7A66;border-color:#BFE9DA}
.dia-mini.parcial{background:var(--pessego-claro);color:#9A5216;border-color:#F5CE9E}
.dia-mini.vazio2{background:var(--rosa-claro);color:#8C2148;border-color:#F6C3D6}
.estatica{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:4px}
.estat{background:#fff;border:1px solid var(--linha);border-radius:14px;padding:12px}
.estat .numerao{display:block}
.estat small{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-fraca);font-weight:700}
.barra-meta{height:8px;border-radius:99px;background:var(--papel-2);overflow:hidden;margin-top:6px}
.barra-meta i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--menta),#5FD5B8)}

/* ---------------- INBOX DE TAREFAS ---------------- */
.lado{min-height:0;display:flex;flex-direction:column;background:var(--superficie);border:1px solid var(--linha);
  border-radius:22px;box-shadow:var(--sombra);padding:14px;overflow:hidden}
.lado > header{flex:0 0 auto;display:flex;align-items:center;gap:8px;margin-bottom:10px}
.lado > header h3{font-size:17px}
.novo{flex:0 0 auto;background:#FFFBFC;border:1px solid var(--linha);border-radius:16px;padding:10px;margin-bottom:10px}
.novo input[type=text]{width:100%;border:0;background:transparent;padding:4px 2px;font-size:14px}
.novo input[type=text]:focus{outline:none;box-shadow:none}
.novo .campos{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}
.selec{display:flex;background:var(--papel-2);border-radius:999px;padding:3px;gap:2px}
.selec button{padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--tinta-fraca)}
.selec button[aria-pressed="true"]{background:#fff;color:var(--rosa);box-shadow:var(--sombra)}
.dur{display:flex;align-items:center;gap:4px;background:var(--papel-2);border-radius:999px;padding:3px 4px 3px 10px;font-size:11.5px;color:var(--tinta-fraca);font-weight:600}
.dur input{width:52px;border:1.5px solid transparent;background:#fff;border-radius:999px;padding:4px 7px;font-size:11.5px;text-align:center}
.dur input:focus{outline:none;box-shadow:0 0 0 3px var(--rosa-claro);border-color:var(--rosa)}
.dur-prev{font-size:10.5px;color:var(--rosa);font-weight:700;white-space:nowrap}
.btn{padding:9px 15px;border-radius:999px;background:linear-gradient(150deg,var(--rosa),#F0698E);color:#fff;font-weight:600;font-size:13.5px;
  box-shadow:0 12px 24px -14px var(--rosa);transition:transform .18s;display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none}
.btn:hover{transform:translateY(-2px)}
.btn.suave{background:var(--papel-2);color:var(--rosa);box-shadow:none}
.btn.fantasma{background:transparent;border:1px solid var(--linha);color:var(--tinta-fraca);box-shadow:none}
.btn.mini{padding:6px 11px;font-size:12px}
.btn.largo{width:100%;text-align:center}
.filtros{flex:0 0 auto;display:flex;gap:5px;margin-bottom:9px}
.filtro{padding:5px 10px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--tinta-fraca);background:var(--papel-2)}
.filtro[aria-pressed="true"]{background:var(--rosa-claro);color:var(--rosa)}
.grupo-titulo{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-fraca);font-weight:700;margin:12px 0 7px}
.tarefa{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border-radius:14px;border:1px solid var(--linha);
  background:#FFFBFC;margin-bottom:7px;cursor:grab;transition:transform .18s,box-shadow .18s,border-color .18s}
.tarefa:hover{transform:translateY(-2px);box-shadow:var(--sombra);border-color:var(--rosa)}
.tarefa.arrastando{opacity:.45}
.tarefa .corpo{flex:1;min-width:0}
.tarefa .tit{font-size:13.5px;font-weight:500;word-break:break-word}
.tarefa .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;font-size:10.5px;color:var(--tinta-fraca)}
.tag{padding:2px 8px;border-radius:999px;background:var(--papel-2);font-weight:700;letter-spacing:.03em}
.tag.mes{background:var(--pessego-claro);color:#9A5216}
.tag.semana{background:var(--lilas-claro);color:#4E2FA8}
.tag.dia{background:var(--rosa-claro);color:#8C2148}
.tarefa.agendada{background:linear-gradient(160deg,#F4FBF8,#E7F7F1);border-color:#BFE9DA}
.tarefa.agendada .quando{color:#1A7A66;font-weight:700}
.tarefa.feita .tit{text-decoration:line-through;color:var(--tinta-fraca)}
.marca-feita{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--linha);display:grid;place-items:center;
  font-size:12px;color:var(--tinta-fraca);flex:0 0 auto;margin-top:1px;background:#fff}
.tarefa.feita .marca-feita{background:var(--menta);border-color:var(--menta);color:#fff}
.acoes-lado{flex:0 0 auto;display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--linha);flex-wrap:wrap}
.vazio{font-size:12.5px;color:var(--tinta-fraca);font-style:italic;padding:10px 2px}

/* ---------------- DIÁLOGO ---------------- */
.veu{position:fixed;inset:0;background:rgba(58,42,63,.34);backdrop-filter:blur(3px);z-index:90;opacity:0;pointer-events:none}
.veu.aberto{opacity:1;pointer-events:auto}
.dialogo-centro{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:none}
.dialogo{width:min(400px,calc(100vw - 24px));
  background:var(--superficie);border:1px solid var(--linha);border-radius:24px;box-shadow:var(--sombra-alta);padding:18px;opacity:0;pointer-events:none;
  max-height:min(88vh,720px);overflow:auto}
.dialogo.aberto{opacity:1;pointer-events:auto}
.dialogo h3{font-size:19px;margin-bottom:12px}
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rodape-dialogo{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.rodape-dialogo .btn{flex:1;text-align:center;min-width:100px}

/* ---------------- CARGA ---------------- */
.carga{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;
  background:var(--papel);transition:opacity .3s}
.carga.escondida{opacity:0;pointer-events:none}
.rodinha{width:34px;height:34px;border-radius:50%;border:3px solid var(--rosa-claro);border-top-color:var(--rosa);animation:girar 1s linear infinite}
@keyframes girar{to{transform:rotate(360deg)}}
.carga p{font-size:13px;color:var(--tinta-fraca)}
.erro-ligacao{max-width:360px;text-align:center;font-size:13px;color:var(--tinta-fraca);line-height:1.6}
.erro-ligacao b{color:var(--rosa);display:block;margin-bottom:6px;font-size:14px}

/* ---------------- MÓVEL ---------------- */
.barra-baixo{display:none;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:88;
  background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border:1px solid var(--linha);border-radius:20px;box-shadow:var(--sombra-alta);padding:6px}
.barra-baixo .fila{display:grid;grid-template-columns:repeat(5,1fr)}
.bb{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0;font-size:9.5px;font-weight:700;color:var(--tinta-fraca);border-radius:14px}
.bb .ic{font-size:16px}
.bb[aria-selected="true"]{color:var(--rosa);background:var(--rosa-claro)}
@media(max-width:1000px){
  .palco{grid-template-columns:minmax(0,1fr) 300px}
  .dia-palco{grid-template-columns:1fr}
}
@media(max-width:820px){
  .abas{display:none}
  .marca span{display:none}
  .palco,.metricas-palco{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);padding:8px 8px 84px}
  .lado{position:fixed;left:0;right:0;bottom:0;top:auto;height:78vh;border-radius:24px 24px 0 0;z-index:80;
    transform:translateY(102%);transition:transform .32s cubic-bezier(.4,0,.2,1);padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .lado.aberto{transform:translateY(0)}
  .barra-baixo{display:block}
  .principal{padding:12px 12px 14px;border-radius:18px}
  .barra-periodo h2{font-size:20px}
  .dia-cel{border-radius:11px;padding:4px}
  .chip{height:6px;padding:0;border-radius:99px;gap:0}
  .bloco{padding:3px 5px}
  .bloco b{display:none}
  .bloco span{font-size:10px;white-space:normal;line-height:1.2}
  .chip .h, .chip span{display:none}
  .mais{display:none}
  .brinde{bottom:92px}
  .dia-palco{grid-template-rows:minmax(200px,38%) minmax(0,1fr)}
  :root{--alt-hora:50px}
  input[type=text],input[type=date],input[type=time],input[type=number],textarea{font-size:16px}
  .rodape-dialogo .btn{flex:1 1 100%}
  .estatica{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .dupla{grid-template-columns:1fr}
  .novo .campos{flex-direction:column;align-items:stretch}
  .novo .selec,.novo .dur{justify-content:center}
  .acoes-lado{flex-direction:column}
  .acoes-lado .btn{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;transition-duration:.01ms !important}}
.brinde{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(12px);z-index:120;opacity:0;pointer-events:none;
  background:var(--tinta);color:#fff;padding:10px 17px;border-radius:999px;font-size:13px;box-shadow:var(--sombra-alta);max-width:92vw}

/* ---------------- IMPRESSÃO (A4 paisagem) ---------------- */
.area-impressao{display:none}
.imp-pagina{width:277mm;min-height:190mm;max-height:190mm;overflow:hidden;font-family:'Outfit',system-ui,sans-serif;
  color:#3A2A3F;display:flex;flex-direction:column;gap:8px}
.imp-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:2px solid #E4487E;padding-bottom:6px}
.imp-cab h1{font-family:'Fraunces',Georgia,serif;font-size:20px;margin:0}
.imp-cab h2{font-size:14px;margin:2px 0 0;font-weight:600}
.imp-gerado{font-size:9px;color:#8C7894;text-align:right;line-height:1.5;white-space:nowrap}
.imp-corpo{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}
.imp-grelha-wrap{flex:0 0 50%;min-height:0;max-height:50%;overflow:hidden;display:flex;flex-direction:column}
.imp-legenda-wrap{flex:0 0 50%;min-height:0;max-height:50%;overflow:hidden;border-top:1px solid #F2DCE7;padding-top:6px}
.imp-legenda-titulo{font-size:12px;font-weight:700;margin:0 0 5px;font-family:'Fraunces',Georgia,serif}
table.imp-tabela-grelha{width:100%;height:100%;border-collapse:collapse;font-size:9px;table-layout:fixed}
table.imp-tabela-grelha th,table.imp-tabela-grelha td{border:1px solid #F2DCE7;padding:2px 4px;vertical-align:top;text-align:left;overflow:hidden}
table.imp-tabela-grelha th{background:#FDEDF3;font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#8C7894}
table.imp-tabela-grelha th:first-child,table.imp-tabela-grelha td.imp-hora{width:52px}
table.imp-tabela-grelha td.imp-hora{font-weight:700;white-space:nowrap;background:#FFFBFC;font-size:8.5px}
.imp-bloco{display:block;border-radius:4px;padding:1px 4px;margin-bottom:1px;background:#FFE1EC;color:#8C2148;font-size:8px;line-height:1.35}
.imp-bloco.escopo-semana{background:#EEE7FF;color:#4E2FA8}
.imp-bloco.escopo-mes{background:#FFEBDB;color:#9A5216}
.imp-bloco.feita{background:#DBF5EE;color:#1A7A66;text-decoration:line-through}
.imp-legenda-lista{columns:4;column-gap:16px;font-size:8.5px}
.imp-item{break-inside:avoid;border-bottom:1px dashed #F2DCE7;padding:3px 0;line-height:1.4}
.imp-item b{font-variant-numeric:tabular-nums}
.imp-item .imp-tag{display:inline-block;font-size:7px;text-transform:uppercase;font-weight:700;letter-spacing:.03em;
  padding:1px 5px;border-radius:99px;background:#FDEDF3;color:#8C7894;margin-left:3px}
.imp-item .imp-notas{display:block;color:#8C7894;font-size:7.5px;margin-top:1px}
@media print{
  @page{ size:A4 landscape; margin:10mm; }
  html,body{background:#fff !important;overflow:visible !important;height:auto !important}
  body > *{display:none !important}
  #areaImpressao{display:block !important}
}
