/* ============================================================
   Daily Log — project tab (.dl-*) + portfolio compliance (.dld-*)
   Reuses .cd-kpi / .cd-head / .cd-empty (curves-dash.css) and
   .mod-tb / .mod-seg (app.css). Theme-token based.
   ============================================================ */

/* ── Status pills ─────────────────────────────────────────── */
.dl-pill { display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase;
  padding:2px 8px; border-radius:20px; white-space:nowrap; }
.dl-pill.muted  { color:var(--ink-soft); background:var(--bg2); border:1px solid var(--bd); }
.dl-pill.accent { color:var(--accent); background:var(--accent-bg); border:1px solid color-mix(in srgb,var(--accent) 30%,transparent); }
.dl-pill.ok     { color:#059669; background:rgba(5,150,105,.10); border:1px solid rgba(5,150,105,.28); }
.dl-pill.bad    { color:#DC2626; background:rgba(220,38,38,.09);  border:1px solid rgba(220,38,38,.26); }

.dl-soft { color:var(--ink-faint); font-weight:400; }
.dl-warn { color:#B45309; font-weight:600; }
.dl-yes  { color:#059669; }
.dl-r    { text-align:right; }
.dl-todaytag { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
  color:var(--accent); background:var(--accent-bg); border-radius:4px; padding:1px 5px; margin-left:4px; }

.dl-datein { padding:5px 9px; border:1px solid var(--bd); border-radius:7px; background:var(--white);
  color:var(--ink); font-size:12.5px; font-family:inherit; font-variant-numeric:tabular-nums; }
.dl-datein:focus { outline:none; border-color:var(--accent); }

/* ── Tables (log history + section repeaters) ─────────────── */
.dl-tablewrap { overflow-x:auto; border:1px solid var(--bd); border-radius:12px; background:var(--white); }
.dl-table { width:100%; border-collapse:collapse; font-size:13px; }
.dl-table thead th { text-align:left; padding:9px 12px; font-size:11px; font-weight:600; letter-spacing:.03em;
  text-transform:uppercase; color:var(--ink-faint); border-bottom:1px solid var(--bd); white-space:nowrap; user-select:none; }
.dl-table thead th.dl-r, .dl-table thead th.r { text-align:right; }
.dl-table td { padding:8px 12px; border-bottom:1px solid color-mix(in srgb,var(--bd) 60%,transparent);
  vertical-align:middle; color:var(--ink); }
.dl-table tbody tr:last-child td { border-bottom:none; }
.dl-table td.dl-r, .dl-table td.r { text-align:right; font-variant-numeric:tabular-nums; }

.dl-trow { cursor:pointer; }
.dl-trow:hover td { background:var(--bg2); }
.dl-date { font-weight:600; white-space:nowrap; }

/* Inputs inside repeater rows sit flush — the table is the form. */
.dl-sectable input[type=text], .dl-sectable input[type=number], .dl-sectable input[type=time], .dl-sectable select {
  width:100%; box-sizing:border-box; padding:6px 8px; border:1px solid transparent; border-radius:6px;
  background:transparent; color:var(--ink); font-size:13px; font-family:inherit; }
.dl-sectable input[type=number] { font-variant-numeric:tabular-nums; text-align:right; }
.dl-sectable input:hover, .dl-sectable select:hover { border-color:var(--bd); }
.dl-sectable input:focus, .dl-sectable select:focus { outline:none; border-color:var(--accent); background:var(--white); }
.dl-sectable input[type=checkbox] { accent-color:var(--accent); cursor:pointer; }
.dl-sectable td { padding:4px 8px; }
.dl-x { border:none; background:transparent; color:var(--ink-faint); cursor:pointer; padding:4px; border-radius:6px; line-height:1; }
.dl-x:hover { color:#DC2626; background:rgba(220,38,38,.08); }

/* ── Day view header ──────────────────────────────────────── */
.dl-dayhd { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0 10px; }
.dl-daydate { font-size:18px; font-weight:700; color:var(--ink); letter-spacing:-.01em; }
.dl-daymeta { font-size:11.5px; margin-top:2px; }

/* ── Weather card ─────────────────────────────────────────── */
.dl-weather { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  border:1px solid var(--bd); border-radius:12px; background:var(--bg2); padding:12px 16px; margin-bottom:14px; }
.dl-wx-l { display:flex; align-items:center; gap:12px; }
.dl-wx-l > i { font-size:26px; color:var(--ink-faint); }
.dl-wx-cond { font-size:14.5px; font-weight:700; color:var(--ink); }
.dl-wx-bits { display:flex; gap:14px; flex-wrap:wrap; margin-top:2px; font-size:12.5px; color:var(--ink-soft); }
.dl-wx-bits span { display:inline-flex; align-items:center; gap:5px; font-variant-numeric:tabular-nums; }
.dl-wx-bits i { color:var(--ink-faint); }
.dl-wx-r { display:flex; align-items:center; gap:10px; font-size:11.5px; }

/* ── Narrative blocks ─────────────────────────────────────── */
.dl-narrs { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; margin-bottom:14px; }
.dl-narr { display:flex; flex-direction:column; gap:6px; }
.dl-narr > label { font-size:11px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--ink-faint); }
.dl-narr textarea { padding:9px 11px; border:1px solid var(--bd); border-radius:9px; background:var(--white);
  color:var(--ink); font-size:13px; font-family:inherit; resize:vertical; line-height:1.5; }
.dl-narr textarea:focus { outline:none; border-color:var(--accent); }
.dl-narr-ro { border:1px solid var(--bd); border-radius:9px; background:var(--white); padding:9px 11px;
  font-size:13px; line-height:1.5; color:var(--ink); white-space:pre-wrap; min-height:40px; }
.dl-impact { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-soft);
  margin-bottom:14px; cursor:pointer; }
.dl-impact input { accent-color:var(--accent); }
.dl-impact-ro { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:#B45309;
  background:rgba(202,138,4,.10); border-radius:8px; padding:7px 11px; margin-bottom:14px; }

/* ── Sections ─────────────────────────────────────────────── */
.dl-sec { margin-bottom:14px; }
.dl-sec-hd { display:flex; align-items:center; gap:8px; margin-bottom:7px; font-size:12px; font-weight:700;
  letter-spacing:.03em; text-transform:uppercase; color:var(--ink-soft); }
.dl-sec-hd > i { color:var(--ink-faint); font-size:15px; }
.dl-count { font-size:10.5px; font-weight:700; color:var(--ink-faint); background:var(--bg2);
  border:1px solid var(--bd); border-radius:20px; padding:1px 7px; font-variant-numeric:tabular-nums; }
.dl-sec-hd .dl-add { margin-left:auto; }
.dl-present { display:inline-flex; align-items:center; gap:8px; cursor:pointer; white-space:nowrap; }
.dl-present input { accent-color:var(--accent); }

/* ── Photos ───────────────────────────────────────────────── */
.dl-photos { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:8px; }
.dl-photo { display:block; border-radius:9px; overflow:hidden; border:1px solid var(--bd); aspect-ratio:4/3; background:var(--bg2); }
.dl-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .18s ease; }
.dl-photo:hover img { transform:scale(1.04); }

/* ── Portfolio compliance ─────────────────────────────────── */
.cd-kpi.warn .cd-kpi-v, .cd-kpi.warn .cd-kpi-i { color:#B45309; }
.cd-kpi.warn { border-color:color-mix(in srgb,#CA8A04 32%,var(--bd)); }
.dld-of { font-size:15px; font-weight:600; color:var(--ink-faint); margin-left:3px; }

.dld-tablewrap { overflow-x:auto; border:1px solid var(--bd); border-radius:12px; background:var(--white); margin-top:6px; }
.dld-table { min-width:900px; }
.dld-table thead th { cursor:pointer; }
.dld-table thead th:hover { color:var(--ink); }
.dld-row { cursor:pointer; }
.dld-row:hover td { background:var(--bg2); }
.dld-name { font-weight:600; white-space:nowrap; }
.dld-soft { color:var(--ink-faint); font-weight:400; }
.dld-warn { color:#B45309; font-weight:600; }
.dld-miss { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:#B45309;
  background:rgba(202,138,4,.12); border-radius:4px; padding:1px 5px; margin-left:6px; cursor:help; }

.dld-bar { display:inline-block; width:52px; height:5px; border-radius:3px; background:var(--bg2);
  border:1px solid var(--bd); overflow:hidden; vertical-align:middle; margin-right:7px; }
.dld-bar span { display:block; height:100%; }
.dld-bar span.ok   { background:#059669; }
.dld-bar span.warn { background:#CA8A04; }
.dld-bar span.bad  { background:#DC2626; }
.dld-pct { font-variant-numeric:tabular-nums; font-size:12px; }

@media (max-width:760px) {
  .dl-narrs { grid-template-columns:1fr; }
  .dl-weather { align-items:flex-start; }
}
