/* ═══════════════════════════════════════════════════════════════════════════
 * MD.Scribe 3.0 — admin panel layout & components
 * ═════════════════════════════════════════════════════════════════════════ */

.md-admin-shell { display: flex; min-height: 100dvh; }

.md-admin-sidebar {
  position: fixed; inset-block: 0; left: 0; z-index: 50;
  width: 16.5rem; display: flex; flex-direction: column;
  background: var(--sidebar, var(--card));
  color: var(--sidebar-foreground, var(--card-foreground));
  border-right: 1px solid var(--sidebar-border, var(--border));
  transform: translateX(-100%);
  transition: transform 0.22s cubic-bezier(0.2, 0.9, 0.3, 1);
}
.md-admin-sidebar[data-open="1"] { transform: none; box-shadow: 0 0 60px oklch(0 0 0 / 25%); }
.md-admin-sidebar-backdrop { position: fixed; inset: 0; z-index: 45; background: oklch(0 0 0 / 45%); }
.md-admin-sidebar-backdrop[hidden] { display: none; }
@media (min-width: 1024px) {
  .md-admin-sidebar { position: sticky; top: 0; height: 100dvh; transform: none; }
  .md-admin-sidebar-backdrop { display: none !important; }
}

.md-admin-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }

/* Stat cards */
.md-stat-card {
  display: flex; flex-direction: column; gap: 0.1rem;
  padding: 1rem 1.1rem; border-radius: var(--radius);
  border: 1px solid var(--border); background: var(--card);
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.1s;
}
.md-stat-card:hover { border-color: var(--ring); box-shadow: 0 3px 14px oklch(0 0 0 / 7%); transform: translateY(-1px); }
.md-stat-icon { color: var(--primary); margin-bottom: 0.3rem; }
.md-stat-value { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.md-stat-label { font-size: 0.72rem; color: var(--muted-foreground); }

.md-action-row {
  display: flex; align-items: center; gap: 0.55rem;
  padding: 0.5rem 0.65rem; border-radius: calc(var(--radius) - 3px);
  font-size: 0.8125rem; font-weight: 500; color: var(--foreground);
  background: transparent; border: 0; cursor: pointer; text-align: left; width: 100%;
  transition: background-color 0.12s;
  text-decoration: none;
}
.md-action-row:hover { background: var(--accent); color: var(--accent-foreground); }
.md-action-row svg { color: var(--muted-foreground); }

.md-recent-row {
  display: flex; align-items: center; gap: 0.55rem;
  padding: 0.45rem 0.5rem; border-radius: calc(var(--radius) - 3px);
  transition: background-color 0.12s; text-decoration: none; color: inherit;
}
a.md-recent-row:hover { background: var(--accent); }

/* Flashes */
.md-flash {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.7rem 0.9rem; border-radius: calc(var(--radius) - 2px);
  border: 1px solid; font-size: 0.8125rem;
}
.md-flash-success { background: color-mix(in oklch, oklch(0.723 0.219 149.579) 10%, transparent); border-color: color-mix(in oklch, oklch(0.723 0.219 149.579) 30%, transparent); }
.md-flash-warning { background: color-mix(in oklch, oklch(0.769 0.188 70.08) 12%, transparent); border-color: color-mix(in oklch, oklch(0.769 0.188 70.08) 32%, transparent); }
.md-flash-error { background: color-mix(in oklch, var(--destructive) 10%, transparent); border-color: color-mix(in oklch, var(--destructive) 30%, transparent); }
.md-flash-info { background: color-mix(in oklch, var(--primary) 8%, transparent); border-color: color-mix(in oklch, var(--primary) 25%, transparent); }

/* Definition list */
.md-deflist { display: grid; grid-template-columns: 1fr; gap: 0.1rem; font-size: 0.875rem; }
.md-deflist > div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.45rem 0.2rem; border-bottom: 1px solid color-mix(in oklch, var(--border) 55%, transparent); }
.md-deflist dt { color: var(--muted-foreground); }
.md-deflist dd { font-weight: 550; font-variant-numeric: tabular-nums; text-align: right; }

