@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;700&display=swap";*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;font-family:Segoe UI,system-ui,-apple-system,sans-serif}.login-page{--brand-900:#0f3d2e;--brand-700:#146c43;--brand-600:#1a8f56;--brand-500:#22a862;--brand-100:#e6f5ec;--ink-900:#0e1a15;--ink-600:#4b5c54;--ink-400:#8a998f;--line:#dbe8e0;--paper:#fff;--error:#c0392b;--amber:#b7791f;min-height:100vh;color:var(--ink-900);-webkit-font-smoothing:antialiased;background:#eef2f0;flex-direction:column;font-family:DM Sans,sans-serif;display:flex}.login-page *,.login-page :before,.login-page :after{box-sizing:border-box}.login-card{background:var(--paper);flex-direction:column;width:100%;max-width:430px;min-height:100vh;margin:0 auto;display:flex;box-shadow:0 0 60px #0f3d2e1f}.login-hero{background:radial-gradient(120% 100% at 15% 0%, var(--brand-500) 0%, var(--brand-700) 55%, var(--brand-900) 100%);color:#fff;flex:none;padding:40px 28px 44px;position:relative;overflow:hidden}.login-hero-scanlines{background-image:repeating-linear-gradient(90deg,#ffffff12 0 2px,#0000 2px 14px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000000e6 70%);mask-image:linear-gradient(#0000,#000000e6 70%)}.login-hero-beam{opacity:.9;background:linear-gradient(90deg,#0000,#b9f2cf 30%,#fff 50%,#b9f2cf 70%,#0000);height:2px;animation:3.2s ease-in-out infinite login-sweep;position:absolute;left:0;right:0;box-shadow:0 0 12px 2px #b9f2cfcc}@keyframes login-sweep{0%,to{opacity:.25;top:30%}50%{opacity:.9;top:78%}}.login-brandmark{z-index:2;align-items:center;gap:10px;margin-bottom:22px;display:flex;position:relative}.login-brandmark .badge{background:#fff;border-radius:10px;align-items:center;padding:5px 9px;display:flex;box-shadow:0 2px 8px #00000026}.login-brandmark .badge img{height:20px;display:block}.login-brandmark .label{letter-spacing:.3px;opacity:.92;font-family:Manrope,sans-serif;font-size:13px;font-weight:700}.login-brandmark .label span{opacity:.65;letter-spacing:1.1px;text-transform:uppercase;font-size:10px;font-weight:500;display:block}.login-headline{z-index:2;letter-spacing:-.4px;font-family:Manrope,sans-serif;font-size:28px;font-weight:800;line-height:1.15;position:relative}.login-headline em{color:#bdf5d3;font-style:normal}.login-subline{z-index:2;color:#ffffffc7;max-width:300px;margin-top:10px;font-size:14px;line-height:1.45;position:relative}.login-sheet{background:var(--paper);z-index:3;border-radius:24px 24px 0 0;flex-direction:column;flex:1;margin-top:-22px;padding:30px 26px 34px;display:flex;position:relative}.login-field{margin-bottom:8px}.login-label{letter-spacing:.6px;color:var(--ink-600);text-transform:uppercase;margin-bottom:8px;font-size:11.5px;font-weight:700;display:block}.login-input-wrap{border:1.5px solid var(--line);background:#fafcfb;border-radius:14px;align-items:center;gap:10px;padding:13px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.login-input-wrap:focus-within{border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-100);background:#fff}.login-input-wrap .flag{color:var(--ink-600);border-right:1px solid var(--line);white-space:nowrap;padding-right:10px;font-size:14px;font-weight:600}.login-input{width:100%;color:var(--ink-900);letter-spacing:.3px;background:0 0;border:none;outline:none;flex:1;font-family:DM Sans,sans-serif;font-size:17px;font-weight:500}.login-input::placeholder{color:var(--ink-400);font-weight:400}.login-input-codigo{text-align:center;letter-spacing:6px;font-size:22px;font-weight:700}.login-paste-btn{background:var(--brand-100);color:var(--brand-700);cursor:pointer;white-space:nowrap;border:none;border-radius:9px;flex-shrink:0;padding:7px 12px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:700;transition:background .15s}.login-paste-btn:hover{background:#d7f0e0}.login-paste-btn:active{transform:scale(.97)}.login-otp-timer{color:var(--ink-400);margin-top:8px;font-size:12px;font-weight:600}.login-otp-timer b{font-variant-numeric:tabular-nums;color:var(--ink-600)}.login-otp-timer.warn,.login-otp-timer.warn b{color:var(--amber)}.login-otp-timer.expired{color:var(--error);font-weight:700}.login-msg{margin-top:8px;font-size:12.5px;font-weight:600;line-height:1.4;display:block}.login-msg.ok{color:var(--brand-700)}.login-msg.warn{color:var(--amber)}.login-msg.err{color:var(--error)}.login-btn{background:linear-gradient(135deg, var(--brand-600), var(--brand-700));color:#fff;letter-spacing:.2px;cursor:pointer;border:none;border-radius:14px;width:100%;margin-top:22px;padding:16px;font-family:DM Sans,sans-serif;font-size:15.5px;font-weight:700;transition:opacity .18s,transform .18s;box-shadow:0 10px 24px -8px #146c438c}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn:not(:disabled):active{transform:scale(.98)}.login-hint{background:var(--brand-100);border-radius:12px;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;display:flex}.login-hint .dot{background:var(--brand-600);border-radius:50%;flex:none;width:6px;height:6px;margin-top:6px}.login-hint p{color:var(--brand-900);font-size:12.5px;line-height:1.5}.login-hint p b{font-weight:700}.login-links{justify-content:space-between;margin-top:14px;display:flex}.login-link{color:var(--ink-400);cursor:pointer;background:0 0;border:none;padding:4px;font-size:12.5px;font-weight:600;transition:color .15s}.login-link:hover:not(:disabled){color:var(--brand-700)}.login-link:disabled{color:var(--line);cursor:not-allowed}.login-footer{text-align:center;margin-top:auto;padding-top:26px}.login-footer a{color:var(--ink-400);font-size:12.5px;text-decoration:none}.login-footer a b{color:var(--brand-700);font-weight:700}.login-footer a:hover b{text-decoration:underline}.login-hero-features{display:none}@media (width>=900px){.login-page{justify-content:center;align-items:center;padding:40px 24px}.login-card{border-radius:28px;flex-direction:row;width:100%;max-width:1000px;height:min(700px,100vh - 80px);min-height:0;box-shadow:0 40px 90px -24px #0f3d2e66,0 12px 32px -12px #0f3d2e2e}.login-hero{flex-direction:column;flex:0 0 44%;justify-content:center;padding:56px 52px;display:flex}.login-headline{max-width:320px;font-size:34px}.login-subline{max-width:280px;font-size:14.5px}.login-hero-features{z-index:2;border-top:1px solid #ffffff29;flex-direction:column;gap:14px;margin-top:40px;padding-top:28px;display:flex;position:relative}.login-hero-feature{color:#ffffffe0;align-items:center;gap:11px;font-size:13px;font-weight:500;display:flex}.login-hero-feature span{background:#ffffff1f;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.login-sheet{border-radius:0;flex:1;justify-content:center;margin-top:0;padding:24px 64px}.login-footer{margin-top:28px;padding-top:0}}@media (width>=900px) and (height<=760px){.login-hero-features{gap:10px;margin-top:26px;padding-top:18px}}.app-page{--g50:#f0fdf4;--g100:#dcfce7;--g200:#bbf7d0;--g400:#4ade80;--g500:#22c55e;--g600:#16a34a;--g700:#15803d;--g800:#166534;--s50:#f8fafc;--s100:#f1f5f9;--s200:#e2e8f0;--s300:#cbd5e1;--s400:#94a3b8;--s500:#64748b;--s600:#475569;--s700:#334155;--s900:#0f172a;--amber:#f59e0b;--amber-l:#fffbeb;--amber-b:#fcd34d;--red:#ef4444;--red-l:#fef2f2;--r:16px;--r-sm:10px;--r-xs:7px;--sh:0 1px 3px #00000014, 0 1px 2px #0000000d;--sh-md:0 4px 16px #0000001a, 0 2px 6px #0000000f;--transition:.18s cubic-bezier(.4, 0, .2, 1);min-height:100vh;color:var(--s900);-webkit-font-smoothing:antialiased;background:linear-gradient(160deg,#f0fdf4 0%,#f8fafc 60%,#f0f9ff 100%);font-family:Segoe UI,system-ui,-apple-system,sans-serif}.app-page *,.app-page :before,.app-page :after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}.app-page .topbar{z-index:200;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--s200);background:#ffffffe6;align-items:center;gap:10px;padding:12px 16px;display:flex;position:sticky;top:0}.app-page .logo{object-fit:contain;max-width:90px;height:32px}.app-page .topbar-title{color:var(--g700);flex:1;font-size:15px;font-weight:700}.app-page .topbar-link{color:var(--g700);background:var(--g100);white-space:nowrap;border-radius:20px;padding:7px 12px;font-size:12px;font-weight:700;text-decoration:none}.app-page .tabs{gap:8px;max-width:640px;margin:0 auto;padding:10px 16px 0;display:flex}.app-page .tab{text-align:center;border-radius:var(--r-sm);border:1.5px solid var(--s200);color:var(--s500);background:#fff;flex:1;padding:9px;font-size:12.5px;font-weight:700;text-decoration:none}.app-page .tab.active{background:var(--g600);color:#fff;border-color:var(--g600)}.app-page .wrap{max-width:480px;margin:0 auto;padding:16px 16px 60px}@media (width>=720px){.app-page .wrap{max-width:640px}}.app-page .carregando,.app-page .result-note-erro{text-align:center;color:var(--s500);padding:40px 16px;font-size:13.5px;font-weight:600}.app-page .gate-banner{background:linear-gradient(135deg, var(--g600), var(--g700));color:#fff;border-radius:var(--r);box-shadow:var(--sh-md);align-items:flex-start;gap:12px;margin-bottom:16px;padding:16px 18px;display:flex}.app-page .gate-banner.amber{background:linear-gradient(135deg, var(--amber), #d97706)}.app-page .gate-banner .ic{flex-shrink:0;font-size:24px}.app-page .gate-banner .t{margin-bottom:3px;font-size:14px;font-weight:700}.app-page .gate-banner .s{opacity:.9;font-size:12px;line-height:1.5}.app-page .gate-banner .cta{color:#fff;margin-top:8px;font-size:12px;font-weight:800;text-decoration:underline;display:inline-block}.app-page .section{border-radius:var(--r);box-shadow:var(--sh);border:1px solid var(--s200);background:#fff;margin-bottom:14px;overflow:hidden}.app-page .section-head{border-bottom:1px solid var(--s100);align-items:center;gap:10px;padding:14px 16px;display:flex}.app-page .section-icon{border-radius:var(--r-sm);background:var(--g100);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.app-page .section-title{font-size:13.5px;font-weight:700}.app-page .section-sub{color:var(--s500);margin-top:1px;font-size:11px}.app-page .section-body{padding:14px 16px}.app-page .campos-grid{flex-direction:column;gap:12px;display:flex}.app-page .row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.app-page .campo{flex-direction:column;gap:5px;min-width:0;display:flex}.app-page .campo label{color:var(--s500);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:700}.app-page .campo input,.app-page .campo select,.app-page .campo textarea{box-sizing:border-box;border:1.5px solid var(--s200);border-radius:var(--r-sm);width:100%;min-width:0;color:var(--s900);transition:border-color var(--transition);background:#fff;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.app-page .campo input:focus,.app-page .campo select:focus,.app-page .campo textarea:focus{border-color:var(--g500);box-shadow:0 0 0 3px #22c55e1f}.app-page .campo input:disabled,.app-page .campo select:disabled{background:var(--s50);color:var(--s500)}.app-page .campo .auto-tag{color:var(--g700);background:var(--g100);text-transform:none;letter-spacing:0;border-radius:10px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:700}.app-page .categoria-titulo{color:var(--s500);text-transform:uppercase;letter-spacing:.5px;background:var(--s50);border-bottom:1px solid var(--s100);padding:10px 16px 6px;font-size:11px;font-weight:800}.app-page .item-row{border-bottom:1px solid var(--s100);padding:12px 16px}.app-page .item-row:last-child{border-bottom:none}.app-page .item-nome{color:var(--s900);margin-bottom:8px;font-size:13px;font-weight:600}.app-page .item-opcoes{grid-template-columns:1fr 1fr;gap:6px;display:grid}.app-page .item-opcao{border-radius:var(--r-xs);border:1.5px solid var(--s200);text-align:center;cursor:pointer;color:var(--s500);transition:all var(--transition);background:#fff;padding:8px 4px;font-size:11.5px;font-weight:700}.app-page .item-opcao.ok.sel{border-color:var(--g500);background:var(--g50);color:var(--g700)}.app-page .item-opcao.nok.sel{border-color:var(--red);background:var(--red-l);color:var(--red)}.app-page .item-obs{border:1.5px solid var(--amber-b);background:var(--amber-l);border-radius:var(--r-xs);width:100%;color:var(--s900);resize:vertical;outline:none;margin-top:8px;padding:8px 10px;font-family:inherit;font-size:12.5px;display:block}.app-page .assin-wrap{border:2px dashed var(--g400);border-radius:var(--r-sm);background:var(--s50);height:140px;position:relative;overflow:hidden}.app-page .assin-wrap.signed{border-style:solid}.app-page .assin-wrap canvas{touch-action:none;width:100%;height:100%}.app-page .assin-ph{color:var(--s400);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex;position:absolute;inset:0}.app-page .assin-ph-icon{font-size:20px}.app-page .assin-row{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.app-page .btn-limpar-assin{border:1.5px solid var(--s200);color:var(--s500);cursor:pointer;background:#fff;border-radius:20px;padding:6px 14px;font-size:11px;font-weight:600}.app-page .assin-ok-badge{color:var(--g700);background:var(--g100);border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700}.app-page .loc-status{border-radius:var(--r-sm);flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding:9px 12px;font-size:12px;font-weight:700;display:flex}.app-page .loc-status.obtendo{background:var(--amber-l);color:#92400e;border:1.5px solid var(--amber-b)}.app-page .loc-status.ok{background:var(--g50);color:var(--g700);border:1.5px solid var(--g200)}.app-page .loc-status.erro{background:var(--red-l);color:var(--red);border:1.5px solid #fca5a5}.app-page .loc-status button{background:var(--red);color:#fff;cursor:pointer;border:none;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700}.app-page .alerta-pendencia{background:var(--red-l);color:#991b1b;border-radius:var(--r-sm);border:1.5px solid #fca5a5;margin-bottom:14px;padding:10px 12px;font-size:12px;font-weight:600}.app-page .btn-enviar{border-radius:var(--r);background:var(--s300);color:#fff;cursor:not-allowed;width:100%;transition:all var(--transition);border:none;padding:16px;font-size:15px;font-weight:700}.app-page .btn-enviar.pronto{background:linear-gradient(135deg, var(--g600), var(--g700));cursor:pointer;box-shadow:0 4px 20px #16a34a59}.app-page .btn-secundario{border:1.5px solid var(--s200);border-radius:var(--r);width:100%;color:var(--s600);cursor:pointer;background:#fff;margin-top:10px;padding:13px;font-size:13.5px;font-weight:700}.app-page .reg-row{border-bottom:1px solid var(--s100);justify-content:space-between;align-items:center;gap:8px;padding:11px 16px;display:flex}.app-page .reg-row:last-child{border-bottom:none}.app-page .reg-row .plate{font-size:13px;font-weight:700}.app-page .reg-row .meta{color:var(--s500);margin-top:2px;font-size:11.5px}.app-page .reg-row .qty{color:var(--g700);white-space:nowrap;font-size:13.5px;font-weight:700}.app-page .del{color:var(--s400);cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px}.app-page .empty{color:var(--s500);text-align:center;padding:20px 16px;font-size:13px}.app-page .footer{text-align:center;color:var(--s400);padding:20px 0;font-size:11px}.app-page .progresso-bar{background:var(--s100);border-radius:var(--r);align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.app-page .progresso-track{background:var(--s200);border-radius:4px;flex:1;height:7px;overflow:hidden}.app-page .progresso-fill{background:linear-gradient(90deg, var(--g500), var(--g600));border-radius:4px;height:100%;transition:width .3s}.app-page .progresso-txt{color:var(--s600);white-space:nowrap;font-size:12px;font-weight:700}.app-page .occurrence-toggle{gap:8px;margin-top:6px;display:flex}.app-page .occurrence-toggle button{border-radius:var(--r-xs);border:1.5px solid var(--s200);color:var(--s500);cursor:pointer;background:#fff;flex:1;padding:9px;font-family:inherit;font-size:12.5px;font-weight:700}.app-page .occurrence-toggle button.selected-yes{background:var(--red-l);color:var(--red);border-color:var(--red)}.app-page .occurrence-toggle button.selected-no{background:var(--g50);color:var(--g700);border-color:var(--g500)}.app-page .totals-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.app-page .totals-grid div{background:var(--s50);border-radius:var(--r-sm);text-align:center;padding:12px}.app-page .totals-grid .t-value{color:var(--g700);font-size:18px;font-weight:700}.app-page .totals-grid .t-label{color:var(--s500);margin-top:3px;font-size:10.5px}.app-page .badge-fechado{background:var(--g100);color:var(--g700);border:1px solid var(--g500);border-radius:20px;margin-bottom:12px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.app-page .modal-overlay{z-index:500;background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.app-page .modal-card{border-radius:var(--r);width:100%;max-width:380px;box-shadow:var(--sh-md);background:#fff;animation:.25s app-modal-fadeup;overflow:hidden}.app-page .modal-header{color:#fff;padding:18px 20px}.app-page .modal-header.tone-normal{background:linear-gradient(135deg, var(--g600), var(--g700))}.app-page .modal-header.tone-amber{background:linear-gradient(135deg, var(--amber), #d97706)}.app-page .modal-header.tone-red{background:linear-gradient(135deg, var(--red), #b91c1c)}.app-page .modal-title{margin-bottom:2px;font-size:16px;font-weight:700}.app-page .modal-subtitle{opacity:.85;font-size:12px}.app-page .modal-body{padding:18px 20px}.app-page .modal-rows{border:1px solid var(--s200);border-radius:var(--r-sm);flex-direction:column;margin-bottom:14px;display:flex;overflow:hidden}.app-page .modal-row{background:#fff;justify-content:space-between;align-items:center;padding:9px 12px;font-size:13px;display:flex}.app-page .modal-row:not(:last-child){border-bottom:1px solid var(--s100)}.app-page .modal-row-k{color:var(--s500);font-size:12px}.app-page .modal-row-v{color:var(--s900);font-weight:600}.app-page .modal-row-v.ok{color:var(--g600)}.app-page .modal-row-v.warn{color:var(--amber)}.app-page .modal-warn{background:var(--amber-l);border:1px solid var(--amber-b);color:#92400e;border-radius:8px;align-items:flex-start;gap:6px;margin-bottom:16px;padding:9px 12px;font-size:11.5px;display:flex}.app-page .modal-btns{gap:10px;display:flex}.app-page .modal-btn-cancel{border:1.5px solid var(--s200);border-radius:var(--r-sm);color:var(--s600);cursor:pointer;transition:all var(--transition);background:#fff;flex:1;padding:13px;font-size:14px;font-weight:600}.app-page .modal-btn-cancel:active{background:var(--s100)}.app-page .modal-btn-confirm{border-radius:var(--r-sm);color:#fff;cursor:pointer;transition:all var(--transition);border:none;flex:2;padding:13px;font-size:14px;font-weight:700}.app-page .modal-btn-confirm:active{transform:scale(.98)}.app-page .modal-btn-confirm.tone-normal{background:linear-gradient(135deg, var(--g600), var(--g700))}.app-page .modal-btn-confirm.tone-amber{background:linear-gradient(135deg, var(--amber), #d97706)}.app-page .modal-btn-confirm.tone-red{background:linear-gradient(135deg, var(--red), #b91c1c)}@keyframes app-modal-fadeup{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.menu-logo{flex-shrink:0;position:relative}.menu-logo .menu-logo-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;padding:0;display:flex;position:relative}.menu-logo .menu-logo-btn img{object-fit:contain;max-width:90px;height:32px}.menu-logo .menu-logo-btn:active{transform:scale(.96)}.menu-logo .menu-logo-chev{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:8px;font-weight:900;display:flex;position:absolute;bottom:-3px;right:-6px}.menu-logo .menu-logo-popover{z-index:300;background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:min(288px,100vw - 32px);padding:10px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;animation:.15s cubic-bezier(.34,1.56,.64,1) menu-logo-pop;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 16px 40px #0f172a2e,0 4px 12px #0f172a14}@keyframes menu-logo-pop{0%{opacity:0;transform:scale(.96)translateY(-4px)}to{opacity:1;transform:none}}.menu-logo .menu-logo-popover:before{content:"";background:#fff;border-top:1px solid #e2e8f0;border-left:1px solid #e2e8f0;width:10px;height:10px;position:absolute;top:-5px;left:15px;transform:rotate(45deg)}.menu-logo .menu-logo-item{color:#334155;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:14px;width:100%;padding:12px 10px;font-size:13.5px;font-weight:700;text-decoration:none;transition:background .12s;display:flex}.menu-logo .menu-logo-item+.menu-logo-item{margin-top:2px}.menu-logo .menu-logo-item:hover{background:#f0fdf4}.menu-logo .menu-logo-item:active{transform:scale(.98)}.menu-logo .menu-logo-item small{color:#64748b;margin-top:2px;font-size:11.5px;font-weight:500;line-height:1.3;display:block}.menu-logo .menu-logo-ic{background:#dcfce7;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex}.menu-logo .menu-logo-item.sair{color:#b91c1c}.menu-logo .menu-logo-item.sair:hover{background:#fef2f2}.menu-logo .menu-logo-ic.sair{background:#fee2e2}.menu-logo .menu-logo-divider{background:#e2e8f0;height:1px;margin:8px 6px}
