/* Peças das telas: lista, quadro, gráfico, calendário, linha do tempo, tabela */
.muted{color:var(--text-2)}.faint{color:var(--text-3)}
.small{font-size:13px}.tiny{font-size:12px}
.row{display:flex;align-items:center;gap:12px;min-width:0}
.row--wrap{flex-wrap:wrap}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.scroll-x{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.scroll-x::-webkit-scrollbar{display:none}
.card-sub{font-size:13px;color:var(--text-2);margin-top:-8px;margin-bottom:14px}
.clickable{cursor:pointer}


/* Lista */
.list{display:flex;flex-direction:column}
.li{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--border-1);min-width:0}
.li:first-child{border-top:0}
.li--btn{width:100%;border-left:0;border-right:0;border-bottom:0;background:transparent;text-align:left;color:inherit;padding:12px 8px;margin:0 -8px;width:calc(100% + 16px);border-radius:var(--radius-md);transition:background var(--dur-base) var(--ease-out)}
.li--btn + .li--btn{border-top-color:var(--border-1)}
.li--btn:hover{background:var(--hover-tint)}
.li--btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--focus-ring)}
.li__main{flex:1;min-width:0}
.li__t{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li__s{font-size:12px;color:var(--text-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li__end{display:flex;align-items:center;gap:10px;flex:none}
.stripe{width:4px;align-self:stretch;border-radius:4px;flex:none}
.date-chip{width:44px;text-align:center;flex:none}
.date-chip b{display:block;font-family:var(--font-display);font-size:22px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}
.date-chip span{font-size:11px;color:var(--text-3)}

/* Estado vazio */
.empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:8px 0;color:var(--text-2);font-size:13px}
.empty--center{align-items:center;text-align:center;padding:24px 8px}
.empty__icon{width:44px;height:44px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text-2)}

/* KPI */
.kpi{display:flex;flex-direction:column;gap:14px;height:100%}
.kpi__top{display:flex;align-items:flex-start;gap:12px}
.kpi__top .jt-stat__label{flex:1}
.kpi .jt-stat{flex:1;justify-content:flex-end}
.delta{font-size:12px;font-weight:600}
@media (max-width:760px){.kpis .jt-stat__value{font-size:30px}.kpis .jt-card{padding:16px}.kpi__top .jt-icbtn{width:32px;height:32px}}

/* Gráfico de barras */
.bars{display:flex;align-items:flex-end;gap:10px;height:170px}
.bar{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.bar__col{width:100%;flex:1;display:flex;align-items:flex-end;gap:4px}
.bar__fill{flex:1;min-height:4px;border-radius:12px;background:var(--surface-3);transform-origin:bottom;animation:grow var(--dur-slow) var(--ease-out) both}
.bar__fill--on{background:var(--surface-accent)}
.bar__fill--ink{background:var(--surface-inverse)}
.bar em{font-style:normal;font-size:11px;color:var(--text-3);white-space:nowrap}
.bar__v{font-size:11px;font-weight:600;color:var(--text-2);font-variant-numeric:tabular-nums}
@keyframes grow{from{transform:scaleY(0)}to{transform:none}}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-2);margin-top:14px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend b{width:8px;height:8px;border-radius:4px;display:inline-block}

/* Quadro (kanban) */
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(272px,1fr);gap:16px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;scrollbar-width:thin}
.col{display:flex;flex-direction:column;gap:12px;min-width:0;border-radius:var(--radius-xl);padding:6px;transition:background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);scroll-snap-align:start}
.col.is-over{background:var(--hover-tint);box-shadow:inset 0 0 0 2px var(--border-strong)}
.col__h{display:flex;align-items:center;gap:8px;padding:4px 6px 0;font-weight:600;font-size:14px;min-height:32px}
.col__h .jt-icbtn{margin-left:auto}
.col__sum{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}
.col__drop{border:1.5px dashed var(--border-2);border-radius:var(--radius-lg);padding:20px 16px;text-align:center;font-size:13px;color:var(--text-2)}
.pcard[draggable="true"]{cursor:grab}
.pcard.is-dragging{opacity:.45;transform:rotate(-1deg)}
.pcard__client{font-size:12px;color:var(--text-3);margin-top:-10px;margin-bottom:14px}
.pcard__people{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:10px}
.pcard__meta{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin-top:16px}
.pcard__foot{display:flex;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap}
.pcard__foot .jt-badge{margin-right:auto}
.pcard .jt-card__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.deal .jt-card__head{margin-bottom:10px}
.deal__v{font-family:var(--font-display);font-size:24px;font-weight:500;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}
.deal__next{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-2);margin-top:12px;padding-top:12px;border-top:1px solid var(--border-1)}
.deal__next i{font-size:15px}
.mini-stat .jt-stat__value{font-size:22px}
.mini-stat .jt-stat__unit{font-size:13px}
@media (max-width:760px){.board{grid-auto-columns:86%;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px 8px;scroll-padding:0 16px}}

