.cp-admin { color: #1f2937; }
.cp-admin [hidden] { display: none !important; }
.cp-admin .cp-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.cp-admin .cp-stats > div { padding: 18px; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; }
.cp-admin .cp-stats span { color: #64748b; font-size: 13px; }
.cp-admin .cp-stats strong { display: block; margin-top: 10px; font-size: 28px; }
.cp-admin .cp-tabs, .cp-admin .cp-actions, .cp-admin .cp-filters, .cp-admin .cp-pagination { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.cp-admin .cp-tabs { margin-bottom: 16px; }
.cp-admin .cp-tabs [aria-current="page"] { color: #fff; border-color: #1677ff; background: #1677ff; }
.cp-admin .cp-panel { padding: 22px; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; }
.cp-admin .cp-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.cp-admin h2 { margin: 0; font-size: 19px; }
.cp-admin h3 { margin: 0 0 20px; font-size: 17px; }
.cp-admin .cp-filters { margin-bottom: 18px; }
.cp-admin .cp-filters input { width: min(320px, 100%); }
.cp-admin input, .cp-admin select, .cp-admin textarea { max-width: 100%; font: inherit; }
.cp-admin button { white-space: nowrap; min-height: 36px; }
.cp-admin button:disabled { opacity: .5; cursor: default; }
.cp-admin :is(button,input,select,textarea):focus-visible { outline: 2px solid #1677ff; outline-offset: 2px; }
.cp-admin .cp-table-wrap { overflow-x: auto; }
.cp-admin table { width: 100%; border-collapse: collapse; font-size: 14px; }
.cp-admin th, .cp-admin td { padding: 14px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid #edf0f3; max-width: 320px; overflow-wrap: anywhere; }
.cp-admin th { background: #f8fafc; color: #64748b; white-space: nowrap; font-weight: 500; }
.cp-admin td small { display: block; color: #64748b; margin-top: 6px; line-height: 1.6; }
.cp-admin .cp-badge { display: inline-block; padding: 3px 8px; background: #f1f5f9; color: #475569; border-radius: 4px; font-size: 12px; white-space: nowrap; }
.cp-admin .cp-empty { padding: 48px; text-align: center; color: #64748b; }
.cp-admin .cp-pagination { justify-content: flex-end; margin-top: 20px; }
.cp-admin .cp-pagination span { margin-right: auto; color: #64748b; font-size: 13px; }
.cp-admin .cp-editor { padding: 22px; margin: 18px 0; border: 1px solid #cddff8; background: #f8fbff; border-radius: 8px; }
.cp-admin .cp-form-grid, .cp-admin .cp-coordinates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cp-admin .cp-form-grid label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.cp-admin .cp-form-grid :is(input,select,textarea) { width: 100%; }
.cp-admin .cp-form-wide { grid-column: 1 / -1; }
.cp-admin .cp-check { flex-direction: row !important; align-items: center; }
.cp-admin .cp-check input { width: auto; }
.cp-admin .cp-coordinates > label:first-child { grid-column: 1 / -1; }
.cp-admin .cp-hint { color: #64748b; font-size: 13px; line-height: 1.8; margin: 12px 0; }
.cp-admin .cp-notice:not(:empty) { padding: 12px; margin-bottom: 14px; background: #eff6ff; border-radius: 4px; }
.cp-admin .cp-notice.cp-error { color: #b42318; background: #fff1f0; }
.cp-admin .cp-urgent { color: #b42318; font-weight: 600; }
.cp-admin .cp-upload { margin-top: 12px; color: #1677ff; }
.cp-admin .cp-upload input { font-size: 13px; }
@media (max-width: 1000px) {
  .cp-admin .cp-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cp-admin .cp-panel { padding: 14px; }
}
@media (max-width: 640px) {
  .cp-admin .cp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-admin .cp-form-grid, .cp-admin .cp-coordinates { grid-template-columns: 1fr; }
  .cp-admin .cp-editor { padding: 14px; }
}
