:root { --bg:#f6f4ef; --card:#fff; --ink:#1c1b19; --mut:#6b675f; --line:#dcd7cc; --work:#1f6f50; --off:#efe6d2; --accent:#d9480f; --warn:#9a6700; --warnbg:#fff4d6; --errbg:#fde8e1; --okbg:#e3f1ea; }
  * { box-sizing:border-box; }
  body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; }
  main { max-width:960px; margin:0 auto; padding:24px 16px 64px; }
  .banner { background:var(--ink); color:#fff; text-align:center; padding:10px 16px; font-size:15px; }
  .banner b { color:#ffb38a; }
  .banner a { color:#fff; }
  nav { display:flex; gap:16px; font-weight:600; font-size:15px; padding-top:8px; }
  nav a { color:var(--mut); text-decoration:none; }
  nav a[aria-current] { color:var(--ink); border-bottom:2px solid var(--accent); }
  .res { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:16px; margin:16px 0; display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); }
  .res div { font-size:14px; color:var(--mut); }
  .res b { display:block; font-size:24px; color:var(--ink); letter-spacing:-.01em; }
  .card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:20px; margin:24px 0; }
  .card h2 { margin-top:0; }
  h1 { font-size:clamp(28px,5vw,44px); line-height:1.1; margin:16px 0 8px; letter-spacing:-.02em; }
  h1 em { font-style:normal; color:var(--accent); }
  h2 { font-size:24px; margin:32px 0 8px; }
  h3 { font-size:17px; margin:24px 0 6px; }
  h3 small { color:var(--mut); font-weight:500; }
  p.lead { color:var(--mut); margin:0 0 24px; max-width:60ch; }
  label { display:block; font-weight:600; font-size:14px; margin-bottom:6px; }
  input, textarea, select { font:inherit; padding:9px 11px; border:1px solid var(--line); border-radius:8px; background:var(--card); color:var(--ink); }
  input[type=checkbox] { width:18px; height:18px; accent-color:var(--work); vertical-align:middle; }
  .campo input, .campo select, textarea { width:100%; }
  textarea { min-height:140px; resize:vertical; }
  .grid { display:grid; gap:16px; grid-template-columns:1fr; margin-bottom:16px; }
  @media (min-width:700px) { .grid { grid-template-columns:1fr 1fr; } }
  .turno { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
  .check { display:flex; gap:8px; align-items:center; font-weight:500; }
  button, a.btn { font:inherit; font-weight:600; padding:10px 18px; border-radius:8px; border:1px solid var(--ink); background:var(--ink); color:#fff; cursor:pointer; text-decoration:none; display:inline-block; }
  button.sec, a.btn.sec { background:transparent; color:var(--ink); }
  a.btn.wa { background:#1f8f4e; border-color:#1f8f4e; }
  .actions { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
  .scroll { overflow-x:auto; }
  table { border-collapse:collapse; width:100%; background:var(--card); border:1px solid var(--line); }
  th, td { padding:7px 8px; border-bottom:1px solid var(--line); text-align:center; font-size:14px; }
  th:first-child, td:first-child { text-align:left; }
  .equipe input[type=time] { width:7.5em; padding:5px 6px; }
  .equipe input[type=number] { width:5em; padding:5px 6px; }
  table.sem { min-width:560px; }
  td.d { cursor:pointer; font-weight:600; user-select:none; }
  td.d.t { background:var(--work); color:#fff; }
  td.d.f { background:var(--off); color:var(--mut); }
  .ro td.d { cursor:default; }
  td.bad { color:var(--accent); font-weight:700; }
  tfoot td { font-weight:600; color:var(--mut); }
  .alertas { list-style:none; padding:0; margin:12px 0; display:grid; gap:6px; }
  .alertas li { padding:8px 12px; border-radius:8px; font-size:14px; }
  .alertas .erro { background:var(--errbg); color:#8a2a0a; }
  .alertas .aviso { background:var(--warnbg); color:var(--warn); }
  .alertas .ok { background:var(--okbg); color:var(--work); font-weight:600; }
  .msg { min-height:24px; color:var(--accent); font-weight:600; }
  .link { word-break:break-all; background:var(--card); border:1px dashed var(--work); padding:12px; border-radius:8px; }
  .hint { color:var(--mut); font-size:14px; }
  .pessoas { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 16px; }
  details { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:12px 16px; margin-bottom:8px; }
  summary { font-weight:600; cursor:pointer; }
  details p { margin:8px 0 0; color:var(--mut); }
  footer { color:var(--mut); font-size:13px; margin-top:40px; border-top:1px solid var(--line); padding-top:16px; }
  h1, h2, h3, .pessoa b, .lista li, .link { overflow-wrap:anywhere; }
  .pessoa { max-width:100%; }
  th.feriado { color:var(--accent); }
  th.feriado small { display:block; font-weight:500; font-size:11px; }
  [hidden] { display:none !important; }
  nav .conta { margin-left:auto; display:flex; gap:16px; align-items:center; }
  .link-btn { background:none; border:0; padding:0; color:var(--mut); font-weight:600; font-size:15px; cursor:pointer; }
  button.mini, a.btn.mini { padding:5px 10px; font-size:13px; }
  button.perigo { color:var(--accent); border-color:var(--accent); }
  .mut { color:var(--mut); font-weight:400; }
  .ajustes { display:grid; gap:12px; padding:8px 4px; text-align:left; }
  .ajustes .linha { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
  .ajustes .check { gap:4px; }
  .ajustes select, .pedido-form select { padding:6px 8px; }
  table.por-dia { width:auto; }
  table.por-dia input[type=time] { width:7.5em; padding:4px 6px; }
  table.por-dia input[type=number] { width:5em; padding:4px 6px; }
  .lista { list-style:none; padding:0; margin:12px 0; display:grid; gap:8px; }
  .lista li { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:10px 12px; font-size:15px; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
  .lista li.mut { border-style:dashed; }
  .pedido .status { margin-left:auto; font-size:13px; font-weight:600; color:var(--mut); }
  .pedido.aprovado .status { color:var(--work); }
  .pedido.recusado .status { color:var(--accent); }
  .pedido .acoes { display:flex; gap:6px; }
  .selo { background:var(--warnbg); color:var(--warn); border-radius:99px; padding:2px 10px; font-size:13px; font-weight:600; text-decoration:none; }
  .pessoa { display:inline-flex; gap:6px; align-items:center; background:var(--card); border:1px solid var(--line); border-radius:8px; padding:6px 6px 6px 12px; font-size:14px; }
  .pessoa b { margin-right:4px; }
  .linha-form { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
  .linha-form input { flex:1; min-width:200px; }
  .card.entrar { display:grid; gap:16px; max-width:520px; }
  .card.entrar .btn { text-align:center; }
  .topo-loja { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
  .nome-loja { flex:1; min-width:180px; font-size:20px; font-weight:700; border-color:transparent; background:transparent; }
  .nome-loja:hover, .nome-loja:focus { border-color:var(--line); background:var(--card); }
  main.texto { max-width:720px; }
  main.texto li { margin-bottom:6px; }
  @page { size:A4 landscape; margin:12mm; }
  @media print {
    body { background:#fff; }
    .banner, nav, h1, #segmentos, #pedidos, #convite, #atualizado, .lead, form, .actions, .hint, #faq, #compara, #whats, footer, .alertas, .noprint { display:none !important; }
    td.d.t { background:#ddd !important; color:#000 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    td.d.f { background:#fff !important; }
    .semana { break-inside:avoid; }
    input { border:0; padding:0; }
  }
