:root{--ink:#182f32;--green:#166452;--muted:#708083;--line:#e3e9e7;--bg:#f4f7f5}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:8px;padding:10px 15px;background:#eff4f1;color:var(--ink)}button:hover{filter:brightness(.96)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b5daca;outline-offset:2px}aside{position:fixed;width:226px;height:100vh;background:#173a35;color:#f3f8f5;padding:32px 20px}.brand{padding:0 10px}.brand b{font-size:39px;letter-spacing:-2px}.brand span{color:#a4cbbb;margin-left:8px}.brand small{display:block;font-size:9px;letter-spacing:2.2px;color:#a9c3ba}.space{font-size:9px;letter-spacing:1.8px;margin:50px 10px 18px;color:#9bb7ad}nav{display:grid;gap:7px}nav button{text-align:left;background:transparent;color:#bbcec7;font-size:13px;padding:13px}nav button.active{background:#2b5048;color:white}.aside-bottom{position:absolute;bottom:30px;font-size:12px;padding-left:10px}.aside-bottom small{color:#9ebbb0;display:block;margin-top:5px}.dot{display:inline-block;width:6px;height:6px;background:#b6d6a4;border-radius:50%;margin-right:6px}main{margin-left:226px;padding:0 38px}header{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.private{background:#e5eee7;color:var(--green);padding:6px 11px;border-radius:20px;font-size:11px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:38px 0 28px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:700}h1{font-size:34px;font-weight:600;letter-spacing:-1px;margin:8px 0}p{margin:8px 0 16px}.heading p,.muted{color:var(--muted)}h2{font-size:16px;font-weight:650;margin:0}h3{font-size:14px}.secondary{background:white;border:1px solid var(--line)}.primary{background:var(--green);color:white;font-size:12px;font-weight:600}.full{width:100%;margin-top:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.stats article,.card{background:white;border:1px solid var(--line);border-radius:12px}.stats article{padding:21px 23px}.stats small{font-size:12px;color:var(--muted)}.stats strong{display:block;font-size:34px;line-height:1.5;font-weight:500}.stats span{font-size:10px;color:var(--muted)}.workspace{display:grid;grid-template-columns:245px minmax(0,1fr);gap:22px}.card{padding:24px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.card-head p{margin:5px 0 0;font-size:11px}.departments .card-head>span{background:var(--bg);padding:2px 8px;border-radius:5px;font-size:11px}.departments p{font-size:12px}.small-actions{display:flex;gap:5px;margin-bottom:12px}.small-actions button{font-size:11px;padding:4px 8px}.dep{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #f1f4f2;font-size:12px}.dep input{accent-color:var(--green)}.dep span{margin-left:auto;color:var(--muted);font-size:10px}#departments{max-height:390px;overflow:auto}.filters{display:flex;gap:12px;margin:24px 0 15px}input,select,textarea{border:1px solid var(--line);border-radius:7px;background:#fcfdfc;padding:10px 12px;color:var(--ink);min-width:0}input#search{flex:1}select{font-size:12px}.table-wrap{overflow:auto;max-height:520px}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;color:var(--muted);font-size:10px;font-weight:500;border-bottom:1px solid var(--line);padding:12px 8px}td{border-bottom:1px solid #eef2ef;padding:16px 8px}td small{display:block;color:var(--muted);font-size:10px}.badge{font-size:10px;background:#edf2ef;padding:4px 8px;border-radius:15px}.badge.ok{background:#e4f2e8;color:#277145}.badge.review{background:#fff3dd;color:#956c20}.row-action{font-size:10px;padding:5px 8px;text-decoration:none;color:var(--green);background:#edf4ef;border-radius:5px;margin-right:4px;display:inline-block}.empty{text-align:center;padding:65px 10px;white-space:normal;color:var(--muted)}.empty b{display:block;color:var(--ink);font-size:16px;margin-bottom:8px}.footnote{font-size:10px;color:var(--muted);margin-top:18px}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.data-grid p{font-size:12px}.import-zone{border:1px dashed #b9ccc2;border-radius:9px;padding:18px;margin-top:22px;background:#f9fcfa}.import-zone label,label{display:block;font-size:12px;font-weight:600;margin:12px 0}.import-zone input[type=file]{width:100%;font-size:11px}.import-zone textarea{width:100%;height:130px;font-size:11px}.import-zone select{width:100%;margin-top:4px}.note{margin-top:22px;background:#f9fbf9;padding:20px;border-radius:9px}.note p{font-size:12px;color:var(--muted)}.message-card{max-width:780px}.message-card h2{margin-top:8px;font-size:24px}.message-card textarea,.message-card input{width:100%;display:block;margin-top:8px}.message-card textarea{height:140px;font-weight:400}.preview{background:#eff5f0;border-radius:9px;padding:18px;margin-top:22px}.preview small{font-size:9px;letter-spacing:1.5px}.preview p{white-space:pre-wrap}.security-line{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0;font-size:12px}.security-line b{color:var(--green)}footer{padding:32px 0;display:flex;justify-content:space-between;color:#9aaba4;font-size:10px;letter-spacing:1px}footer span{letter-spacing:0}#notice:not(:empty){padding:12px 16px;background:#e5efe7;border-radius:9px;margin-bottom:20px;font-size:12px}dialog{width:min(600px,95vw);border:1px solid var(--line);border-radius:15px;padding:25px;box-shadow:0 15px 70px #1235}dialog::backdrop{background:#102e3655}.candidate{padding:14px;background:var(--bg);border-radius:8px;margin:10px 0;display:flex;justify-content:space-between;gap:12px}.candidate small{display:block;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1150px){main{padding:0 22px}.workspace{grid-template-columns:210px minmax(0,1fr)}.card{padding:18px}.heading{align-items:flex-start;flex-direction:column}}@media(max-width:850px){aside{position:static;height:auto;width:auto;padding:12px 18px}.brand b{font-size:28px}.brand small,.space,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:10px}nav button{white-space:nowrap;font-size:11px;padding:9px}main{margin-left:0;padding:0 16px}.workspace,.data-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats article{padding:15px}.departments #departments{max-height:150px}.heading{margin:25px 0}h1{font-size:28px}.filters{flex-wrap:wrap}.card-head{flex-wrap:wrap}header{height:58px}.private{font-size:9px}footer span{max-width:220px;text-align:right}}

#termsDialog{width:min(760px,94vw);max-height:92vh;padding:0;overflow:auto}#termsDialog .terms-head{padding:24px 28px 12px;background:#f1f7f2}#termsDialog h2{font-size:26px;margin:8px 0}#termsDialog .terms-head p{font-size:14px}.terms-scroll{margin:18px 28px;max-height:35vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:16px 20px}.terms-scroll h3{margin:16px 0 7px}.terms-scroll p{font-size:12px;color:#405a54}.terms-scroll small{font-size:10px;color:var(--muted)}.terms-consent{padding:0 28px 24px}.terms-consent label{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400}.terms-consent input{accent-color:var(--green);margin-top:3px;flex:none}.terms-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}#termsMessage{font-size:12px;color:#815e21}.terms-link{font-size:10px;padding:4px 8px;background:transparent;text-decoration:underline}footer{gap:12px;flex-wrap:wrap}@media(max-width:600px){#termsDialog .terms-head{padding:18px 18px 8px}.terms-scroll{margin:12px 18px;max-height:30vh;padding:12px}.terms-consent{padding:0 18px 18px}#termsDialog h2{font-size:23px}}

.import-preview{max-height:180px;background:white;margin:10px 0}.import-preview td{padding:8px;font-size:11px}
.simple-steps{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;margin-bottom:24px}.step-title{display:flex;align-items:center;gap:12px}.step-title>span{display:grid;place-items:center;background:#e7f1ea;color:var(--green);width:30px;height:30px;border-radius:50%;font-size:15px;flex:none}.step-title h2{font-size:18px}.zone-step>input{width:100%;margin-top:20px}.zone-step .small-actions{align-items:center;margin-top:12px;gap:8px}.small-actions>span{margin-left:auto;font-size:11px;color:var(--muted)}.zone-step #departments{max-height:240px}.dep{font-size:14px;padding:12px 3px;font-weight:400;margin:0}.dep input{width:18px;height:18px}.contact-step p{font-size:13px}.file-button{display:block;text-align:center;padding:14px 18px;border-radius:8px;font-size:15px;cursor:pointer}.format-hint{font-size:11px!important;color:var(--muted)}.contact-summary{background:#eef5ef;border-radius:8px;padding:15px;font-size:14px;margin:18px 0 8px}.small-clear{background:transparent;text-decoration:underline;font-size:11px;padding:4px 0}.simple-stats{margin-top:10px}.results .step-title{margin-bottom:4px}.row-action{font-size:12px;padding:8px 10px}.badge{font-size:11px}.table-wrap td{font-size:13px}.table-wrap th{font-size:11px}.table-wrap small{font-size:11px}.muted-link{color:var(--muted);font-size:11px}#googleState{font-size:11px}#export{padding:12px 16px;font-size:13px}@media(max-width:850px){.simple-steps{grid-template-columns:1fr}.zone-step #departments{max-height:210px}.heading h1{font-size:28px}.heading p{font-size:14px}.step-title h2{font-size:17px}}

.search-button{font-size:17px;padding:16px;margin-top:15px}.run-error{color:#a62c29;font-size:13px;font-weight:600}.run-error:empty{display:none}#runHelp{font-size:13px;min-height:20px}

.export-buttons{display:flex;flex-wrap:wrap;gap:8px}.export-buttons button{font-size:12px;padding:12px}.export-status{font-size:13px;color:var(--green);overflow-wrap:anywhere}.export-status:empty{display:none}

/* Tally: identidad y carga accesible en todos los tamaños. */
.brand b{font-size:34px;letter-spacing:1px}.brand small{font-size:12px;line-height:1.5;letter-spacing:0;margin-top:6px;color:#c5ddd2}.brand small strong{color:white}.contact-options .full{margin-top:10px;font-size:15px;min-height:48px}.contact-help{border:1px solid var(--line);border-radius:9px;margin:12px 0;padding:12px}.contact-help summary{font-weight:600;cursor:pointer;min-height:30px}.contact-help label,.contact-help p{font-size:13px}.contact-help input,.contact-help textarea,.contact-help select{width:100%;display:block;margin-top:6px}.contact-help textarea{min-height:130px}.contact-help a{color:var(--green)}.contact-help button{font-size:15px}.contact-options p{overflow-wrap:anywhere}.simple-steps>.card{min-width:0}#deviceInstructions{margin-top:12px}#deviceInstructions p{font-size:13px}#googleConnect:disabled{opacity:1;background:#e9eeeb;color:#586d64;cursor:not-allowed}
@media(max-width:850px){.brand small{display:block;max-width:520px;font-size:12px}.brand b{font-size:30px}input,select,textarea{font-size:16px}nav button{min-height:44px}.file-button{min-height:48px}.primary{font-size:14px}.security-line{gap:12px;flex-wrap:wrap}}
@media(max-width:480px){main{padding:0 12px}.card{padding:16px}.stats{gap:8px}.stats article{padding:12px}.stats strong{font-size:29px}.small-actions{flex-wrap:wrap}.export-buttons{width:100%;display:grid;grid-template-columns:1fr 1fr}.export-buttons button{font-size:14px;min-height:48px}.candidate{flex-wrap:wrap}.terms-actions{flex-wrap:wrap}.terms-actions button{min-height:44px}.heading h1{font-size:26px}.filters input,.filters select{width:100%}}

.election-settings{background:white;border:1px solid var(--line);border-radius:12px;padding:16px 22px;margin-bottom:22px}.election-settings label{margin:0;max-width:550px;font-size:14px}.election-settings input{display:block;width:100%;margin-top:8px;font-size:18px}.election-settings p{font-size:12px;color:var(--muted);margin:8px 0 0}.impact-panel{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:30px;margin:24px 0;background:#fbfdfb;border-color:#c8ded0}.impact-panel h2{font-size:25px;margin:8px 0}.impact-headline strong{font-size:54px;letter-spacing:-2px;color:var(--green);display:block}.impact-headline span{font-size:15px;color:#536e62}.impact-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.impact-metrics article{background:white;padding:14px;border:1px solid var(--line);border-radius:10px}.impact-metrics strong{display:block;font-size:30px}.impact-metrics small,.impact-metrics span{display:block;color:#536e62;font-size:13px}#impactMessage{font-size:15px}#impactScope{font-size:13px;color:#536e62;overflow-wrap:anywhere}.impact-visual{align-self:center}#impactPie{max-width:250px;margin:auto}#impactPie svg{width:100%;display:block}#impactLegend{display:grid;gap:9px;margin-top:12px}#impactLegend>div{display:flex;gap:9px;align-items:center;font-size:13px}#impactLegend span{width:12px;height:12px;border-radius:50%;flex:none}#impactLegend small{margin-left:auto;font-size:12px}#impactLegend b{font-weight:500}@media(max-width:850px){.impact-panel{grid-template-columns:1fr;gap:12px}.impact-headline strong{font-size:48px}.impact-visual{max-width:420px;width:100%;margin:auto}.election-settings{padding:16px}}

.social-dialog{width:min(680px,94vw);max-height:92vh;overflow:auto}.social-dialog p{font-size:14px;color:var(--muted)}.social-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.social-controls label{font-size:13px}.social-controls input,.social-controls select{display:block;width:100%;margin-top:6px}.social-dialog canvas{display:block;width:min(100%,380px);height:auto;margin:18px auto;border-radius:12px;box-shadow:0 4px 22px #163c3322}.social-actions{display:flex;gap:10px;flex-wrap:wrap}.social-actions button{min-height:46px}@media(max-width:480px){.social-controls{grid-template-columns:1fr}.social-dialog{padding:16px}}

.social-networks{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.social-networks h3{font-size:17px;margin:0}.network-links{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.network-links a{padding:12px 16px;border:1px solid var(--line);border-radius:9px;color:var(--green);background:#f8faf8;text-decoration:none;font-size:14px;font-weight:600}.network-links a:hover{background:#e8f1eb}.network-links a:focus-visible{outline:3px solid var(--green);outline-offset:2px}

.png-fallback{display:inline-flex;align-items:center;padding:12px 16px;text-decoration:none;border-radius:9px;color:var(--green);border:1px solid var(--line);font-size:14px;font-weight:600}.png-fallback[hidden]{display:none}
