/* ============================================================================
   Task Manager module. Loads after studio.css. Reuses the flat-glass tokens.
   ============================================================================ */

/* quick-add bar */
.tk-add{ display:flex; gap:var(--sp-3); margin:var(--sp-5) 0; flex-wrap:wrap; }
.tk-add .field{ flex:1 1 220px; min-width:0; }
.tk-add .tk-area{ flex:0 0 auto; width:auto; }
.tk-add .btn{ flex:0 0 auto; }

/* view tabs */
.tk-tabs{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:var(--sp-4); }
.tk-tab{ display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:999px;
  background:var(--pg-flat); color:var(--ink-dim); border:none; cursor:pointer; font:500 12.5px/1 var(--sans); white-space:nowrap; }
.tk-tab:hover{ color:var(--ink); }
.tk-tab.on{ background:var(--ink); color:var(--bg0); }
.tk-tab-n{ font-size:11px; opacity:.7; }
.tk-tab.on .tk-tab-n{ opacity:.85; }

/* list */
.tk-list{ display:flex; flex-direction:column; gap:8px; }
.tk-row{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:var(--sp-3); align-items:start;
  padding:var(--sp-4) var(--sp-5); border-radius:var(--radius-md); background:var(--pg-flat); }
.tk-row.tk-over{ box-shadow:inset 3px 0 0 var(--risk); }

.tk-check{ flex:0 0 auto; width:24px; height:24px; border-radius:7px; background:var(--color-bg-overlay);
  display:grid; place-items:center; cursor:pointer; color:transparent; border:none; transition:.15s; margin-top:1px; }
.tk-check svg{ width:15px; height:15px; }
.tk-check.on{ background:var(--sig-live); color:#fff; }

.tk-main{ min-width:0; cursor:pointer; }
.tk-nm{ font-size:14.5px; font-weight:600; color:var(--ink); line-height:1.35; overflow-wrap:anywhere; }
.tk-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:5px; }
.tk-chip{ font-size:11px; padding:2px 8px; border-radius:999px; background:var(--color-bg-overlay); color:var(--ink-dim);
  white-space:nowrap; box-shadow:inset 2px 0 0 var(--accent, transparent); }
.tk-chip.dim{ box-shadow:none; }
.tk-due{ font-size:11.5px; color:var(--ink-dim); white-space:nowrap; }
.tk-due.over{ color:var(--risk); font-weight:600; }
.tk-na{ display:inline-flex; align-items:center; gap:4px; font-size:11.5px; color:var(--ink-soft); overflow-wrap:anywhere; }
.tk-na svg{ width:12px; height:12px; flex:0 0 auto; }
.tk-na.tk-missing{ color:var(--sig-standby); }

/* priority pills */
.tk-pri{ font-size:10.5px; font-weight:600; text-transform:uppercase; letter-spacing:.03em; padding:2px 7px; border-radius:999px; white-space:nowrap; }
.tk-pri-critical{ background:color-mix(in srgb, var(--risk) 22%, transparent); color:var(--risk); }
.tk-pri-high{ background:color-mix(in srgb, var(--cat-property) 22%, transparent); color:var(--cat-property); }
.tk-pri-medium{ background:var(--color-bg-overlay); color:var(--ink-dim); }
.tk-pri-low{ background:var(--color-bg-overlay); color:var(--ink-faint); }
.tk-pri-someday{ background:var(--color-bg-overlay); color:var(--ink-faint); }

/* row actions */
.tk-acts{ display:flex; gap:4px; flex:0 0 auto; }
.tk-act{ width:30px; height:30px; border-radius:8px; background:transparent; color:var(--ink-faint);
  display:grid; place-items:center; cursor:pointer; border:none; }
.tk-act:hover{ background:var(--color-bg-overlay); color:var(--ink); }
.tk-act svg{ width:15px; height:15px; }

@media (max-width:560px){
  .tk-row{ grid-template-columns:auto minmax(0,1fr); padding:var(--sp-4); }
  .tk-acts{ grid-column:1 / -1; justify-content:flex-end; margin-top:2px; }
}

/* bills — amount column + form */
.bl-amt{ flex:0 0 auto; min-width:74px; font-size:15px; font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; padding-top:1px; }
.bl-amt.dim{ color:var(--ink-faint); font-weight:500; }
.tk-row:has(.bl-amt){ grid-template-columns:auto minmax(0,1fr) auto; }
.bl-form{ display:flex; flex-direction:column; gap:var(--sp-3); }
.bl-row{ display:flex; align-items:center; gap:var(--sp-3); font-size:13px; color:var(--ink-dim); }
.bl-row.col{ align-items:stretch; flex-direction:column; gap:6px; }
.bl-row > span{ flex:0 0 120px; }
.bl-row .field{ flex:1 1 auto; min-width:0; }
.bl-actions{ display:flex; gap:var(--sp-2); align-items:center; margin-top:var(--sp-2); flex-wrap:wrap; }
@media (max-width:560px){ .bl-row{ flex-direction:column; align-items:stretch; gap:4px; } .bl-row > span{ flex:none; } }

