* { box-sizing: border-box; }
body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  margin: 0;
  padding: 0;
  background: #f5f5f5;
  color: #1a1a1a;
  line-height: 1.5;
}
.header { background: #2c3e50; color: #fff; padding: 1rem 1.5rem; }
.header h1 { margin: 0; font-size: 1.5rem; }
.subtitle { margin: 0.25rem 0 0; font-size: 0.9rem; opacity: 0.9; }
.nav {
  background: #fff;
  padding: 0.5rem 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  border-bottom: 1px solid #e0e0e0;
}
.nav button {
  padding: 0.5rem 0.9rem;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
}
.nav button:hover { background: #f0f0f0; border-color: #999; }
.main { max-width: 900px; margin: 0 auto; padding: 1.5rem; }
.panel {
  background: #fff;
  border-radius: 8px;
  padding: 1.25rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.panel.hidden { display: none; }
.panel h2 { margin: 0 0 1rem; font-size: 1.2rem; }
.panel .hint { color: #555; font-size: 0.9rem; margin: 0 0 1rem; }
.call-form { margin-bottom: 1rem; }
.call-form label { display: block; font-size: 0.9rem; color: #555; margin-top: 0.5rem; margin-bottom: 0.25rem; }
.call-form label:first-of-type { margin-top: 0; }
.call-form input[type="text"], .call-form input[type="number"] {
  padding: 0.4rem 0.5rem; font-size: 0.95rem; width: 100%; max-width: 220px; margin-bottom: 0.5rem;
  border: 1px solid #ccc; border-radius: 4px;
}
.call-form button { padding: 0.5rem 1rem; margin-top: 0.5rem; border: 1px solid #3498db; background: #3498db; color: #fff; border-radius: 6px; cursor: pointer; font-size: 0.9rem; }
.call-form button:hover { background: #2980b9; }
.actions { margin-bottom: 1rem; }
.actions button { padding: 0.5rem 1rem; margin-right: 0.5rem; margin-bottom: 0.5rem; border: 1px solid #3498db; background: #3498db; color: #fff; border-radius: 6px; cursor: pointer; font-size: 0.9rem; }
.actions button:hover { background: #2980b9; border-color: #2980b9; }
.actions button:disabled { opacity: 0.6; cursor: not-allowed; }
.content { min-height: 2rem; white-space: pre-wrap; word-break: break-word; }
.content pre { margin: 0; white-space: pre-wrap; }
.content .error { color: #c0392b; }
.content .loading { color: #7f8c8d; }
.content ul.links { list-style: none; padding: 0; margin: 0; }
.content ul.links li { margin-bottom: 0.6rem; }
.content ul.links a { color: #2980b9; text-decoration: none; }
.content ul.links a:hover { text-decoration: underline; }
.content .task-card { border: 1px solid #e0e0e0; border-radius: 6px; padding: 1rem; margin-bottom: 1rem; background: #fafafa; }
.content .task-card h3 { margin: 0 0 0.5rem; font-size: 1rem; }
.content .task-card .meta { font-size: 0.85rem; color: #666; margin-bottom: 0.5rem; }
.content .task-card .desc { margin: 0.5rem 0; font-size: 0.9rem; }
.content .task-card .criteria { margin: 0.5rem 0; font-style: italic; color: #555; }
.content .task-card .estimate { font-size: 0.85rem; color: #27ae60; }
.content .task-card-actions { margin: 0.5rem 0; }
.content .task-card-actions .btn-execute-task { padding: 0.4rem 0.8rem; font-size: 0.85rem; cursor: pointer; border-radius: 6px; border: 1px solid #27ae60; background: #27ae60; color: #fff; }
.content .task-card-actions .btn-execute-task:hover:not(:disabled) { background: #219a52; }
.content .task-card-actions .btn-execute-task:disabled { opacity: 0.8; cursor: default; }
.content .task-card-actions .execute-result { margin-left: 0.5rem; font-size: 0.85rem; }
.content .task-card-actions .execute-result.error { color: #c0392b; }
.content .task-card-actions .btn-conversation-task { padding: 0.4rem 0.8rem; font-size: 0.85rem; cursor: pointer; border-radius: 6px; border: 1px solid #2980b9; background: #2980b9; color: #fff; margin-left: 0.3rem; }
.content .task-card-actions .btn-conversation-task:hover:not(:disabled) { background: #2471a3; }
.content .task-card-actions .btn-conversation-task:disabled { opacity: 0.8; cursor: default; }
.content .conversation-result { margin-top: 0.75rem; padding: 0.75rem; background: #f8f9fa; border-radius: 6px; font-size: 0.9rem; }
.content .conversation-result-inner p { margin: 0.25rem 0; }
.content .conversation-result .tz-text { max-height: 200px; overflow-y: auto; white-space: pre-wrap; word-break: break-word; margin-top: 0.25rem; }
.content .conversation-result .tz-note { color: #7f8c8d; font-style: italic; }
.content .conversation-result .tz-partial { color: #666; font-size: 0.85rem; }
.content .conversation-result .conversation-error { color: #c0392b; }
.content .yandex-review-block { margin-top: 0.75rem; padding-top: 0.5rem; border-top: 1px solid #dee2e6; }
.content .yandex-review-block label { display: block; font-size: 0.85rem; color: #555; margin-bottom: 0.25rem; }
.content .yandex-review-block .review-text-input { width: 100%; max-width: 400px; margin-bottom: 0.5rem; padding: 0.35rem; font-size: 0.9rem; }
.content .yandex-review-block .btn-yandex-review { padding: 0.4rem 0.8rem; font-size: 0.85rem; cursor: pointer; border-radius: 6px; border: 1px solid #8e44ad; background: #8e44ad; color: #fff; }
.content .yandex-review-block .btn-yandex-review:hover:not(:disabled) { background: #7d3c98; }
.content .yandex-review-block .btn-yandex-review:disabled { opacity: 0.8; cursor: default; }
.content .yandex-review-block .btn-schedule-review { padding: 0.4rem 0.8rem; font-size: 0.85rem; cursor: pointer; border-radius: 6px; border: 1px solid #16a085; background: #16a085; color: #fff; margin-left: 0.3rem; }
.content .yandex-review-block .btn-schedule-review:hover:not(:disabled) { background: #138d75; }
.content .yandex-review-block .btn-schedule-review:disabled { opacity: 0.8; cursor: default; }
.content .yandex-review-block .yandex-review-result { display: block; margin-top: 0.5rem; font-size: 0.9rem; }
.content .yandex-review-block .yandex-review-result.error { color: #c0392b; }
.content .yandex-review-block .review-screenshot { max-width: 100%; height: auto; border-radius: 4px; border: 1px solid #ddd; margin-top: 0.25rem; }
.content .summary-text { white-space: normal; }
.content .review-ok { color: #27ae60; }
.charts { display: flex; flex-wrap: wrap; gap: 1rem; }
.charts img { max-width: 100%; height: auto; border-radius: 4px; }
