:root{color:#172033;font-synthesis:none;background:#eef2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{background:#eef2f7;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,.link-button{color:#fff;cursor:pointer;background:#155eef;border:1px solid #155eef;border-radius:8px;min-height:42px;padding:10px 16px;font-weight:650;text-decoration:none}button:hover,.link-button:hover{background:#124dcc}button.secondary,.link-button{color:#26364f;background:#fff;border-color:#b8c3d5}button.secondary:hover,.link-button:hover{background:#f5f7fb}button.danger{background:#c83737;border-color:#c83737}button:disabled{color:#697386;cursor:not-allowed;background:#dfe4eb;border-color:#c7ced9}select,input[type=number]{color:#172033;background:#fff;border:1px solid #b8c3d5;border-radius:8px;width:100%;min-height:42px;margin-top:6px;padding:8px 10px}label{color:#44526a;font-size:.88rem;font-weight:650}h1,h2,p{margin-top:0}h1{margin-bottom:6px;font-size:max(1.65rem,min(4vw,2.35rem));line-height:1.15}h2{margin-bottom:18px;font-size:1.1rem}.diagnostico-container,.scanner-container{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 48px}.scanner-container{width:min(800px,100% - 32px)}.page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.eyebrow{color:#155eef;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-size:.74rem;font-weight:800}.subtitle{color:#667085;margin-bottom:0}.panel{background:#fff;border:1px solid #dce2eb;border-radius:12px;min-width:0;padding:22px;box-shadow:0 3px 12px #1d29390f}.controls-panel,.scanner-panel{margin-bottom:20px}.control-grid,.diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.diagnostic-grid{margin-bottom:20px}.acoes,.camera-controls{flex-wrap:wrap;align-items:end;gap:10px;margin-top:18px;display:flex}.camera-controls{justify-content:space-between}.camera-controls label{flex:280px}.camera-controls input[type=range]{width:100%;margin-top:10px}.status-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.status-row>div{background:#f5f7fa;border-radius:8px;padding:13px 15px}.status-row strong,.status-label{display:block}.status-label{color:#697386;text-transform:uppercase;margin-bottom:3px;font-size:.75rem}video{object-fit:contain;background:#10141c;border-radius:10px;width:min(100%,760px);min-height:220px;max-height:62vh;margin:20px auto 0;display:block}.technical-list{margin:0}.technical-list>div{border-bottom:1px solid #edf0f4;grid-template-columns:minmax(130px,.8fr) minmax(150px,1.2fr);gap:12px;padding:10px 0;display:grid}.technical-list>div:last-child{border-bottom:0}.technical-list dt{color:#667085}.technical-list dd{overflow-wrap:anywhere;margin:0;font-weight:650}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-grid article{background:#f5f7fa;border-radius:9px;padding:14px}.metric-grid span,.metric-grid strong{display:block}.metric-grid span{color:#667085;margin-bottom:5px;font-size:.78rem}.metric-grid strong{font-size:1.25rem}.result-card strong{color:#155eef;overflow-wrap:anywhere;margin-bottom:8px;font-size:max(1.3rem,min(3vw,2rem));display:block}.result-card span,.error-card p,.result-meta{color:#667085}.error-card p{overflow-wrap:anywhere;margin-bottom:0}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-heading h2{margin-bottom:0}.log-panel,pre{color:#d7e1ef;background:#111827;border-radius:8px;font:.78rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.log-panel{height:300px;padding:12px}.log-entry{white-space:pre-wrap;overflow-wrap:anywhere;padding:3px 0}.log-warning{color:#ffd166}.log-error{color:#ff8d8d}.log-fatal{color:#ff4d6d;font-weight:800}.log-debug{color:#96a4ba}details{margin-top:16px}summary{cursor:pointer;font-weight:650}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;margin:12px 0 0;padding:16px}.copy-status{color:#237a44;min-height:1.4em;margin:10px 0 0}.scanner-panel>label{display:block}.scanner-status{color:#44526a;text-align:center;margin:18px 0 0}.simple-result{color:#155eef;text-align:center;overflow-wrap:anywhere;background:#f4f7fd;border:1px solid #cbd8f0;border-radius:10px;margin-top:18px;padding:20px;font-size:max(1.3rem,min(4vw,2.2rem));font-weight:750}.result-meta{text-align:center;margin:9px 0 0}@media (max-width:760px){.diagnostico-container,.scanner-container{width:min(100% - 20px,1180px);padding-top:16px}.page-header,.section-heading{flex-direction:column;align-items:stretch}.link-button{text-align:center}.control-grid,.diagnostic-grid,.status-row{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:16px}.acoes>button{flex:100%}video{min-height:180px}}.scanner-document,.scanner-page{overscroll-behavior:none;width:100%;height:100%;min-height:100dvh;overflow:hidden}.scanner-document{-webkit-text-size-adjust:100%;background:#05070b}.scanner-page{width:100vw;height:100vh;color:#f7f9fc;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;background:#05070b;min-width:0;height:100dvh;position:fixed;top:0;bottom:0;left:0;right:0}.scanner-hud{width:100vw;height:100vh;isolation:isolate;background:radial-gradient(circle at 50% 42%,#182133 0,#090d15 52%,#05070b 100%);grid-template-rows:auto 1fr auto;height:100dvh;min-height:100dvh;max-height:100dvh;display:grid;position:relative;overflow:hidden}.scanner-hud.is-fullscreen{width:100vw;height:100vh;height:100dvh;min-height:100dvh;max-height:100dvh}.scanner-hud:-webkit-full-screen{width:100vw;height:100vh;height:100dvh;min-height:100dvh;max-height:100dvh}.scanner-hud:-moz-full-screen{width:100vw;height:100vh;height:100dvh;min-height:100dvh;max-height:100dvh}.scanner-hud:fullscreen{width:100vw;height:100vh;height:100dvh;min-height:100dvh;max-height:100dvh}.scanner-hud:-webkit-full-screen{width:100vw;height:100vh;height:100dvh;min-height:100dvh;max-height:100dvh}.scanner-page video{z-index:-3;object-fit:cover;object-position:center;border-radius:0;width:100%;height:100%;min-height:100%;max-height:none;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.camera-vignette{z-index:-2;pointer-events:none;background:linear-gradient(#030509ad 0,#0000 24%,#0000 66%,#030509d1 100%),radial-gradient(circle,#0000 30%,#02040833 72%,#02040894 100%);position:absolute;top:0;bottom:0;left:0;right:0}.capture-flash{z-index:8;pointer-events:none;opacity:0;background:#fff;position:absolute;top:0;bottom:0;left:0;right:0}.camera-topbar{z-index:6;padding:calc(12px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) 10px calc(16px + env(safe-area-inset-left,0px));grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid;position:relative}.camera-utilities{justify-self:end;align-items:center;gap:8px;display:inline-flex}.camera-icon-button{color:#fff;-webkit-backdrop-filter:blur(18px);background:#05080d75;border:1px solid #fff3;border-radius:50%;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:1.35rem;font-weight:500;line-height:1;display:inline-grid;box-shadow:0 8px 28px #0000002e}.camera-icon-button:hover{background:#131922a8;border-color:#ffffff57}.camera-icon-button:disabled{color:#ffffff61;background:#05080d3d;border-color:#ffffff1a}.close-scanner span{font-size:1.8rem;font-weight:300;transform:translateY(-1px)}.fps-indicator{color:#ffffffdb;font-variant-numeric:tabular-nums;text-shadow:0 1px 8px #000000a6;justify-content:center;align-items:baseline;gap:3px;min-width:47px;font-size:.78rem;display:inline-flex}.fps-indicator small{color:#ffffff8a;letter-spacing:.06em;font-size:.5rem;font-weight:800}.scan-stage{flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:8px 24px 16px;display:flex}.hud-status{color:#e9edf4;-webkit-backdrop-filter:blur(18px);white-space:nowrap;background:#05090f7a;border:1px solid #ffffff21;border-radius:999px;align-items:center;gap:8px;max-width:min(44vw,260px);min-height:36px;margin:0;padding:8px 14px;font-size:.74rem;font-weight:700;display:inline-flex;position:absolute;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 30px #00000026}.hud-status #statusText{text-overflow:ellipsis;overflow:hidden}.status-dot{background:#61e7b7;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #61e7b7e6}.hud-status[data-state=initializing] .status-dot,.hud-status[data-state=switching] .status-dot,.hud-status[data-state=recovering] .status-dot{background:#fc6;animation:1.2s ease-in-out infinite status-pulse;box-shadow:0 0 12px #ffcc66e6}.hud-status[data-state=result] .status-dot{background:#61e7b7}.hud-status[data-state=result]{color:#dfffee;background:#052d209e;border-color:#65efb86b}.hud-status[data-state=error] .status-dot{background:#ff667e;box-shadow:0 0 12px #ff667ee6}.scan-frame{aspect-ratio:1.62;background:#02050908;border:1px solid #ffffff24;border-radius:28px;width:min(76vw,620px);position:relative;box-shadow:0 20px 90px #0000002e,inset 0 0 0 1px #ffffff08}.scan-frame>span{filter:drop-shadow(0 1px 8px #0000008c);border-color:#ffffffeb;width:42px;height:42px;position:absolute}.scan-frame>span:first-child{border-top:3px solid #ffffffeb;border-left:3px solid #ffffffeb;border-radius:22px 0 0;top:-2px;left:-2px}.scan-frame>span:nth-child(2){border-top:3px solid #ffffffeb;border-right:3px solid #ffffffeb;border-radius:0 22px 0 0;top:-2px;right:-2px}.scan-frame>span:nth-child(3){border-bottom:3px solid #ffffffeb;border-right:3px solid #ffffffeb;border-radius:0 0 22px;bottom:-2px;right:-2px}.scan-frame>span:nth-child(4){border-bottom:3px solid #ffffffeb;border-left:3px solid #ffffffeb;border-radius:0 0 0 22px;bottom:-2px;left:-2px}.scan-line{background:linear-gradient(90deg,#0000,#d8fff3,#0000);height:1px;animation:2.7s ease-in-out infinite scan-line;position:absolute;left:7%;right:7%;box-shadow:0 0 12px #7bffd8d9}.confirmation-mark{color:#052017;opacity:0;background:#65efb8;border-radius:50%;place-items:center;width:68px;height:68px;font-size:2rem;font-weight:900;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.55);box-shadow:0 0 0 10px #65efb826}.scan-copy{text-align:center;text-shadow:0 2px 18px #000000bf;margin-top:18px}.scan-copy h2{margin-bottom:6px;font-size:max(.92rem,min(3.2vw,1.1rem));font-weight:650}.scan-copy p{color:#edf3f9b3;min-height:1.4em;margin:0;font-size:.76rem}.scanner-hud.is-confirming .capture-flash{animation:.22s ease-out both capture-feedback}.scanner-hud.is-confirming .scan-frame{border-color:#65efb894;animation:.26s cubic-bezier(.2,.8,.2,1) frame-confirm;box-shadow:0 0 0 1px #65efb8b3,0 0 56px #65efb847}.scanner-hud.is-confirming .scan-frame>span{filter:drop-shadow(0 0 10px #65efb8cc);border-color:#65efb8}.scanner-hud.is-confirming .scan-line{opacity:0;animation:none}.scanner-hud.is-confirming .confirmation-mark{animation:.24s cubic-bezier(.16,1,.3,1) both confirmation-mark}.hud-footer{z-index:6;padding:10px calc(16px + env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));position:relative}.camera-toolbar{justify-content:center;align-items:center;gap:12px;width:min(620px,100%);margin:0 auto;display:flex}.hud-control,.primary-action,.quiet-action{border-radius:999px;min-height:44px}.hud-control{color:#f4f7fb;-webkit-backdrop-filter:blur(18px);background:#05090f7a;border-color:#ffffff24;flex-direction:column;flex:0 0 86px;justify-content:center;align-items:center;gap:4px;min-height:62px;padding:8px 10px;font-size:.62rem;font-weight:650;display:inline-flex;box-shadow:0 10px 32px #0000002e}.hud-control:hover{background:#141d2aa8;border-color:#ffffff47}.hud-control.is-active{color:#06130f;background:#61e7b7;border-color:#61e7b7}.hud-control:disabled{color:#ffffff6b;background:#05090f4d;border-color:#ffffff14}.control-icon{font-size:1.3rem;line-height:1}.zoom-control{-webkit-backdrop-filter:blur(18px);background:#05090f7a;border:1px solid #ffffff24;border-radius:22px;flex:260px;max-width:360px;padding:10px 16px 12px;box-shadow:0 10px 32px #0000002e}.zoom-control>div{justify-content:space-between;margin-bottom:6px;display:flex}.zoom-control label,.zoom-control output{color:#e9edf4;font-size:.66rem;font-weight:700}.zoom-control input{accent-color:#61e7b7;touch-action:pan-x;width:100%}.zoom-control.is-disabled{opacity:.48}.technical-panel{z-index:12;width:100%;height:100%;padding:calc(18px + env(safe-area-inset-top,0px)) calc(18px + env(safe-area-inset-right,0px)) calc(22px + env(safe-area-inset-bottom,0px)) calc(18px + env(safe-area-inset-left,0px));overscroll-behavior:contain;color:#f4f7fb;-webkit-backdrop-filter:blur(24px);background:linear-gradient(#070b11f5,#04070bfa);border:0;border-radius:0;margin:0;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.technical-panel:not([hidden]){animation:.18s ease-out both technical-enter}.technical-header{justify-content:space-between;align-items:center;gap:20px;width:min(780px,100%);margin:0 auto;display:flex}.technical-header p{color:#65efb8;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:.66rem;font-weight:850}.technical-header h2{margin:0;font-size:max(1.25rem,min(4vw,1.65rem))}.technical-intro{color:#9ba8b8;width:min(780px,100%);margin:18px auto;font-size:.82rem}.hud-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(780px,100%);margin:0 auto;padding:0;display:grid}.hud-metrics>div{background:#ffffff0d;border:1px solid #ffffff14;border-radius:16px;min-width:0;min-height:78px;padding:14px}.hud-metrics dt{color:#93a1b3;letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-size:.58rem;font-weight:750}.hud-metrics dd{color:#f3f6fa;overflow-wrap:anywhere;margin:0;font-size:.82rem;font-weight:700}.result-actions{justify-content:center;gap:9px;display:flex}.scanner-retry{color:#052017;background:#65efb8;border-color:#65efb8;border-radius:999px;margin-top:18px;box-shadow:0 12px 38px #0000004d}.scanner-retry:hover{background:#83f5ca;border-color:#83f5ca}.primary-action{color:#06130f;background:#61e7b7;border-color:#61e7b7}.primary-action:hover{background:#7cf0c7;border-color:#7cf0c7}.quiet-action{color:#eef2f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070b12bd;border-color:#ffffff2e}.quiet-action:hover{background:#141d2ae6}.result-modal{z-index:20;padding:calc(20px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) calc(20px + env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(18px);background:#020408ad;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.result-sheet{color:#eff4f8;text-align:center;background:#0b111a;border:1px solid #ffffff21;border-radius:26px;width:min(460px,100%);padding:30px;box-shadow:0 30px 100px #0000008c}.result-success{color:#06130f;background:#61e7b7;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 16px;font-size:1.6rem;font-weight:900;display:grid}.result-kicker{color:#61e7b7;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:.68rem;font-weight:800}.result-sheet h2{margin-bottom:16px;font-size:1.3rem}.result-sheet strong{color:#fff;overflow-wrap:anywhere;background:#111a27;border-radius:12px;max-height:24vh;margin-bottom:10px;padding:16px;font:700 max(1rem,min(4vw,1.45rem))/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;display:block;overflow:auto}.result-sheet #resultMeta{color:#93a1b3;margin-bottom:22px;font-size:.76rem}@keyframes scan-line{0%,to{opacity:.45;top:12%}50%{opacity:1;top:88%}}@keyframes status-pulse{50%{opacity:.35;transform:scale(.78)}}@keyframes capture-feedback{0%{opacity:0}28%{opacity:.34}to{opacity:0}}@keyframes frame-confirm{0%{transform:scale(1)}45%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes confirmation-mark{0%{opacity:0;transform:translate(-50%,-50%)scale(.55)}55%,to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes technical-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:680px){.camera-topbar{padding-right:calc(12px + env(safe-area-inset-right,0px));padding-left:calc(12px + env(safe-area-inset-left,0px));gap:8px}.camera-utilities{gap:6px}.fps-indicator{display:none}.camera-icon-button{width:42px;min-width:42px;height:42px;min-height:42px}.scan-frame{border-radius:22px;width:min(86vw,520px)}.camera-toolbar{gap:8px}.zoom-control{min-width:0;max-width:none;padding-left:12px;padding-right:12px}.hud-control{flex:0 0 72px;min-height:60px;padding-left:6px;padding-right:6px}.hud-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.result-modal{padding:16px calc(12px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));align-items:end}.result-sheet{border-radius:26px;width:100%;padding:24px 18px}}@media (max-width:380px){.hud-status{max-width:40vw;padding-left:10px;padding-right:10px;font-size:.68rem}.hud-control{flex-basis:66px}.scan-copy h2{font-size:.9rem}}@media (max-height:700px){.scan-frame{width:min(62vw,460px);max-height:36vh}.scan-copy{margin-top:10px}.hud-control{min-height:54px}.hud-footer{padding-top:4px}}@media (max-height:560px){.scan-copy{display:none}.camera-topbar{padding-top:calc(6px + env(safe-area-inset-top,0px))}.hud-footer{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.scan-line,.status-dot,.scanner-hud.is-confirming .capture-flash,.scanner-hud.is-confirming .scan-frame,.scanner-hud.is-confirming .confirmation-mark,.technical-panel:not([hidden]){animation:none!important}.scanner-hud.is-confirming .confirmation-mark{opacity:1;transform:translate(-50%,-50%)scale(1)}}
