/* Estilos propios de cada vista: resumen, actividades, gantt, metas y equipo. */
.objrow{display:grid; grid-template-columns:70px 1fr 132px 70px; gap:14px; align-items:center;
  padding:11px 18px; border-bottom:1px solid var(--line)}
.objrow:last-child{border-bottom:0}
.objrow .oid{font-family:var(--disp); font-weight:700; font-size:13px}
.objrow .oid small{display:block; font-family:var(--mono); font-size:9.5px; color:var(--fg-3);
  letter-spacing:.06em; font-weight:500; margin-top:1px}
.objrow .oname{font-size:13px; font-weight:500}
.objrow .oname em{font-style:normal; color:var(--fg-3); font-size:11.5px; display:block}
.omix{display:flex; height:8px; border-radius:99px; overflow:hidden; background:var(--surface-3)}
.omix span{display:block}
.objrow .opct{font-family:var(--disp); font-weight:700; font-size:16px; text-align:right;
  font-variant-numeric:tabular-nums}


.acts tr.grp td{background:var(--surface-2); padding:0}
.grphead{display:flex; align-items:center; gap:11px; padding:10px 14px; border-top:1px solid var(--line-2);
  flex-wrap:wrap}
.grphead .gi{font-family:var(--disp); font-weight:700; font-size:12px; color:var(--accent-ink);
  background:var(--accent-soft); border:1px solid var(--accent-line); padding:1px 8px; border-radius:5px}
.grphead .gn{font-family:var(--disp); font-weight:600; font-size:13px}
.grphead .gm{font-family:var(--mono); font-size:10.5px; color:var(--fg-3); letter-spacing:.06em}
.acts tr.arow{cursor:pointer}
.acts tr.arow:hover td{background:var(--surface-2)}
.acts tr.arow.open td{background:var(--accent-soft)}
.cid{font-family:var(--mono); font-size:11.5px; font-weight:600; color:var(--fg-2); white-space:nowrap}
.cact{font-weight:500; min-width:260px; max-width:440px}
.cact .obs{display:block; font-size:11.5px; color:var(--fg-3); margin-top:2px; font-weight:400}
.miniprog{display:flex; align-items:center; gap:8px; min-width:106px}
.miniprog .bar{flex:1}
.miniprog b{font-family:var(--mono); font-size:11.5px; font-weight:600; width:36px; text-align:right}
.editor{padding:16px 18px; display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  border-left:3px solid var(--accent-line); background:var(--surface-2)}
.editor .f{display:flex; flex-direction:column; gap:4px}
.editor .f label{font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--fg-3); font-weight:600}
.editor .wide{grid-column:1/-1}
.editor .btns{grid-column:1/-1; display:flex; gap:9px; justify-content:flex-end; flex-wrap:wrap; align-items:center}
.chkgrid{display:flex; flex-wrap:wrap; gap:7px}
.chk{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; background:var(--surface);
  border:1px solid var(--line-2); border-radius:99px; padding:4px 11px 4px 8px; cursor:pointer}
.chk input{accent-color:var(--accent-line)}
.chk.on{background:var(--accent-soft); border-color:var(--accent-line); color:var(--accent-ink); font-weight:600}

.gantt{overflow-x:auto}
.gt{min-width:960px}
.gt-head{display:grid; grid-template-columns:252px 1fr}
.gt-head .lbl{padding:9px 12px; font-size:10.5px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--fg-3); font-weight:600; border-bottom:1px solid var(--line-2); background:var(--surface-2)}
.months{display:flex; border-bottom:1px solid var(--line-2); background:var(--surface-2)}
.months div{font-size:10.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--fg-3); font-weight:600;
  padding:9px 6px; border-left:1px solid var(--line-2); text-align:center; overflow:hidden; white-space:nowrap}
.gt-row{display:grid; grid-template-columns:252px 1fr; border-bottom:1px solid var(--line); align-items:center}
.gt-row:hover{background:var(--surface-2)}
.gt-row .name{padding:6px 12px; font-size:12px; display:flex; gap:8px; align-items:baseline; min-width:0}
.gt-row .name span{white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.track{position:relative; height:30px}
.mline{position:absolute; top:0; bottom:0; width:1px; background:var(--line); z-index:0}
.gbar{position:absolute; top:7px; height:16px; border-radius:5px; border:1px solid; overflow:hidden; min-width:6px}
.gbar i{display:block; height:100%; background:currentColor; opacity:.4}
.g-ok{background:var(--ok-soft); border-color:var(--ok-line); color:var(--ok)}
.g-run{background:var(--run-soft); border-color:var(--run-line); color:var(--run)}
.g-warn{background:var(--warn-soft); border-color:var(--warn-line); color:var(--warn)}
.g-stop{background:var(--stop-soft); border-color:var(--stop-line); color:var(--stop)}
.g-idle{background:var(--idle-soft); border-color:var(--idle-line); color:var(--idle)}
.today{position:absolute; top:0; bottom:0; width:2px; background:var(--accent-line); z-index:3}
.gt-grp{display:grid; grid-template-columns:252px 1fr; background:var(--surface-3);
  border-bottom:1px solid var(--line-2); border-top:1px solid var(--line-2)}
.gt-grp .g1{padding:7px 12px; font-family:var(--disp); font-weight:700; font-size:12px;
  display:flex; gap:8px; align-items:center}
.gt-grp .g2{position:relative; font-family:var(--mono); font-size:10.5px; color:var(--fg-3);
  display:flex; align-items:center; padding-left:8px}

.metagrp td{background:var(--surface-2); padding:0}
.metagrp .in{padding:11px 14px; display:flex; align-items:center; gap:10px; border-top:1px solid var(--line-2)}
.metagrp h3{font-size:12.5px; font-family:var(--disp)}
.metas input[type=number]{width:108px; text-align:right; font-family:var(--mono);
  font-variant-numeric:tabular-nums; background:var(--accent-soft); border-color:var(--accent-line); font-weight:600}
.metas .mgoal{font-family:var(--mono); font-weight:600; font-size:12.5px; white-space:nowrap}
.src{font-size:11px; color:var(--fg-3)}
.src.pm{color:var(--fg-2); font-weight:500}


.empty{padding:44px 20px; text-align:center; color:var(--fg-3); font-size:13px}
.rowsplit{display:grid; gap:14px; grid-template-columns:1fr 1fr}
.tcard{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:16px 18px}
.tcard .th{display:flex; gap:11px; align-items:center; margin-bottom:12px}
.tcard .av{width:34px; height:34px; font-size:13px}
.tcard .tn{font-family:var(--disp); font-weight:700; font-size:15px}
.tcard .tr{font-size:11.5px; color:var(--fg-3)}
.tstats{display:flex; gap:14px; margin:12px 0 8px; flex-wrap:wrap}
.tstats div{font-size:11px; color:var(--fg-3)}
.tstats b{display:block; font-family:var(--disp); font-size:18px; color:var(--fg); font-variant-numeric:tabular-nums}


@media (max-width:900px){
  .rowsplit{grid-template-columns:1fr}
  .objrow{grid-template-columns:64px 1fr 62px; row-gap:7px}
  .objrow .omix{grid-column:1/-1}
}
