:root{--bg:#020617;--bg2:#071226;--panel:#0b162b;--panel2:#0f1d36;--line:#1e3352;--line2:#29476d;--text:#f8fafc;--muted:#94a3b8;--blue:#3b82f6;--blue2:#60a5fa;--green:#10b981;--green2:#34d399;--yellow:#facc15;--red:#fb7185;--shadow:0 24px 70px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:radial-gradient(circle at 50% -10%,rgba(37,99,235,.16),transparent 34rem),radial-gradient(circle at 90% 35%,rgba(16,185,129,.08),transparent 28rem),var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}header{position:sticky;top:0;z-index:30;background:rgba(2,6,23,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(51,65,85,.72)}.nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:11px;font-weight:900;letter-spacing:.045em}.brand-mark{width:36px;height:36px;border-radius:11px;padding:1px;background:linear-gradient(135deg,#2563eb,#6366f1,#34d399)}.brand-mark span{width:100%;height:100%;display:grid;place-items:center;border-radius:10px;background:var(--bg)}.nav-actions{display:flex;align-items:center;gap:9px}.version{font-size:9px;color:#64748b;border:1px solid #1e293b;border-radius:999px;padding:6px 8px;font-weight:800;letter-spacing:.08em}.btn{border:1px solid transparent;border-radius:11px;min-height:42px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:.18s}.btn:disabled{opacity:.55;cursor:wait}.btn-primary{background:#2563eb;border-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#3b82f6;transform:translateY(-1px)}.btn-secondary{background:rgba(15,23,42,.76);border-color:#334155;color:#e2e8f0}.btn-secondary:hover{border-color:#475569;background:#0f172a}.big{min-height:50px;padding-inline:20px}.mini{min-height:36px;padding:8px 11px;font-size:11px}.hero{padding:72px 0 30px;text-align:center}.eyebrow{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(30,64,175,.17);border:1px solid rgba(59,130,246,.38);color:#93c5fd;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.hero h1{max-width:900px;margin:20px auto 0;font-size:clamp(42px,6vw,72px);line-height:.98;letter-spacing:-.055em}.gradient{background:linear-gradient(90deg,#60a5fa,#a5b4fc,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{max-width:790px;margin:24px auto 0;color:#cbd5e1;font-size:18px;line-height:1.65}.actions{margin-top:30px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.stage{padding:28px 0 70px}.panel,.form-panel{border:1px solid var(--line);background:linear-gradient(180deg,rgba(11,22,43,.96),rgba(7,18,38,.88));border-radius:22px;box-shadow:var(--shadow)}.start-grid{display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden}.start-main{padding:30px}.start-side{padding:30px;border-left:1px solid var(--line);background:rgba(2,6,23,.25)}.label{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#60a5fa}.start-main h2{font-size:28px;margin:8px 0 10px}.copy{color:#9eb0c7;line-height:1.7;font-size:14px}.feature-list{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.feature-list li{display:flex;gap:8px;color:#cbd5e1;font-size:13px}.feature-list li:before{content:'✓';color:#34d399;font-weight:900}.mode-card{border:1px solid #203653;border-radius:15px;background:rgba(15,29,54,.55);padding:16px;margin-top:12px}.mode-card strong{display:block;margin-bottom:5px}.mode-card span{font-size:12px;color:#94a3b8;line-height:1.55;display:block}.status{display:flex;align-items:center;gap:8px;color:#fde68a;font-size:11px;font-weight:800;margin-top:18px}.dot{width:8px;height:8px;border-radius:50%;background:#facc15}.creator{display:none;padding:42px 0 70px}.creator-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.creator-head h2{font-size:34px;margin:6px 0 8px;letter-spacing:-.035em}.creator-head p{margin:0;color:#94a3b8;font-size:13px}.creator-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-panel{padding:22px;box-shadow:0 12px 35px rgba(0,0,0,.13)}.wide{grid-column:1/-1}.step{display:flex;align-items:center;gap:11px;margin-bottom:20px}.step>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(37,99,235,.18);border:1px solid rgba(96,165,250,.35);color:#93c5fd;font-weight:900}.step strong{display:block;font-size:15px}.step small{display:block;margin-top:3px;color:#64748b;font-size:11px}.fields{display:grid;gap:13px}.fields.two{grid-template-columns:1fr 1fr}.fields label,.sliders label{font-size:11px;color:#aebed2;font-weight:700}.fields input,.fields select,.party-toolbar input{width:100%;margin-top:7px;min-height:44px;border:1px solid #284263;border-radius:11px;background:#071226;color:#f8fafc;padding:10px 12px;outline:0}.fields input:focus,.fields select:focus,.party-toolbar input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.13)}.hint{color:#64748b;font-size:10px;line-height:1.55;margin:12px 0 0}.preview-box{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.preview-box span{border:1px solid #203653;border-radius:999px;background:#071226;padding:7px 9px;color:#94a3b8;font-size:10px}.preview-box strong{color:#e2e8f0;margin-left:3px}.sliders{display:grid;grid-template-columns:1fr 1fr;gap:19px 26px}.sliders label>span{display:flex;justify-content:space-between;gap:12px}.sliders em{font-style:normal;color:#93c5fd;font-size:10px}.sliders input{width:100%;margin:12px 0 3px;accent-color:#3b82f6}.ends{display:flex;justify-content:space-between;color:#64748b}.party-toolbar{display:flex;gap:10px;margin-bottom:12px}.party-option{border:1px solid #334155;background:#0f172a;color:#cbd5e1;border-radius:11px;padding:10px 13px;font-weight:800;cursor:pointer;white-space:nowrap}.party-option.active{border-color:#3b82f6;color:#bfdbfe;background:rgba(37,99,235,.14)}.party-toolbar input{margin:0}.party-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-height:390px;overflow:auto;padding-right:3px}.party-card{min-width:0;text-align:left;border:1px solid #1e3352;background:rgba(7,18,38,.75);border-radius:13px;padding:12px;display:flex;align-items:flex-start;gap:10px;color:inherit}.party-card.selectable{cursor:pointer}.party-card.selectable:hover,.party-card.selected{border-color:#3b82f6;background:rgba(30,64,175,.17)}.party-number{flex:0 0 auto;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#0f213d;border:1px solid #244267;color:#93c5fd;font-weight:900}.party-info{min-width:0}.party-info strong{display:block;font-size:12px}.party-info small{display:block;margin-top:3px;color:#94a3b8;font-size:9px;line-height:1.35}.party-info em{display:block;margin-top:6px;font-style:normal;color:#64748b;font-size:8px;line-height:1.3}.selection-note{margin-top:12px;padding:11px 13px;border-radius:11px;border:1px solid #1e3352;background:rgba(15,29,54,.45);font-size:11px;color:#94a3b8}.selection-note strong{color:#e2e8f0}.creator-submit{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #1e3352;border-radius:18px;background:#071226;padding:17px 19px}.creator-submit strong{display:block;font-size:13px}.creator-submit span{display:block;margin-top:4px;color:#64748b;font-size:10px}.dashboard{display:none;padding:28px 0 70px}.topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px}.topbar h2{margin:6px 0 3px}.subline,.muted-line{font-size:11px;color:#64748b}.top-actions{display:flex;align-items:center;gap:8px}.date{font-size:12px;color:#93c5fd;font-weight:900;border-left:1px solid #334155;padding-left:12px}.game-grid{display:grid;grid-template-columns:280px minmax(0,1fr) 310px;gap:14px}.sidepanel,.mainpanel{border:1px solid var(--line);border-radius:18px;background:rgba(11,22,43,.92);padding:18px}.sidepanel h3{margin:8px 0 4px}.metric{padding:12px 0;border-bottom:1px solid #172741}.metric:last-child{border-bottom:0}.metric-name{font-size:9px;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}.metric-value{margin-top:4px;font-size:20px;font-weight:900}.money{font-size:17px}.hero-metric{margin-top:10px}.bar{height:4px;border-radius:99px;background:#172741;overflow:hidden;margin-top:8px}.bar i{display:block;width:1%;height:100%;background:linear-gradient(90deg,#3b82f6,#34d399);border-radius:inherit}.timeline-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.timeline-head h3{margin:7px 0 14px}.phase-chip{font-size:9px;padding:7px 9px;border-radius:999px;border:1px solid rgba(96,165,250,.3);background:rgba(30,64,175,.17);color:#93c5fd;font-weight:900;text-transform:uppercase}.event{padding:14px;border:1px solid #1e3352;border-radius:14px;background:rgba(15,29,54,.55);margin-bottom:10px}.event time{font-size:9px;color:#64748b}.event strong{display:block;margin-top:5px;font-size:14px}.event p{margin:6px 0 0;color:#9eb0c7;font-size:12px;line-height:1.55}.action-box{margin-top:16px}.action-box textarea{width:100%;min-height:118px;resize:vertical;border:1px solid #284263;border-radius:14px;background:#071226;color:#f8fafc;padding:14px;line-height:1.55;outline:0}.action-box textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.13)}.action-row{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-top:10px;flex-wrap:wrap}.quick{display:flex;gap:7px;flex-wrap:wrap}.result{margin-top:14px;padding:14px;border:1px solid #1e3352;border-radius:14px;display:none}.result span{color:#9eb0c7;font-size:11px;line-height:1.55}.result.ok{display:block;border-color:rgba(52,211,153,.35);background:rgba(6,78,59,.16)}.result.warn{display:block;border-color:rgba(250,204,21,.3);background:rgba(120,53,15,.16)}.deadline-card{margin:14px 0 5px;padding:14px;border-radius:14px;background:rgba(120,53,15,.12);border:1px solid rgba(250,204,21,.22)}.deadline-card span,.deadline-card small{display:block;font-size:9px;color:#a7a18a;text-transform:uppercase;letter-spacing:.06em}.deadline-card strong{display:block;margin:4px 0;font-size:19px;color:#fde68a}.profile-mini{padding-top:13px}.profile-mini>div:last-child{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.profile-mini span{font-size:8px;color:#94a3b8;border:1px solid #1e3352;border-radius:999px;padding:5px 7px}.modal{position:fixed;inset:0;z-index:60;background:rgba(2,6,23,.78);backdrop-filter:blur(10px);padding:28px;display:none;overflow:auto}.modal.open{display:block}.modal-card{width:min(1080px,100%);margin:3vh auto;border:1px solid #29476d;background:#071226;border-radius:22px;box-shadow:var(--shadow);padding:24px}.modal-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.modal-head h2{margin:6px 0 6px}.modal-head p{margin:0;color:#94a3b8;font-size:11px}.modal-grid{max-height:none}.modal-grid .party-card{cursor:default}footer{border-top:1px solid #172033;color:#64748b;padding:28px 0;font-size:11px}.footer-row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}@media(max-width:1050px){.party-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-grid{grid-template-columns:250px minmax(0,1fr)}.scenario-panel{grid-column:1/-1;display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:14px;align-items:start}.scenario-panel>.label,.scenario-panel>h3,.scenario-panel>.copy{grid-column:1}.scenario-panel .deadline-card{grid-column:2}.scenario-panel .metric{padding:8px 0;border:0}.scenario-panel .profile-mini{grid-column:1/-1}}
@media(max-width:820px){.start-grid,.creator-grid{grid-template-columns:1fr}.start-side{border-left:0;border-top:1px solid var(--line)}.form-panel.wide,.creator-submit.wide{grid-column:auto}.sliders{grid-template-columns:1fr}.party-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-grid{grid-template-columns:1fr}.scenario-panel{display:block;grid-column:auto}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:600px){.container{width:min(100% - 22px,1180px)}.nav{min-height:62px}.brand{font-size:12px}.version{display:none}.hero{padding-top:48px}.hero p{font-size:16px}.feature-list{grid-template-columns:1fr}.start-main,.start-side,.form-panel{padding:20px}.creator-head{display:block}.creator-head .btn{margin-top:12px}.fields.two{grid-template-columns:1fr}.party-toolbar{display:block}.party-toolbar input{margin-top:9px}.party-grid{grid-template-columns:1fr}.creator-submit{display:block}.creator-submit .btn{width:100%;margin-top:13px}.topbar{display:block}.top-actions{margin-top:12px;justify-content:flex-start}.date{border-left:0;padding-left:0}.modal{padding:10px}.modal-card{padding:16px}.modal-head{display:block}.modal-head .btn{margin-top:12px}}
/* v0.3 — centro partidário, pesquisas e calendário */
.career-status{display:inline-flex;margin-top:8px;padding:6px 8px;border:1px solid rgba(96,165,250,.28);border-radius:999px;background:rgba(30,64,175,.13);color:#bfdbfe;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.metric-note{display:block;margin-top:7px;color:#64748b;font-size:9px;line-height:1.4}.small-value{font-size:13px;line-height:1.35}.medium-modal{width:min(820px,100%)}.party-modal-card{width:min(1180px,100%)}.party-center{display:grid;grid-template-columns:350px minmax(0,1fr);gap:16px}.modal-search{width:100%;min-height:42px;border:1px solid #284263;border-radius:11px;background:#020617;color:#f8fafc;padding:10px 12px;outline:0;margin-bottom:10px}.modal-search:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.13)}.party-list{display:flex;flex-direction:column;gap:7px;max-height:620px;overflow:auto;padding-right:4px}.party-list-item{width:100%;border:1px solid #1e3352;background:rgba(11,22,43,.72);border-radius:12px;padding:10px;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;color:inherit;text-align:left;cursor:pointer}.party-list-item:hover,.party-list-item.active{border-color:#3b82f6;background:rgba(30,64,175,.15)}.party-list-item .party-number{width:34px;height:34px}.party-list-item strong{font-size:11px}.party-list-item small{display:block;color:#64748b;font-size:8px;margin-top:2px}.party-score{font-size:10px;font-weight:900;color:#93c5fd}.party-detail{min-height:420px;border:1px solid #1e3352;border-radius:16px;background:rgba(2,6,23,.34);padding:20px}.empty-detail{min-height:360px;display:grid;place-items:center;text-align:center;color:#64748b}.empty-detail strong{display:block;color:#cbd5e1;margin-bottom:5px}.empty-detail span{font-size:11px}.detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid #172741}.detail-party{display:flex;gap:12px}.detail-party .party-number{width:48px;height:48px;font-size:15px}.detail-party h3{margin:1px 0 4px;font-size:22px}.detail-party p{margin:0;color:#94a3b8;font-size:10px;line-height:1.5}.status-pill{padding:7px 9px;border-radius:999px;border:1px solid #334155;background:#0f172a;font-size:9px;font-weight:900;text-transform:uppercase;white-space:nowrap}.status-pill.good{border-color:rgba(52,211,153,.35);color:#86efac;background:rgba(6,78,59,.18)}.status-pill.warn{border-color:rgba(250,204,21,.3);color:#fde68a;background:rgba(120,53,15,.17)}.detail-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.score-box{border:1px solid #1e3352;border-radius:13px;padding:12px;background:rgba(11,22,43,.55)}.score-box .score-label{display:flex;justify-content:space-between;gap:12px;color:#94a3b8;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.score-box .score-label strong{color:#e2e8f0;font-size:12px}.score-track{height:5px;margin-top:9px;border-radius:99px;background:#172741;overflow:hidden}.score-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#34d399)}.detail-copy{margin:16px 0 0;color:#9eb0c7;font-size:11px;line-height:1.65}.party-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid #172741}.party-actions .btn{font-size:11px}.negotiation-log{margin-top:16px}.negotiation-log h4{margin:0 0 8px;font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em}.log-entry{border-left:2px solid #29476d;padding:3px 0 3px 10px;margin:8px 0;color:#94a3b8;font-size:10px;line-height:1.5}.log-entry strong{color:#e2e8f0}.poll-current{border:1px solid #1e3352;border-radius:16px;padding:18px;background:rgba(11,22,43,.55)}.poll-empty{color:#94a3b8;font-size:12px;line-height:1.6}.poll-number{font-size:42px;font-weight:900;letter-spacing:-.04em;margin-top:3px}.poll-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.poll-meta span{font-size:9px;border:1px solid #1e3352;border-radius:999px;padding:5px 7px;color:#94a3b8}.poll-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 20px}.poll-actions span{font-size:10px;color:#64748b}.modal-section-label{margin-bottom:8px}.poll-history{display:flex;flex-direction:column;gap:8px}.poll-row{display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;border:1px solid #1e3352;border-radius:12px;padding:11px;background:rgba(7,18,38,.55)}.poll-row time{font-size:9px;color:#64748b}.poll-row strong{font-size:12px}.poll-row span{font-size:10px;color:#94a3b8}.calendar-list{display:flex;flex-direction:column;gap:8px}.calendar-item{display:grid;grid-template-columns:100px 16px 1fr auto;gap:11px;align-items:center;border:1px solid #1e3352;border-radius:13px;padding:12px;background:rgba(11,22,43,.52)}.calendar-date{font-size:10px;font-weight:900;color:#93c5fd}.calendar-dot{width:10px;height:10px;border-radius:50%;background:#334155;box-shadow:0 0 0 4px rgba(51,65,85,.12)}.calendar-item.current{border-color:rgba(96,165,250,.42)}.calendar-item.current .calendar-dot{background:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.12)}.calendar-item.done{opacity:.62}.calendar-item.done .calendar-dot{background:#34d399}.calendar-info strong{display:block;font-size:12px}.calendar-info span{display:block;margin-top:3px;color:#64748b;font-size:9px;line-height:1.45}.calendar-days{font-size:9px;color:#94a3b8;text-align:right}.action-toast{margin-top:10px;padding:10px;border-radius:10px;border:1px solid #1e3352;background:rgba(15,29,54,.55);font-size:10px;color:#9eb0c7}.party-federation-note{margin-top:8px;padding:8px 10px;border-radius:10px;background:rgba(30,64,175,.1);border:1px solid rgba(96,165,250,.2);font-size:9px;color:#93c5fd;line-height:1.5}
@media(max-width:900px){.party-center{grid-template-columns:1fr}.party-list{max-height:260px}.detail-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.detail-metrics{grid-template-columns:1fr}.poll-row{grid-template-columns:1fr auto}.poll-row time{grid-column:1/-1}.calendar-item{grid-template-columns:78px 14px 1fr}.calendar-days{grid-column:3;text-align:left}.poll-actions{display:block}.poll-actions .btn{width:100%;margin-bottom:8px}}

/* v0.4 — corrida nacional, NPCs e território eleitoral */
.event-meta{display:flex;align-items:center;gap:7px;margin-bottom:5px}.event-meta time{margin:0}.event-tag{font-size:7px;font-weight:900;letter-spacing:.08em;padding:3px 5px;border-radius:999px;border:1px solid #334155;color:#94a3b8}.event-tag.npc{color:#c4b5fd;border-color:rgba(129,140,248,.35);background:rgba(67,56,202,.12)}.event-tag.reaction{color:#fda4af;border-color:rgba(251,113,133,.35);background:rgba(159,18,57,.12)}.event-tag.media{color:#67e8f9;border-color:rgba(34,211,238,.3);background:rgba(8,145,178,.1)}.event-tag.milestone{color:#fde68a;border-color:rgba(250,204,21,.3);background:rgba(120,53,15,.13)}.race-mini{margin-top:16px;padding-top:14px;border-top:1px solid #172741;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}.race-mini .metric-name{grid-column:1/-1;margin-bottom:5px}.race-mini strong{font-size:12px}.race-mini span{font-size:8px;color:#64748b;text-align:right}.link-btn{grid-column:1/-1;margin-top:7px;border:0;background:transparent;color:#60a5fa;padding:0;text-align:left;font:inherit;font-size:9px;font-weight:800;cursor:pointer}.race-modal-card{width:min(1180px,100%)}.race-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.race-summary>div{padding:13px;border:1px solid #1e3352;border-radius:13px;background:rgba(11,22,43,.55)}.race-summary span{display:block;color:#64748b;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.race-summary strong{display:block;margin-top:5px;font-size:16px}.race-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.race-ranking{display:flex;flex-direction:column;gap:7px;max-height:650px;overflow:auto;padding-right:3px}.race-row{display:grid;grid-template-columns:28px 42px minmax(0,1fr) 115px;gap:9px;align-items:center;width:100%;border:1px solid #1e3352;border-radius:12px;background:rgba(11,22,43,.62);color:inherit;text-align:left;padding:9px;cursor:pointer}.race-row:hover{border-color:#3b82f6;background:rgba(30,64,175,.14)}.race-row.player{border-color:rgba(52,211,153,.4);background:rgba(6,78,59,.12)}.race-pos{font-size:10px;color:#64748b;text-align:center;font-weight:900}.candidate-avatar{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;border:1px solid #29476d;background:#0f213d;color:#bfdbfe;font-size:9px;font-weight:900}.candidate-avatar.large{width:52px;height:52px;border-radius:14px;font-size:10px}.race-name strong{display:block;font-size:11px}.race-name small{display:block;color:#64748b;font-size:8px;margin-top:2px}.race-strength em{display:block;font-style:normal;font-size:8px;color:#64748b;text-align:right}.race-strength i{display:block;height:4px;margin-top:5px;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#34d399)}.candidate-detail{min-height:440px;border:1px solid #1e3352;border-radius:16px;background:rgba(2,6,23,.34);padding:20px}.candidate-detail-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #172741}.candidate-detail-head h3{margin:3px 0;font-size:20px}.candidate-detail-head p{margin:0;color:#64748b;font-size:9px}.candidate-themes{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.candidate-themes span{font-size:8px;padding:5px 7px;border-radius:999px;border:1px solid #1e3352;color:#94a3b8}.state-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;color:#94a3b8;font-size:9px}.state-legend span{display:flex;align-items:center;gap:5px}.level{display:inline-block;width:9px;height:9px;border-radius:50%}.level.low{background:#334155}.level.medium{background:#60a5fa}.level.high{background:#34d399}.state-note{margin-left:auto}.state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.state-card{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;padding:11px;border:1px solid #1e3352;border-radius:12px;background:rgba(11,22,43,.55);position:relative;overflow:hidden}.state-code{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#0f213d;border:1px solid #29476d;font-size:10px;font-weight:900;color:#bfdbfe}.state-info strong{display:block;font-size:10px}.state-info span{display:block;color:#64748b;font-size:7px;margin-top:3px}.state-presence{text-align:right}.state-presence b{display:block;font-size:9px}.state-presence small{color:#64748b;font-size:7px}.state-presence.high b{color:#6ee7b7}.state-presence.medium b{color:#93c5fd}.state-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#172741}.state-track i{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#34d399)}.poll-headline{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.poll-headline small{color:#64748b;font-size:9px}.poll-field{margin-top:15px;display:flex;flex-direction:column;gap:5px}.field-row{display:grid;grid-template-columns:24px minmax(0,1fr) 60px;gap:8px;align-items:center;padding:8px;border-radius:9px;position:relative;overflow:hidden;background:rgba(2,6,23,.28)}.field-row>b{font-size:9px;color:#64748b;text-align:center}.field-row span strong{display:block;font-size:10px}.field-row span small{display:block;font-size:7px;color:#64748b}.field-row em{font-style:normal;text-align:right;font-size:10px;font-weight:900}.field-row>i{position:absolute;bottom:0;left:0;height:2px;background:#3b82f6}.field-row.player{background:rgba(6,78,59,.12);outline:1px solid rgba(52,211,153,.25)}.field-row.player>i{background:#34d399}.field-row.undecided{opacity:.72}.field-row.undecided>i{display:none}
@media(max-width:900px){.race-layout{grid-template-columns:1fr}.race-summary{grid-template-columns:repeat(2,1fr)}.state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.race-summary{grid-template-columns:1fr 1fr}.race-row{grid-template-columns:24px 36px minmax(0,1fr) 80px}.candidate-avatar{width:34px;height:34px}.state-grid{grid-template-columns:1fr}.state-note{width:100%;margin-left:0}.poll-headline{display:block}.poll-meta{margin-top:10px}}

/* v0.5 — universo eleitoral oficial TSE */
.universe-modal-card{width:min(1240px,100%)}.universe-status{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.universe-stat{padding:12px;border:1px solid #1e3352;border-radius:13px;background:rgba(11,22,43,.55)}.universe-stat span{display:block;color:#64748b;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.universe-stat strong{display:block;margin-top:5px;font-size:15px}.universe-stat.warn strong{color:#fde68a}.universe-toolbar{display:grid;grid-template-columns:135px 210px minmax(220px,1fr) 200px;gap:10px;margin:14px 0}.universe-toolbar label{font-size:8px;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.universe-toolbar select,.universe-toolbar input{display:block;width:100%;min-height:40px;margin-top:6px;border:1px solid #284263;border-radius:10px;background:#071226;color:#f8fafc;padding:8px 10px;outline:0}.universe-toolbar select:focus,.universe-toolbar input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.13)}.universe-summary{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.universe-chip{border:1px solid #1e3352;border-radius:999px;padding:6px 8px;color:#94a3b8;background:rgba(7,18,38,.62);font-size:8px}.universe-chip strong{color:#e2e8f0}.universe-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:16px}.candidate-browser-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.candidate-browser-head span{color:#64748b;font-size:9px}.official-candidate-list{display:flex;flex-direction:column;gap:6px;max-height:590px;overflow:auto;padding-right:3px}.official-candidate-row{display:grid;grid-template-columns:62px minmax(0,1fr) 85px;gap:10px;align-items:center;border:1px solid #1e3352;border-radius:11px;background:rgba(11,22,43,.58);padding:9px;color:inherit;text-align:left;cursor:pointer}.official-candidate-row:hover{border-color:#3b82f6;background:rgba(30,64,175,.13)}.official-number{width:58px;height:38px;border-radius:9px;display:grid;place-items:center;background:#0f213d;border:1px solid #29476d;color:#bfdbfe;font-size:10px;font-weight:900}.official-name strong{display:block;font-size:10px}.official-name small{display:block;color:#64748b;font-size:8px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.official-status{text-align:right;font-size:7px;color:#94a3b8}.official-status.good{color:#86efac}.official-status.warn{color:#fde68a}.universe-pagination{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}.universe-pagination button{border:1px solid #334155;background:#0f172a;color:#cbd5e1;border-radius:8px;min-width:32px;height:32px;font-size:9px;font-weight:800;cursor:pointer}.universe-pagination button.active{background:#2563eb;border-color:#3b82f6;color:#fff}.universe-pagination button:disabled{opacity:.4;cursor:not-allowed}.official-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.official-field{padding:10px;border:1px solid #1e3352;border-radius:11px;background:rgba(11,22,43,.5)}.official-field span{display:block;font-size:7px;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.official-field strong{display:block;margin-top:4px;font-size:10px;line-height:1.4}.official-source-note{margin-top:14px;padding-top:12px;border-top:1px solid #172741;color:#64748b;font-size:8px;line-height:1.5}.universe-empty{padding:22px;border:1px dashed #29476d;border-radius:14px;color:#94a3b8;font-size:11px;line-height:1.65}.universe-empty strong{display:block;color:#e2e8f0;margin-bottom:5px}.source-ready{color:#6ee7b7}.source-not-ready{color:#fde68a}
@media(max-width:950px){.universe-toolbar{grid-template-columns:1fr 1fr}.universe-layout{grid-template-columns:1fr}.universe-status{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.universe-toolbar{grid-template-columns:1fr}.universe-status{grid-template-columns:1fr 1fr}.official-candidate-row{grid-template-columns:52px minmax(0,1fr) 72px}.official-number{width:48px}.official-detail-grid{grid-template-columns:1fr}}

/* v0.6 — experiência imersiva / sala de campanha */
.simulation-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:0 0 18px;padding:10px 12px;border:1px solid rgba(250,204,21,.22);border-radius:13px;background:rgba(120,53,15,.08);color:#aebed2;font-size:9px;line-height:1.5}.simulation-banner .sim-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(250,204,21,.32);border-radius:999px;padding:5px 7px;color:#fde68a;background:rgba(120,53,15,.14);font-size:8px;font-weight:900;letter-spacing:.08em}.simulation-banner a{color:#93c5fd;font-weight:800;white-space:nowrap}.campaign-topbar{align-items:center}.campaign-topbar .top-actions{flex-wrap:wrap;justify-content:flex-end}.campaign-briefing{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'kicker signals' 'headline signals' 'copy signals';gap:4px 22px;align-items:center;margin-bottom:14px;padding:18px 20px;border:1px solid #213a5d;border-radius:18px;background:linear-gradient(135deg,rgba(30,64,175,.13),rgba(6,78,59,.07));box-shadow:0 12px 35px rgba(0,0,0,.12)}.briefing-kicker{grid-area:kicker;color:#60a5fa;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.campaign-briefing>strong{grid-area:headline;font-size:19px;letter-spacing:-.02em}.campaign-briefing>p{grid-area:copy;margin:3px 0 0;color:#9eb0c7;font-size:11px;line-height:1.6;max-width:720px}.briefing-signals{grid-area:signals;display:grid;grid-template-columns:repeat(3,minmax(95px,1fr));gap:7px}.briefing-signals span{padding:9px 10px;border:1px solid #1e3352;border-radius:11px;background:rgba(2,6,23,.3);text-align:right}.briefing-signals b{display:block;color:#e2e8f0;font-size:10px}.briefing-signals small{display:block;margin-top:2px;color:#64748b;font-size:7px;text-transform:uppercase;letter-spacing:.06em}.immersive-grid{display:grid;grid-template-columns:250px minmax(0,1fr) 280px;gap:14px}.identity-panel,.immersive-scenario{align-self:start;position:sticky;top:88px}.public-card{margin-top:14px;padding:14px;border:1px solid rgba(96,165,250,.26);border-radius:14px;background:linear-gradient(180deg,rgba(30,64,175,.10),rgba(15,29,54,.36))}.public-card-label{display:block;color:#94a3b8;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.public-card>strong{display:block;margin-top:5px;font-size:22px}.public-card small{display:block;margin-top:7px;color:#64748b;font-size:8px;line-height:1.45}.signal-list{margin-top:12px;border-top:1px solid #172741}.signal-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #172741}.signal-row span{color:#94a3b8;font-size:9px}.signal-row strong{font-size:9px;text-align:right;color:#e2e8f0}.resources-card{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.resources-card>div{padding:11px;border:1px solid #1e3352;border-radius:12px;background:rgba(2,6,23,.26)}.resources-card span{display:block;color:#64748b;font-size:7px;text-transform:uppercase;letter-spacing:.07em}.resources-card strong{display:block;margin-top:5px;font-size:13px}.resources-card strong.money{font-size:11px}.advanced-metrics{margin-top:12px;border:1px solid #172741;border-radius:12px;background:rgba(2,6,23,.2);overflow:hidden}.advanced-metrics summary{cursor:pointer;padding:10px 11px;color:#64748b;font-size:8px;font-weight:800;list-style:none}.advanced-metrics summary::-webkit-details-marker{display:none}.advanced-metrics summary:after{content:'+';float:right;color:#94a3b8}.advanced-metrics[open] summary:after{content:'−'}.advanced-metrics>p{margin:0;padding:0 11px 9px;color:#52637c;font-size:7px;line-height:1.5}.advanced-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #172741}.advanced-grid>div{padding:9px 10px;border-right:1px solid #172741;border-bottom:1px solid #172741}.advanced-grid>div:nth-child(2n){border-right:0}.advanced-grid span{display:block;color:#52637c;font-size:7px}.advanced-grid strong{display:block;margin-top:3px;font-size:10px}.advanced-metrics.compact .advanced-grid{grid-template-columns:1fr}.advanced-metrics.compact .advanced-grid>div{border-right:0}.command-center{padding:0;background:transparent;border:0}.command-center>.timeline-head{padding:18px 18px 2px;border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;background:rgba(11,22,43,.92)}.command-center>#events{padding:0 18px 5px;border-left:1px solid var(--line);border-right:1px solid var(--line);background:rgba(11,22,43,.92)}.command-center .event{background:rgba(15,29,54,.48)}.command-box{margin-top:0;padding:18px;border:1px solid #2b4f7d;border-radius:0 0 18px 18px;background:linear-gradient(180deg,rgba(8,24,48,.98),rgba(5,15,31,.98));box-shadow:0 16px 40px rgba(0,0,0,.2)}.command-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:10px}.command-head h3{margin:5px 0 0;font-size:18px}.command-head>span{max-width:310px;color:#64748b;font-size:8px;line-height:1.45;text-align:right}.command-box textarea{min-height:128px;background:rgba(2,6,23,.72)}.action-preview{margin-top:12px;border:1px solid #27476d;border-radius:14px;background:rgba(15,29,54,.64);overflow:hidden}.action-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 13px;border-bottom:1px solid #1e3352}.action-preview-head span:first-child,.action-preview-head>div>span{display:block;color:#64748b;font-size:7px;font-weight:900;letter-spacing:.08em}.action-preview-head strong{display:block;margin-top:3px;font-size:13px}.preview-status{border:1px solid #334155;border-radius:999px;padding:5px 7px;font-size:7px;font-weight:900;letter-spacing:.06em}.preview-status.ok{color:#86efac;border-color:rgba(52,211,153,.28);background:rgba(6,78,59,.14)}.preview-status.warn{color:#fde68a;border-color:rgba(250,204,21,.28);background:rgba(120,53,15,.14)}.preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid #1e3352}.preview-grid>div{padding:11px 12px;border-right:1px solid #1e3352}.preview-grid>div:last-child{border-right:0}.preview-grid span{display:block;color:#64748b;font-size:7px;text-transform:uppercase;letter-spacing:.06em}.preview-grid strong{display:block;margin-top:4px;font-size:9px;line-height:1.4}.preview-notes{padding:10px 12px}.preview-notes p{margin:3px 0;color:#8ea1ba;font-size:8px;line-height:1.55}.preview-notes b{color:#cbd5e1}.confirm-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:9px;padding:9px 10px;border:1px solid rgba(52,211,153,.2);border-radius:11px;background:rgba(6,78,59,.08)}.confirm-row>span{color:#8ea1ba;font-size:8px;line-height:1.4}.situation-block{margin-top:12px;padding:12px;border:1px solid #1e3352;border-radius:12px;background:rgba(2,6,23,.26)}.situation-block>strong{display:block;margin-top:5px;font-size:13px}.scenario-signals{margin-top:10px}.immersive-scenario .profile-mini{margin-top:13px}.footer-row a{color:#93c5fd}.official-source-note:before{content:'DADO OFICIAL';display:inline-flex;margin-right:6px;padding:3px 5px;border:1px solid rgba(52,211,153,.28);border-radius:999px;color:#86efac;font-size:6px;font-weight:900;letter-spacing:.07em}.candidate-detail .detail-copy:before{content:'GAMEPLAY';display:inline-flex;margin-right:6px;padding:3px 5px;border:1px solid rgba(96,165,250,.28);border-radius:999px;color:#93c5fd;font-size:6px;font-weight:900;letter-spacing:.07em}
@media(max-width:1080px){.immersive-grid{grid-template-columns:230px minmax(0,1fr)}.immersive-scenario{grid-column:1/-1;position:static;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.immersive-scenario>.label,.immersive-scenario>h3,.immersive-scenario>.copy{grid-column:1/-1}.immersive-scenario .deadline-card,.immersive-scenario .situation-block,.immersive-scenario .scenario-signals{margin-top:0}.immersive-scenario .profile-mini,.immersive-scenario .race-mini,.immersive-scenario .advanced-metrics{grid-column:1/-1}.campaign-briefing{grid-template-columns:1fr;grid-template-areas:'kicker' 'headline' 'copy' 'signals'}.briefing-signals{margin-top:8px}.identity-panel{position:static}.top-actions{justify-content:flex-start}}
@media(max-width:760px){.simulation-banner{grid-template-columns:1fr}.simulation-banner a{white-space:normal}.immersive-grid{grid-template-columns:1fr}.identity-panel{order:1}.command-center{order:2}.immersive-scenario{order:3;display:block}.briefing-signals{grid-template-columns:1fr 1fr 1fr}.preview-grid{grid-template-columns:1fr 1fr}.preview-grid>div:nth-child(2){border-right:0}.preview-grid>div:nth-child(-n+2){border-bottom:1px solid #1e3352}.command-head{display:block}.command-head>span{display:block;margin-top:5px;text-align:left}.confirm-row{align-items:flex-start;flex-direction:column}.confirm-row .btn{width:100%}.resources-card{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.briefing-signals{grid-template-columns:1fr}.briefing-signals span{text-align:left}.preview-grid{grid-template-columns:1fr}.preview-grid>div{border-right:0;border-bottom:1px solid #1e3352}.preview-grid>div:last-child{border-bottom:0}.resources-card{grid-template-columns:1fr}.campaign-topbar .top-actions .btn{font-size:9px;padding:7px 8px}.date{width:100%;border-left:0;padding-left:0;margin-top:4px}.advanced-grid{grid-template-columns:1fr}.advanced-grid>div{border-right:0}}

/* v0.7 — Motor Eleitoral Nacional */
.national-modal-card{width:min(1180px,calc(100% - 28px));max-height:92vh;overflow:auto}.national-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:16px 0}.national-overview>div{padding:13px;border:1px solid #1e3352;border-radius:13px;background:rgba(7,18,38,.78)}.national-overview span{display:block;color:#64748b;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.national-overview strong{display:block;margin-top:5px;font-size:18px}.national-overview small{display:block;margin-top:4px;color:#7d8ea7;font-size:8px;line-height:1.35}.national-controls{display:grid;grid-template-columns:210px minmax(0,1fr) auto;gap:10px;align-items:end;padding:13px;border:1px solid #1e3352;border-radius:14px;background:rgba(2,6,23,.22)}.national-controls label{color:#94a3b8;font-size:9px;font-weight:800}.national-controls select{display:block;width:100%;margin-top:6px;min-height:39px;border:1px solid #284263;border-radius:10px;background:#071226;color:#f8fafc;padding:8px 10px}.national-tabs{display:flex;gap:6px;flex-wrap:wrap}.national-tab{border:1px solid #334155;background:#0f172a;color:#94a3b8;border-radius:9px;padding:8px 10px;font-size:9px;font-weight:900;cursor:pointer}.national-tab.active{border-color:#3b82f6;background:rgba(37,99,235,.16);color:#bfdbfe}.national-state-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:14px 0 10px;padding:12px 14px;border:1px solid #203653;border-radius:13px;background:linear-gradient(135deg,rgba(30,64,175,.10),rgba(6,78,59,.05))}.national-state-head strong{font-size:16px}.national-state-head span{color:#7f91a9;font-size:9px}.national-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:13px}.national-layout>section,.national-layout>aside{border:1px solid #1e3352;border-radius:15px;background:rgba(7,18,38,.58);padding:15px}.national-contest{margin-top:10px}.national-race-row{display:grid;grid-template-columns:34px 52px minmax(0,1fr) 82px;gap:9px;align-items:center;padding:10px;border-bottom:1px solid #172741}.national-race-row:last-child{border-bottom:0}.national-race-pos{color:#64748b;font-size:9px;font-weight:900}.national-race-num{width:46px;border:1px solid #244267;border-radius:9px;background:#0f213d;padding:7px 4px;text-align:center;color:#93c5fd;font-size:10px;font-weight:900}.national-race-name strong{display:block;font-size:11px}.national-race-name small{display:block;margin-top:3px;color:#64748b;font-size:8px}.national-race-value{text-align:right}.national-race-value strong{display:block;font-size:13px}.national-race-value small{display:block;margin-top:2px;color:#64748b;font-size:7px}.national-race-row.elected{background:rgba(6,78,59,.08)}.national-race-row.allied{box-shadow:inset 3px 0 0 #3b82f6}.national-palanque{margin-top:10px}.palanque-score{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;padding:12px;border:1px solid #25446b;border-radius:13px;background:rgba(30,64,175,.09)}.palanque-score b{font-size:26px;color:#93c5fd}.palanque-score strong{display:block;font-size:11px}.palanque-score span{display:block;margin-top:4px;color:#7f91a9;font-size:8px;line-height:1.45}.palanque-list{margin-top:10px}.palanque-person{padding:9px 0;border-bottom:1px solid #172741}.palanque-person strong{display:block;font-size:10px}.palanque-person span{display:block;margin-top:3px;color:#64748b;font-size:8px}.palanque-actions{display:grid;gap:7px;margin-top:12px}.palanque-note{margin-top:10px;color:#64748b;font-size:8px;line-height:1.55}.party-seat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}.party-seat-card{padding:9px 10px;border:1px solid #1e3352;border-radius:11px;background:rgba(15,29,54,.48)}.party-seat-card strong{font-size:13px}.party-seat-card span{float:right;color:#93c5fd;font-size:12px;font-weight:900}.party-seat-card small{display:block;clear:both;margin-top:3px;color:#64748b;font-size:7px}.national-election-box{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:15px;padding:15px;border:1px solid rgba(52,211,153,.22);border-radius:14px;background:rgba(6,78,59,.07)}.national-election-box strong{display:block;margin-top:5px;font-size:12px}.national-election-box p{margin:5px 0 0;color:#7d8ea7;font-size:8px;line-height:1.5}.national-progress{display:none;margin-top:10px;padding:11px 12px;border:1px solid #1e3352;border-radius:11px;background:#071226;color:#94a3b8;font-size:9px}.national-progress.active{display:block}.national-results{margin-top:12px}.result-hero{padding:15px;border:1px solid #2c4e77;border-radius:14px;background:linear-gradient(135deg,rgba(30,64,175,.13),rgba(15,29,54,.52))}.result-hero strong{display:block;font-size:17px}.result-hero span{display:block;margin-top:5px;color:#8ea1ba;font-size:9px}.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:9px}.result-grid>div{padding:10px;border:1px solid #1e3352;border-radius:11px;background:rgba(2,6,23,.25)}.result-grid span{display:block;color:#64748b;font-size:7px;text-transform:uppercase}.result-grid strong{display:block;margin-top:4px;font-size:12px}.chamber-summary{margin-top:10px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.chamber-summary>div{padding:9px;border:1px solid #1e3352;border-radius:10px;background:rgba(15,29,54,.42)}.chamber-summary strong{font-size:10px}.chamber-summary span{float:right;color:#93c5fd;font-size:10px;font-weight:900}.engine-badge{display:inline-flex;padding:4px 6px;border-radius:999px;border:1px solid rgba(96,165,250,.28);background:rgba(30,64,175,.12);color:#93c5fd;font-size:7px;font-weight:900;letter-spacing:.07em}.national-empty{padding:18px;border:1px dashed #29476d;border-radius:12px;color:#7d8ea7;font-size:9px;line-height:1.6}.national-empty strong{display:block;color:#cbd5e1;margin-bottom:4px}.qe-note{padding:8px 10px;margin-bottom:10px;border:1px solid #1e3352;border-radius:10px;color:#71839b;font-size:7px;line-height:1.45}
@media(max-width:980px){.national-overview{grid-template-columns:repeat(3,1fr)}.national-controls{grid-template-columns:1fr}.national-layout{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr 1fr}.chamber-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.national-overview{grid-template-columns:1fr 1fr}.national-race-row{grid-template-columns:28px 46px minmax(0,1fr) 64px}.party-seat-grid{grid-template-columns:1fr 1fr}.national-election-box{align-items:flex-start;flex-direction:column}.national-election-box .btn{width:100%}.result-grid,.chamber-summary{grid-template-columns:1fr 1fr}}

/* v0.7.1 — interface simplificada */
.compact-banner{margin-bottom:18px;padding:10px 14px;min-height:auto}.clean-topbar{align-items:center;margin-bottom:14px}.clean-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.clean-game-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.play-main{display:grid;gap:14px;min-width:0}.play-sidebar{display:grid;gap:12px;position:sticky;top:86px}.compact-briefing{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px 20px}.compact-briefing p{max-width:720px;margin-bottom:0}.compact-signals{min-width:360px}.clean-command,.clean-timeline-panel{padding:20px}.clean-command-head{margin-bottom:12px}.clean-command-head h3{margin:5px 0 0;font-size:22px}.clean-command-head>span{max-width:340px;text-align:right}.primary-command-box{margin-top:0}.primary-command-box textarea{min-height:135px;font-size:14px}.clean-quick{margin-top:9px}.clean-action-row{margin-top:10px}.action-help{color:#64748b;font-size:10px}.clean-timeline-panel #events{max-height:560px;overflow:auto;padding-right:3px}.status-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.status-card-head h3{font-size:20px;margin:6px 0 3px}.status-card-head .career-status{margin:0;max-width:120px;text-align:center}.clean-poll-card{margin-top:15px}.status-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.status-summary-grid>div{padding:10px;border:1px solid #1e3352;border-radius:11px;background:rgba(7,18,38,.55)}.status-summary-grid span{display:block;color:#64748b;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.status-summary-grid strong{display:block;margin-top:4px;font-size:10px;line-height:1.35}.clean-deadline{margin:10px 0}.clean-deadline strong{font-size:28px}.clean-resources{margin-top:8px}.shortcut-grid{display:grid;gap:8px;margin-top:10px}.shortcut{width:100%;border:1px solid #1e3352;border-radius:11px;background:rgba(7,18,38,.62);color:#e2e8f0;text-align:left;padding:11px 12px;cursor:pointer}.shortcut:hover{border-color:#3b82f6;background:rgba(30,64,175,.12)}.shortcut strong{display:block;font-size:11px}.shortcut span{display:block;margin-top:3px;color:#64748b;font-size:8px}.backstage-card{padding:12px 16px}.hidden-signals{display:none}.national-loading{padding:26px;border:1px dashed #29476d;border-radius:14px;text-align:center;color:#94a3b8;font-size:11px}.national-loading strong{display:block;color:#e2e8f0;font-size:14px;margin-bottom:6px}.national-error{padding:20px;border:1px solid rgba(248,113,113,.35);border-radius:14px;background:rgba(127,29,29,.12);color:#fecaca;font-size:10px;line-height:1.6}.national-error strong{display:block;color:#fff;margin-bottom:6px;font-size:13px}.national-error a{color:#93c5fd;text-decoration:underline}.national-modal-card{margin:1.5vh auto}.national-modal-card .modal-head{position:sticky;top:-24px;z-index:2;background:#071226;padding:24px 0 14px;margin-top:-24px}
@media(max-width:1050px){.clean-game-grid{grid-template-columns:1fr}.play-sidebar{position:static;grid-template-columns:1fr 1fr}.shortcut-card,.backstage-card{grid-column:1/-1}.compact-briefing{grid-template-columns:1fr}.compact-signals{min-width:0}.clean-command-head>span{text-align:left}}
@media(max-width:700px){.clean-actions{justify-content:flex-start}.clean-topbar{align-items:flex-start;flex-direction:column}.play-sidebar{grid-template-columns:1fr}.shortcut-card,.backstage-card{grid-column:auto}.status-summary-grid{grid-template-columns:1fr 1fr}.compact-signals{grid-template-columns:1fr}.clean-command-head{display:block}.clean-command-head>span{display:block;margin-top:6px}.date{border-left:0;padding-left:0}.simulation-banner.compact-banner a{margin-left:0}}

/* v0.7.2 — energia operacional e negociação partidária com etapas */
.energy-resource small{display:block;margin-top:3px;color:#94a3b8;font-size:8px;font-weight:800}.energy-track{height:5px;margin-top:7px;border-radius:999px;background:#172741;overflow:hidden}.energy-track i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#34d399,#60a5fa);transition:width .2s ease}.preview-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.fatigue-note{padding:8px 10px;border:1px solid rgba(250,204,21,.28);border-radius:9px;background:rgba(120,53,15,.12);color:#fde68a!important}.party-checklist{margin:14px 0;padding:12px;border:1px solid #1e3352;border-radius:12px;background:rgba(2,6,23,.25)}.party-checklist h4{margin:0 0 8px;font-size:10px}.party-checklist p{margin:9px 0 0;color:#93c5fd;font-size:8px;line-height:1.5}.check-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #172741;color:#94a3b8;font-size:8px}.check-row:last-of-type{border-bottom:0}.check-row strong{color:#cbd5e1;font-size:8px}.check-row.done span{color:#6ee7b7}.party-actions button:disabled{opacity:.45;cursor:not-allowed}.campaign-warning{border-color:rgba(248,113,113,.4)!important;background:rgba(127,29,29,.10)!important}
@media(max-width:850px){.preview-grid.five{grid-template-columns:1fr 1fr}.preview-grid.five>div:first-child{grid-column:1/-1}}

/* v0.8 — IA generativa */
.ai-reading{padding:10px 12px;border:1px solid rgba(96,165,250,.28);background:rgba(37,99,235,.08);border-radius:10px;color:#cfe3ff}.result small{display:block;margin-top:8px;color:#8292aa;line-height:1.5}.status a{font-weight:800}