.md-code-pre-mini {
  font-family: var(--md-font-mono); font-size: 0.7rem; line-height: 1.7;
  background: oklch(0.17 0.007 285.9); color: oklch(0.93 0.005 285.9);
  border-radius: calc(var(--radius) - 3px); padding: 0.8rem 1rem;
  overflow-x: auto; white-space: pre;
}
.md-log-pre { color: var(--muted-foreground); }
.md-log-pre .ERROR { color: var(--destructive); }

/* File manager */
.md-fm-name { display: inline-flex; align-items: center; gap: 0.5rem; min-width: 0; }
.md-fm-row[data-hidden="1"] { display: none; }

/* Editor */
.md-editor-shell {
  display: grid; gap: 1rem;
  grid-template-columns: 1fr;
  height: calc(100dvh - 8.5rem);
  min-height: 34rem;
}
@media (min-width: 1024px) {
  .md-editor-shell { grid-template-columns: 15rem 1fr; }
}
.md-editor-files { display: flex; flex-direction: column; overflow: hidden; }
.md-editor-filelist { flex: 1; overflow-y: auto; padding: 0 0.4rem; display: flex; flex-direction: column; gap: 1px; }
.md-editor-file {
  display: flex; align-items: center; gap: 0.45rem;
  padding: 0.4rem 0.55rem; border-radius: calc(var(--radius) - 3px);
  font-size: 0.75rem; font-family: var(--md-font-mono);
  color: var(--muted-foreground); background: transparent; border: 0;
  cursor: pointer; text-align: left; width: 100%;
  transition: background-color 0.1s, color 0.1s;
}
.md-editor-file:hover { background: var(--accent); color: var(--foreground); }
.md-editor-file[data-active="1"] { background: color-mix(in oklch, var(--primary) 10%, transparent); color: var(--primary); font-weight: 600; }
.md-editor-file[data-hidden="1"] { display: none; }

.md-editor-main { display: flex; flex-direction: column; overflow: hidden; min-width: 0; }
.md-editor-toolbar {
  display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap;
  padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--border);
  background: color-mix(in oklch, var(--muted) 30%, transparent);
}
.md-editor-path { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.8125rem; font-weight: 600; min-width: 0; }
.md-editor-path span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--md-font-mono); font-weight: 500; }
.md-editor-meta { font-size: 0.6875rem; color: var(--muted-foreground); }
.md-editor-panes { flex: 1; display: grid; grid-template-columns: 1fr; min-height: 0; }
.md-editor-panes[data-preview="1"] { grid-template-columns: 1fr; }
@media (min-width: 900px) {
  .md-editor-panes[data-preview="1"] { grid-template-columns: 1fr 1fr; }
  .md-editor-panes[data-preview="1"] .md-editor-pane-source { border-right: 1px solid var(--border); }
}
.md-editor-panes[data-preview="0"] .md-editor-pane-preview { display: none; }
.md-editor-pane-source, .md-editor-pane-preview { min-height: 0; overflow: hidden; display: flex; }
.md-editor-pane-preview { overflow-y: auto; background: color-mix(in oklch, var(--muted) 18%, transparent); }
.md-editor-pane-preview > div { flex: 1; min-width: 0; overflow-y: auto; }
.md-editor-textarea {
  flex: 1; width: 100%; resize: none; border: 0; outline: none;
  background: transparent; color: var(--foreground);
  padding: 1rem 1.1rem; font-size: 0.8125rem; line-height: 1.75;
  tab-size: 2;
}
.md-editor-statusbar {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.4rem 0.75rem; border-top: 1px solid var(--border);
  font-size: 0.6875rem; color: var(--muted-foreground);
  background: color-mix(in oklch, var(--muted) 30%, transparent);
}
