:root{
  --blue:#2563eb;--border:#e5e7eb;--muted:#6b7280;--danger:#ef4444;--danger-bg:#fee2e2;
  --bg:#ffffff;--accent:#f59e0b;--green:#16a34a;--amber:#d97706;--chip-bg:#f9fafb;--chip-active:#eef2ff
}
.db-wrap{max-width:860px;margin:0 auto;padding:14px;background:var(--bg)}
h1{font-size:22px;margin:8px 0 10px}
.db-controls{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:8px}
.db-durations,.db-slots{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.db-label{font-weight:600;margin-right:4px}
.db-chip{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--chip-bg);cursor:pointer;user-select:none;transition:all .15s;font-size:13px}
.db-chip:hover{box-shadow:0 1px 0 rgba(0,0,0,.04)}
.db-chip.active,.db-slot.active{border-color:var(--blue);background:var(--chip-active)}
.db-slot-grid{display:flex;flex-wrap:wrap;gap:6px}
.db-slot input{display:none}

#doodhbar-calendar{margin-top:6px}
.db-month{margin:8px 0}
.db-month-head{font-weight:700;margin-bottom:6px;font-size:14px}
.db-grid{display:grid;gap:6px}
.db-grid-3{grid-template-columns:repeat(3,1fr)} /* always 3 columns */
.db-cell{border:1px solid var(--border);border-radius:12px;padding:8px;min-height:72px;background:#fff;display:flex;flex-direction:column;justify-content:space-between}
.db-cell.selected{outline:2px solid var(--accent)}
.db-cell.disabled{background:var(--danger-bg);border-color:var(--danger)}
.db-dom{font-weight:700;font-size:14px;color:#111}
.db-val{margin-top:6px;width:100%;height:34px;border:1px solid var(--border);border-radius:8px;padding:0 8px;text-align:center}
.db-na{margin-top:6px;font-size:12px;color:#b91c1c;font-weight:700;text-align:center}

.db-bulk{background:#fff;padding:8px;border-radius:10px;border:1px solid var(--border);display:flex;align-items:center;gap:6px;margin-top:10px;flex-wrap:wrap}
.db-bulk-label{font-weight:600;margin-right:6px;font-size:13px}

.db-sticky{position:sticky;bottom:0;background:#fff;color:#111;padding:12px 12px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border)}
.db-sticky .button{background:var(--blue);border:none}
.db-wallet{font-size:13px;margin-right:10px}
.db-topup{text-decoration:underline;margin-left:6px}
.button.button-primary{padding:10px 14px;border-radius:8px}

/* Account UI */
.db-h{margin:6px 0 10px}
.db-card{border:1px solid var(--border);border-radius:12px;padding:14px;margin:12px 0;background:#fff}
.db-card-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.db-row{display:flex;gap:10px;justify-content:space-between;font-size:14px;margin:4px 0}
.db-muted{color:var(--muted);font-size:13px}
.db-chip.sm{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:#fff}

.db-manage-wrap{border:1px dashed var(--border);border-radius:10px;padding:10px;margin-top:8px;background:#fff}
.db-legend{display:flex;align-items:center;gap:14px;margin-bottom:8px;font-size:12px;color:var(--muted)}
.db-legend .k{display:inline-block;width:10px;height:10px;border-radius:3px;background:#ccc;vertical-align:middle;margin-right:4px}
.db-legend .k.paused{background:#fecaca}
.db-legend .k.delivered{background:#bbf7d0}
.db-legend .k.low{background:#fde68a}

.db-manage-grid{display:grid;gap:6px}
.db-manage-grid.db-grid-3{grid-template-columns:repeat(3,1fr)}
.db-manage-cell{position:relative;border:1px solid var(--border);border-radius:10px;padding:10px;text-align:center;cursor:pointer;background:#fff;min-height:48px}
.db-manage-cell.disabled{cursor:not-allowed;background:#f8fafc;color:#94a3b8}
.db-manage-cell.selected{outline:2px solid var(--accent)}
.db-manage-cell.paused{background:#fff1f2;border-color:#fecdd3;color:#b91c1c}
.db-manage-cell.delivered{background:#ecfdf5;border-color:#a7f3d0}
.db-manage-cell.low{background:#fffbeb;border-color:#fde68a}
.db-manage-cell .mark{position:absolute;right:6px;bottom:4px;font-weight:700}

.db-manage-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.db-manage-legend{font-size:12px;color:var(--muted);margin-top:4px}

/* Admin filters */
.db-filters{display:flex;gap:8px;align-items:flex-end;margin-bottom:10px;flex-wrap:wrap}
.db-filters input,.db-filters select{min-height:32px}
