/* ============================================================
   ProjectTelemetry — Data Management (folder templates)
   assets/data-mgmt.css   ·   .dm-* classes
   Reuses design tokens; light/dark both work.
   ============================================================ */

.dm-bar { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin:4px 0 14px; }
.dm-enforce { display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--ink); cursor:pointer; }
.dm-enforce input { accent-color:var(--accent); }
.dm-enforce-hint { color:var(--ink-faint); font-size:11.5px; }

.dm-list { display:flex; flex-direction:column; gap:10px; }
.dm-tpl { display:flex; align-items:center; justify-content:space-between; gap:14px;
  border:1px solid var(--bd); border-radius:12px; background:var(--white); padding:14px 16px; box-shadow:var(--shadow); }
.dm-tpl.dm-default { border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent), var(--shadow); }
.dm-tpl-main { min-width:0; flex:1; }
.dm-tpl-name { font-size:14px; font-weight:700; color:var(--ink); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.dm-tpl-desc { font-size:12.5px; color:var(--ink-soft); margin-top:3px; }
.dm-tpl-meta { font-size:11.5px; color:var(--ink-faint); margin-top:4px; }
.dm-tpl-actions { display:flex; align-items:center; gap:6px; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; }
.dm-badge { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:2px 8px; border-radius:20px; }
.dm-builtin { background:var(--bg2); color:var(--ink-soft); }
.dm-def { background:var(--accent-bg); color:var(--accent); }
.dm-note { display:flex; align-items:flex-start; gap:8px; font-size:12px; color:var(--ink-soft);
  background:var(--bg2); border-radius:10px; padding:10px 12px; margin-top:14px; }
.dm-note i { color:var(--accent); flex:0 0 auto; margin-top:1px; }

/* tree editor */
.dm-ed-meta { display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:720px; margin-bottom:16px; }
@media (max-width:560px){ .dm-ed-meta { grid-template-columns:1fr; } }
.dm-tree-hd { display:flex; align-items:center; justify-content:space-between; font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft); margin:6px 0 8px; }
.dm-tree { border:1px solid var(--bd); border-radius:12px; background:var(--white); padding:10px; max-width:720px; }
.dm-tree-empty { color:var(--ink-faint); font-size:12.5px; padding:14px; text-align:center; }
.dm-node { display:flex; align-items:center; gap:8px; padding:4px 0; }
.dm-node-ic { color:var(--accent); flex:0 0 auto; }
.dm-node-name { flex:1; min-width:0; font-size:13px; border:1px solid transparent; border-radius:6px; padding:5px 8px;
  background:transparent; color:var(--ink); }
.dm-node-name:hover { border-color:var(--bd); }
.dm-node-name:focus { outline:none; border-color:var(--accent); background:var(--bg); }
.dm-node-add, .dm-node-del { flex:0 0 auto; border:0; background:none; color:var(--ink-faint); cursor:pointer;
  padding:3px 5px; border-radius:6px; }
.dm-node-add:hover { color:var(--accent); background:var(--accent-bg); }
.dm-node-del:hover { color:#DC2626; background:#FEF2F2; }
.dm-ed-ft { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; max-width:720px; }

/* filing rules */
.dm-fr { margin-top:22px; border-top:1px solid var(--bd); padding-top:18px; }
.dm-fr-hd { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.dm-fr-hd > span:first-child { font-size:14px; font-weight:700; color:var(--ink); display:inline-flex; align-items:center; gap:6px; }
.dm-fr-sub { font-size:12px; color:var(--ink-faint); }
.dm-fr-rows { display:flex; flex-direction:column; gap:8px; max-width:640px; }
.dm-fr-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dm-fr-label { font-size:13px; color:var(--ink); }
.dm-fr-sel { flex:0 0 auto; min-width:220px; padding:7px 10px; border:1px solid var(--bd); border-radius:8px;
  background:var(--white); color:var(--ink); font-size:12.5px; cursor:pointer; }
.dm-fr-sel:focus { outline:none; border-color:var(--accent); }
.dm-fr-bucket { display:flex; align-items:flex-start; gap:7px; font-size:13px; color:var(--ink); cursor:pointer; margin-top:14px; max-width:640px; }
.dm-fr-bucket input { accent-color:var(--accent); margin-top:2px; }
.dm-fr-ft { margin-top:14px; }

/* ── Cloud storage section ─────────────────────────────────── */
.dm-cl-blurb { font-size:13px; color:var(--ink-soft); line-height:1.5; max-width:640px; margin:0 0 14px; }
.dm-cl-row { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.dm-cl-name { font-size:13.5px; font-weight:700; color:var(--ink); }
.dm-cl-pill { display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:700; padding:3px 9px; border-radius:999px; }
.dm-cl-pill.on  { background:rgba(22,163,74,.14); color:#16A34A; }
.dm-cl-pill.off { background:var(--bg2); color:var(--ink-faint); }
.dm-cl-pill.err { background:rgba(220,38,38,.14); color:#DC2626; }
.dm-cl-root { display:flex; align-items:flex-end; gap:10px; margin-top:14px; flex-wrap:wrap; }
.dm-cl-root label { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--ink-soft); font-weight:600; }
.dm-cl-root input { min-width:260px; padding:7px 10px; border:1px solid var(--bd); border-radius:8px; background:var(--white); color:var(--ink); font-size:12.5px; }
.dm-cl-root input:focus { outline:none; border-color:var(--accent); }
.dm-cl-ft { margin-top:14px; }
