/* Scoped to the server-projects app; no shell or other app overrides. */
.projects-app { display: flex; flex-direction: column; overflow: hidden; min-width: 0; }
.projects-scope, .projects-message { margin: 8px 14px; flex-shrink: 0; overflow-wrap: anywhere; }
.projects-toolbar { flex-wrap: wrap; flex-shrink: 0; }
.projects-split { display: grid; grid-template-columns: minmax(200px, 28%) minmax(0, 1fr); min-height: 0; flex: 1; }
.projects-side { display: flex; flex-direction: column; gap: 10px; min-height: 0; padding: 12px; border-right: 1px solid var(--line); }
.projects-side > input, .projects-side > select { width: 100%; min-width: 0; }
.projects-list { overflow-y: auto; min-height: 0; }
.projects-item { display: flex; flex-direction: column; text-align: left; gap: 5px; width: 100%; padding: 12px; margin-bottom: 7px; border: 1px solid var(--line); border-radius: 9px; background: transparent; color: inherit; cursor: pointer; overflow-wrap: anywhere; }
.projects-item.selected { border-color: var(--accent); background: var(--surface-2); }
.projects-item small, .projects-item span { color: var(--text-2); }
.projects-detail { overflow-y: auto; min-width: 0; padding: 14px 18px; overflow-wrap: anywhere; }
.projects-detail h2 { margin-top: 10px; }
.projects-detail h3 { margin: 20px 0 10px; }
.projects-detail [data-action="back"] { display: none; }
.projects-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.projects-source { border: 1px solid var(--line); border-radius: 8px; padding: 10px; margin: 8px 0; }
.projects-source > strong, .projects-source > code { display: block; margin-bottom: 8px; overflow-wrap: anywhere; }
.projects-topic { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; margin-bottom: 10px; }
.projects-topic button { max-width: 100%; white-space: normal; text-align: left; }
.projects-projection, .projects-wiki { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; font-size: 12px; line-height: 1.65; margin: 8px 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; max-width: 100%; }
.projects-wiki { min-height: 150px; }
.projects-dialog { width: min(600px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto; }
.projects-dialog input:not([type="checkbox"]), .projects-dialog textarea, .projects-dialog select { width: 100%; min-width: 0; }
.projects-dialog textarea { resize: vertical; }
.projects-dialog .target, .projects-dialog .hint, .projects-dialog .form-error { overflow-wrap: anywhere; }
.projects-dialog .acts { flex-wrap: wrap; }
@media (max-width: 760px) {
  .projects-split { display: flex; flex-direction: column; }
  .projects-side { flex: 1; border-right: 0; }
  .projects-detail { display: none; flex: 1; padding: 12px; }
  .projects-split.show-detail .projects-side { display: none; }
  .projects-split.show-detail .projects-detail { display: block; }
  .projects-detail [data-action="back"] { display: inline-flex; }
  .projects-toolbar .btn, .projects-actions .btn { min-height: 36px; }
  .projects-scope { font-size: 12px; }
}
