/* Fil-Co tasks + Manager Hub (2026-10-02) */
[hidden] { display:none !important; }
:root { --tk-red:#c8102e; --tk-ink:#111827; --tk-mute:#6b7280; --tk-line:#e5e7eb; --tk-good:#047857; --tk-bad:#b91c1c; --tk-warn:#b45309; }
.tk-btn { font:700 13px system-ui,sans-serif; padding:8px 12px; border-radius:8px; border:1px solid var(--tk-line); background:#fff; color:var(--tk-ink); cursor:pointer; white-space:nowrap; width:auto!important; margin:0!important; }
.tk-btn.primary { background:var(--tk-red); border-color:var(--tk-red); color:#fff; }
.tk-btn.danger { color:var(--tk-bad); border-color:#fecaca; }
.tk-btn.sm { padding:5px 9px; font-size:12px; }
.tk-btn:disabled { opacity:.5; cursor:default; }
.tk-x { all:unset; cursor:pointer; color:var(--tk-mute); font-size:18px; padding:0 4px; }
.ok { color:var(--tk-good); } .bad { color:var(--tk-bad); } .warn { color:var(--tk-warn); }
.tk-note { font-size:12px; color:var(--tk-mute); }
.tk-msg { font-size:13px; color:var(--tk-mute); min-height:1em; } .tk-msg.bad { color:var(--tk-bad); }

/* list line */
.tk-line { all:unset; box-sizing:border-box; display:flex; align-items:center; gap:10px; width:100%; padding:10px 12px; border-top:1px solid #f1f2f4; cursor:pointer; }
.tk-line:hover { background:#fafafa; }
.tk-line.is-done .tk-l-title { color:var(--tk-mute); text-decoration:line-through; }
.tk-dot { width:11px; height:11px; border-radius:50%; flex:none; background:#d1d5db; }
.tk-dot.tk-st-progress { background:#2563eb; } .tk-dot.tk-st-waiting { background:#f59e0b; } .tk-dot.tk-st-done { background:var(--tk-good); }
.tk-l-main { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.tk-l-title { font-weight:800; color:var(--tk-ink); font-size:14.5px; }
.tk-l-sub { font-size:12.5px; color:var(--tk-mute); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tk-due { font-size:12.5px; font-weight:700; color:var(--tk-mute); white-space:nowrap; }
.tk-new { font-style:normal; font-size:10px; font-weight:800; background:var(--tk-red); color:#fff; border-radius:4px; padding:1px 5px; margin-right:6px; vertical-align:2px; }
.tk-hi { font-style:normal; font-weight:900; color:var(--tk-red); margin-right:5px; }
.tk-mini { display:block; height:4px; background:#f1f5f9; border-radius:9px; overflow:hidden; max-width:260px; }
.tk-mini span { display:block; height:100%; background:#94a3b8; } .tk-mini span.ok { background:var(--tk-good); }
.tk-open-wrap { border-top:1px solid #f1f2f4; background:#fcfcfd; padding:4px 14px 14px; }

/* open task */
.tk-open { display:flex; flex-direction:column; gap:12px; padding-top:10px; }
.tk-meta { font-size:13px; color:var(--tk-mute); }
.tk-meta b { color:var(--tk-ink); }
.tk-details { font-size:14px; line-height:1.5; background:#fff; border:1px solid var(--tk-line); border-radius:10px; padding:10px 12px; }
.tk-status { display:flex; flex-wrap:wrap; gap:6px; }
.tk-st { font:700 12.5px system-ui,sans-serif; padding:7px 11px; border-radius:999px; border:1px solid var(--tk-line); background:#fff; cursor:pointer; color:var(--tk-ink); width:auto!important; margin:0!important; }
.tk-st.on.tk-st-open { background:#e5e7eb; } .tk-st.on.tk-st-progress { background:#dbeafe; border-color:#93c5fd; color:#1e3a8a; }
.tk-st.on.tk-st-waiting { background:#fef3c7; border-color:#fcd34d; color:#78350f; } .tk-st.on.tk-st-done { background:#dcfce7; border-color:#86efac; color:#14532d; }
.tk-st:disabled { cursor:default; }
.tk-sec h4 { margin:0 0 6px; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--tk-mute); }
.tk-row { display:flex; gap:8px; align-items:flex-start; margin-top:8px; }
.tk-row input, .tk-row textarea, .tk-grid input, .tk-grid select, .tk-full textarea, .tk-t input { font:14px system-ui,sans-serif; padding:8px 10px; border:1px solid var(--tk-line); border-radius:8px; flex:1; min-width:0; width:100%; box-sizing:border-box; margin:0!important; background:#fff; }
.tk-t input[type=checkbox], .tk-steps input { width:auto!important; flex:none; }
.tk-t input[type=date] { min-width:130px; }
.tk-row3 { flex-wrap:wrap; } .tk-row3 input { min-width:140px; }
.tk-steps { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; font-size:14px; }
.tk-steps label { display:inline-flex; gap:8px; align-items:center; cursor:pointer; }
.tk-done { text-decoration:line-through; color:var(--tk-mute); }
.tk-scroll { overflow-x:auto; }
.tk-t { width:100%; border-collapse:collapse; font-size:13.5px; }
.tk-t th { text-align:left; font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--tk-mute); padding:6px 8px; border-bottom:1px solid var(--tk-line); white-space:nowrap; }
.tk-t td { padding:6px 8px; border-bottom:1px solid #f3f4f6; vertical-align:middle; }
.tk-win td { background:#ecfdf5; }
.tk-picked { background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; border-radius:10px; padding:8px 12px; font-size:14px; margin-bottom:8px; }
.tk-goal { background:#fff; border:1px solid var(--tk-line); border-radius:12px; padding:12px 14px; }
.tk-goal-top { display:flex; justify-content:space-between; align-items:flex-end; gap:10px; }
.tk-k { font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--tk-mute); }
.tk-goal-v { font-size:30px; font-weight:800; font-variant-numeric:tabular-nums; }
.tk-goal-t { text-align:right; } .tk-goal-t b { font-size:20px; }
.tk-meter { height:10px; background:#f1f5f9; border-radius:99px; overflow:hidden; margin:8px 0 6px; }
.tk-meter div { height:100%; background:var(--tk-red); } .tk-meter div.ok { background:var(--tk-good); }
.tk-comments { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.tk-comments li { background:#fff; border:1px solid var(--tk-line); border-radius:10px; padding:8px 12px; }
.tk-c-body { font-size:14px; line-height:1.45; margin-top:2px; }
.tk-c-sys { font-size:13px; color:var(--tk-mute); font-style:italic; margin-top:2px; }
.tk-manage summary { cursor:pointer; font-weight:800; font-size:13px; color:var(--tk-mute); }
.tk-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; margin-top:10px; }
.tk-grid label, .tk-full { display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:700; color:var(--tk-mute); }
.tk-full { margin-top:10px; }
@media (max-width:700px) {
  .tk-grid { grid-template-columns:1fr 1fr; }
  .tk-line { align-items:flex-start; }
  .tk-l-sub { white-space:normal; }
  .tk-row { flex-wrap:wrap; } .tk-row .tk-btn { flex:none; }
}

/* task table */
.tk-table-wrap { overflow-x:auto; border:1px solid var(--tk-line); border-radius:12px; background:#fff; }
.tk-table { width:100%; border-collapse:collapse; font-size:14px; }
.tk-table th { text-align:left; font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--tk-mute); padding:10px; border-bottom:1px solid var(--tk-line); background:#f9fafb; white-space:nowrap; }
.tk-table td { padding:10px; border-bottom:1px solid #f1f2f4; vertical-align:middle; }
.tk-table .c { text-align:center; width:40px; }
.tk-table tr.is-late td { background:#fff7f7; }
.tk-table tr.is-done td { background:#fafafa; } .tk-table tr.is-done .tk-tlink { color:var(--tk-mute); text-decoration:line-through; }
.tk-table tr.is-open td { background:#f5f7ff; }
.tk-tr:hover td { background:#fafbff; }
.tk-detail > td { padding:0!important; background:#fcfcfd; }
.tk-big { width:20px!important; height:20px; margin:0!important; cursor:pointer; accent-color:var(--tk-good); }
.tk-tlink { all:unset; cursor:pointer; font-weight:800; color:var(--tk-ink); font-size:14.5px; }
.tk-tlink:hover { text-decoration:underline; }
.tk-sel { font:700 13px system-ui,sans-serif; padding:6px 8px; border-radius:8px; border:1px solid var(--tk-line); background:#fff; width:auto!important; margin:0!important; cursor:pointer; }
.tk-sel-progress { background:#dbeafe; border-color:#93c5fd; color:#1e3a8a; } .tk-sel-waiting { background:#fef3c7; border-color:#fcd34d; color:#78350f; }
.tk-sel-done { background:#dcfce7; border-color:#86efac; color:#14532d; }
.tk-date { font:13px system-ui,sans-serif; padding:5px 6px; border:1px solid var(--tk-line); border-radius:8px; width:auto!important; margin:0!important; }
.tk-last { max-width:260px; font-size:13px; }
@media (max-width:760px) {
  .tk-table-wrap { border:none; background:none; overflow:visible; }
  .tk-table thead { display:none; }
  .tk-table, .tk-table tbody { display:block; }
  .tk-table tr.tk-tr { display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 12px; border:1px solid var(--tk-line); border-radius:12px; padding:10px 12px; margin-bottom:8px; background:#fff; }
  .tk-table tr.tk-tr td { display:flex; flex-wrap:wrap; min-width:0; overflow-wrap:anywhere; align-items:center; gap:4px 8px; padding:2px 0; border:none; background:none!important; grid-column:2; }
  .tk-table tr.tk-tr td.c { grid-column:1; grid-row:1 / span 6; align-items:flex-start; padding-top:4px; width:auto; }
  .tk-table tr.tk-tr td[data-l="Task"] { display:block; }
  .tk-table tr.tk-tr td:not(.c):not([data-l="Task"])::before { content:attr(data-l); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--tk-mute); min-width:74px; }
  .tk-table tr.tk-detail { display:block; margin:-6px 0 10px; } .tk-table tr.tk-detail td { display:block; }
  .tk-last { max-width:none; display:block!important; }
  .tk-table-wrap, .tk-table { max-width:100%; min-width:0!important; width:100%!important; }
}
@media (min-width:761px) {
  .tk-table td[data-l="Task"] { min-width:230px; }
  .tk-table td[data-l="For"] { white-space:nowrap; }
  .tk-table td[data-l="Time"], .tk-table td[data-l="Given"] { white-space:nowrap; }
  .tk-table td[data-l="Progress"] { min-width:90px; }
  .tk-last { min-width:160px; max-width:220px; }
}
.tk-open-wrap { box-sizing:border-box; position:sticky; left:0; }
.tk-open .tk-scroll, .tk-open .tk-row { max-width:100%; }
@media (max-width:760px) { .tk-table tr.tk-tr td.tk-last::before { display:inline-block; margin-right:8px; } }

/* RSOT class slide links */
.rsot-link { color:inherit; text-decoration:none; border-bottom:1px dashed #9ca3af; }
.rsot-link:hover { color:#c8102e; border-bottom-color:#c8102e; }
.rsot-pdf { display:inline-block; font-size:12px; font-weight:700; color:#1d4ed8; text-decoration:none; margin-top:2px; }
.rsot-pdf:hover { text-decoration:underline; }