/* capture inbox rows */
.ib-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--sp-3); align-items:center;
  padding:var(--sp-4) var(--sp-5); border-radius:var(--radius-md); background:var(--pg-flat); }
.ib-main{ min-width:0; cursor:pointer; }
.ib-nm{ font-size:14.5px; font-weight:600; color:var(--ink); line-height:1.35; overflow-wrap:anywhere; }
.ib-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:5px; }
.ib-body{ font-size:11.5px; color:var(--ink-dim); overflow-wrap:anywhere; }
.ib-acts{ display:flex; gap:6px; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; }
.ib-acts .tk-act.danger:hover{ color:var(--risk); }
@media (max-width:560px){ .ib-row{ grid-template-columns:minmax(0,1fr); } .ib-acts{ justify-content:flex-start; margin-top:4px; } }

/* calendar / schedule */
.cal-day{ margin-bottom:var(--sp-5); }
.cal-day-h{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-3); padding:0 var(--sp-2) var(--sp-2); }
.cal-day-l{ font-size:13px; font-weight:600; color:var(--ink); }
.cal-item{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:var(--sp-3); align-items:center;
  padding:var(--sp-3) var(--sp-5); border-radius:var(--radius-md); background:var(--pg-flat); cursor:pointer; margin-bottom:6px; }
.cal-item:hover{ background:var(--pg-foc); }
.cal-dot{ width:8px; height:8px; border-radius:999px; flex:0 0 auto; }
.cal-nm{ font-size:14px; color:var(--ink); overflow-wrap:anywhere; }
.cal-tags{ display:flex; gap:6px; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; }

/* memory explorer */
.mem-controls{ display:flex; gap:var(--sp-3); flex-wrap:wrap; margin-bottom:var(--sp-5); }
.mem-controls #memQ{ flex:1 1 240px; min-width:0; }
.mem-controls select{ flex:0 0 auto; width:auto; }
.mem-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--sp-3); align-items:center;
  padding:var(--sp-4) var(--sp-5); border-radius:var(--radius-md); background:var(--pg-flat); cursor:pointer; }
.mem-row:hover{ background:var(--pg-foc); }
.mem-main{ min-width:0; }
.mem-nm{ font-size:14px; font-weight:600; color:var(--ink); overflow-wrap:anywhere; }
.mem-bd{ font-size:11.5px; color:var(--ink-dim); margin-top:3px; overflow-wrap:anywhere; }
.mem-tags{ display:flex; gap:6px; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; }
@media (max-width:560px){ .mem-row{ grid-template-columns:minmax(0,1fr); } .mem-tags{ justify-content:flex-start; margin-top:4px; } .cal-item{ grid-template-columns:auto minmax(0,1fr); } .cal-tags{ grid-column:2; justify-content:flex-start; } }

/* cost tracker — project overview list */
.ct2-projs{ padding:var(--sp-2) var(--sp-5); }
.ct2-proj{ display:grid; grid-template-columns:minmax(0,1.7fr) minmax(80px,1fr) auto auto; align-items:center; gap:var(--sp-4); padding:var(--sp-4) 0; cursor:pointer; border-top:1px solid var(--sep); }
.ct2-proj:first-child{ border-top:none; }
.ct2-proj:hover .ct2-proj-nm{ color:var(--ink); }
.ct2-proj-main{ min-width:0; }
.ct2-proj-nm{ font-size:14px; font-weight:600; color:var(--ink); overflow-wrap:anywhere; }
.ct2-proj-sub{ font-size:11.5px; color:var(--ink-dim); margin-top:3px; overflow-wrap:anywhere; }
.ct2-proj-bar{ height:7px; border-radius:999px; background:var(--color-bg-overlay); overflow:hidden; }
.ct2-proj-fill{ height:100%; border-radius:999px; transition:width .4s cubic-bezier(.2,.7,.2,1); }
.ct2-proj-go{ color:var(--ink-faint); display:inline-flex; }
.ct2-proj-go svg{ width:16px; height:16px; }
@media (max-width:680px){ .ct2-proj{ grid-template-columns:minmax(0,1fr) auto; gap:var(--sp-3); } .ct2-proj-bar{ display:none; } }

/* cost tracker (AIRR) — flat, one trades card */
.ct2-bars{ display:flex; flex-direction:column; gap:var(--sp-3); margin:var(--sp-4) 0; }
.ct2-bar{ display:grid; grid-template-columns:minmax(86px,110px) minmax(0,1fr) auto; align-items:center; gap:var(--sp-3); }
.ct2-bar-l{ font-size:12px; color:var(--ink-dim); }
.ct2-track{ height:8px; border-radius:999px; background:var(--color-bg-overlay); overflow:hidden; }
.ct2-fill{ height:100%; border-radius:999px; transition:width .4s cubic-bezier(.2,.7,.2,1); }
.ct2-bar-v{ font-size:12px; font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; }
.ct2-attn{ display:flex; gap:var(--sp-5); flex-wrap:wrap; margin-bottom:var(--sp-4); }
.ct2-attn-i{ font-size:12.5px; font-weight:600; }
.ct2-save{ font-size:12px; font-weight:600; color:var(--ink-faint); white-space:nowrap; transition:color .2s; }
.ct2-save.ok{ color:var(--sig-live); }
.ct2-save.warn{ color:var(--sig-standby); }
.ct2-save.bad{ color:var(--risk); }

