:root{--cor:#1f4e79;--cor-escura:#163a5a;--fundo:#f3f5f8;--texto:#1d2733;--suave:#5b6b7d;--erro:#b42318;--ok:#1a7f37;--borda:#d4dbe3;color:var(--texto);background:var(--fundo);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:1100px;margin:0 auto;padding:1.5rem 1rem}h1{margin:0 0 .25rem;font-size:1.5rem}h2{margin-top:0}.sub{color:var(--suave);margin:0 0 1.25rem}.topo{background:var(--cor);color:#fff;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.topo .quem{margin-left:auto}.topo .link{color:#fff}.cartao{border:1px solid var(--borda);background:#fff;border-radius:10px;padding:1.5rem}.estreito{max-width:400px;margin:8vh auto 0}form{gap:.9rem;display:grid}label{gap:.3rem;font-size:.9rem;font-weight:600;display:grid}input{font:inherit;border:1px solid var(--borda);border-radius:6px;padding:.65rem .75rem;font-weight:400}input:focus{outline:2px solid var(--cor);outline-offset:1px}button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.7rem 1rem}button:disabled{opacity:.6;cursor:progress}.primario{background:var(--cor);color:#fff;font-weight:600}.primario:hover:not(:disabled){background:var(--cor-escura)}.secundario{border-color:var(--borda);background:#fff}.link{color:var(--cor);text-align:center;background:0 0;border:0;padding:0}.acoes{justify-content:flex-end;gap:.75rem;display:flex}.erro{color:var(--erro);margin:0}.aviso{color:var(--suave)}.regras{color:var(--suave);margin:0;padding:0;font-size:.85rem;list-style:none}.regras .ok{color:var(--ok)}.pre{white-space:pre-wrap}.modal{background:#00000073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal .cartao{width:100%;max-width:480px}.turno{flex-wrap:wrap;gap:1.5rem;margin:1rem 0;display:flex}.turno dt{color:var(--suave);font-size:.8rem}.turno dd{margin:0;font-weight:600}.faixa-validacao{color:#fff;text-align:center;z-index:50;background:#b42318;padding:.45rem 1rem;font-size:.9rem;font-weight:700;position:sticky;top:0}.carimbo-validacao{text-align:center;border:2px solid #000;margin:1.5mm 0;padding:1mm;font-weight:700}
