:root{--bg:#080f1d;--panel:#111d2e;--panel2:#18283d;--line:#29394e;--muted:#96a8bd;--text:#edf4fa;--accent:#36d4ae;--accent2:#83efe0;--warn:#fcb45e;--error:#ff817f;--blue:#63a9ff;--radius:16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:15px}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--accent2);text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.04em}h2{font-size:22px;letter-spacing:-.03em}h3{font-size:16px}p{line-height:1.55;color:var(--muted)}.muted{color:var(--muted)}.tiny{font-size:12px;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);font-weight:800}.logo{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:800;letter-spacing:-.02em}.brandmark{width:41px;height:41px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#2ac7aa,#357ade);color:#041327;font-size:24px;box-shadow:0 7px 24px #29b9c333}.layout{display:flex;min-height:100vh}.sidebar{width:258px;flex-shrink:0;border-right:1px solid var(--line);background:#0d1725;padding:24px 14px;display:flex;flex-direction:column;gap:23px;position:sticky;top:0;height:100vh;overflow:auto}.sidebar .logo{padding:0 12px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{display:flex;align-items:center;gap:11px;color:#9fb0c5;text-align:left;width:100%;padding:12px 13px;border:0;background:none;border-radius:11px;font-weight:650}.nav button:hover,.nav button.active{background:#203349;color:#fff}.nav button.active{box-shadow:inset 3px 0 var(--accent)}.nav .ico{width:21px;text-align:center;font-size:17px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:16px 12px 0}.main{flex:1;min-width:0;padding:35px clamp(18px,3vw,52px);max-width:1900px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:28px;flex-wrap:wrap}.pagehead p{margin:5px 0 0}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.card.soft{background:var(--panel2)}.card h3{margin-bottom:16px}.stack{display:flex;flex-direction:column;gap:16px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.full{width:100%}.grow{flex:1;min-width:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:40px;border:1px solid transparent;border-radius:10px;background:var(--accent);color:#042722;padding:9px 15px;font-weight:800;font-size:13px;white-space:normal;text-align:center}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn.secondary{color:#eaf4ff;background:#25394e;border-color:#334861}.btn.ghost{background:transparent;color:var(--text);border-color:#38506a}.btn.danger{background:#562c37;color:#ffd6db;border-color:#8b424c}.btn.sm{min-height:33px;padding:6px 11px;font-size:12px}.btn.white{background:#edf7ff;color:#102139}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;color:#b8c9dc;font-weight:700}.field input,.field textarea,.field select,select,input[type=number],input[type=password],input[type=text],input[type=url]{width:100%;border:1px solid #344a61;border-radius:10px;background:#0b1726;padding:11px 12px;color:var(--text);outline:none;min-height:43px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field textarea{min-height:100px;resize:vertical}.field input[type=file]{padding:9px}.field input[type=radio],.field input[type=checkbox]{width:auto;min-height:0;accent-color:var(--accent)}.field .hint{font-size:12px;color:var(--muted)}.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:100px;font-size:12px;font-weight:800;border:1px solid #35506b;background:#1a3046;color:#b5d5ec}.pill.good{background:#153e35;color:#78edc0;border-color:#28745c}.pill.warn{background:#4b3729;color:#ffd39e;border-color:#8c5c2d}.pill.red{background:#442c39;color:#ffb6b6;border-color:#86515c}.stat{border:1px solid #31465c;background:#16253a;border-radius:13px;padding:18px}.stat .number{font-size:29px;letter-spacing:-.05em;font-weight:850}.stat .title{color:var(--muted);font-size:12px;margin-top:5px}.empty{padding:45px 25px;text-align:center;color:var(--muted);border:1px dashed #43607b;border-radius:15px}.empty .emoji{font-size:39px;display:block;margin-bottom:15px}.item{border:1px solid #344a62;border-radius:12px;padding:15px;background:#142237;display:flex;gap:13px;align-items:center;justify-content:space-between}.item .title{font-weight:750;margin-bottom:5px}.item p{margin:0;font-size:12px}.item + .item{margin-top:9px}.listcards{display:grid;gap:10px}.cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:18px;align-items:start}.map-viewport{height:min(63vh,620px);min-height:360px;position:relative;overflow:hidden;border:1px solid #4b6177;background-color:#192336;background-image:linear-gradient(45deg,#ffffff07 25%,transparent 25%),linear-gradient(-45deg,#ffffff07 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ffffff07 75%),linear-gradient(-45deg,transparent 75%,#ffffff07 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;border-radius:13px;touch-action:none;user-select:none}.map-stage{position:absolute;transform-origin:center center;will-change:transform;touch-action:none}.map-stage img{display:block;width:100%;height:100%;pointer-events:none}.map-stage svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.map-overlay-actions{position:absolute;top:10px;right:10px;display:flex;gap:5px;z-index:2}.map-overlay-actions button{background:#0a1725d9;color:white;border:1px solid #7990aa88;width:31px;height:31px;border-radius:8px;font-weight:900}.map-help{padding:10px 12px;background:#1a3043;border-radius:10px;color:#cde2f0;font-size:12px;margin-top:10px}.segmented{display:flex;flex-wrap:wrap;gap:7px}.segmented button{border-radius:10px;color:#c4d4e4;background:#162438;border:1px solid #334b62;padding:9px 12px;font-weight:700;font-size:12px}.segmented button.active{border-color:var(--accent);background:#134d45;color:#b9fff1}.mini-title{font-weight:800;font-size:13px;margin:0 0 9px}.team-picker{display:flex;gap:7px;overflow:auto;padding-bottom:5px}.team-picker button{flex-shrink:0;border-radius:9px;border:1px solid #38506a;background:#15243a;padding:9px 12px;color:var(--text);font-size:12px;font-weight:800}.team-picker button.active{background:var(--accent);color:#062924;border-color:var(--accent)}.point-steps{display:flex;flex-wrap:wrap;gap:7px}.point-steps button{border:1px solid #3b526c;background:#14243a;color:#c0d2e4;border-radius:9px;padding:9px 11px;font-weight:750;font-size:12px}.point-steps button.active{border-color:var(--accent);background:#194e45;color:#e4fff8}.point-steps button.done{border-color:#417758}.notice{border:1px solid #6a562c;border-left:4px solid #e9b85e;background:#33291e;padding:13px 15px;border-radius:10px;color:#f9dfb1;font-size:13px;line-height:1.5}.notice.success{border-color:#2b7059;border-left-color:var(--accent);background:#153c33;color:#b3ffdf}.notice.red{border-color:#914456;border-left-color:var(--error);background:#492630;color:#ffd3dd}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 15% 15%,#195d6555,transparent 45%),radial-gradient(circle at 90% 80%,#173d7750,transparent 45%),#070e1a}.auth-card{width:100%;max-width:475px;background:#111e2f;border:1px solid #3a526b;border-radius:23px;padding:34px;box-shadow:0 30px 80px #0008}.auth-card h1{font-size:27px;margin:19px 0 10px}.auth-card .logo{justify-content:center}.auth-card .brandmark{width:57px;height:57px;font-size:28px}.auth-card .field{margin-bottom:14px}.auth-card .btn{min-height:47px}.line{border:0;border-top:1px solid var(--line);margin:19px 0}.progress{height:9px;border-radius:20px;overflow:hidden;background:#26374a}.progress span{height:100%;display:block;border-radius:20px;background:linear-gradient(90deg,#13c3aa,#8cf3dd);transition:width .3s}.team-status{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:7px}.team-status strong{font-size:13px}.team-status small{color:var(--muted)}.central-team{padding:14px 0;border-bottom:1px solid #2b4054}.central-team:last-child{border-bottom:0}.central-team .toolbar{margin-top:9px}.qr-preview{background:white;border-radius:12px;padding:10px;max-width:230px;width:100%}.qr-preview img{display:block;width:100%}.participant{max-width:850px;margin:auto;padding:19px 15px 70px}.participant-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.participant-head h1{font-size:24px;margin:5px 0 0}.participant .map-viewport{height:52vh;min-height:340px}.participant .card{margin-bottom:14px}.participant .btn{min-height:46px}.question-option{display:flex;align-items:center;gap:12px;border:1px solid #42576e;border-radius:12px;padding:15px;background:#172a40;cursor:pointer;margin-bottom:10px}.question-option input{accent-color:var(--accent);width:18px;height:18px}.question-option:has(input:checked){background:#205145;border-color:var(--accent)}.scan-modal{position:fixed;inset:0;background:#03070fe9;z-index:100;display:grid;place-items:center;padding:18px}.scan-box{width:min(100%,490px);background:#14243a;border:1px solid #42607a;border-radius:18px;padding:20px}.scan-box video{background:black;display:block;width:100%;height:270px;object-fit:cover;border-radius:12px}.scan-box .toolbar{margin-top:13px}.scanner-msg{color:var(--muted);font-size:12px;margin:10px 0}.toast{position:fixed;right:20px;bottom:20px;z-index:999;padding:14px 18px;border-radius:12px;background:#173e37;border:1px solid #3caa87;box-shadow:0 12px 30px #0008;color:#e8fff7;max-width:min(450px,calc(100% - 40px));line-height:1.5;font-weight:700}.toast.bad{background:#452e38;border-color:#a84d64;color:#ffe3e7}.adminbar{display:none}.success-splash{text-align:center;padding:23px}.success-splash .big{font-size:50px;margin-bottom:12px}.file-entry{display:flex;align-items:center;gap:10px;font-size:13px;color:#dceaf5}.file-entry input{flex:1}.separator{height:1px;background:#30455b;margin:8px 0}.marker-key{display:flex;align-items:center;gap:11px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.color-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:4px}#mapStage{cursor:crosshair}.map-viewport.panning #mapStage{cursor:grabbing}.map-viewport.readonly #mapStage{cursor:grab}.disabled-overlay{opacity:.6}.audit{max-height:310px;overflow:auto}.audit p{margin:0;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.footer{color:#6d8096;font-size:11px;margin:24px 0}.hint-link{color:#97ebde;text-decoration:underline} .code-pin{font-family:ui-monospace,monospace;color:#a7f9e6;font-size:14px;font-weight:900;letter-spacing:.09em}.tabrow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tabrow button{background:#17283e;border:1px solid #384d62;color:#eaf3ff;padding:10px 13px;border-radius:11px;font-size:13px}.tabrow button.active{background:#195349;border-color:#26b595;color:#dffff5}
@media(max-width:1150px){.cols{grid-template-columns:1fr}.sidebar{width:212px}.main{padding:24px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.layout{display:block}.sidebar{width:100%;height:auto;position:static;padding:12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .logo{padding:4px}.nav{display:flex;flex-direction:row;overflow-x:auto;padding-bottom:2px}.nav button{width:auto;white-space:nowrap;min-width:max-content;font-size:12px}.sidebar-bottom{display:none}.main{padding:22px 13px}.grid,.grid.three,.grid.four{grid-template-columns:1fr}.card{padding:16px}.pagehead h1{font-size:23px}.map-viewport{min-height:310px;height:420px}.auth-card{padding:22px}.participant .map-viewport{height:44vh;min-height:300px}}

.file-entry input[type=checkbox]{flex:0 0 auto;width:17px;height:17px;accent-color:var(--accent)}

/* Editor inteligente de corredores */
.detect-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:14px 0 8px;}
.detect-toolbar>.btn{flex:0 1 auto;min-height:45px;}
.graph-tools{padding:4px 0 8px;}
.graph-status{padding:10px 12px;background:#142b35;border:1px solid #365766;border-radius:10px;color:#d2ebe9;font-size:12px;}
.map-help strong{color:#b2ffee;}
@media(max-width:760px){.detect-toolbar>.btn{width:100%;}.detect-toolbar>.field{width:100%;}}
