/* Diastolix additions on top of modern.css (same tokens, light + dark). */

.brand-mark { width: 32px; height: 32px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #696cff, #8b8eff); color: #fff; font-size: 1.3rem; box-shadow: 0 4px 10px rgba(105, 108, 255, .35); }

.page-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem; margin-bottom: 1rem; }
.page-head h4 { margin: 0; }
.page-head .sub { color: var(--bm-muted); font-size: .85rem; }

.media-thumb { border-radius: 8px; object-fit: cover; max-width: 90px; border: 1px solid var(--bm-border); background: var(--bm-surface-2); }
.media-preview { max-height: 140px; max-width: 100%; border-radius: 10px; border: 1px solid var(--bm-border); }

.upload-box { border: 1.5px dashed var(--bm-border); border-radius: 12px; padding: .9rem; background: var(--bm-surface-2); }
.upload-box .upload-current { display: flex; align-items: center; gap: .75rem; margin-bottom: .6rem; flex-wrap: wrap; }
.upload-box .gcs-note { font-size: .72rem; color: var(--bm-muted); }

.filter-bar .form-control, .filter-bar .form-select { min-width: 140px; }

.table td { vertical-align: middle; }
.table .actions { white-space: nowrap; }
.cell-clip { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.detail-grid { display: grid; grid-template-columns: minmax(140px, 220px) 1fr; gap: .45rem 1rem; }
.detail-grid dt { color: var(--bm-muted); font-weight: 500; font-size: .85rem; }
.detail-grid dd { margin: 0; color: var(--bm-text); word-break: break-word; }

/* CBT question editor */
tr[data-href] { cursor: pointer; }
.q-card {border: 1px solid var(--bm-border); border-radius: 12px; background: var(--bm-surface); margin-bottom: 1rem; }
.q-card .q-head { display: flex; align-items: center; gap: .6rem; padding: .7rem 1rem; border-bottom: 1px solid var(--bm-border); background: var(--bm-surface-2); border-radius: 12px 12px 0 0; }
.q-card .q-num { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bm-primary-soft); color: var(--bm-primary); font-weight: 700; font-size: .8rem; flex: 0 0 28px; }
.q-card .q-body { padding: 1rem; }
.opt-row { display: grid; grid-template-columns: 1fr 140px 80px 200px 40px; gap: .5rem; align-items: center; margin-bottom: .5rem; }
.opt-row img { height: 34px; border-radius: 6px; }
@media (max-width: 768px) { .opt-row { grid-template-columns: 1fr 1fr; } }

.bucket-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 1rem; }
.bucket-item { border: 1px solid var(--bm-border); border-radius: 12px; overflow: hidden; background: var(--bm-surface); display: flex; flex-direction: column; }
.bucket-item .thumb { height: 120px; background: var(--bm-surface-2); display: flex; align-items: center; justify-content: center; }
.bucket-item .thumb img { width: 100%; height: 100%; object-fit: cover; }
.bucket-item .thumb i { font-size: 2.6rem; color: var(--bm-muted); }
.bucket-item .meta { padding: .55rem .7rem; font-size: .75rem; }
.bucket-item .meta .name { font-weight: 600; color: var(--bm-heading); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bucket-item .tools { display: flex; gap: .3rem; padding: 0 .7rem .6rem; margin-top: auto; }
.folder-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .75rem; border-radius: 50rem; background: var(--bm-surface-2); border: 1px solid var(--bm-border); color: var(--bm-text); font-size: .82rem; }
.folder-chip:hover, .folder-chip.active { border-color: var(--bm-primary); color: var(--bm-primary); }

/* setup / login */
.auth-brand { display: flex; align-items: center; justify-content: center; gap: .6rem; margin-bottom: 1.2rem; }
.auth-brand .app-brand-text { font-size: 1.5rem; }
