*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
html,body{margin:0;background:#fff;font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:#111827}
body{min-height:100vh;display:flex;flex-direction:column;max-width:560px;margin:0 auto}
header{background:#166534;color:#fff;padding:14px 16px 12px;padding-top:calc(14px + env(safe-area-inset-top));position:sticky;top:0;z-index:5}
header.adm{background:#1E3A8A}
header h1{margin:0;font-size:19px}header p{margin:2px 0 0;font-size:12.5px;opacity:.88}
.rede{position:absolute;right:14px;top:calc(16px + env(safe-area-inset-top));font-size:11.5px;background:rgba(255,255,255,.16);border-radius:10px;padding:2px 8px}
.tela{padding:14px;flex:1}
.status{display:flex;gap:8px;margin-bottom:12px}.st{flex:1;background:#F2F4F3;border-radius:12px;padding:8px;text-align:center}
.st b{display:block;font-size:22px}.st span{font-size:11.5px;color:#555}.st.warn{background:#FEF3C7}
.nfc{border:3px dashed #16A34A;border-radius:22px;padding:22px 10px;text-align:center;color:#166534;margin-bottom:12px;background:#F0FDF4;cursor:pointer;user-select:none}
.nfc .ic{font-size:46px;line-height:1.1}.nfc b{display:block;font-size:17px;margin-top:4px}.nfc span{font-size:12.5px;color:#3F6212;display:block;margin-top:2px}
.nfc.desligado{border-color:#D97706;background:#FFFBEB;color:#92400E}.nfc.desligado span{color:#92400E}
.nfc.erro{border-color:#DC2626;background:#FEF2F2;color:#991B1B}.nfc.erro span{color:#991B1B}
.nfc.lendo .ic{animation:pulsa 1.6s ease-in-out infinite}
@keyframes pulsa{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.7}}
.nfc.azul{border-color:#2563EB;background:#EFF6FF;color:#1E3A8A}.nfc.azul span{color:#1E3A8A}
.lbl{font-size:12.5px;color:#555;margin:10px 0 5px;font-weight:600}
.mini{font-size:12px;color:#666;font-weight:400}.centro{text-align:center;margin-top:4px}
.pend{color:#B45309}.ok{color:#15803D}.erro{color:#B42318;font-size:13px}
.lista>div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #EEE;padding:8px 2px;font-size:13.5px}
.lista small{color:#666}.lista .vazio{color:#888;justify-content:center}
.btn{display:block;width:100%;border:0;border-radius:14px;padding:15px;font:700 16px system-ui;background:#16A34A;color:#fff;margin-top:10px;cursor:pointer}
.btn:disabled{background:#A7C4B0;color:#eef}.btn.sec{background:#E5E7EB;color:#111}
.btn.mini-btn{padding:10px;font-size:14px;margin-top:6px}
.link{display:block;margin:18px auto 4px;background:none;border:0;color:#6B7280;font-size:13px;text-decoration:underline;cursor:pointer}
.pasto{background:#F0FDF4;border-radius:16px;padding:12px;margin-bottom:6px;position:relative}.pasto h2{margin:0;font-size:26px;color:#14532D}.pasto p{margin:2px 0 0;font-size:12.5px;color:#365314}
.selo{display:inline-block;margin-top:6px;margin-right:4px;background:#FEF3C7;color:#92400E;border-radius:8px;padding:2px 8px;font-size:12px;font-weight:700}
.seg{display:flex;background:#E5E7EB;border-radius:10px;padding:3px}.seg div{flex:1;text-align:center;padding:10px 4px;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer;user-select:none}
.seg .on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.seg.leve .on{background:#166534;color:#fff}
.grade{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}
.grade div,.grade2 div{background:#F1F5F9;border-radius:10px;padding:13px 0;text-align:center;font-weight:700;font-size:17px;cursor:pointer;user-select:none;border:2px solid transparent}
.grade div.larga{grid-column:span 2;font-size:14px}
.grade2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.grade2 div{font-size:13.5px;padding:12px 6px;line-height:1.2;min-height:52px;display:flex;align-items:center;justify-content:center}
.grade .on,.grade2 .on{background:#16A34A;color:#fff}
.grade2.falta div{border-color:#F59E0B}
.total{text-align:center;font-size:15px;margin-top:8px;color:#14532D;font-weight:700;min-height:20px}
.campo{display:block;width:100%;font:16px system-ui;border:1px solid #CBD5E1;border-radius:10px;padding:11px;margin-top:8px;background:#fff}
.aviso{background:#FEF3C7;color:#92400E;border-radius:10px;padding:9px 10px;font-size:13px;margin:8px 0}
.aviso.verde{background:#F0FDF4;color:#14532D}
.caixa-centro{text-align:center;padding:16px 6px}.caixa-centro .ic{font-size:54px}.caixa-centro h2{margin:6px 0;color:#14532D}
.lista-botoes{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lista-botoes button{border:0;background:#F1F5F9;border-radius:10px;padding:14px 6px;font:700 15px system-ui;cursor:pointer}
.pin{display:flex;gap:10px;justify-content:center;margin:10px 0}.pin i{width:16px;height:16px;border-radius:50%;border:2px solid #1E3A8A}.pin i.on{background:#1E3A8A}
.teclado{display:grid;grid-template-columns:repeat(3,72px);gap:10px;justify-content:center}.teclado button{height:60px;border-radius:30px;border:0;background:#F1F5F9;font:700 22px system-ui;cursor:pointer}
.abas{display:flex;gap:4px;overflow-x:auto;margin-bottom:10px}.abas div{padding:8px 10px;border-radius:8px;background:#F1F5F9;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.abas .on{background:#1E3A8A;color:#fff}
.check{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:#444;margin:10px 0}
.sup-ed{border:1px solid #E5E7EB;border-radius:10px;padding:8px;margin-bottom:8px}
.sup-ed .linha{display:flex;gap:6px;align-items:center;margin-top:6px;font-size:12.5px}.sup-ed input[type=number]{width:70px;font:15px system-ui;padding:6px;border:1px solid #CBD5E1;border-radius:8px}
.sup-ed .campo{margin-top:0}
.linha{display:flex;gap:8px}
.fundo{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:20;padding:20px}
.dialogo{background:#fff;border-radius:16px;padding:16px;max-width:420px;width:100%}.dialogo p{font-size:16px;margin:0 0 6px}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#111827;color:#fff;border-radius:12px;padding:10px 14px;font-size:14px;z-index:30;max-width:90%}
#simulador{position:sticky;bottom:0;background:#FDF4FF;border-top:2px solid #C026D3;padding:8px;font-size:12px}
#simulador select,#simulador button{font:13px system-ui;padding:6px;margin:2px}
.lote{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;background:#fff;border:1px solid #BBF7D0;border-radius:12px;padding:8px 10px}
.lote b{font-size:15px;color:#14532D;display:block}.lote small{display:block;font-size:12px;color:#4D7C0F;font-weight:400}
.lote a{font-size:13px;font-weight:700;color:#1D4ED8;text-decoration:underline;white-space:nowrap;cursor:pointer}
.lote.troc{border-color:#F59E0B;background:#FFFBEB}.lote.troc b{color:#92400E}.lote.troc small{color:#92400E}
.lote.vazio{border-color:#E5E7EB;background:#F9FAFB}.lote.vazio b{color:#6B7280;font-weight:600}.lote.vazio small{color:#6B7280}
.lote.escolha{display:block;border-color:#F59E0B;background:#FFFBEB}.lote.escolha b{color:#92400E}
.lote .opcs{display:grid;grid-template-columns:1fr;gap:6px;margin-top:8px}
.opc{border:2px solid #E5E7EB;border-radius:12px;padding:11px 12px;margin-bottom:6px;font-size:15px;font-weight:700;background:#fff;cursor:pointer;user-select:none}
.lote .opc{margin-bottom:0}
.opc small{display:block;font-weight:400;color:#555;font-size:12.5px;margin-top:2px}
.opc.on{border-color:#16A34A;background:#F0FDF4}
.opc .sug{display:inline-block;font-size:11px;font-weight:700;color:#15803D;background:#DCFCE7;border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:middle}
.opc.nao{color:#6B7280}
.busca{margin:0 0 8px}
.visor{display:flex;align-items:baseline;justify-content:center;gap:6px;border:3px solid #CBD5E1;border-radius:16px;padding:10px;margin-top:8px;background:#fff;color:#14532D}
.visor b{font-size:48px;line-height:1.1}.visor b.vazio{color:#CBD5E1}.visor span{font-size:22px;font-weight:700}
.visor.on{border-color:#16A34A;background:#F0FDF4}
.tecl-kg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.tecl-kg button{border:0;border-radius:12px;background:#F1F5F9;font:700 28px system-ui;padding:14px 0;color:#111827;cursor:pointer;user-select:none;touch-action:manipulation}
.tecl-kg button:active{background:#DCFCE7}
.tecl-kg button.apagar{font-size:18px;color:#B42318}
#rUltima{margin-top:8px;font-size:13px;color:#4B5563}#rUltima b{color:#111827}
.linha.pilha{flex-direction:column}.linha.pilha .btn{margin-top:8px}
.dlg-tit{display:block;font-size:21px;color:#9A3412;margin-bottom:6px}