.ct2-trades{ padding:var(--sp-2) var(--sp-5); }
.ct2-group{ border-top:1px solid var(--sep); }
.ct2-group:first-child{ border-top:none; }
.ct2-grow{ display:grid; grid-template-columns:16px minmax(0,1.3fr) minmax(60px,1fr) auto auto; align-items:center; gap:var(--sp-3); padding:var(--sp-4) 0; cursor:pointer; }
.ct2-caret{ color:var(--ink-faint); font-size:12px; }
.ct2-gname{ font-size:14px; font-weight:600; color:var(--ink); overflow-wrap:anywhere; }
.ct2-gname .mc-badge{ margin-left:6px; }
.ct2-gbar{ height:6px; border-radius:999px; background:var(--color-bg-overlay); overflow:hidden; }
.ct2-gfill{ height:100%; border-radius:999px; transition:width .4s cubic-bezier(.2,.7,.2,1); }
.ct2-gspent{ font-size:12px; color:var(--ink-dim); font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
.ct2-gvar{ font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
.ct2-gvar.ok{ color:var(--sig-live); }
.ct2-gvar.bad{ color:var(--risk); }

.ct2-lines{ padding:0 0 var(--sp-4) 28px; display:flex; flex-direction:column; gap:6px; }
.ct2-line{ display:grid; grid-template-columns:minmax(0,1.6fr) 84px 84px 130px 130px auto; gap:6px; align-items:center; }
.ct2-line.ct2-head{ padding:2px 0 0; }
.ct2-line.ct2-head span{ font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); }
.ct2-line.ct2-head .r{ text-align:right; padding-right:10px; }
.ct2-n{ text-align:right; font-variant-numeric:tabular-nums; }
.ct2-sel{ display:flex; align-items:center; gap:5px; min-width:0; }
.ct2-dot{ width:8px; height:8px; border-radius:999px; flex:0 0 auto; }
.ct2-sel select{ min-width:0; flex:1 1 auto; }
.ct2-budget{ display:flex; align-items:center; gap:var(--sp-3); margin-top:var(--sp-3); flex-wrap:wrap; }
.ct2-budget label{ font-size:11px; color:var(--ink-dim); }
.ct2-budget .ct2-n{ width:110px; flex:0 0 auto; }

@media (max-width:760px){
  .ct2-grow{ grid-template-columns:16px minmax(0,1fr) auto; }
  .ct2-gbar{ display:none; }
  .ct2-lines{ padding-left:var(--sp-2); }
  .ct2-line{ grid-template-columns:1fr 1fr; }
  .ct2-line .ct2-desc{ grid-column:1 / -1; }
  .ct2-line.ct2-head{ display:none; }
}

/* routine dashboard attention strip (pulls from Tasks + Bills) */
.rt-attn{ display:flex; gap:var(--sp-3); flex-wrap:wrap; margin:0 0 var(--sp-6); }
.rt-attn-card{ flex:1 1 160px; min-width:0; text-align:left; padding:var(--sp-4) var(--sp-5); border-radius:var(--radius-md);
  background:var(--pg-flat); border:none; cursor:pointer; display:flex; flex-direction:column; gap:2px; }
.rt-attn-card:hover{ background:var(--pg-foc); }
.rt-attn-card.risk{ box-shadow:inset 3px 0 0 var(--risk); }
.rt-attn-n{ font-size:1.45rem; font-weight:600; color:var(--ink); line-height:1.1; font-variant-numeric:tabular-nums; }
.rt-attn-card.risk .rt-attn-n{ color:var(--risk); }
.rt-attn-l{ font-size:.8rem; color:var(--ink-dim); }

/* hub module cards (cross-cutting tools above the area grid) */
.hub-modules{ display:flex; gap:var(--sp-3); flex-wrap:wrap; margin-bottom:var(--sp-6); }
.hub-mod{ display:flex; align-items:center; gap:var(--sp-3); padding:var(--sp-4) var(--sp-5); border-radius:var(--radius-md);
  background:var(--pg-flat); cursor:pointer; border:none; text-align:left; min-width:200px; flex:1 1 220px; max-width:340px; }
.hub-mod:hover{ background:var(--pg-foc); }
.hub-mod-ic{ flex:0 0 auto; width:34px; height:34px; border-radius:10px; display:grid; place-items:center;
  background:var(--color-bg-overlay); color:var(--accent, var(--ink)); }
.hub-mod-ic svg{ width:18px; height:18px; }
.hub-mod-tx{ min-width:0; }
.hub-mod-nm{ font-size:14px; font-weight:600; color:var(--ink); }
.hub-mod-bl{ font-size:11.5px; color:var(--ink-dim); overflow-wrap:anywhere; }
.hub-mod-badge{ margin-left:auto; flex:0 0 auto; font-size:11px; font-weight:600; padding:2px 9px; border-radius:999px;
  background:color-mix(in srgb, var(--risk) 20%, transparent); color:var(--risk); }
