/* Project atlas uses the app's purple surfaces and shared controls. */
#assignments-view { background: var(--bg); color: var(--text); }
#assignments-view > .collection-heading { padding: 12px 16px; background: var(--raised); }
#assignments-view > .collection-heading h2 { font-size: 16px; margin: 0; }
#assignments-view > .collection-heading p { font-size: 11px; margin-top: 3px; }
#assignments-view #project-projects-panel { display: flex; flex-direction: column; gap: 0; padding: 8px 12px 18px; }
#assignments-view .project-create, #assignments-view .project-list-panel { width: 100%; min-width: 0; }
#assignments-view .project-create { border: 1px solid var(--line); border-radius: 8px; margin-bottom: 8px; background: var(--raised); }
#assignments-view .project-create:not([open]) { display: none; }
#assignments-view .project-create summary { padding: 8px 10px; min-height: 30px; font-size: 12px; }
#assignments-view .project-create summary span { display: none; }
#assignments-view .assignment-form { padding: 0 10px 10px; min-height: auto; max-width: 800px; border: 0; }
#assignments-view .project-list-panel > .section-heading { display: none; }
#assignments-view .assignment-list { display: block; padding: 0; }
.projects-toolbar { display: flex; align-items: center; gap: 6px; margin-bottom: 7px; }
.projects-toolbar input { flex: 1; min-width: 80px; }
.projects-toolbar select { max-width: 280px; }
.projects-notice:empty { display: none; }
.projects-notice { margin: 6px 0; color: var(--blue); font-size: 11px; }
#assignments-view button, #assignments-view select, #assignments-view input, #assignments-view textarea { color: var(--text); background: var(--raised); border: 1px solid var(--line); border-radius: 6px; font: inherit; font-size: 11px; box-shadow: none; letter-spacing: normal; }
#assignments-view button, #assignments-view select, #assignments-view input { min-height: 28px; padding: 3px 7px; }
#assignments-view button { color: var(--blue); cursor: pointer; white-space: nowrap; }
#assignments-view button:hover:not(:disabled) { border-color: var(--blue); background: var(--blue-soft); }
#assignments-view button:disabled, #assignments-view select:disabled { opacity: .55; cursor: default; }
#assignments-view select option { color: var(--text); background: var(--raised); }
.project-summary { margin-bottom: 6px; padding: 8px; min-width: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--raised); }
.project-summary-head { display: flex; align-items: center; gap: 8px; }
.project-summary-head strong { flex: 1; min-width: 0; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-state, .project-fraction { color: var(--muted); font-size: 10px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.project-state { padding: 2px 6px; border-radius: 5px; background: var(--blue-soft); color: var(--blue); }
.project-state[data-state="blocked"] { color: var(--red); }
.project-state[data-state="completed"] { color: var(--green); }
.project-summary progress { appearance: none; display: block; width: 100%; height: 3px; margin: 7px 0; border: 0; border-radius: 3px; background: var(--line); accent-color: var(--blue); }
.project-summary progress::-webkit-progress-bar { background: var(--line); border-radius: 3px; }
.project-summary progress::-webkit-progress-value, .project-summary progress::-moz-progress-bar { background: var(--blue); border-radius: 3px; }
.project-automation, .project-inline-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.project-automation { padding-bottom: 5px; }
.project-automation > select:first-of-type { max-width: 160px; }
.project-control-label { font-size: 10px; color: var(--muted); }
.project-inline-actions { margin-left: auto; }
#assignments-view .project-run { color: #fff; border: 1px solid transparent; background: linear-gradient(to top, #a62ce2, #c045fc) padding-box, linear-gradient(to top, #8122b0, #dc98fd) border-box; box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 0 8px rgba(185,49,252,.16); font-weight: 600; }
#assignments-view .project-run:hover:not(:disabled) { color: #fff; background: var(--blue); }
.project-manage, .project-run-activity, .project-execution { min-width: 0; font-size: 11px; }
.project-manage > summary, .project-run-activity > summary, .project-execution > summary { cursor: pointer; padding: 5px 7px; color: var(--blue); }
.project-manage[open] { flex-basis: 100%; }
.project-manage > button, .project-manage > select, .project-run-activity > button { margin: 4px; }
.project-run-activity[open] { flex-basis: 100%; order: 2; padding: 6px; border: 1px solid var(--line); border-radius: 6px; }
.project-run-activity pre { max-height: 160px; overflow: auto; white-space: pre-wrap; font-size: 10px; line-height: 1.5; margin: 4px; color: var(--muted); }
.project-run-error { color: var(--red); font-size: 11px; }
.project-run-error { padding: 7px 9px; margin: 3px 0 8px; border-left: 2px solid var(--red); background: var(--blue-soft); overflow-wrap: anywhere; }
.project-live-stage { color: var(--blue); font-size: 10px; }
.project-runtime-approvals { padding: 8px; margin-bottom: 7px; border: 1px solid var(--blue); border-radius: 6px; background: var(--blue-soft); }
.project-runtime-approvals > strong { font-size: 11px; color: var(--blue); }
.project-runtime-approvals .interaction-card { margin: 6px 0; padding: 8px; }
.project-runtime-approvals .interaction-card pre { max-height: 140px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 11px; }
#assignments-view .project-stop { color: var(--red); }
.project-timeline { max-height: 230px; overflow-y: auto; padding-left: 20px; margin: 6px 0; font-size: 10px; line-height: 1.6; color: var(--muted); overflow-wrap: anywhere; }
.project-last-activity { font-size: 10px; color: var(--muted); overflow-wrap: anywhere; }
.project-phase { border-top: 1px solid var(--line); }
.project-phase > summary { cursor: pointer; padding: 6px 2px; color: var(--blue); font-size: 11px; font-weight: 600; }
.project-task-row { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(80px, 125px) 95px 88px; align-items: center; gap: 5px; padding: 1px 0 1px 8px; font-size: 11px; min-height: 28px; border-left: 2px solid transparent; }
#assignments-view .project-task-row > select, #assignments-view .project-task-controls button { min-height: 26px; padding-block: 2px; }
.project-task-row:hover { background: var(--blue-soft); }
.project-task-row[data-state="running"] { border-left-color: var(--blue); }
.project-task-row[data-state="blocked"] { border-left-color: var(--red); }
.project-task-row[data-state="completed"] .project-task-title { color: var(--muted); }
.project-task-title { overflow-wrap: anywhere; line-height: 1.4; }
.project-task-row select { width: 100%; text-overflow: ellipsis; }
.project-phase > button { margin: 4px 0 6px 12px; }
.project-task-result { grid-column: 1 / -1; font-size: 10px; color: var(--muted); }
.project-task-result[hidden], .project-task-result:not([open]) { display: none; }
.project-task-controls { display: flex; gap: 3px; }
.project-task-question { color: var(--blue); font-weight: 600; }
.project-attempt { border-top: 1px solid var(--line); padding: 5px 0; }
.project-guidance { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; padding: 7px 0; }
.project-dependency-form { display: flex; align-items: end; flex-wrap: wrap; gap: 6px; padding: 7px 0; border-bottom: 1px solid var(--line); }
.project-dependency-form label { display: grid; gap: 4px; flex: 1 1 200px; min-width: 0; color: var(--muted); }
#assignments-view .project-dependency-form select, #assignments-view .project-dependency-form input { width: 100%; max-width: 100%; }
.project-dependency-form select[multiple] { height: 86px; }
.project-dependency-badge { font-size: 10px; color: var(--green); overflow-wrap: anywhere; }
.project-dependency-badge[data-waiting="true"] { color: var(--muted); }
#assignments-view .project-guidance textarea { width: 100%; padding: 7px; resize: vertical; min-height: 48px; }
.project-task-result summary { cursor: pointer; color: var(--blue); }
.project-task-result p { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 200px; overflow: auto; }
.project-empty { font-size: 11px; color: var(--muted); margin: 6px 0; }
.project-conversation { margin-top: 8px; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--blue-soft); }
.project-conversation strong { font-size: 11px; }
.project-chat-feed { max-height: 240px; overflow: auto; font-size: 11px; white-space: pre-wrap; overflow-wrap: anywhere; }
.project-chat-feed p { padding-bottom: 6px; border-bottom: 1px solid var(--line); }
.project-conversation form { display: flex; align-items: end; gap: 6px; }
#assignments-view .project-conversation textarea { flex: 1; min-width: 0; padding: 6px; font-size: 12px; }
@media (min-width: 701px) {
  #assignments-view > .collection-heading { display: none; }
}
@media (max-width: 700px) {
  #assignments-view #project-projects-panel { padding: 8px; }
  .projects-toolbar { flex-wrap: wrap; }
  .projects-toolbar select { max-width: 100%; flex: 1 1 130px; }
  .project-task-row { grid-template-columns: minmax(0, 1fr) 95px 88px; padding-left: 6px; }
  .project-task-title { grid-column: 1 / -1; }
  #assignments-view .project-automation select { max-width: 145px; min-width: 0; }
  #assignments-view .project-automation button, #assignments-view .project-task-row button, #assignments-view .project-task-row select { min-height: 32px; }
  .project-control-label { display: none; }
  .project-summary { padding: 8px; }
}
/* Atlas: independent project columns, numbered phase paths, quiet task rows. */
#assignments-view #project-projects-panel { padding: 20px; }
.projects-overview { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.projects-overview h2 { margin:0; font-size:27px; letter-spacing:-.8px; }
.projects-overview p { margin:4px 0 0; color:var(--muted); font-size:14px; }
.projects-metrics { display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.projects-metrics > span { border:1px solid var(--line); border-radius:12px; padding:10px 13px; font-size:12px; background:var(--raised); }
.metric-running::before,.metric-attention::before { content:''; display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:8px; background:var(--green); box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 16%,transparent); }
.metric-attention::before { background:var(--red); box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 16%,transparent); }
#assignments-view .projects-metrics button { background:linear-gradient(135deg,#b44af6,#7900fa); color:white; padding:11px 18px; font-weight:600; border:0; }
.projects-toolbar { margin-bottom:14px; max-width:560px; }
.projects-toolbar > button { display:none; }
#assignments-view .assignment-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr)); gap:12px; align-items:start; }
.project-summary { padding:18px; margin:0; border-radius:12px; background:color-mix(in srgb,var(--raised) 88%,transparent); display:flex; flex-direction:column; min-width:0; }
.project-summary-head { display:grid; grid-template-columns:54px minmax(0,1fr); column-gap:12px; row-gap:4px; }
.project-summary-head strong { white-space:normal; font-size:16px; line-height:1.3; }
.project-emblem { grid-row:span 2; width:54px; height:54px; display:grid; place-items:center; border-radius:50%; color:var(--blue); font-size:28px; background:radial-gradient(circle at 35% 30%,var(--raised),#dbc4ff); box-shadow:inset 0 0 0 7px #b98aff20; }
.project-fraction { font-size:12px; }
.project-summary progress { width:calc(100% - 66px); margin:8px 0 19px 66px; height:7px; }
.project-agent-line { display:flex; gap:10px; align-items:center; margin-bottom:18px; }
.project-agent-avatar { display:grid; place-items:center; width:42px; height:42px; flex-shrink:0; color:var(--blue); background:radial-gradient(circle at 35% 25%,#fcf8ff,#bc8aff); border-radius:50%; font-size:26px; box-shadow:inset 0 0 0 5px #ffffff40; }
.project-agent-line strong { font-size:12px; margin-right:8px; }
.project-state { background:transparent; font-size:11px; padding:0; }
.project-state::before { content:'\25cf'; margin-right:5px; }
.project-agent-caption { display:block; color:var(--muted); font-size:11px; margin-top:5px; max-height:30px; overflow:hidden; }
.project-phase { border:1px solid var(--line); border-radius:11px; margin-bottom:10px; position:relative; }
.project-phase::before { content:''; position:absolute; top:42px; bottom:-20px; left:26px; width:2px; background:color-mix(in srgb,var(--blue) 25%,transparent); pointer-events:none; }
.project-phase:last-of-type::before { display:none; }
.project-phase > summary { display:flex; align-items:center; gap:12px; padding:7px 10px; font-size:13px; color:var(--text); list-style:none; }
.project-phase > summary::-webkit-details-marker { display:none; }
.project-phase > summary::after { content:'\2304'; color:var(--blue); margin-left:3px; }
.project-phase[open] > summary::after { transform:rotate(180deg); }
.project-phase > summary strong { flex:1; }
.project-phase > summary small { font-weight:400; font-size:11px; color:var(--muted); white-space:nowrap; }
.project-phase-number { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; border-radius:50%; background:radial-gradient(circle at 40% 30%,var(--raised),#d7bcff); color:var(--blue); font-size:19px; font-weight:700; z-index:1; }
.project-task-row { grid-template-columns:18px minmax(0,1fr) auto; margin:5px 10px 5px 52px; padding:7px 8px; min-height:36px; border:1px solid var(--line); border-radius:9px; font-size:12px; gap:8px; }
.project-task-row[data-state=running] { border:1px solid var(--blue); background:var(--blue-soft); }
.project-task-dot { width:16px; height:16px; border:1.5px solid var(--muted); border-radius:50%; display:grid; place-items:center; color:var(--blue); font-size:11px; }
.project-task-row[data-state=running] .project-task-dot { border:4px solid var(--blue); box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 15%,transparent); }
.project-task-row[data-state=completed] .project-task-dot { border-color:var(--green); color:var(--green); }
.project-task-title { grid-column:auto; }
.project-dependency-badge { display:block; font-size:9px; }
#assignments-view .project-task-controls button { font-size:0; min-width:20px; min-height:20px; padding:0; border:0; background:transparent; }
#assignments-view .project-task-controls button::after { content:'\203a'; font-size:20px; }
.project-task-editing { display:flex; gap:6px; margin:8px 0; }
.project-task-result { padding:4px; }
.project-task-result select { min-width:0; }
.project-attention { font-size:9px; color:var(--red); padding:3px 5px; background:color-mix(in srgb,var(--red) 10%,transparent); border-radius:20px; }
.project-phase > button { margin-left:52px; font-size:10px; }
.project-card-footer { display:flex; align-items:start; gap:10px; margin-top:8px; }
.project-configuration { flex:1; min-width:0; border:1px solid var(--line); border-radius:7px; font-size:12px; }
.project-configuration > summary { text-align:center; cursor:pointer; padding:10px; color:var(--text); list-style:none; }
.project-configuration[open] { flex-basis:100%; }
.project-card-footer:has(.project-configuration[open]) { flex-wrap:wrap; }
.project-configuration .project-automation { padding:10px; }
#assignments-view .project-card-footer > button { flex:1; min-height:37px; }
#assignments-view .project-add-column { min-height:530px; border:1px dashed color-mix(in srgb,var(--blue) 35%,var(--line)); border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; background:transparent; font-size:42px; }
.project-add-column strong { font-size:18px; }
.project-add-column span { font-size:13px; color:var(--muted); }
@media(min-width:1450px) { #assignments-view .assignment-list { grid-template-columns:repeat(auto-fit,minmax(410px,1fr)); } }
@media(max-width:700px) { #assignments-view #project-projects-panel { padding:12px; } .projects-overview { align-items:start; flex-direction:column; } .projects-metrics { gap:6px; } .projects-metrics > span { padding:7px; font-size:10px; } .project-summary { padding:12px; } #assignments-view .project-add-column { min-height:150px; } .project-task-row { margin-left:44px; } .project-task-title { grid-column:auto; } .project-task-controls { align-items:center; } }

.project-task-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.project-task-row .project-task-controls { align-items:center; }
#assignments-view > .collection-heading { display:none !important; }
#assignments-view .projects-overview { background:transparent; border:0; padding:0; }
.project-phase > summary::after { content:'\2304'; }
#assignments-view .project-task-controls button::after { content:'\203a'; }
#assignments-view .project-task-controls .project-sync { font-size:10px; padding:2px 4px; }
#assignments-view .project-task-controls .project-sync::after { content:none; }

/* Project attention stays visible across dashboard views. */
.project-alerts { position:fixed; right:18px; bottom:18px; width:min(390px,calc(100vw - 36px)); max-height:38vh; overflow:auto; z-index:100; display:grid; gap:8px; }
.project-alerts[hidden],.project-attention-badge[hidden] { display:none; }
.project-alert { background:var(--raised,#20212b); color:var(--text,#fff); border:1px solid var(--red,#e47575); border-radius:10px; padding:12px; box-shadow:0 5px 20px #0004; font-size:12px; }
.project-alert strong { display:block; }
.project-alert p { margin:8px 0; overflow-wrap:anywhere; white-space:pre-wrap; }
.project-attention-badge { margin-left:5px; padding:2px 6px; border-radius:12px; background:var(--red,#c73939); color:white; font-size:11px; }
.project-reply { border:1px solid var(--red,#e47575); border-radius:9px; padding:12px; margin-bottom:12px; }
.project-reply p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }
.project-reply form { display:grid; gap:8px; }
#assignments-view .project-reply textarea { width:100%; box-sizing:border-box; min-height:85px; padding:9px; resize:vertical; }
.project-reply button { justify-self:start; }
.project-card-footer { flex-wrap:wrap; }
body:has(#assignments-view.active) .project-alerts { display:none; }
.project-alert-heading { display:flex; align-items:start; gap:8px; }
.project-alert-heading strong { flex:1; }
.project-alert-dismiss { flex:none; min-width:30px; min-height:30px; padding:2px 6px; font-size:22px; line-height:1; }
.project-alert-dismiss-all { justify-self:end; padding:6px 10px; background:var(--raised,#20212b); color:var(--text,#fff); border:1px solid var(--line,#666); border-radius:7px; }

/* The same live session view is also available within Projects. */
#project-live-sessions-panel { margin: 16px 20px 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; min-width: 0; }
#project-live-sessions-panel .section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
#project-live-sessions-panel .section-heading > div { display: flex; gap: 8px; }
#project-live-sessions-panel #running-sessions-list { display: grid; gap: 12px; }
#project-live-sessions-panel .live-session-run { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 10px; }
#project-live-sessions-panel .live-session-run-label { grid-column: 1 / -1; }
#project-live-sessions-panel .running-session { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 700px) { #project-live-sessions-panel { margin: 12px 12px 0; padding: 12px; } }
