/* Meu Mandato — Cabine eleitoral 3D V15 */
#modal.u15-modal{width:min(1760px,calc(100vw - 18px));max-width:1760px;max-height:calc(100dvh - 16px);overflow:hidden;padding:0;background:#0c1824;border:1px solid #334858;border-radius:22px;box-shadow:0 28px 100px #02060ccc;color:#edf6fa}
.u15-root{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:#edf6fa;display:flex;flex-direction:column;height:min(910px,calc(100dvh - 18px));min-height:510px}
.u15-top{padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(90deg,#112838,#102232);border-bottom:1px solid #405466;flex:none}
.u15-top-left{display:flex;align-items:center;gap:14px;min-width:0}.u15-tag{font-size:11px;letter-spacing:.11em;font-weight:850;color:#89bfcb;text-transform:uppercase}.u15-top h2{margin:2px 0;font-weight:850;font-size:clamp(18px,2vw,26px);color:#fff;font-family:Inter,system-ui,sans-serif}.u15-top small{font-size:12px;color:#c1d1d8}.u15-icon{width:43px;height:43px;border-radius:13px;background:linear-gradient(130deg,#189d83,#1b596b);display:grid;place-items:center;font-size:22px;box-shadow:inset 0 1px #ffffff50}
.u15-count{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:13px;color:#c8dce5}.u15-count b{background:#f7c956;color:#152637;border-radius:9px;padding:7px 11px;font-size:13px}
.u15-stage{position:relative;flex:1;min-height:0;background:radial-gradient(ellipse at 48% 15%,#6e8a90 0%,#273e4b 55%,#132733 100%);isolation:isolate;overflow:hidden}
.u15-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline:none}.u15-canvas:active{cursor:grabbing}.u15-canvas:focus-visible{outline:3px solid #f7c956;outline-offset:-5px}
.u15-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,19,28,.10) 0%,transparent 25%,transparent 72%,rgba(3,19,28,.1) 100%)}
.u15-hud{position:absolute;left:18px;top:18px;z-index:5;width:min(330px,calc(100% - 36px));pointer-events:none;display:grid;gap:10px}
.u15-status{border:1px solid #c6d0d48a;background:rgba(8,23,34,.88);color:#fff;padding:13px 15px;border-radius:16px;box-shadow:0 8px 26px #0a15273f;backdrop-filter:blur(10px)}.u15-status small{display:block;font-weight:800;letter-spacing:.09em;font-size:10px;color:#9cd0d3}.u15-office{font-weight:950;font-size:clamp(23px,2.5vw,30px);margin-top:4px;line-height:1.1}.u15-status em{font-style:normal;color:#fbd476;font-size:13px;font-weight:750}.u15-progress{display:flex;align-items:center;gap:6px;margin-top:12px}.u15-progress span{display:block;height:5px;flex:1;border-radius:8px;background:#415968}.u15-progress span.past{background:#38b882}.u15-progress span.now{background:#f7c956}
.u15-scene-actions{display:flex;gap:8px;pointer-events:auto;flex-wrap:wrap}.u15-control{cursor:pointer;border:1px solid #7f9eaa60;background:#0e2939e8;color:#e7f4f7;border-radius:11px;padding:9px 12px;font-weight:800;font-size:12px;box-shadow:0 5px 20px #01091255}.u15-control:hover,.u15-control.active{background:#277d82;border-color:#b5dfe0}.u15-control:focus-visible{outline:2px solid #f7c956;outline-offset:2px}
.u15-hint{position:absolute;right:18px;top:18px;max-width:260px;padding:10px 13px;border:1px solid #dae7e72f;border-radius:11px;background:#0d2431c5;color:#dae7ee;font-size:12px;z-index:4;text-align:right;pointer-events:none}
.u15-bottom{padding:10px 16px;background:#102331;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #405466;flex:none;font-size:12px;color:#d4e6ea}.u15-bottom b{color:#fbd476}.u15-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.u15-legend i{display:inline-block;width:13px;height:13px;border-radius:4px;vertical-align:-2px;margin-right:3px}.u15-legend .br{background:#f1f1ea}.u15-legend .co{background:#e8892c}.u15-legend .ok{background:#23a356}
.u15-guide-open{display:none;position:absolute;z-index:10;inset:0;background:#041624aa;backdrop-filter:blur(5px);align-items:stretch;justify-content:flex-end}.u15-guide-open.on{display:flex}.u15-guide-panel{width:min(470px,95vw);background:#f7f9f9;color:#102e3b;overflow:auto;box-shadow:-30px 0 60px #06101c88;padding:16px 20px}.u15-guide-panel h3{color:#164658;margin:0}.u15-guide-panel .btn{margin-top:8px}.u15-guide-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}.u15-guide-panel .card{box-shadow:none}.u15-guide-panel .tag{color:#1e293b}
.u15-error{position:absolute;inset:0;z-index:9;background:#162b38;color:#fff;display:grid;place-items:center;text-align:center;padding:24px}
@media(max-width:720px){#modal.u15-modal{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.u15-root{height:100dvh;min-height:0}.u15-top{padding:8px 10px}.u15-icon{width:34px;height:34px;border-radius:8px}.u15-tag{font-size:9px}.u15-top h2{font-size:18px}.u15-top small{font-size:10px}.u15-count{font-size:11px}.u15-count b{padding:6px}.u15-hud{left:8px;top:8px;max-width:240px;gap:6px}.u15-status{padding:9px 10px;border-radius:11px}.u15-status small{font-size:9px}.u15-office{font-size:19px}.u15-status em{font-size:11px}.u15-progress{margin-top:7px}.u15-control{padding:7px;font-size:11px}.u15-hint{right:8px;top:8px;max-width:135px;font-size:10px;padding:7px 8px}.u15-bottom{padding:7px 10px;font-size:10px;line-height:1.3;gap:6px}.u15-legend{gap:5px}}
@media(max-width:420px){.u15-hint{display:none}.u15-status{max-width:195px}.u15-top-left{gap:7px}.u15-count{gap:4px}.u15-legend{display:none}}

/* V16 — leitura ampliada opcional, mantendo o modelo 3D como foco */
.u16-screen-shell{position:absolute;inset:0;z-index:11;background:#071722c9;display:none;align-items:center;justify-content:center;padding:14px;backdrop-filter:blur(6px)}
.u16-screen-shell.on{display:flex}.u16-screen-panel{width:min(1220px,96%);background:#ecf2f5;color:#152534;padding:14px;border-radius:18px;box-shadow:0 25px 70px #0009;border:2px solid #849ba7}.u16-screen-head{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:12px}.u16-screen-head strong{font-size:16px;font-weight:900}.u16-screen-panel canvas{display:block;max-width:100%;width:100%;aspect-ratio:2048/736;height:auto;border:11px solid #141e24;border-radius:12px;background:#fff}.u16-screen-panel p{font-size:13px;color:#435867;margin:9px 0 0}
@media(max-width:720px){.u16-screen-shell{padding:6px}.u16-screen-panel{width:100%;padding:9px}.u16-screen-panel canvas{border-width:5px}.u16-screen-head strong{font-size:12px}.u16-screen-panel p{font-size:11px}}
