*{box-sizing:border-box} :root{--navy:#071426;--navy2:#0b1f3a;--blue:#173b68;--yellow:#f4b942;--cream:#fff9e9;--bg:#f3f6fa;--card:#fff;--text:#172235;--muted:#667085;--ok:#1f8f5f;--danger:#c0392b;--line:#dce3ed}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app{min-height:100vh}.top{position:sticky;top:0;z-index:20;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;padding:10px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 3px 18px #0002}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand img{width:38px;height:38px}.brand small{display:block;font-size:11px;font-weight:500;opacity:.8}.spacer{flex:1}.top button{background:#ffffff18;border:1px solid #ffffff28;color:#fff;border-radius:10px;padding:8px 10px}.layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 58px)}.side{background:#fff;border-right:1px solid var(--line);padding:14px;position:sticky;top:58px;height:calc(100vh - 58px);overflow:auto}.navbtn{width:100%;border:0;background:transparent;padding:11px 12px;border-radius:10px;text-align:left;margin:2px 0;color:#344054;cursor:pointer}.navbtn:hover,.navbtn.active{background:#fff3cf;color:#573d00;font-weight:700}.content{padding:20px;min-width:0}.hero{background:linear-gradient(135deg,var(--navy2),#235c93);border-radius:20px;padding:24px;color:#fff;box-shadow:0 12px 30px #102a4a26}.hero h1{margin:0 0 6px}.hero p{max-width:800px;opacity:.9}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.stat{background:#ffffff17;border:1px solid #ffffff25;border-radius:14px;padding:14px}.stat b{font-size:25px;display:block}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:16px;box-shadow:0 5px 20px #102a4a0b}.panel h2,.panel h3{margin-top:0}.filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:8px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;color:var(--muted);font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd8e6;border-radius:10px;padding:10px;background:#fff}.btn{border:0;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:700}.btn-primary{background:var(--yellow);color:#2c2100}.btn-dark{background:var(--navy2);color:#fff}.btn-soft{background:#edf3fb;color:#173b68}.btn-danger{background:#feeceb;color:#9f241b}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dyn{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;min-height:200px}.pill{display:inline-flex;width:max-content;max-width:100%;background:#eef4fb;color:#214d7f;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700}.dyn h3{margin:0;font-size:16px}.muted{color:var(--muted)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dyn .actions{margin-top:auto}.modal{position:fixed;inset:0;background:#06111ec7;z-index:50;display:flex;align-items:center;justify-content:center;padding:18px}.modalbox{background:#fff;border-radius:18px;max-width:900px;width:100%;max-height:92vh;overflow:auto;padding:20px;box-shadow:0 30px 80px #0005}.modalbox.wide{max-width:1100px}.close{float:right;border:0;background:#eef2f6;border-radius:50%;width:34px;height:34px;font-weight:800;cursor:pointer}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfcfe}.gamecards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gamecard{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff;cursor:pointer;transition:.15s}.gamecard:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0001}.gamecard b{font-size:17px}.gameicon{font-size:30px}.wheel{width:280px;height:280px;margin:20px auto;border-radius:50%;background:conic-gradient(#f4b942 0 16%,#173b68 16% 32%,#e86a57 32% 48%,#57a773 48% 64%,#8a6ccf 64% 80%,#33a7b5 80%);border:10px solid #fff;box-shadow:0 8px 25px #0003;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;font-weight:800;padding:45px;transition:transform 2s cubic-bezier(.1,.7,.2,1)}.quizopt{display:block;width:100%;margin:8px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left}.quizopt.good{background:#e4f7ed;border-color:#79c99e}.quizopt.bad{background:#fdeceb;border-color:#e9a29b}.bingo{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-width:520px;margin:auto}.bingocell{aspect-ratio:1;border:1px solid #cbd5e1;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:5px;font-size:12px;cursor:pointer}.bingocell.on{background:#f4b942;color:#2b2100;font-weight:800}.memory{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:650px;margin:auto}.mem{min-height:95px;border:0;border-radius:10px;background:#173b68;color:#fff;padding:8px;cursor:pointer}.mem.open,.mem.match{background:#fff3cf;color:#2e2609;border:1px solid #e3c876}.teams{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.team{border:1px solid var(--line);border-radius:12px;padding:12px}.score{font-size:28px;font-weight:800}.timer{font-size:42px;font-variant-numeric:tabular-nums;font-weight:900;text-align:center}.login{min-height:100vh;background:radial-gradient(circle at top,#235c93,#071426 60%);display:flex;align-items:center;justify-content:center;padding:20px}.loginbox{background:#fff;border-radius:22px;padding:26px;width:min(430px,100%);box-shadow:0 30px 80px #0005}.loginbrand{text-align:center;margin-bottom:18px}.loginbrand img{width:78px}.loginbrand h1{margin:8px 0 0}.toast{position:fixed;right:18px;bottom:18px;background:#101828;color:#fff;border-radius:10px;padding:12px 16px;z-index:100;box-shadow:0 8px 30px #0003}.mobilebar{display:none}.kpi{font-size:13px;color:var(--muted)}.empty{text-align:center;padding:35px;color:var(--muted)}@media(max-width:980px){.layout{grid-template-columns:1fr}.side{display:none}.content{padding:14px;padding-bottom:78px}.stats{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.grid{grid-template-columns:repeat(2,1fr)}.mobilebar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:30;padding:5px}.mobilebar button{border:0;background:none;font-size:11px;padding:6px 2px}.mobilebar span{display:block;font-size:20px}.detail-grid{grid-template-columns:1fr}}@media(max-width:620px){.brand strong{font-size:13px}.brand small{display:none}.stats{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr}.grid,.gamecards{grid-template-columns:1fr}.content{padding:10px 10px 78px}.hero{padding:18px}.hero h1{font-size:23px}.modal{padding:8px}.modalbox{padding:14px;border-radius:14px}.memory{grid-template-columns:repeat(4,1fr)}.mem{font-size:11px;min-height:78px}.top{padding:8px 10px}}@media print{.top,.side,.mobilebar,.no-print{display:none!important}.layout{display:block}.content{padding:0}.panel,.hero{box-shadow:none;border:0}.hero{color:#000;background:#fff}.modal{position:static;background:#fff;padding:0}.modalbox{box-shadow:none;max-height:none}.btn{display:none}}
/* v2 — Kits Digitais */
.kit-call{display:flex;align-items:center;gap:18px;justify-content:space-between;background:linear-gradient(135deg,#eef5ff,#fff8dd)}
.kit-card{border-top:4px solid #e5b400}.kit-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.mini-card{border:1px dashed #8da0b7;border-radius:10px;padding:10px;display:flex;gap:8px;align-items:flex-start;background:#f8fafc}.mini-card b{color:#0b1f3a}.mini-card span{font-size:13px}.kit-game-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.kit-game-head h2{margin:8px 0 2px}.kit-stage{min-height:280px;display:grid;place-items:center;padding:18px}.digital-card{width:min(460px,90%);min-height:240px;border-radius:22px;padding:28px;box-shadow:0 18px 50px rgba(11,31,58,.18);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#fff,#eef4fb);border:3px solid #0b1f3a}.digital-card.back{background:linear-gradient(145deg,#0b1f3a,#163f72);color:#fff;font-size:28px;font-weight:900}.digital-card.back small{display:block;margin-top:10px;font-size:13px;opacity:.75}.digital-card.flip{animation:cardflip .45s ease}.digital-card h2{font-size:clamp(24px,4vw,40px)}@keyframes cardflip{0%{transform:rotateY(90deg) scale(.9)}100%{transform:rotateY(0) scale(1)}}
.traffic-green{background:#dff6e8}.traffic-yellow{background:#fff2bf}.traffic-red{background:#fde3e0}.sequence-list{display:grid;gap:8px;margin:14px 0}.sequence-item,.rank-item{padding:14px;border:1px solid #d7e0ea;background:#fff;border-radius:12px;text-align:left;font-weight:700}.sequence-item b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0b1f3a;color:#fff;margin-right:10px}.sequence-item.selected,.rank-item.selected{outline:3px solid #e5b400;background:#fff8d9}.rank-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0}.path-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:18px 0}.path-cell{min-height:110px;border-radius:14px;border:2px solid #d9e1ea;background:#f8fafc;padding:12px;display:flex;flex-direction:column;gap:8px}.path-cell b{font-size:20px;color:#0b1f3a}.path-cell.active{background:#fff3b8;border-color:#e5b400;transform:scale(1.03)}
@media(max-width:760px){.kit-call,.kit-game-head{align-items:stretch;flex-direction:column}.kit-preview{grid-template-columns:1fr 1fr}.digital-card{min-height:210px;padding:20px}.path-board{grid-template-columns:1fr 1fr}}


/* v3 — Sala ao Vivo */
.live-role-tabs{display:flex;gap:8px;flex-wrap:wrap}.live-room-head{background:linear-gradient(135deg,#071426,#123a67);color:white;border-radius:22px;padding:22px;display:flex;gap:22px;align-items:center;justify-content:space-between;margin-bottom:14px}.live-room-head.compact{display:block}.qrbox{background:white;color:#10233f;border-radius:18px;padding:10px;text-align:center;min-width:180px}.qrbox img{display:block;width:160px;height:160px;max-width:100%;margin:auto}.qrbox small{display:block;margin-top:6px}.participant-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.live-prompt{background:#f5f8fc;border:2px solid #d7e5f4;border-radius:18px;padding:20px;margin-bottom:14px}.live-prompt h2{font-size:clamp(22px,4vw,38px);margin:8px 0}.live-answers{display:grid;gap:9px}.live-answers article{border:1px solid #dce5ef;border-radius:14px;padding:12px;background:white}.live-answers article .pill{margin-left:7px}.live-answers article p{margin:8px 0}.score-mini{font-size:24px;font-weight:900;margin-left:auto}.rank-item{display:flex;align-items:center;gap:10px}.projector{min-height:70vh;background:#071426;color:white;border-radius:24px;padding:30px}.projector h1{font-size:clamp(30px,5vw,58px);margin:8px 0}.projector-count{font-size:28px}.projector-prompt{background:#fff;color:#10233f;border-radius:24px;padding:28px;text-align:center;margin:26px 0}.projector-prompt h2{font-size:clamp(30px,6vw,70px);margin:10px 0}.projector-ranking{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.projector-ranking div{background:#102b4d;border-radius:16px;padding:16px;display:flex;justify-content:space-between;font-size:22px}.projector-ranking span{font-size:30px;font-weight:900;color:#ffd75a}code{background:#edf2f7;padding:2px 5px;border-radius:5px}@media(max-width:700px){.live-room-head{display:block}.qrbox{margin-top:16px}.projector{padding:18px}.projector-prompt{padding:18px}}
.mg-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #e7ebf1}.mg-att{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:10px 0 16px}.mg-att label{padding:10px;border:1px solid #dfe5ee;border-radius:10px}.qrbox{text-align:center}.qrbox img{max-width:260px;width:80%;border-radius:12px}.qrbox input{width:100%;box-sizing:border-box;padding:10px}

.quizanswers{display:grid;gap:10px;margin:18px 0}.progress{height:10px;background:#e8edf4;border-radius:20px;overflow:hidden}.progress i{display:block;height:100%;background:#0b6aa9;border-radius:20px}.side{overflow:auto}

/* v6 — Portal do Participante */
.portal-head{background:linear-gradient(135deg,#0b1f3a,#174f82);color:#fff;border-radius:22px;padding:22px;display:flex;align-items:center;gap:15px;margin-bottom:14px}.portal-head .pill{background:#ffd75a;color:#2b2100}.portal-course{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #e7ebf1}.badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.achievement{border:1px solid #e0e6ee;border-radius:15px;padding:18px;text-align:center;background:#fffaf0}.achievement span{display:block;font-size:38px;margin-bottom:8px}.participant-mode .side,.participant-mode .mobilebar{display:none!important}.participant-mode .layout{grid-template-columns:1fr}.participant-mode .content{max-width:1200px;margin:auto;width:100%}@media(max-width:700px){.portal-head,.portal-course{align-items:stretch;flex-direction:column}.participant-mode .content{padding-bottom:20px}}

/* v7 — Empresa, atribuições, calendário */
.company-mode .side,.company-mode .mobilebar{display:none!important}.company-mode .layout{grid-template-columns:1fr}.company-mode .content{max-width:1200px;margin:auto;width:100%}.assignment-card{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid #e7ebf1;padding:16px 0}.assignment-card h3{margin:7px 0 4px}.calendar-row{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid #e7ebf1}.calendar-row.late{background:#fff3f0;border-radius:12px;padding:14px}.calendar-date{font-size:17px}.pill.ok{background:#dff7e8;color:#146b38}@media(max-width:700px){.assignment-card{align-items:stretch;flex-direction:column}.calendar-row{grid-template-columns:1fr}.company-mode .content{padding-bottom:20px}}

/* v8 — Estúdio */
.trail{display:flex;flex-direction:column;gap:10px;margin:14px 0}.trail-step{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.trail-step>b{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:#f4b942;color:#14213a}.trail-step span{flex:1}.formgrid .wide{grid-column:1/-1}

/* v9 — Construtor de Jogos */
.game-builder-row{display:flex;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid #e6ebf1}.game-builder-row h3{margin:6px 0}.big-card{min-height:260px;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:30px}.wheel-result{min-height:220px;border:8px solid #f4b942;border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:800;font-size:28px;padding:30px;margin:20px auto;max-width:360px;background:#fff}.sequence-pool,.sequence-chosen{display:flex;flex-wrap:wrap;gap:8px;min-height:70px;padding:12px;border:1px dashed #b6c2d0;border-radius:14px;margin:12px 0}.bingo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.bingo-cell{min-height:90px;border:1px solid #d9e0e8;border-radius:12px;background:#fff;padding:8px;font-weight:700}.bingo-cell.marked{background:#f4b942}.matched{background:#dff5e6!important}@media(max-width:700px){.game-builder-row{align-items:stretch;flex-direction:column}.bingo-grid{grid-template-columns:repeat(2,1fr)}}

/* v10 — Partidas e apresentação */
.match-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #e4e9ef;padding:14px 0}.match-stage{max-width:1200px;margin:auto;text-align:center;padding:18px}.match-title h1{font-size:clamp(28px,5vw,62px);margin:10px 0}.match-timer{font-size:clamp(64px,12vw,150px);font-weight:900;line-height:1;color:#0b1f3a}.current-team{font-size:clamp(22px,3vw,40px);margin:10px 0 20px}.scoreboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:20px 0}.score-team{border:2px solid #dde4eb;border-radius:18px;padding:16px;background:#fff}.score-team.active{border-color:#f4b942;box-shadow:0 0 0 4px rgba(244,185,66,.15)}.score-team span{display:block;font-weight:700}.score-team>b{font-size:44px;display:block;margin:10px}.score-actions{display:flex;gap:6px;justify-content:center}.score-actions button{border:0;border-radius:9px;padding:8px 10px;cursor:pointer}.rank-line{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e8edf2}.presentation-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-bottom:10px}.draw-winner{font-size:40px;font-weight:900;text-align:center;padding:25px;margin-top:15px;border-radius:18px;background:#fff6d8}.team-draw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:15px}.team-draw{border:1px solid #dfe6ed;border-radius:14px;padding:12px}.team-draw span{display:block;padding:5px 0}.projector-mode .side,.projector-mode .top,.projector-mode .mobilebar{display:none!important}.projector-mode .layout{grid-template-columns:1fr}.projector-mode .content{max-width:none;width:100%;padding:1.2vw}.projector-mode .match-stage{max-width:1600px}.projector-mode .presentation-toolbar{position:fixed;right:10px;top:10px;z-index:30;opacity:.25}.projector-mode .presentation-toolbar:hover{opacity:1}@media(max-width:700px){.match-row{align-items:stretch;flex-direction:column}.presentation-toolbar{justify-content:center;flex-wrap:wrap}.scoreboard{grid-template-columns:1fr 1fr}.score-actions{flex-direction:column}}

/* v11 — Campanhas Gamificadas */
.campaign-card{border:1px solid #dfe6ed;border-radius:18px;padding:16px;margin:12px 0;background:#fff}.campaign-card h3{margin:6px 0}.mission-card{display:flex;align-items:center;gap:12px;border:1px solid #e1e7ee;border-radius:14px;padding:13px;margin:9px 0;background:#fff}.mission-card.done{background:#f3fbf5;border-color:#bfe1c6}.mission-card b{display:block;margin:5px 0}.level-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#0b1f3a,#174f82);color:#fff}.level-ring{display:grid;place-items:center;width:92px;height:92px;border:8px solid #f4b942;border-radius:50%;font-size:22px;font-weight:900}.achievement small{display:block;margin-top:7px;color:#6b7280}@media(max-width:700px){.mission-card{align-items:stretch;flex-direction:column}.level-card{align-items:flex-start}.level-ring{width:70px;height:70px}}

/* v12 — interface limpa e diagnóstico */
.diag-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e8edf2}
.diag-row>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-weight:900}
.diag-row.ok>span{background:#e6f7ef;color:#16794f}.diag-row.bad>span{background:#fff0ee;color:#b42318}
.clean-ui .side{width:72px}.clean-ui .side .navbtn{font-size:0;text-align:center}.clean-ui .side .navbtn::first-letter{font-size:20px}
.clean-ui .top small{display:none}.clean-ui .content{max-width:1500px}.clean-ui .hero p{max-width:900px}
@media(max-width:900px){.clean-ui .side{display:none}}

/* v13 — busca global, central operacional e painel configurável */
.global-search-wrap{position:relative;flex:1;max-width:680px;margin-right:12px}
.global-search-wrap input{width:100%;border:1px solid #dce3ea;background:#fff;border-radius:14px;padding:11px 14px;font-size:14px}
.global-search-results{position:absolute;top:48px;left:0;right:0;z-index:80;background:#fff;border:1px solid #dfe5ec;border-radius:16px;box-shadow:0 18px 45px rgba(12,32,58,.18);max-height:460px;overflow:auto;padding:8px}
.global-result{display:grid;grid-template-columns:92px 1fr;grid-template-rows:auto auto;width:100%;text-align:left;border:0;background:#fff;border-bottom:1px solid #edf1f5;padding:11px;cursor:pointer}
.global-result:hover{background:#f7f9fb}.global-result .result-type{grid-row:1/3;font-size:11px;color:#6a7787;padding-top:2px}.global-result b{font-size:14px}.global-result small{color:#667386}
.global-empty{padding:18px;color:#6d7784;text-align:center}
.shortcut-grid,.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.shortcut-card,.module-card{border:1px solid #dfe6ed;background:#fff;border-radius:18px;padding:18px;cursor:pointer;text-align:left;transition:.15s}
.shortcut-card:hover,.module-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(12,32,58,.08)}
.shortcut-card span,.module-card span{display:block;font-size:28px;margin-bottom:8px}.module-card small{display:block;color:#7a8592;margin-top:6px}
.ops-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e8edf2}.ops-row span{color:#667386}.ops-row.alert b{color:#b42318}.ops-row.ok b{color:#16794f}
.shortcut-manage{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.shortcut-manage label,.checkline{display:block;padding:10px;border:1px solid #e1e7ed;border-radius:12px}
@media(max-width:760px){.global-search-wrap{max-width:none;width:100%;order:3;margin:8px 0 0}.global-search-results{position:fixed;top:110px;left:10px;right:10px}.ops-row{flex-direction:column;gap:4px}.shortcut-manage{grid-template-columns:1fr}}

/* v14 — Planejador de Sessões */
.plan-row{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #e5eaf0}.plan-row h3{margin:5px 0}
.planner-block{display:grid;grid-template-columns:42px 1fr 42px;gap:10px;align-items:start;padding:14px 0;border-bottom:1px solid #e7ecf1}.planner-index{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f4b942;color:#1a2840;font-weight:900}.planner-main .row{display:grid;grid-template-columns:150px 1fr 90px 35px;gap:8px;align-items:center}.planner-main select,.planner-main input,.planner-main textarea{width:100%}.minutes-input{text-align:center}.planner-actions{display:flex;flex-direction:column;gap:5px}.planner-actions button{border:1px solid #dce3ea;background:#fff;border-radius:8px;cursor:pointer;padding:6px}
.run-stage{max-width:1100px;margin:20px auto;text-align:center;padding:28px}.run-stage h1{font-size:clamp(30px,5vw,64px);margin:14px}.run-stage p{font-size:clamp(16px,2vw,25px)}.run-timer{font-size:clamp(70px,13vw,160px);font-weight:900;line-height:1;color:#0b1f3a;margin:25px 0}.run-progress{height:12px;background:#edf1f5;border-radius:99px;overflow:hidden;margin:20px auto;max-width:800px}.run-progress i{display:block;height:100%;background:#f4b942}
@media(max-width:760px){.plan-row{align-items:stretch;flex-direction:column}.planner-block{grid-template-columns:34px 1fr}.planner-actions{grid-column:2;flex-direction:row}.planner-main .row{grid-template-columns:1fr 1fr}.planner-main .row input:nth-of-type(1){grid-column:1/-1}}

/* v15 — usuários, perfis, validade e logout */
.v15-userbox{margin-left:auto;display:flex;align-items:center;gap:10px;padding-left:10px;border-left:1px solid #dfe5eb}
.v15-userbox div{display:flex;flex-direction:column}.v15-userbox small{font-size:11px;color:#6e7986}
.v15-userbox button{border:1px solid #d9e0e7;background:#fff;border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:700}
.login-message{font-size:13px;color:#b42318;text-align:center;margin-top:10px;min-height:18px}
.user-row{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #e7ecf1}.user-row h3{margin:5px 0}
.profile-row{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid #e7ecf1}.profile-row span{color:#687586}
@media(max-width:760px){.v15-userbox div{display:none}.user-row{flex-direction:column;align-items:stretch}.profile-row{grid-template-columns:1fr}}

/* v16 — nuvem */
.cloud-note{border:1px solid #dce5ef;border-radius:14px;padding:14px;background:#f8fafc}

/* v17 — correções de autenticação */
#loginBtn:disabled{opacity:.65;cursor:wait}
#v17LoginMessage{margin-top:12px;min-height:18px;font-size:13px;text-align:center;color:#b42318}
#v17UserBox{flex-shrink:0}
@media(max-width:760px){
  #v17UserBox small{display:none}
  #v17UserBox b{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* v18 — reparo crítico */
#v18CheckBtn{white-space:nowrap}
#mainApp:not(.hidden) .layout{display:grid}
@media(max-width:900px){#mainApp:not(.hidden) .layout{display:block}}
