@font-face{font-family:Petrobras Sans;src:url(/fonts/PetrobrasSans_Lt.ttf)format("truetype");font-weight:100 350;font-style:normal;font-display:swap}@font-face{font-family:Petrobras Sans;src:url(/fonts/PetrobrasSans_LtIt.ttf)format("truetype");font-weight:100 350;font-style:italic;font-display:swap}@font-face{font-family:Petrobras Sans;src:url(/fonts/PetrobrasSans_Rg.ttf)format("truetype");font-weight:351 550;font-style:normal;font-display:swap}@font-face{font-family:Petrobras Sans;src:url(/fonts/PetrobrasSans_It.ttf)format("truetype");font-weight:351 550;font-style:italic;font-display:swap}@font-face{font-family:Petrobras Sans;src:url(/fonts/PetrobrasSans_Bd.ttf)format("truetype");font-weight:551 900;font-style:normal;font-display:swap}@font-face{font-family:Petrobras Sans;src:url(/fonts/PetrobrasSans_BdIt.ttf)format("truetype");font-weight:551 900;font-style:italic;font-display:swap}:root{--verde:#008542;--verde-osc:#006b35;--amarillo:#fdc82f;--verde-agua:#00b2a9;--naranja:#ed8b00;--gris:#75787b;--texto:#1d1d1b;--fondo:#f4f6f5;--borde:#d9dedb;color:var(--texto);background:var(--fondo);-webkit-tap-highlight-color:transparent;font-family:Petrobras Sans,Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none}input,select,button{font:inherit}input,select{-webkit-user-select:text;user-select:text}.app{flex-direction:column;height:100%;display:flex}.topbar{background:#fff;align-items:center;gap:24px;padding:10px 24px;display:flex}.topbar-logo{height:36px}.topbar nav{flex:1;gap:4px;display:flex}.topbar nav button{color:var(--gris);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:12px 18px;font-weight:700}.topbar nav button.active{color:var(--verde);background:#e6f3ec}.topbar-right{align-items:center;gap:12px;display:flex}.brand-stripe{background:linear-gradient(90deg, var(--verde) 0 70%, var(--amarillo) 70% 100%);height:6px}.net{border-radius:99px;padding:4px 10px;font-size:14px;font-weight:700}.net-on{color:var(--verde);background:#e6f3ec}.net-off{background:var(--amarillo);color:var(--texto)}.offline-banner{background:var(--amarillo);color:var(--texto);text-align:center;padding:10px 24px;font-weight:700}main{flex:1;overflow:auto}.center{text-align:center;max-width:480px;margin:15vh auto}.page{max-width:960px;margin:0 auto;padding:24px}.page-head{justify-content:space-between;align-items:center;display:flex}h1,h2{color:var(--verde);margin:0 0 12px}.muted{color:var(--gris)}.warn-text{color:var(--texto);font-weight:700}.btn{cursor:pointer;border:2px solid #0000;border-radius:10px;min-height:52px;padding:14px 22px;font-weight:700}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--verde);color:#fff}.btn.primary:active:not(:disabled){background:var(--verde-osc)}.btn.ghost{color:var(--verde);border-color:var(--verde);background:#fff}.btn.big{padding:16px 28px;font-size:20px}.btn.small{min-height:36px;padding:6px 14px;font-size:14px}.btn.spin{background:var(--amarillo);color:var(--verde-osc);letter-spacing:2px;padding:18px 48px;font-size:32px;box-shadow:0 6px #c99a12}.btn.spin:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px #c99a12}.siguiente{margin-top:20px}.req{color:var(--gris);font-size:.85em;font-weight:400}.form-hint{color:var(--gris);margin:12px 0 0;font-weight:700}.file-btn{align-items:center;display:inline-flex}.actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.card{border-left:8px solid var(--verde);background:#fff;border-radius:14px;margin:16px 0;padding:20px 22px;box-shadow:0 2px 10px #0000000f}.card.warn{border-left-color:var(--amarillo)}.card.error{border-left-color:var(--naranja)}.card.ok{border-left-color:var(--verde-agua)}.card-title{margin-bottom:8px;font-size:20px;font-weight:700}.login{background:var(--verde);align-items:center;min-height:100%;padding:24px 24px 24px max(24px,8vw);display:flex;position:relative;overflow:hidden}.login-shape{width:100%;height:100%;display:block;position:absolute;inset:0}.login-shape polygon{fill:#fff;stroke:#fff;stroke-width:40px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.login-card{border-left:0;flex-direction:column;gap:14px;width:100%;max-width:420px;display:flex;position:relative}.login-logo{align-self:center;width:220px;margin-bottom:8px}.login-card h1{text-align:center}.login-card label{flex-direction:column;gap:6px;font-weight:700;display:flex}.login-card input,.pass-row input,.col-select select{border:2px solid var(--borde);background:#fff;border-radius:10px;padding:12px 14px;font-size:18px}.login-card input:focus,.pass-row input:focus{border-color:var(--verde);outline:none}.form-error{color:var(--texto);border-left:6px solid var(--naranja);padding:6px 12px;font-weight:700}@media (width<=600px){.login{padding-left:20px}.login-card{max-width:74vw;padding:18px 16px}.login-logo{width:100%;max-width:200px}}.draw-screen{grid-template-columns:minmax(320px,1fr) minmax(0,1.25fr);align-items:center;gap:24px;height:100%;padding:24px;display:grid}.draw-panel{align-self:start}.pass-form label{color:var(--verde);font-size:18px;font-weight:700}.pass-row{gap:10px;margin-top:8px;display:flex}.pass-row input{letter-spacing:2px;flex:1;min-width:0;padding:10px 16px;font-size:40px;font-weight:700}.person-pass{color:var(--gris);margin-bottom:8px;font-weight:700}.field{color:var(--verde);flex-direction:column;gap:6px;margin:10px 0;font-weight:700;display:flex}.field input{border:2px solid var(--borde);background:#fff;border-radius:10px;padding:12px 14px;font-size:22px}.field input:focus{border-color:var(--verde);outline:none}.person-name{color:var(--verde);margin:4px 0;font-size:30px;font-weight:700}.person-company{color:var(--gris);margin-bottom:12px;font-size:20px}.prize-line{margin:8px 0;font-size:22px}.stock-hint{margin-top:12px;font-size:14px}.wheel-panel{flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:0;display:flex}.wheel{aspect-ratio:1;width:min(100%,100vh - 175px);position:relative}.wheel-note{color:var(--gris);margin:10px 0 0;font-size:14px}.wheel-rim{background:var(--verde);width:100%;height:100%;box-shadow:0 10px 30px #0000002e, inset 0 0 0 6px var(--amarillo);border-radius:50%;padding:2.5%}.wheel-svg{will-change:transform;width:100%;height:100%;display:block}.wheel-hub{aspect-ratio:1;border:5px solid var(--verde);background:#fff;border-radius:50%;width:30%;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0003}.wheel-hub img{width:112%;max-width:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wheel-svg text{font-family:inherit}.wheel-pointer{z-index:2;border-left:22px solid #0000;border-right:22px solid #0000;border-top:44px solid var(--amarillo);filter:drop-shadow(0 3px 2px #00000059);width:0;height:0;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.overlay{z-index:10;background:#003c1ebf;place-items:center;animation:.3s fade;display:grid;position:fixed;inset:0}.result{text-align:center;border-top:14px solid var(--amarillo);background:#fff;border-radius:24px;max-width:90vw;padding:40px 56px;animation:.45s cubic-bezier(.2,1.4,.4,1) pop}.result-title{color:var(--verde);font-size:44px;font-weight:800}.result-name{margin-top:8px;font-size:30px;font-weight:700}.result-company{color:var(--gris);font-size:20px}.result-label{color:var(--gris);text-transform:uppercase;letter-spacing:2px;margin-top:24px;font-size:20px}.result-prize{color:var(--verde);margin:4px 0 28px;font-size:52px;font-weight:800}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.6)}}.table-wrap{background:#fff;border-radius:12px;margin:16px 0;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--borde);padding:10px 14px}th{background:var(--verde);color:#fff}.num{text-align:right}.row-muted td{color:var(--gris)}.row-total td{background:#fff8e1;font-weight:700}.col-map{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.col-select{flex-direction:column;gap:4px;font-weight:700;display:flex}.stats{grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0;display:grid}.stat{color:var(--gris);border-bottom:5px solid var(--verde);background:#fff;border-radius:12px;padding:16px}.stat span{color:var(--verde);font-size:32px;font-weight:800;display:block}.stat-warn{border-bottom-color:var(--amarillo)}@media (width<=900px),(orientation:portrait){.draw-screen{grid-template-columns:minmax(0,1fr);height:auto;padding:16px}.wheel{width:min(100%,70vh)}.topbar{flex-wrap:wrap;gap:12px;padding:8px 12px}.stats{grid-template-columns:repeat(2,1fr)}}
