:root{
  --ink:#17202a;--muted:#69727c;--line:#dde2e7;--paper:#fff;--bg:#f4f6f8;
  --blue:#244bb6;--blue2:#173986;--green:#23834a;--red:#b22c2c;--orange:#db7a24;
  --shadow:0 18px 50px rgba(24,33,44,.12);--radius:22px
}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#fff 0,#f4f6f8 42%,#eef1f4 100%)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.topbar{height:76px;padding:0 clamp(20px,4vw,56px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.9);backdrop-filter:blur(18px);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px}.brand-mark,.terminal-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),var(--blue2));color:white;font-weight:900;font-size:22px;box-shadow:0 8px 18px rgba(36,75,182,.28)}.brand span:last-child{display:flex;flex-direction:column;line-height:1.08}.brand small{color:var(--muted);margin-top:5px}.topnav{display:flex;align-items:center;gap:22px;font-size:14px}.topnav a,.link-button{color:#38424c}.inline-form{display:inline}.link-button{border:0;background:none;padding:0;cursor:pointer}.flash-stack{position:fixed;top:90px;right:24px;z-index:100;display:grid;gap:10px;max-width:420px}.flash{padding:14px 18px;border-radius:14px;background:#fff;box-shadow:var(--shadow);border-left:5px solid #65727f;font-weight:700}.flash.success{border-color:var(--green)}.flash.error{border-color:var(--red)}
.landing-shell,.center-page{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:40px}.hero-card{width:min(1180px,100%);display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;background:linear-gradient(145deg,#fff,#f7f9fb);border:1px solid rgba(0,0,0,.06);border-radius:36px;padding:clamp(34px,6vw,80px);box-shadow:var(--shadow)}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;color:var(--blue);margin-bottom:14px}.hero-card h1,.page-heading h1,.auth-panel h1{font-size:clamp(34px,5vw,68px);line-height:.98;letter-spacing:-.045em;margin:0 0 22px}.hero-card p{font-size:19px;line-height:1.6;color:var(--muted);max-width:680px}.action-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.button{border:0;border-radius:13px;padding:12px 18px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s transform,.18s box-shadow,.18s opacity}.button:hover{transform:translateY(-1px)}.button.primary{background:linear-gradient(145deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 9px 20px rgba(36,75,182,.25)}.button.secondary{background:#eef1f4;color:#26323d}.button.success{background:var(--green);color:#fff}.button.danger{background:#b53636;color:#fff}.button.ghost{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff}.button.full{width:100%}.button.tiny{padding:8px 11px;border-radius:10px;font-size:12px}.status-pill{display:inline-flex;margin-top:24px;border-radius:999px;background:#eef1f4;padding:9px 13px;color:#59636d;font-weight:800;font-size:13px}.status-pill.open{background:#e3f5e9;color:#1f7541}.mini-urna{background:#d8d4ca;border:12px solid #b9b4aa;border-radius:28px;padding:26px;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45),0 25px 45px rgba(37,43,50,.22);transform:perspective(1000px) rotateY(-7deg)}.mini-screen{background:#dfe9dd;border:8px solid #555b5e;border-radius:7px;padding:22px;display:flex;flex-direction:column;min-height:240px;box-shadow:inset 0 0 22px rgba(18,35,28,.15)}.mini-screen strong{font-size:14px}.mini-screen span{margin-top:20px}.mini-screen b{margin:auto;text-align:center;font-size:64px}.mini-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-content:center}.mini-keypad i{background:#202326;color:white;border-radius:4px;display:grid;place-items:center;min-height:38px;font-style:normal;font-weight:800;box-shadow:0 4px 0 #090a0a}.mini-keypad em{height:32px;border-radius:4px;background:#eee}.mini-keypad em:nth-last-child(2){background:#dc8532}.mini-keypad em:last-child{background:#4b9c5d;height:45px}
.panel{background:rgba(255,255,255,.93);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);padding:24px;box-shadow:0 10px 30px rgba(32,40,48,.07)}.auth-panel{width:min(440px,100%);display:grid;gap:18px;padding:34px}.auth-panel h1{font-size:42px}.auth-panel p{margin:-8px 0 6px;color:var(--muted)}label{display:grid;gap:8px;font-weight:800;font-size:14px}input,select,textarea{width:100%;border:1px solid #d4dbe2;background:#fff;border-radius:12px;padding:12px 14px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#5b78cf;box-shadow:0 0 0 4px rgba(36,75,182,.1)}textarea{resize:vertical;line-height:1.5}label small{color:var(--muted);font-weight:500}
.app-layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 76px)}.sidebar{padding:28px 20px;border-right:1px solid rgba(0,0,0,.07);background:rgba(250,251,252,.8);display:flex;flex-direction:column;gap:8px}.sidebar-title{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#8a939c;font-weight:900;padding:6px 12px 12px}.sidebar a{padding:12px;border-radius:12px;font-weight:750;color:#47515b}.sidebar a:hover{background:#fff}.workspace,.mesario-page,.results-page{padding:34px clamp(20px,4vw,56px) 60px;min-width:0}.workspace.narrow{max-width:980px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading h1{font-size:clamp(34px,4vw,56px);margin-bottom:10px}.page-heading p{margin:0;color:var(--muted);font-size:16px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column}.metric strong{font-size:38px}.metric span{color:var(--muted);font-weight:700}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.panel-heading h2{margin:0 0 5px;font-size:21px}.panel-heading p{margin:0;color:var(--muted);font-size:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px 12px;border-bottom:1px solid #edf0f3}th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7b858f}td small{display:block;color:var(--muted);margin-top:4px}.align-right{text-align:right}.badge{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;background:#eef1f4;color:#5d6771}.badge.draft{background:#fff3d8;color:#8e6512}.badge.open{background:#dff5e7;color:#1e7740}.badge.closed{background:#e7ebef;color:#4c5863}.badge.large{padding:9px 14px;font-size:13px}.empty-state{text-align:center;padding:40px 20px}.empty-state.compact{padding:20px}.empty-state h3,.empty-state h2{margin-top:0}.empty-state p{color:var(--muted)}.split-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:20px;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.action-panel{display:flex;flex-direction:column;gap:12px}.action-panel .panel-heading{margin-bottom:6px}fieldset{border:1px solid var(--line);border-radius:14px;padding:14px}legend{font-weight:850;font-size:14px;padding:0 6px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-card{display:flex;align-items:center;gap:9px;background:#f7f9fb;border-radius:11px;padding:11px}.check-card input{width:auto}.candidate-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.candidate-admin-card{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:14px}.candidate-admin-card h3{margin:4px 0;font-size:16px}.candidate-admin-card h3 b{color:var(--blue);margin-right:5px}.candidate-admin-card p,.candidate-admin-card small{margin:0;color:var(--muted);font-size:12px}.candidate-avatar{width:64px;height:72px;border-radius:12px;background:#e8edf2;overflow:hidden;display:grid;place-items:center;font-size:26px;font-weight:900}.candidate-avatar img{width:100%;height:100%;object-fit:cover}.icon-button{width:34px;height:34px;border:0;border-radius:10px;background:#eef1f4;color:#56616c;font-size:20px;cursor:pointer}.list-stack{display:grid}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #edf0f3}.list-row:last-child{border-bottom:0}.list-row small{display:block;color:var(--muted);margin-top:4px}.scroll-list{max-height:520px;overflow:auto;padding-right:4px}.user-row form{display:flex;align-items:center;gap:8px}.user-row input{max-width:160px;padding:9px 10px}
.mesario-page{max-width:1500px;margin:auto}.mesario-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.voter-list{display:grid;gap:8px}.voter-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px}.voter-row.done{opacity:.58;background:#f6f8f9}.voter-status{width:38px;height:38px;border-radius:11px;background:#eef1f4;display:grid;place-items:center;font-weight:900}.voter-row.done .voter-status{background:#dff5e7;color:#1e7740}.voter-name small{display:block;color:var(--muted);margin-top:3px}.voter-actions{display:flex;gap:8px}.status-text{font-size:12px;font-weight:900;color:var(--green)}.active-codes{align-self:start;position:sticky;top:96px}.code-card{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px}.code-card small{display:block;color:var(--muted);margin-bottom:5px}.code-card strong{font-size:27px;letter-spacing:.12em}
.gate-body{background:radial-gradient(circle at 50% 15%,#3b4652,#1c2228 72%)}.gate-page{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:24px}.gate-card{width:min(500px,100%);text-align:center;color:#fff;padding:42px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:30px;backdrop-filter:blur(16px);box-shadow:0 24px 60px rgba(0,0,0,.28)}.gate-badge{display:inline-block;background:#f0b746;color:#2b2311;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:950;letter-spacing:.12em}.gate-icon{width:88px;height:88px;border-radius:26px;margin:22px auto;display:grid;place-items:center;background:linear-gradient(145deg,#315fd1,#193b8d);font-size:44px;font-weight:950;box-shadow:0 18px 30px rgba(0,0,0,.28)}.gate-card h1{font-size:48px;margin:0 0 8px}.gate-card p{color:#cbd3db}.code-form{display:grid;gap:16px;margin:28px 0 14px}.code-form label{color:#dfe5eb;text-align:left}.code-form input{font-size:32px;letter-spacing:.24em;text-align:center;font-weight:900;padding-left:calc(14px + .24em)}
.ballot-body{margin:0;background:#171b1f;overflow:hidden;touch-action:manipulation;user-select:none}.urna-stage{min-height:100vh;display:grid;place-items:center;padding:34px;position:relative;background:radial-gradient(circle at center,#39434b 0,#1c2126 68%,#121518 100%)}.educational-ribbon{position:fixed;top:0;left:0;right:0;text-align:center;background:#e9aa2b;color:#251f13;padding:6px 10px;font-size:11px;letter-spacing:.18em;font-weight:950;z-index:4}.urna-machine{width:min(1500px,95vw);aspect-ratio:1.95/1;max-height:86vh;display:grid;grid-template-columns:1.16fr .84fr;background:linear-gradient(145deg,#dad7cf,#bdb9b0);border:4px solid #77766f;border-radius:24px;box-shadow:0 40px 80px rgba(0,0,0,.45),inset 0 0 0 3px rgba(255,255,255,.6);overflow:hidden;position:relative}.urna-machine:before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.5);border-radius:17px;pointer-events:none}.urna-left{padding:3.2% 3.2% 2.4%;display:grid;grid-template-rows:auto 1fr auto;gap:2%;border-right:3px solid #8b8982;position:relative}.speaker-grid{position:absolute;left:2.2%;top:2.3%;display:grid;grid-template-columns:repeat(6,5px);gap:5px}.speaker-grid i{width:4px;height:4px;border-radius:50%;background:#575956;box-shadow:inset 0 1px 1px #252724}.screen-frame{background:linear-gradient(145deg,#54595c,#282c2e);padding:2.2%;border-radius:9px;box-shadow:0 10px 18px rgba(0,0,0,.3),inset 0 0 0 2px #7c8283;margin-top:2%}.screen{height:100%;background:linear-gradient(160deg,#edf4ea,#d9e5da);color:#131718;padding:4% 4% 2.5%;position:relative;overflow:hidden;box-shadow:inset 0 0 35px rgba(20,45,31,.12);font-family:Arial,Helvetica,sans-serif}.screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(20,45,30,.025),rgba(20,45,30,.025) 1px,transparent 1px,transparent 3px)}.screen-topline{display:flex;justify-content:space-between;align-items:flex-start;font-size:clamp(12px,1.2vw,20px);position:relative;z-index:1}.screen-topline b{text-transform:uppercase;font-size:.82em}.vote-label{font-size:clamp(20px,2.2vw,34px);font-weight:900;margin:4% 0 3%;position:relative;z-index:1}.candidate-view{display:grid;grid-template-columns:1fr 31%;gap:3%;position:relative;z-index:1}.number-row{display:flex;align-items:center;gap:2%;font-size:clamp(17px,1.7vw,26px)}.number-boxes{display:flex;gap:.55vw}.number-box{width:clamp(30px,3vw,48px);height:clamp(42px,4vw,62px);border:2px solid #1e2224;background:#f5f8f3;display:grid;place-items:center;font-size:clamp(26px,3vw,46px);font-weight:900}.candidate-fields{margin-top:4%;display:grid;gap:1.4vw}.candidate-fields p{display:grid;grid-template-columns:22% 1fr;margin:0;font-size:clamp(15px,1.45vw,24px);align-items:baseline}.candidate-fields strong{font-size:1.2em}.candidate-photo{border:2px solid #202426;background:#f4f7f2;min-height:12vw;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}.candidate-photo img{width:100%;height:calc(100% - 27px);object-fit:cover;object-position:center top}.candidate-photo small{text-align:center;border-top:1px solid #25292a;padding:4px;font-size:clamp(9px,.8vw,13px);text-transform:uppercase}.photo-placeholder{flex:1;display:grid;place-items:center;color:#9aa39e;font-weight:900}.null-message,.blank-message{display:none;margin-top:8%;font-size:clamp(23px,2.4vw,40px);font-weight:900;line-height:1.1}.null-message strong{font-size:1.25em}.screen-footer{position:absolute;left:4%;right:4%;bottom:2.6%;border-top:2px solid #181c1d;padding-top:1.2%;font-size:clamp(11px,1vw,16px);display:grid;grid-template-columns:auto 1fr;column-gap:2%;row-gap:3px;z-index:1}.screen-footer strong{grid-row:span 2}.screen-footer span b{font-size:.93em}.screen-help{position:absolute;left:4%;bottom:5%;font-size:clamp(13px,1.2vw,19px);font-weight:900;z-index:1}.processing{display:none;position:absolute;inset:0;background:#e4ece2;z-index:4;place-items:center;font-size:clamp(26px,3vw,50px);font-weight:900;letter-spacing:.03em}.seal-line{display:flex;justify-content:space-between;align-items:end;color:#414540}.seal-line span{font-weight:950;letter-spacing:.16em;font-size:clamp(10px,.8vw,13px)}.seal-line small{font-size:clamp(9px,.75vw,12px)}.urna-right{padding:4% 5% 4%;display:grid;grid-template-rows:auto 1fr auto auto;gap:3%;background:linear-gradient(145deg,#d0cdc5,#b5b1a8);position:relative}.terminal-brand{display:flex;align-items:center;gap:3%;padding-bottom:3%;border-bottom:2px solid #9b9992}.terminal-mark{width:clamp(42px,4vw,62px);height:clamp(42px,4vw,62px);border-radius:16px;font-size:clamp(22px,2vw,32px)}.terminal-brand div:last-child{display:flex;flex-direction:column}.terminal-brand strong{font-size:clamp(15px,1.4vw,23px);letter-spacing:.03em}.terminal-brand small{font-size:clamp(9px,.75vw,12px);margin-top:4px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(0,1fr);gap:5%;align-self:stretch;padding:2% 4% 0}.digit-key{background:linear-gradient(145deg,#272a2b,#090a0a);border:2px solid #080909;border-radius:5px;color:white;font-size:clamp(24px,2.8vw,46px);font-weight:900;box-shadow:0 .5vw 0 #050606,0 .65vw .5vw rgba(0,0,0,.28);cursor:pointer;position:relative}.digit-key span{display:block;transform:translateY(-2px)}.digit-key:active{transform:translateY(.35vw);box-shadow:0 .15vw 0 #050606}.digit-key.zero{grid-column:2}.action-keys{display:grid;grid-template-columns:1fr 1fr 1.18fr;gap:3%;align-items:end}.action-key{border:2px solid #5a5c59;border-radius:5px;color:#101313;font-size:clamp(10px,1vw,16px);font-weight:950;height:clamp(44px,4.3vw,70px);box-shadow:0 .45vw 0 #6b6c68;cursor:pointer}.action-key:active{transform:translateY(.28vw);box-shadow:0 .16vw 0 #686964}.action-key.white{background:#f3f1e9}.action-key.orange{background:#d77e2e}.action-key.green{background:#4a9a5c;height:clamp(54px,5.2vw,84px)}.action-key:disabled{filter:grayscale(.6);opacity:.55;cursor:not-allowed}.power-row{display:flex;align-items:center;justify-content:flex-end;gap:7px;font-size:10px;text-transform:uppercase;color:#565b58}.power-row i{width:10px;height:10px;border-radius:50%;background:#69bd67;box-shadow:0 0 8px #63d266}.power-row b{width:16px;height:5px;border-radius:4px;background:#525653}.fullscreen-fab{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.35);color:#fff;font-size:22px;z-index:5}.invalid-ballot,.finished-stage{min-height:100vh;display:grid;place-items:center;align-content:center;text-align:center;color:white;padding:30px;background:radial-gradient(circle at center,#39434b,#171b1f 70%)}.warning-symbol{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:#d18b2d;font-size:58px;font-weight:900}.invalid-ballot h1{font-size:48px;margin:22px 0 8px}.invalid-ballot p{color:#c8d0d7}.finished-screen{width:min(850px,90vw);aspect-ratio:1.8/1;background:linear-gradient(160deg,#e7efe5,#cfddcf);border:18px solid #3f4548;box-shadow:0 30px 70px rgba(0,0,0,.5),inset 0 0 40px rgba(25,50,35,.12);color:#121717;display:flex;flex-direction:column;align-items:center;justify-content:center}.finished-screen span{font-weight:800;letter-spacing:.12em}.finished-screen strong{font:900 clamp(100px,18vw,240px)/.9 Arial,sans-serif;margin:2% 0}.finished-screen p{font-size:clamp(18px,2vw,30px);margin:0}.educational-footer{margin-top:20px;color:#d5dbe0;letter-spacing:.16em;font-size:12px;font-weight:900}
.print-page{background:#e8ebee;padding:30px}.paper{width:min(920px,100%);margin:auto;background:#fff;padding:50px;box-shadow:var(--shadow)}.paper header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #111;padding-bottom:20px}.paper h1{font-size:46px;margin:0}.report-meta{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px 0;color:#505963}.zero-stamp{margin:34px auto 18px;border:4px double #111;padding:18px;text-align:center;font-weight:950;font-size:22px;letter-spacing:.08em}.report-note{text-align:center;color:#69727c;font-size:12px;margin-top:30px}.results-page{max-width:1200px;margin:auto}.result-class{margin-bottom:20px}.result-grid{display:grid;gap:12px}.result-candidate{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:16px;padding:12px;border:1px solid var(--line);border-radius:14px}.result-candidate img,.result-placeholder{width:64px;height:72px;border-radius:10px;object-fit:cover;background:#e6ebef;display:grid;place-items:center;font-size:25px;font-weight:900}.result-candidate h3{margin:3px 0}.result-candidate small{color:var(--muted)}.result-candidate>strong{font-size:32px}.result-summary{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.result-summary span{background:#f0f3f5;padding:9px 12px;border-radius:999px;font-size:13px}
@media (max-width:1000px){.hero-card{grid-template-columns:1fr}.mini-urna{max-width:620px}.app-layout{grid-template-columns:1fr}.sidebar{display:none}.split-grid,.mesario-grid{grid-template-columns:1fr}.active-codes{position:static}.metric-grid{grid-template-columns:1fr 1fr 1fr}.urna-stage{padding:28px 10px 10px}.urna-machine{width:98vw;max-height:88vh}.speaker-grid{display:none}}
@media (max-width:760px){.topbar{height:auto;min-height:68px;padding:12px 18px}.topnav{gap:12px;font-size:12px}.brand small{display:none}.landing-shell,.center-page{padding:20px}.hero-card{padding:30px}.hero-card h1{font-size:42px}.mini-urna{grid-template-columns:1fr;padding:18px}.mini-keypad{display:none}.workspace,.mesario-page,.results-page{padding:24px 16px 50px}.page-heading{flex-direction:column}.metric-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.check-grid{grid-template-columns:1fr}.voter-row{grid-template-columns:38px 1fr}.voter-actions{grid-column:1/-1}.status-text{grid-column:3}.candidate-admin-grid{grid-template-columns:1fr}.paper{padding:24px}.print-page{padding:0}.urna-stage{overflow:auto;align-items:start}.urna-machine{min-width:920px;min-height:470px}.educational-ribbon{font-size:9px}.ballot-body{overflow:auto}}
@media (orientation:portrait) and (max-width:900px){.urna-stage:before{content:"Para uma experiência mais realista, gire o tablet para a horizontal.";position:fixed;top:32px;left:50%;transform:translateX(-50%);z-index:8;background:#e9aa2b;color:#251f13;padding:9px 13px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.urna-machine{margin-top:26px}}
@media print{.topbar,.sidebar,.no-print,.button,.flash-stack{display:none!important}.app-layout{display:block}.workspace,.results-page{padding:0}.panel{box-shadow:none;border:1px solid #bbb;break-inside:avoid}.print-page{padding:0;background:#fff}.paper{box-shadow:none;width:100%;padding:20px}.result-class{break-inside:avoid}}
.mesario-return{position:fixed;right:18px;bottom:18px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.35);color:#d9e0e5;border-radius:999px;padding:11px 16px;font-size:11px;font-weight:900;letter-spacing:.04em;overflow:hidden}.mesario-return:before{content:"";position:absolute;inset:0;right:100%;background:rgba(76,156,93,.72);transition:none}.mesario-return.holding:before{right:0;transition:right 1.4s linear}.mesario-return{isolation:isolate}.mesario-return:before{z-index:-1}
.table-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;white-space:nowrap}.table-actions form{margin:0}
.screen{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.candidate-view{min-height:0;overflow:hidden}.candidate-data{min-width:0;min-height:0;overflow:hidden}.candidate-fields p:nth-child(n+2){display:none}.candidate-photo{min-height:0;height:100%;max-height:100%;overflow:hidden}.null-message,.blank-message{margin-top:6%;font-size:clamp(22px,2.05vw,34px);line-height:1.05}.screen-footer{position:relative;left:auto;right:auto;bottom:auto;align-self:end}
.urna-left{grid-template-rows:58% minmax(0,1fr) auto}.screen-frame{grid-row:1;height:auto;min-height:0;align-self:stretch}.seal-line{grid-row:3}
.candidate-photo img{object-fit:contain;object-position:center center;background:#f4f7f2}
.urna-left{grid-template-rows:68% minmax(0,1fr) auto}
.candidate-view{grid-template-columns:minmax(0,1fr) clamp(150px,14vw,220px);align-items:start;gap:clamp(16px,2vw,28px);overflow:visible}
.candidate-photo{width:100%;height:auto;aspect-ratio:3/4;justify-self:end;align-self:start;min-height:0;max-height:100%;overflow:hidden}
.candidate-photo img{height:calc(100% - 28px);object-fit:cover;object-position:center 36%;background:#f4f7f2}
