:root{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:#26323b;background:#edf1f5;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}.hidden{display:none!important}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:4px solid #319bcf;outline-offset:3px}
.dashboard{height:100vh;height:100dvh;width:100vw;display:flex;flex-direction:column;padding:1.5vh 1.4vw 1.1vh;gap:1.35vh;overflow:hidden}
.tv-header{display:flex;justify-content:space-between;align-items:center;min-height:7vh;gap:20px}
.tv-header-title{display:flex;align-items:center;gap:13px}.tv-brand-mark,.login-mark{display:grid;place-items:center;background:#076840;color:white;font-weight:900;border-radius:13px;flex:none}.tv-brand-mark{width:52px;height:52px;font-size:2rem}
.tv-header-title p{margin:0 0 2px;font-size:clamp(10px,.72vw,16px);font-weight:900;letter-spacing:.16em;color:#477164}.tv-header-title h1{font-size:clamp(21px,1.7vw,38px);margin:0;line-height:1.1;letter-spacing:-.035em}.tv-header-right{display:flex;align-items:center;gap:18px}
.live-pill{border:1px solid #cfd9d1;background:#fff;border-radius:99px;padding:7px 12px;display:flex;align-items:center;gap:7px;font-weight:750;font-size:clamp(12px,.78vw,17px);white-space:nowrap}.live-dot{width:9px;height:9px;border-radius:50%;background:#f59d19;display:inline-block}.live-pill.ready .live-dot{background:#21915a}.live-pill.error .live-dot{background:#d44f46}.clock-button{background:transparent;border:0;display:grid;text-align:right;color:#253b36;padding:3px 7px}.clock-button span{font-size:clamp(19px,1.5vw,32px);font-weight:850;letter-spacing:-.04em;line-height:1.1}.clock-button small{font-size:clamp(11px,.7vw,15px);color:#5c6d69}
.summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.1vw;min-height:10.7vh}.summary-card{--accent:#2c66a6;border-top:5px solid var(--accent);background:white;box-shadow:0 1px 4px #1d33270b;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:stretch;overflow:hidden}.summary-card>div{background:var(--accent);color:#fff;text-align:center;width:100%;font-size:clamp(11px,.77vw,19px);font-weight:900;padding:4px 4px;line-height:1.15}.summary-card strong{font-size:clamp(31px,2.8vw,64px);color:var(--accent);line-height:1.25;font-weight:800}.summary-card.blue{--accent:#2364a3}.summary-card.gold{--accent:#9b7500}.summary-card.red{--accent:#b92e32}.summary-card.orange{--accent:#c65a20}.summary-card.green{--accent:#2f7d32}
.board-frame{min-height:0;display:flex;flex-direction:column;flex:1;background:white;border:1px solid #d8dde1;overflow:hidden}.board-heading{height:4.1vh;min-height:35px;background:#343940;color:white;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:clamp(11px,.8vw,17px);letter-spacing:.025em;font-weight:900}.board-heading span{font-weight:600;opacity:.8;font-size:.86em}
.team-board{display:grid;grid-template-columns:repeat(var(--board-columns,7),minmax(0,1fr));gap:1vw;padding:1vw;flex:1;min-height:0;background:#f0f2f5;overflow:hidden}
.person-card{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff;border:1px solid #d9e0e3;box-shadow:0 2px 8px #152c4012;overflow:hidden}
.person-top{--card-color:#2364a3;background:var(--card-color);color:white;display:flex;flex-direction:column;align-items:center;text-align:center;padding:13px 8px 11px;gap:5px;min-height:143px}
.person-avatar{width:65px;height:65px;flex:none;border:2px solid #ffffffa9;background:#ffffff32;display:grid;place-items:center;color:white;font-weight:850;font-size:23px;border-radius:50%;object-fit:cover}
.person-avatar.with-photo{background:#fff}.person-name{font-size:clamp(13px,.93vw,20px);font-weight:900;line-height:1.08;max-width:100%;overflow-wrap:anywhere}.person-role{font-size:clamp(10px,.65vw,14px);font-weight:700;opacity:.86;letter-spacing:.025em}.person-top .person-task-count{font-size:clamp(11px,.78vw,17px);font-weight:800}
.person-tasks{flex:1;min-height:0;overflow:hidden;padding:12px 11px;display:flex;flex-direction:column;gap:10px}.person-tasks.has-no-tasks{align-items:center;justify-content:center}.person-task{display:flex;flex-direction:column;gap:3px;padding:0 0 8px 12px;position:relative;border-bottom:1px solid #edf0f3;cursor:pointer}
.person-task::before{content:"•";position:absolute;left:0;top:0;color:var(--bullet-color,#353e46);font-size:1.1em}.person-task:last-child{border:0}.person-task strong{font-size:clamp(11px,.86vw,19px);line-height:1.34;font-weight:650;overflow-wrap:anywhere}.person-task small{font-size:clamp(10px,.66vw,14px);color:#697984}.person-task.is-overdue strong{color:#a62424}.person-task.is-urgent strong{color:#b85119}
.person-empty{font-style:italic;text-align:center;color:#7d8993;font-size:clamp(12px,.8vw,16px);line-height:1.5}.person-tasks-pagination{margin-top:auto;text-align:center;color:#768792;font-weight:700;font-size:clamp(9px,.55vw,12px)}
.person-bottom{display:flex;justify-content:space-around;gap:2px;padding:9px 5px;background:#f8fafb;border-top:1px solid #edf0f1}.person-bottom span{text-align:center;color:#596b75;font-size:clamp(10px,.62vw,14px);white-space:nowrap}.person-bottom b{color:#273946}
.tv-footer{display:flex;justify-content:space-between;gap:10px;color:#52626b;font-size:clamp(10px,.67vw,15px);font-weight:700;letter-spacing:.03em;padding:0 3px;min-height:20px}.footer-separator{margin:0 7px}.tv-footer span:last-child{font-weight:600}
.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 15% 10%,#205641,#0c241a 65%)}.login-card{background:#fff;display:flex;flex-direction:column;gap:11px;border-radius:24px;padding:28px 35px;width:min(470px,94vw);box-shadow:0 25px 100px #071f17bb}.login-mark{width:54px;height:54px;font-size:33px}.overline{font-size:11px;letter-spacing:.15em;font-weight:900;color:#437260;margin:2px 0 -5px}.login-card h1{font-size:31px;margin:0;letter-spacing:-.04em;color:#142f22}.login-description,.login-footnote{color:#576b61;font-size:14px;line-height:1.5;margin:0 0 8px}.login-card label{font-weight:800;font-size:13px;color:#35473c}.login-card input{border:1px solid #cbd7cf;border-radius:10px;padding:13px 14px;font-size:16px;width:100%;color:#142f22;background:#fff}.login-card>button,.settings-card button{border:0;border-radius:10px;background:#086c42;color:#fff;font-weight:800;padding:13px 16px;margin-top:5px;font-size:16px}.form-error{color:#a92121;font-size:13px;min-height:10px;margin:0}.login-footnote{font-size:12px;margin:6px 0 0;color:#7c887f}
.settings-backdrop{position:fixed;inset:0;background:#10251bba;z-index:10;display:grid;place-items:center;padding:15px}.settings-card{display:grid;gap:14px;background:white;padding:26px;border-radius:17px;width:min(420px,94vw);box-shadow:0 10px 50px #05191040}.settings-card h2{margin:0}.settings-card p{color:#53645a;font-size:15px;margin:0}.settings-card button.secondary{background:#38534a}.settings-card button.quiet{background:#eaf2ec;color:#164b34}
@media(max-width:1200px){.person-top{min-height:118px;padding:10px 5px}.person-avatar{width:48px;height:48px}.team-board{gap:10px;padding:10px}.person-tasks{padding:9px 8px;gap:7px}.person-task{padding-bottom:6px}.person-task strong{font-size:clamp(12px,1.2vw,16px)}.person-bottom{flex-wrap:wrap}}
@media(max-width:700px){.dashboard{padding:10px;gap:8px;overflow-y:auto}.tv-header-title h1{font-size:19px}.tv-brand-mark{width:40px;height:40px;font-size:21px}.live-pill{display:none}.summary{grid-template-columns:repeat(5,1fr);gap:4px}.summary-card>div{font-size:8px;padding:6px 1px}.summary-card strong{font-size:20px}.board-heading{min-height:30px;font-size:10px}.team-board{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.person-card{min-height:240px}.board-frame{overflow:visible}.person-top{min-height:114px}.person-bottom span{font-size:10px}.tv-footer{font-size:9px;flex-wrap:wrap}}
/* v2.0 sem login: painel ocupa a tela desde o primeiro frame */
.dashboard{display:flex}
.tv-header-title p{letter-spacing:.11em}
.settings-card{max-width:460px}
@media (min-width:1750px){.person-top{min-height:130px}}

/* v2.1: todos os colaboradores ficam visíveis simultaneamente na mesma tela.
   A rotação ocorre apenas nas demandas dentro de cada card, nunca entre pessoas. */
.team-board{grid-template-columns:repeat(var(--board-columns,7),minmax(0,1fr));grid-template-rows:repeat(var(--board-rows,1),minmax(0,1fr));align-content:stretch}
.person-card{height:100%}
.team-board[data-rows="2"] .person-top{min-height:0;padding:7px 5px;gap:2px}
.team-board[data-rows="2"] .person-avatar{width:40px;height:40px;font-size:15px}
.team-board[data-rows="2"] .person-name{font-size:clamp(12px,.80vw,18px)}
.team-board[data-rows="2"] .person-role{font-size:10px}
.team-board[data-rows="2"] .person-task-count{font-size:11px}
.team-board[data-rows="2"] .person-tasks{padding:8px;gap:5px}
.team-board[data-rows="2"] .person-task strong{font-size:clamp(11px,.76vw,15px);line-height:1.24;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.team-board[data-rows="2"] .person-task small{font-size:10px}
.team-board[data-rows="2"] .person-bottom{padding:5px 2px;flex-wrap:wrap}
.team-board[data-rows="2"] .person-bottom span{font-size:10px}
.team-board[data-rows="3"] .person-top,.team-board[data-rows="4"] .person-top,.team-board[data-rows="5"] .person-top{min-height:0;padding:5px 3px;gap:1px}
.team-board[data-rows="3"] .person-avatar,.team-board[data-rows="4"] .person-avatar,.team-board[data-rows="5"] .person-avatar{width:32px;height:32px;font-size:12px}
.team-board[data-rows="3"] .person-name,.team-board[data-rows="4"] .person-name,.team-board[data-rows="5"] .person-name{font-size:12px}
.team-board[data-rows="3"] .person-role,.team-board[data-rows="4"] .person-role,.team-board[data-rows="5"] .person-role{font-size:9px}
.team-board[data-rows="3"] .person-task-count,.team-board[data-rows="4"] .person-task-count,.team-board[data-rows="5"] .person-task-count{font-size:10px}
.team-board[data-rows="3"] .person-tasks,.team-board[data-rows="4"] .person-tasks,.team-board[data-rows="5"] .person-tasks{padding:5px;gap:3px}
.team-board[data-rows="3"] .person-task,.team-board[data-rows="4"] .person-task,.team-board[data-rows="5"] .person-task{padding:0 0 3px 9px}
.team-board[data-rows="3"] .person-task strong,.team-board[data-rows="4"] .person-task strong,.team-board[data-rows="5"] .person-task strong{font-size:10px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.team-board[data-rows="3"] .person-task small,.team-board[data-rows="4"] .person-task small,.team-board[data-rows="5"] .person-task small{font-size:9px}
.team-board[data-rows="3"] .person-bottom,.team-board[data-rows="4"] .person-bottom,.team-board[data-rows="5"] .person-bottom{padding:4px 1px;flex-wrap:wrap}
.team-board[data-rows="3"] .person-bottom span,.team-board[data-rows="4"] .person-bottom span,.team-board[data-rows="5"] .person-bottom span{font-size:9px}
.team-board[data-rows="3"] .person-tasks-pagination,.team-board[data-rows="4"] .person-tasks-pagination,.team-board[data-rows="5"] .person-tasks-pagination{font-size:9px}
@media(max-width:700px){
  .dashboard{overflow:hidden}
  .board-frame{overflow:hidden}
  .team-board{grid-template-columns:repeat(var(--board-columns,2),minmax(0,1fr));grid-template-rows:repeat(var(--board-rows,1),minmax(0,1fr));overflow:hidden}
  .person-card{min-height:0}
}

@media(max-height:800px){
  .team-board[data-rows="3"] .person-task small,
  .team-board[data-rows="4"] .person-task small,
  .team-board[data-rows="5"] .person-task small{display:none}
  .team-board[data-rows="3"] .person-task strong,
  .team-board[data-rows="4"] .person-task strong,
  .team-board[data-rows="5"] .person-task strong{-webkit-line-clamp:1}
}

/* v2.2: retratos ampliados para leitura à distância na Android TV */
.person-top{min-height:170px;padding:12px 7px 10px;gap:5px}
.person-avatar{width:98px;height:98px;font-size:32px;border-width:3px}
@media(max-width:1200px){.person-avatar{width:72px;height:72px;font-size:25px}.person-top{min-height:150px}}
.team-board[data-rows="2"] .person-top{padding:7px 5px;gap:3px}
.team-board[data-rows="2"] .person-avatar{width:68px;height:68px;font-size:23px}
.team-board[data-rows="3"] .person-avatar,.team-board[data-rows="4"] .person-avatar,.team-board[data-rows="5"] .person-avatar{width:48px;height:48px;font-size:17px}
@media(max-height:750px){.team-board[data-rows="2"] .person-avatar{width:56px;height:56px;font-size:19px}}
