:root{--yellow:#ffcf33;--yellow-deep:#f2b705;--ink:#2b2620;--muted:#7a746b;--cream:#fffdf6;--card:#fff;--line:#efe8d8;--green:#2fa05a;--red:#e0533d;-webkit-font-smoothing:antialiased;font-family:Nunito,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--cream);color:var(--ink)}button{cursor:pointer;font-family:inherit}.parent{flex-direction:column;align-items:center;min-height:100vh;padding:24px 18px 48px;display:flex}.parent-shell{width:100%;max-width:440px}.wordmark{letter-spacing:-.5px;text-align:center;margin:12px 0 4px;font-size:26px;font-weight:800}.wordmark .lab{background:var(--yellow);color:var(--ink);border-radius:8px;margin-left:4px;padding:0 8px}.subtitle{text-align:center;color:var(--muted);margin:0 0 24px;font-size:15px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 6px 24px #5a46140f}.card h2{margin:0 0 6px;font-size:20px}.card p.lead{color:var(--muted);margin:0 0 18px;line-height:1.5}label.field{margin-bottom:14px;font-size:14px;font-weight:700;display:block}label.field span{margin-bottom:6px;display:block}input[type=text],input[type=password],input[type=number],textarea,select{border:1.5px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:14px;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--yellow-deep);outline:none}.btn{background:var(--yellow);width:100%;color:var(--ink);border:none;border-radius:14px;padding:15px;font-size:17px;font-weight:800;transition:transform 50ms,filter .15s}.btn:hover{filter:brightness(1.03)}.btn:active{transform:translateY(1px)}.btn:disabled{color:#b6afa2;cursor:not-allowed;background:#ece7dd}.check{align-items:flex-start;gap:12px;margin:14px 0;font-size:14px;line-height:1.45;display:flex}.check input{width:22px;height:22px;accent-color:var(--yellow-deep);flex:none;margin-top:3px}.error{color:#b23b26;background:#fdece8;border-radius:12px;margin-bottom:14px;padding:12px 14px;font-size:14px}.termo{border:1px solid var(--line);background:#fffaf0;border-radius:14px;max-height:46vh;margin-bottom:16px;padding:16px;font-size:14px;line-height:1.55;overflow-y:auto}.termo h3{margin:0 0 10px}.termo ol{padding-left:18px}.termo li{margin-bottom:8px}.termo .ver{color:var(--muted);margin-top:12px;font-size:12px}.prep-frame{border:4px solid var(--line);background:#111;border-radius:50%;width:200px;height:200px;margin:6px auto 18px;position:relative;overflow:hidden}.prep-frame.ok{border-color:var(--green)}.prep-frame video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.prep-status{text-align:center;margin-bottom:16px;font-weight:700}.prep-status.ok{color:var(--green)}.instructions{color:var(--muted);padding-left:18px;font-size:14px;line-height:1.6}.stage{z-index:10;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.stage video.main{width:100%;max-height:100vh}.cam-dot{z-index:12;border:2px solid #ffffff80;border-radius:50%;width:62px;height:62px;position:fixed;bottom:14px;right:14px;overflow:hidden;box-shadow:0 3px 12px #00000080}.cam-dot video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.rec{color:#fff;z-index:12;background:#00000073;border-radius:10px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;display:flex;position:fixed;bottom:82px;right:14px}.rec .blink{background:#ff3b30;border-radius:50%;width:8px;height:8px;animation:1.1s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.stage-pause{z-index:11;color:#fff;background:#00000073;border:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:18px;font-weight:700;display:flex;position:fixed;inset:0}.stage-pause .big{font-size:64px}.pause-btn{z-index:12;color:#fff;background:#00000073;border:1px solid #fff6;border-radius:12px;padding:8px 14px;font-size:14px;font-weight:700;position:fixed;bottom:14px;left:14px}.thanks{text-align:center;padding-top:40px}.thanks .emoji{font-size:56px}.thanks h2{font-size:26px}.small-link{text-align:center;color:var(--muted);margin-top:18px;font-size:13px;text-decoration:none;display:block}.warn{color:#8a6a12;text-align:center;background:#fff6e0;border:1px solid #f4dfa0;border-radius:12px;margin-bottom:14px;padding:14px;font-size:14px}.admin{color:#d7dae0;background:#0f1115;min-height:100vh;font-size:14px}.admin a{color:#8ab4f8;text-decoration:none}.admin-top{border-bottom:1px solid #23262e;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.admin-top .brand{color:#fff;font-weight:800}.admin-top .brand em{color:var(--yellow);font-style:normal}.admin-main{max-width:1200px;margin:0 auto;padding:20px}.admin h1{color:#fff;margin:0 0 16px;font-size:20px}.admin h2{color:#fff;margin:24px 0 10px;font-size:16px}.admin table{border-collapse:collapse;width:100%;font-size:13px}.admin th{text-align:left;color:#8b909a;border-bottom:1px solid #23262e;padding:8px 10px;font-weight:600}.admin td{border-bottom:1px solid #1a1d24;padding:8px 10px}.admin tr.click{cursor:pointer}.admin tr.click:hover td{background:#161922}.admin input,.admin select,.admin textarea{color:#e5e7eb;background:#161922;border:1px solid #2a2e38;border-radius:8px;width:100%;padding:9px 11px;font-size:14px}.admin input:focus,.admin select:focus,.admin textarea:focus{border-color:var(--yellow-deep)}.abtn{background:var(--yellow);color:#14120a;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700}.abtn.ghost{color:#d7dae0;background:0 0;border:1px solid #2a2e38}.abtn.danger{color:#f2846f;background:0 0;border:1px solid #5b2720}.abtn:disabled{opacity:.45;cursor:not-allowed}.badge{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge.draft{color:#aab0bb;background:#2a2e38}.badge.active{color:#55c17f;background:#10321d}.badge.closed{color:#d8a45b;background:#33210f}.badge.pending{color:#aab0bb;background:#2a2e38}.badge.consented{color:#5db6dd;background:#0f2c3a}.badge.done{color:#55c17f;background:#10321d}.badge.revoked,.badge.critical{color:#ef8a77;background:#3a1512}.badge.high{color:#d8a45b;background:#33210f}.badge.medium{color:#cfc25a;background:#2f2a10}.panel{background:#13161c;border:1px solid #23262e;border-radius:12px;margin-bottom:16px;padding:16px}.panel h3{color:#fff;margin:0 0 12px;font-size:14px}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.stat{text-align:center;padding:10px}.stat .n{color:#fff;font-size:22px;font-weight:800}.stat .l{color:#8b909a;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.whats{color:#b7e6c9;white-space:pre-wrap;word-break:break-word;background:#10321d;border:1px solid #1d5433;border-radius:10px;margin:10px 0;padding:12px;font-size:13px}.curve-wrap{overflow-x:auto}.curve-svg{display:block}.admin-login{background:#0f1115;justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login .box{color:#d7dae0;background:#13161c;border:1px solid #23262e;border-radius:14px;width:340px;padding:26px}.admin-login h1{color:#fff;margin:0 0 16px;font-size:18px}.admin-login .box input{margin-bottom:10px}.muted{color:#8b909a}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
