:root{--cereja:#e50145;--laranja:#f15a22;--amarelo:#efd600;--verde:#0c893e;--roxo:#6b4e9e;--fundo:#f6f3ea;--cartao:#fff;--texto:#2b2b2b;--suave:#7a7a7a;--borda:#e8dfd2;--folga:#ffc000;--operacao:#83cbeb}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--fundo);color:var(--texto);font-family:Hind Madurai,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}button,input,select{font-family:inherit;font-size:inherit}.topo{background:#fff;border-bottom:1px solid var(--borda);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topo-in{max-width:1440px;margin:0 auto;padding:14px 20px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}.titulo h1{font-size:22px;line-height:1.1}.titulo h1 b{color:var(--cereja)}.titulo p{color:var(--suave);font-size:13px}.anos{display:flex;gap:6px}.anos button{border:1px solid var(--borda);background:#fff;border-radius:999px;padding:6px 16px;font-weight:700;cursor:pointer}.anos button.on{background:var(--cereja);border-color:var(--cereja);color:#fff}.barra{max-width:1440px;margin:0 auto;padding:10px 20px 0;gap:10px 18px}.barra,.grupo{display:flex;flex-wrap:wrap;align-items:center}.grupo{gap:6px}.grupo>span.rot{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--suave);margin-right:2px}.chip{display:inline-flex;align-items:center;gap:6px;border:2px solid transparent;background:#fff;border-radius:999px;padding:5px 12px;cursor:pointer;font-weight:600;box-shadow:0 0 0 1px var(--borda)}.chip .bol{width:12px;height:12px;border-radius:50%;background:var(--c)}.chip.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);box-shadow:none}.seg{display:inline-flex;border:1px solid var(--borda);border-radius:999px;overflow:hidden;background:#fff}.seg button{border:none;background:none;padding:6px 12px;cursor:pointer;font-weight:600}.seg button.on{background:var(--texto);color:#fff}.toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dica{font-size:13px;color:var(--suave)}.dica.alerta{color:var(--cereja);font-weight:600}.status{font-size:12px;color:var(--suave)}.status.erro{color:var(--cereja)}.legenda{max-width:1440px;margin:8px auto 0;padding:0 20px;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--suave);align-items:center}.legenda .sw{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:-2px;margin-right:5px;border:1px solid rgba(0,0,0,.08)}.principal{max-width:1440px;margin:0 auto;padding:14px 20px 60px;display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:18px;gap:18px;align-items:start}@media (max-width:1100px){.principal{grid-template-columns:1fr}}.meses{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:12px;gap:12px}.mes{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:10px}.mes h3{font-size:14px;text-align:center;background:var(--texto);color:#fff;border-radius:6px;padding:3px 0;margin-bottom:6px;font-weight:600}.grade{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px}.cab{font-size:11px;color:var(--suave);text-align:center;font-weight:700}.dia{position:relative;min-height:44px;border:1px solid #efe8dc;border-radius:6px;background:#fff;cursor:pointer;padding:2px 3px;display:flex;flex-direction:column;align-items:stretch;text-align:left}.dia:hover{outline:2px solid var(--texto);outline-offset:-1px}.dia.vazio{visibility:hidden;cursor:default}.dia.fds{background:#f4f1ea}.dia.folga{background:var(--folga);border-color:#e5ad00}.dia.operacao{background:var(--operacao);border-color:#5fb3d8}.dia.choque{box-shadow:inset 0 0 0 2px var(--cereja)}.dia.inicio{outline:3px dashed var(--texto);outline-offset:-2px}.dia .num{font-size:12px;font-weight:700;line-height:1.2}.marcas{display:flex;flex-wrap:wrap;gap:2px;margin-top:auto}.m{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;border-radius:3px;font-size:9.5px;font-weight:700;line-height:1;padding:0 2px}.m.ferias{background:var(--c);color:#fff}.m.flex{color:#fff;background:repeating-linear-gradient(45deg,var(--c),var(--c) 3px,color-mix(in srgb,var(--c) 60%,#fff) 3px,color-mix(in srgb,var(--c) 60%,#fff) 6px)}.m.inventario{background:#fff;color:var(--c);border:1.5px dashed var(--c)}.lateral{display:flex;flex-direction:column;gap:12px}.card{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:12px 14px}.card h2{font-size:15px;margin-bottom:8px}.pessoa{border-left:5px solid var(--c);padding-left:10px;margin-bottom:12px}.pessoa:last-child{margin-bottom:0}.pessoa .nome{font-weight:700;display:flex;justify-content:space-between;align-items:center}.linha-saldo{display:grid;grid-template-columns:70px 1fr auto;grid-gap:6px;gap:6px;font-size:13px;align-items:baseline}.linha-saldo .det{color:var(--suave)}.saldo{font-weight:700}.saldo.neg{color:var(--cereja)}.periodos{font-size:12px;color:var(--suave);margin-top:3px}.link{background:none;border:none;color:var(--cereja);cursor:pointer;font-weight:600;padding:0}.lanc,.link{font-size:12.5px}.lanc{margin-top:6px}.lanc table{width:100%;border-collapse:collapse}.lanc td{padding:3px 2px;border-bottom:1px solid #f1ece3}.lanc td.n{text-align:right;font-weight:700;white-space:nowrap}.form{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.form input,.form select{border:1px solid var(--borda);border-radius:6px;padding:4px 6px;background:#fff;min-width:0}.form .desc{flex:1 1 140px}.form .num{width:60px}.btn{background:var(--cereja);color:#fff;border:none;border-radius:999px;padding:5px 12px;font-weight:700;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.x{background:none;border:none;color:var(--suave);cursor:pointer;font-size:14px}.x:hover{color:var(--cereja)}.feriados li{list-style:none;display:grid;grid-template-columns:14px 52px 1fr auto;grid-gap:6px;gap:6px;align-items:center;font-size:13px;padding:2px 0}.feriados .sw{width:12px;height:12px;border-radius:3px}.vazio-txt{color:var(--suave);font-size:13px}.carregando{padding:60px;text-align:center;color:var(--suave)}