/* Menu "Mover" */
.menu{min-width:200px;width:auto;padding:6px}
.menu .pop__item{padding:9px 12px;font-size:13px}
.menu .pop__item[aria-checked="true"]{font-weight:700}

/* Filtros */
.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.filters .jt-control{height:40px;border-radius:var(--radius-pill);min-width:0}
.filters .jt-control--search{flex:1;min-width:200px;max-width:340px}
.filters .jt-control--select{width:auto;padding-right:36px}
.filters .jt-control--select select{padding-right:0}
@media (max-width:760px){.filters .jt-control--search{max-width:none;flex-basis:100%}.filters .jt-control--select{flex:1}}

/* Tabela */
.table-wrap{position:relative;overflow-x:auto;margin:0 -8px}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{text-align:left;font-size:12px;font-weight:600;color:var(--text-3);padding:0 12px 10px;white-space:nowrap}
.table td{padding:12px;border-top:1px solid var(--border-1);vertical-align:middle}
.table tbody tr{transition:background var(--dur-fast) var(--ease-out)}
.table tbody tr.clickable:hover{background:var(--hover-tint)}
.table .num{text-align:right;white-space:nowrap;font-family:var(--font-display);font-size:16px;font-variant-numeric:tabular-nums}
.table .t-strong{font-weight:600}
.table a.t-link{font-weight:600;text-decoration:none}
.table a.t-link:hover{text-decoration:underline}
.table .t-actions{width:1%;white-space:nowrap;text-align:right}
@media (max-width:760px){.table .hide-m{display:none}.table td,.table th{padding-left:8px;padding-right:8px}}

/* Calendário */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal__dow{font-size:12px;color:var(--text-3);text-align:center;padding-bottom:4px}
.cal__d{min-height:104px;border-radius:18px;background:var(--surface-2);padding:8px;display:flex;flex-direction:column;gap:4px;border:1px solid transparent;min-width:0;text-align:left;color:var(--text-1);transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}
.cal__d:hover{border-color:var(--border-2)}
.cal__d:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface-1),0 0 0 4px var(--focus-ring)}
.cal__d--out{opacity:.45}
.cal__d--sel{border-color:var(--text-1)}
.cal__n{font-family:var(--font-display);font-weight:600;font-size:14px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.cal__d--today .cal__n{background:var(--surface-accent);color:var(--ink-950)}
.ev{font-size:11px;font-weight:600;padding:3px 7px;border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-950);display:block}
.ev--more{background:transparent;color:var(--text-2);padding:0 4px}
.dots{display:none;gap:3px;justify-content:center}
.dots b{width:5px;height:5px;border-radius:50%}
@media (max-width:760px){
  .cal{gap:4px}
  .cal__d{min-height:52px;border-radius:14px;padding:4px;align-items:center}
  .cal__d .ev{display:none}.dots{display:flex}
}
.gcal-frame{width:100%;height:min(720px,75vh);border:0;border-radius:var(--radius-lg);background:var(--white);display:block}

/* Linha do tempo */
.tl{display:grid;gap:10px;min-width:640px}
.tl__w{font-size:12px;color:var(--text-3);padding-bottom:4px;white-space:nowrap}
.tl__bar{height:40px;border-radius:var(--radius-pill);display:flex;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;border:1px solid var(--border-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--surface-1);color:var(--text-1)}
.tl__bar--on{background:var(--surface-inverse);color:var(--text-inverse);border-color:transparent}
.tl__bar--done{background:var(--surface-2);color:var(--text-2)}
.tl__today{position:relative}

