/* Каркас */
.wp-astrochart { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; max-width: 1220px; margin: 0 auto; padding-bottom: 24px; }

/* Форма */
.ac-form {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px 16px;
  align-items: end;
  margin-bottom: 16px;
}
.ac-field { grid-column: span 3; min-width: 0; }
.ac-city  { grid-column: span 6; position: relative; }
.ac-actions { grid-column: span 3; display:flex; align-items:end; }
@media (max-width:1024px){ .ac-field{grid-column:span 6} .ac-city{grid-column:span 12} .ac-actions{grid-column:span 12} }
@media (max-width:640px){ .ac-field,.ac-city,.ac-actions{grid-column:span 12} }

.ac-form label { display:block; font-size:14px; color:#444; margin-bottom:6px; }
.ac-form input[type="date"], .ac-form input[type="time"], .ac-form input[type="number"], .ac-form input[type="text"] {
  width:100%; padding:8px 10px; border:1px solid #cfd6e4; border-radius:8px; font-size:14px; background:#fff;
}
.ac-submit { padding:10px 14px; border:0; border-radius:8px; background:#7c62d9; color:#fff; cursor:pointer; font-weight:600; width:100%; }
.ac-submit:hover { background:#6a56c0; }

/* Подсказки города */
.ac-suggest {
  position:absolute; z-index:20; top:100%; left:0; right:0;
  background:#fff; border:1px solid #cfd6e4; border-radius:8px; margin-top:6px;
  max-height:220px; overflow:auto; box-shadow: 0 8px 20px rgba(2,6,23,.08);
}
.ac-suggest-item { padding:8px 10px; cursor:pointer; border-bottom:1px dashed #eee; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ac-suggest-item:last-child { border-bottom:0; }
.ac-suggest-item:hover { background:#f3f4f6; }

/* Результат: новая компоновка */
.ac-layout { display:grid; grid-template-columns: minmax(680px, 1fr) 1fr; gap:24px; align-items:start; }
@media (max-width:1180px){ .ac-layout { grid-template-columns: 1fr; } }

.ac-left  { display:flex; flex-direction:column; gap:16px; }
.ac-right { display:flex; flex-direction:column; gap:16px; }
.ac-canvas { display:flex; justify-content:center; }
.ac-under  { display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
@media (max-width:860px){ .ac-under { grid-template-columns: 1fr; } }

.table-card { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:14px; box-shadow:0 8px 20px rgba(2,6,23,.04); }
.table-card h3 { margin:0 0 10px; font-size:16px; }
.table-card .small { font-weight:400; color:#64748b; font-size:12px; }

/* Планеты */
#ac-planets { width:100%; border-collapse:collapse; }
#ac-planets th, #ac-planets td { padding:8px 10px; border-bottom:1px solid #f1f5f9; text-align:left; font-size:14px; vertical-align:middle; }
#ac-planets th { color:#64748b; font-weight:600; }
.badge { display: inline-block;
    padding: 6px 13px;
    border-radius: 6px;
    background-color: #d82aa7;
    color: #fff;
    font-size: 14px; }

/* Матрица аспектов */
.aspect-grid { width:100%; border-collapse:collapse; }
.aspect-grid th, .aspect-grid td { padding:6px 8px; border-bottom:1px solid #f1f5f9; text-align:center; font-size:14px; }
.aspect-grid th { color:#64748b; font-weight:600; }
.aspect-cell { height:28px; min-width:28px; }
.diag { color:#cbd5e1; }

.aspect-conj { color:#111827; font-weight:700; }
.aspect-opp  { color:#ef4444; font-weight:700; }
.aspect-sqr  { color:#f59e0b; font-weight:700; }
.aspect-tri  { color:#10b981; font-weight:700; }
.aspect-sex  { color:#3b82f6; font-weight:700; }

/* Асцендент */
.asc-meta .asc-line { margin-bottom:6px; }
#ac-gpt pre { background:#0b1220; color:#d1e9ff; padding:10px; border-radius:8px; overflow:auto; }
.ac-error { color:#b91c1c; margin-bottom:8px; }
