/* Рэй-07 admin section (ray07-admin.js). Uses the site's theme variables, so both themes work. */
.ray07-panel { min-width: 0; padding: 18px; }
.ray07-panel .admin-db-header { grid-template-columns: 1fr; }
.ray07-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.ray07-tabs button {
  border: 1px solid var(--card-border); border-radius: 999px; background: transparent; color: var(--text-main);
  padding: 8px 14px; font: inherit; font-size: 13px; cursor: pointer;
}
.ray07-tabs button.is-active { background: var(--accent-purple); border-color: var(--accent-purple); color: #fff; }
.ray07-body { display: grid; gap: 14px; min-width: 0; }
.ray07-panel .btn-secondary, .ray07-modal .btn-secondary {
  border: 1px solid var(--card-border); border-radius: 999px; background: transparent; color: var(--text-main);
  padding: 7px 12px; font: inherit; font-size: 12px; cursor: pointer; white-space: nowrap;
}
.ray07-panel .btn-secondary:hover:not(:disabled), .ray07-modal .btn-secondary:hover:not(:disabled) { border-color: var(--accent-neon); }
.ray07-panel .btn-secondary:disabled, .ray07-modal .btn-secondary:disabled { opacity: 0.45; cursor: default; }
.ray07-panel .primary-action, .ray07-modal .primary-action { width: auto; justify-self: start; padding: 10px 20px; min-height: 0; }
.ray07-panel input[type="file"] { color: var(--text-main); font-size: 13px; }
.ray07-panel .form-input, .ray07-panel .form-textarea, .ray07-modal .form-input, .ray07-modal .form-textarea {
  width: 100%; box-sizing: border-box; border: 1px solid var(--card-border); border-radius: 10px; padding: 8px 10px;
  background: var(--card-bg); color: var(--text-main); font: inherit; font-size: 13px;
}
.ray07-modal .form-textarea { min-height: 72px; resize: vertical; }
.ray07-modal .admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ray07-modal .admin-form-grid .admin-wide { grid-column: 1 / -1; }
.ray07-modal .form-field { display: grid; gap: 4px; }
.ray07-card {
  border: 1px solid var(--card-border); border-radius: var(--radius-lg); background: var(--card-bg); padding: 16px;
  display: grid; gap: 10px; min-width: 0;
}
.ray07-card h3, .ray07-card h4 { margin: 0; color: var(--text-main); }
.ray07-card p { margin: 0; color: var(--text-main); }
.ray07-muted { color: var(--text-muted) !important; font-size: 13px; }
.ray07-error { color: #f87171 !important; }
.ray07-warn { color: #f59e0b; font-size: 12px; }
.ray07-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.ray07-tile { border: 1px solid var(--card-border); border-radius: var(--radius-md); background: var(--card-bg); padding: 12px; display: grid; gap: 4px; }
.ray07-tile b { font-size: 26px; color: var(--text-main); }
.ray07-tile span { color: var(--text-muted); font-size: 12px; }
.ray07-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px; }
.ray07-bulk { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ray07-inline { display: inline-flex; gap: 6px; align-items: center; }
.ray07-small { width: 90px !important; }
.ray07-check { display: inline-flex; gap: 6px; align-items: center; color: var(--text-main); font-size: 13px; }
.ray07-list { display: grid; gap: 8px; }
.ray07-row {
  display: grid; grid-template-columns: auto 48px minmax(0, 1fr) auto; gap: 12px; align-items: center; cursor: pointer;
  border: 1px solid var(--card-border); border-radius: var(--radius-md); background: var(--card-bg); padding: 8px 12px;
}
.ray07-row:hover { border-color: var(--accent-neon); }
.ray07-list .ray07-row:not(:has(input)) { grid-template-columns: minmax(0, 1fr); }
.ray07-row-main { display: grid; gap: 2px; min-width: 0; }
.ray07-row-main b { color: var(--text-main); overflow-wrap: anywhere; }
.ray07-row-main small { color: var(--text-muted); font-weight: 400; }
.ray07-thumb { width: 48px; height: 64px; object-fit: cover; border-radius: 8px; }
.ray07-nocover {
  display: grid; place-items: center; border: 1px dashed var(--card-border); border-radius: 8px; color: var(--text-muted);
  font-size: 10px; text-align: center; min-height: 64px;
}
.ray07-chip { display: inline-block; border-radius: 999px; padding: 3px 10px; font-size: 12px; border: 1px solid var(--card-border); color: var(--text-main); white-space: nowrap; }
.ray07-status-ready, .ray07-status-scheduled { border-color: #22c55e; color: #22c55e; }
.ray07-status-published { border-color: var(--accent-cyan); color: var(--accent-cyan); }
.ray07-status-error { border-color: #f87171; color: #f87171; }
.ray07-status-excluded { opacity: 0.6; }
.ray07-pick { background: transparent; cursor: pointer; font: inherit; font-size: 12px; }
.ray07-pager { display: flex; gap: 8px; align-items: center; justify-content: flex-end; color: var(--text-muted); }
.ray07-danger { border-color: #f87171 !important; color: #f87171 !important; }
.ray07-imports { display: grid; gap: 8px; }
.ray07-import { display: grid; gap: 4px; color: var(--text-main); font-size: 13px; justify-items: start; }
.ray07-modal {
  position: fixed; inset: 0; z-index: 1000; background: rgba(0, 0, 0, 0.6); display: grid; place-items: start center;
  overflow-y: auto; padding: 24px 16px;
}
.ray07-dialog {
  width: min(980px, 100%); background: var(--bg-color); border: 1px solid var(--card-border); border-radius: var(--radius-lg);
  padding: 18px; display: grid; gap: 14px; color: var(--text-main);
}
.ray07-dialog-small { width: min(560px, 100%); }
.ray07-dialog-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.ray07-dialog-head h3 { margin: 0; }
.ray07-dialog-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 16px; }
.ray07-cover { display: grid; gap: 8px; align-content: start; }
.ray07-cover img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--radius-md); }
.ray07-cover .ray07-nocover { aspect-ratio: 3 / 4; }
.ray07-src { color: var(--accent-cyan); font-weight: 400; }
.ray07-ai { color: var(--accent-pink); font-weight: 400; }
.ray07-missing .field-label { color: #f59e0b; }
.ray07-people { gap: 8px !important; }
.ray07-person { display: grid; grid-template-columns: auto repeat(5, minmax(0, 1fr)); gap: 6px; align-items: end; }
.ray07-person label { display: grid; gap: 2px; }
.ray07-approve { border-color: #22c55e !important; color: #22c55e !important; }
@media (max-width: 760px) { .ray07-person { grid-template-columns: 1fr 1fr; } }
.ray07-warn-list { margin: 0; padding-left: 18px; color: #f59e0b; font-size: 13px; }
.ray07-original pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 420px; overflow-y: auto; font: inherit; font-size: 13px; }
.ray07-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ray07-actions .primary-action { width: auto; }
.ray07-events { margin: 0; padding-left: 18px; display: grid; gap: 4px; font-size: 13px; }
.ray07-events a { color: var(--accent-neon); }
.ray07-plan, .ray07-order { margin: 0; padding-left: 22px; display: grid; gap: 6px; color: var(--text-main); font-size: 13px; }
.ray07-order li { display: flex; gap: 6px; align-items: center; }
.ray07-order li span { flex: 1; }
.ray07-rest { display: flex; flex-wrap: wrap; gap: 6px; max-height: 260px; overflow-y: auto; }
.ray07-times, .ray07-weekdays { display: flex; flex-wrap: wrap; gap: 8px; }
.ray07-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.ray07-day {
  border: 1px solid var(--card-border); border-radius: 10px; padding: 6px; min-height: 84px; display: grid; gap: 4px;
  align-content: start; font-size: 12px; color: var(--text-main); min-width: 0;
}
.ray07-event {
  border: 0; border-radius: 6px; padding: 3px 5px; text-align: left; font: inherit; font-size: 11px; cursor: pointer; color: #fff;
  background: var(--accent-purple); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ray07-event-pinned { background: #16a34a; }
.ray07-event-season { background: #ea580c; }
.ray07-log { display: grid; gap: 2px; font-size: 12px; color: var(--text-main); }
.ray07-progress { color: var(--text-main); font-size: 13px; }

@media (max-width: 760px) {
  #view-admin-ray07 .admin-workspace { grid-template-columns: minmax(0, 1fr); }
  .ray07-panel { padding: 12px; }
  .ray07-row { grid-template-columns: auto 40px minmax(0, 1fr); }
  .ray07-row > .ray07-chip { grid-column: 2 / -1; justify-self: start; }
  .ray07-dialog-grid { grid-template-columns: 1fr; }
  .ray07-cover { max-width: 220px; }
  .ray07-calendar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
