/* Свои стили страниц кабинета. Классы Tailwind из шаблонов Filament без сборки темы не видит,
   поэтому здесь — небольшой набор своих, на переменных цветов Filament. */
.hub-cols { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 30rem), 1fr)); align-items: start; }
.hub-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; font-size: .875rem; color: var(--gray-600); }
.dark .hub-meta { color: var(--gray-400); }
.hub-meta b { color: var(--gray-950); }
.dark .hub-meta b { color: #fff; }
.hub-muted { color: var(--gray-500); font-size: .875rem; }
.hub-small { font-size: .875rem; }
.hub-strong { font-weight: 600; margin: 0 0 .75rem; }
.hub-text { white-space: pre-line; font-size: .875rem; line-height: 1.65; max-height: 46rem; overflow-y: auto; }
.hub-scroll { max-height: 28rem; overflow-y: auto; }
.hub-empty { padding: 2.5rem 0; text-align: center; }
.hub-empty p:first-child { font-size: 1.125rem; font-weight: 600; }
.hub-banner { border-radius: .75rem; padding: .75rem 1rem; font-size: .875rem; }
.hub-banner.warning { background: var(--warning-50); color: var(--warning-800); }
.hub-banner.danger { background: var(--danger-50); color: var(--danger-700); }
.hub-banner.success { background: var(--success-50); color: var(--success-700); }
.dark .hub-banner.warning { background: color-mix(in oklab, var(--warning-500) 12%, transparent); color: var(--warning-300); }
.dark .hub-banner.danger { background: color-mix(in oklab, var(--danger-500) 12%, transparent); color: var(--danger-300); }
.dark .hub-banner.success { background: color-mix(in oklab, var(--success-500) 12%, transparent); color: var(--success-300); }
.hub-danger { color: var(--danger-600); }
.hub-success { color: var(--success-600); }
.hub-link { color: var(--primary-600); }
.hub-link:hover { text-decoration: underline; }
.hub-list { list-style: none; margin: 0; padding: 0; font-size: .875rem; }
.hub-list li { padding: .5rem 0; border-top: 1px solid var(--gray-100); }
.hub-list li:first-child { border-top: 0; }
.dark .hub-list li { border-color: rgb(255 255 255 / .05); }
.hub-table-wrap { overflow-x: auto; }
.hub-table { width: 100%; font-size: .875rem; border-collapse: collapse; text-align: left; }
.hub-table th { color: var(--gray-500); font-weight: 500; padding: .5rem 1rem .5rem 0; }
.hub-table td { padding: .375rem 1rem .375rem 0; border-top: 1px solid var(--gray-100); }
.dark .hub-table td { border-color: rgb(255 255 255 / .05); }
.hub-bar { position: sticky; bottom: 0; z-index: 10; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem;
  padding: .75rem; border-radius: .75rem; background: rgb(255 255 255 / .92); backdrop-filter: blur(6px);
  box-shadow: 0 1px 3px rgb(0 0 0 / .1); border: 1px solid rgb(0 0 0 / .05); }
.dark .hub-bar { background: rgb(24 24 27 / .92); border-color: rgb(255 255 255 / .1); }
.hub-cover { display: flex; align-items: center; gap: .75rem; margin-top: 1rem; }
.hub-cover img { width: 14rem; border-radius: .5rem; }
.hub-stack > * + * { margin-top: 1rem; }
.hub-mono textarea { font-family: ui-monospace, Menlo, monospace; font-size: .8125rem; }