/* Tarefas */
.task{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border-1);min-width:0}
.task:first-child{border-top:0}
.task__main{flex:1;min-width:0}
.task__t{font-weight:600}
.task--done .task__t{text-decoration:line-through;color:var(--text-3);font-weight:500}
.task__s{font-size:12px;color:var(--text-3);margin-top:2px;display:flex;gap:10px;flex-wrap:wrap}
.task__s .late{color:var(--danger-ink);font-weight:600}
[data-theme="dark"] .task__s .late{color:var(--coral-400)}
.task .jt-check__box{flex:none}
.task-add{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.task-add .jt-control{flex:1;min-width:180px;height:44px}

/* Formulários */
.form{display:grid;gap:16px}
.form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px}
.form__err{color:var(--danger-ink);font-size:12px;font-weight:600}
[data-theme="dark"] .form__err{color:var(--coral-400)}
.pick{display:flex;flex-wrap:wrap;gap:8px}
.team-pick{display:grid;gap:8px}
.team-pick__row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md);background:var(--surface-2)}
.team-pick__row .jt-check{flex:1;min-width:0}
.team-pick__row .jt-control{height:36px;width:150px;border-radius:var(--radius-sm);background:var(--surface-1)}
.tone-pick{display:flex;gap:8px;flex-wrap:wrap}
.tone-pick label{position:relative}
.tone-pick input{position:absolute;opacity:0;width:0;height:0}
.tone-pick span{display:block;width:36px;height:36px;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px var(--border-1);transition:transform var(--dur-fast) var(--ease-out)}
.tone-pick input:checked + span{box-shadow:0 0 0 2px var(--surface-raised),0 0 0 4px var(--text-1)}
.tone-pick input:focus-visible + span{box-shadow:0 0 0 2px var(--surface-raised),0 0 0 4px var(--focus-ring)}
.tone-pick span:active{transform:scale(.92)}
.phase-row,.link-row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:8px;align-items:center}
.link-row{grid-template-columns:1fr 1.6fr auto}
.phase-row .jt-control,.link-row .jt-control{height:40px;border-radius:var(--radius-sm)}
@media (max-width:600px){.phase-row{grid-template-columns:1fr 1fr auto}.phase-row > :first-child{grid-column:1 / -1}.link-row{grid-template-columns:1fr auto}.link-row > :first-child{grid-column:1 / -1}}

/* Projeto: cabeçalho de progresso */
.hero{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:4px}
.hero__stats{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px;min-width:min(260px,100%)}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}
.info-grid dt{font-size:12px;color:var(--text-3)}
.info-grid dd{margin:2px 0 0;font-weight:600}
.notes{white-space:pre-wrap;color:var(--text-2);font-size:14px}

/* Equipe e ferramentas */
.person{display:flex;align-items:center;gap:14px}
.load{display:flex;gap:18px;margin-top:16px}
.tool-card{display:flex;flex-direction:column;gap:14px}
.tool-card__logo{width:44px;height:44px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:15px;flex:none}
.tool-card--off{opacity:.62}
.meter{height:6px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden}
.meter b{display:block;height:100%;border-radius:inherit;background:var(--surface-inverse);transform-origin:left;animation:grow-x var(--dur-slow) var(--ease-out) both}
@keyframes grow-x{from{transform:scaleX(0)}to{transform:none}}

/* Configurações */
.set-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--border-1);flex-wrap:wrap}
.set-row:first-child{border-top:0;padding-top:0}
.set-row__t{flex:1;min-width:220px}
.set-row__t b{display:block;font-weight:600}
.set-row__t span{font-size:13px;color:var(--text-2)}
.file-btn{position:relative;overflow:hidden}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}

/* Grupo de botões alternáveis usa o mesmo visual da aba selecionada */
.jt-tab[aria-pressed="true"]{background:var(--surface-inverse);color:var(--text-inverse);font-weight:600}
.jt-tabs--track .jt-tab[aria-pressed="true"]{background:var(--surface-1);color:var(--text-1);box-shadow:var(--shadow-1)}
.jt-tabs--outline .jt-tab[aria-pressed="true"]{background:var(--surface-inverse);border-color:var(--surface-inverse);color:var(--text-inverse)}
.jt-tabs--track .jt-tab[aria-pressed="false"]{background:transparent}
.jt-tabs--outline .jt-tab[aria-pressed="false"]{background:transparent;border-color:var(--border-2)}
.deal{padding:18px;border-radius:var(--radius-lg)}
.deal[draggable="true"]{cursor:grab}
.deal.is-dragging{opacity:.45}
[data-surface="inverse"] .form__err,[data-surface="inverse"] .task__s .late{color:var(--coral-400)}
.scroll-x,.board{position:relative}
