/* V13: soft colour, readable dialogs and activity attached to its group. */
:root{--green:#285d52;--soft:#f1f6f5;--line:#dce6e3;--muted:#667b76}
body{background:linear-gradient(140deg,#eaf1ef,#f4f5fa)}
.top{background:#f9fcfb}.brand-icon,.primary{background:#285d52}.panel{box-shadow:0 5px 24px #254e4410}
.group-head{background:linear-gradient(100deg,#f7fbf9,#f0f3fa)}
.growth-heading,.monitor-running>h2,.feed-head{background:#f7faf9}
.monitor-controls{background:#f7faf9}.growth-panel{background:#fff}.growth-view-tabs{background:#eef3f8}
.group-item{position:relative}.group-select{position:relative;overflow:hidden;isolation:isolate}
.group-select>*{position:relative;z-index:1}.group-select.is-working::before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,transparent 18%,#5dbfa62e 47%,#c6f2e675 55%,transparent 80%);transform:translateX(-110%);animation:group-scan 5.8s ease-in-out infinite;pointer-events:none}
@keyframes group-scan{0%{transform:translateX(-110%)}75%,100%{transform:translateX(110%)}}
#bots.group-gear{font-size:12px!important}#bots.group-gear:hover{transform:none;background:#e1efea}
.rule-help-dialog input[type=checkbox]{width:16px;height:16px;padding:0;margin:0;flex:0 0 16px}.rule-help-dialog .check{align-items:center;gap:9px}.rule-help-content{flex:1;min-height:0}.rule-help-dialog>footer{flex-wrap:wrap}
.studio-head>div,.studio-body,.studio-form,.studio-preview{min-width:0}.studio-head small{overflow-wrap:anywhere}.studio-tabs{align-items:center;overscroll-behavior:contain}.studio-tab-save{min-width:125px;text-align:right}.studio-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.studio-form input,.studio-form select,.studio-form textarea{max-width:100%}.studio-row>.field{min-width:150px}
dialog{max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #d0dfd9;box-shadow:0 20px 75px #163c3c30;border-radius:16px;overflow:hidden}
dialog::backdrop{background:#152d3559;backdrop-filter:blur(3px)}
dialog[open]{display:flex;flex-direction:column}dialog>header,dialog>footer{flex-shrink:0;background:#f7faf9}dialog>header h2{overflow-wrap:anywhere;min-width:0}dialog>header button{flex-shrink:0}
dialog>header{gap:12px}dialog>footer{padding:14px 18px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line)}
.growth-picker-dialog{width:560px}.growth-modal-body{overflow:auto;min-height:0;max-height:none;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;flex:1}
.growth-modal-list{gap:5px}.growth-picker-row{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;padding:2px 7px}.growth-picker-row label{flex:1;min-width:0;cursor:pointer}.growth-picker-row label small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}.growth-picker-row:has(input:checked){background:#edf6f1;border-color:#95bfae}.growth-picker-row input:disabled+span{color:var(--muted)}
.source-trash{display:grid;place-items:center;flex-shrink:0;width:32px;height:34px;padding:5px;color:#98605b;border:0;background:transparent}.source-trash:hover:enabled{color:#b33836;background:#fff0ee}.source-trash:disabled{opacity:.32}
.picker-toolbar{padding:12px 16px;display:flex;flex-direction:column;gap:7px;flex-shrink:0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.picker-toolbar input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:13px}
.workspace-confirm{width:460px}.dialog-content{padding:18px;overflow:auto;min-height:0;font-size:13px;line-height:1.7}.dialog-content p{white-space:pre-wrap}.workspace-confirm .danger{background:#ad4d43;color:white;border-color:#ad4d43}
.operation-progress{padding:clamp(26px,9vh,96px) 16px 18px;gap:18px}.operation-stage{display:flex;flex-direction:column;align-items:center;gap:14px;flex-shrink:0}.operation-stage>button{min-width:170px;max-width:100%;font-size:12px;border-color:#c4d4ce;background:#fff}.operation-stage>button:hover{background:#fff1ed;border-color:#d8aaa0}.operation-buttons{margin-top:0}.operation-copy{text-align:center}.operation-ring{width:128px;height:128px;box-shadow:0 0 0 7px #eaf2ee80}.operation-ring.indeterminate,.operation-ring.indeterminate>span{animation-duration:7s}
.operation-satellite{width:140px;height:140px;flex-shrink:0;color:#3a7767}.operation-satellite svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sat-orbit{stroke:#dbe8e2;stroke-dasharray:3 8}.sat-core{fill:#e2f1e9;stroke:#437b6c}.sat-panel{fill:#dce8f5;stroke:#718fae}.sat-grid{stroke:#a4b9cc;stroke-width:1}.sat-link{stroke:#718fae}.sat-dish{fill:#f5faf7}.sat-body{transform-origin:80px 75px;animation:satellite-turn 8s ease-in-out infinite}.sat-signal{stroke:#6eac96;animation:satellite-signal 4.5s ease-in-out infinite}.sat-return{animation-delay:2.2s}.operation-satellite.is-paused *{animation-play-state:paused}.operation-satellite.is-paused{opacity:.6}
@keyframes satellite-turn{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(16deg)}}@keyframes satellite-signal{0%,100%{opacity:.18}45%,60%{opacity:1}}
.aud-source-row{display:flex;align-items:center;gap:2px}.aud-source-row .aud-source{min-width:0;flex:1}.aud-source-row .source-trash{width:28px}.trash-dialog{width:680px}.trash-body{overflow:auto;min-height:0;padding:16px;overscroll-behavior:contain}.trash-description{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:12px}.trash-item{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:14px;border:1px solid var(--line);border-radius:11px;margin-bottom:9px}.trash-item>div{min-width:0}.trash-item strong{display:block;overflow-wrap:anywhere;font-size:13px}.trash-item small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:4px}.trash-item button{flex-shrink:0;font-size:12px}.trash-empty{padding:32px 16px;text-align:center;color:var(--muted)}
.review-list,#consoleBody,#cabinet-body,#modalBody{min-height:0;overflow:auto;overscroll-behavior:contain}.review-toolbar{flex-wrap:wrap}.control-scroll{overflow:auto}.monitor-help-body{overflow:auto;min-height:0}
@media(min-width:1180px) and (max-height:800px){.operation-progress{padding-top:clamp(20px,6vh,50px);gap:14px}.operation-ring{width:112px;height:112px}.operation-satellite{width:124px;height:124px}.operation-copy{font-size:11px}.operation-copy p+p{margin-top:4px}}
@media(max-width:850px){.studio-columns{grid-template-columns:1fr}.studio-preview{position:static}.db-toolbar{flex-wrap:wrap}.studio-head{flex-wrap:wrap}.trash-item{align-items:flex-start;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.group-select.is-working::before,.sat-body,.sat-signal{animation:none}.group-select.is-working{box-shadow:inset 3px 0 #66ab91}.group-select.is-working::before{transform:none;opacity:.4}}

/* V14: one fixed action row per operation; summaries stay at the bottom. */
.monitor-controls.is-monitoring>.run-actions,.growth-run-actions{display:flex;gap:8px;flex-shrink:0}
.run-actions button{flex:1;min-width:0;white-space:nowrap;font-size:12px}
.workspace-operation{padding:16px;gap:18px}
.workspace-operation>.operation-stage{flex:1;min-height:150px;justify-content:center;padding-bottom:clamp(8px,3vh,28px)}
.workspace-operation>.operation-copy{margin-top:auto;flex-shrink:0;border-top:1px solid var(--line);padding-top:14px;text-align:left}
.growth-selection-summary>button{font-size:12px;margin-top:12px}
.monitor-running>h2{flex-shrink:0}
.monitor-summary{padding:12px;border-bottom:1px solid var(--line);background:#f7faf9;flex-shrink:0}
.monitor-summary-heading{display:flex;flex-direction:column;gap:5px;font-size:12px;overflow-wrap:anywhere}
.monitor-summary-heading>span{font-size:11px;color:var(--muted);line-height:1.4}
.monitor-summary .metrics{padding:9px 0 0;margin-top:9px;border:0;border-top:1px solid var(--line)}
.monitor-summary .metrics b{font-size:21px}.monitor-summary .metrics small{font-size:10px}
.show-growth-stats>#monitor-summary{display:none!important}
#growth-last-result{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;color:var(--muted);line-height:1.6}
/* V15: a transfer between two groups, with the existing footer kept in place. */
/* V16: one current action, without per-account history or duplicate controls. */
.growth-current{padding:6px 4px;overflow-wrap:anywhere}.growth-current-label{font-size:11px;color:var(--muted);margin:0 0 8px}.growth-current h3{font-size:18px;line-height:1.4;margin:0}.growth-current-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:9px 0 0}.growth-current-counts{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 0;margin:18px 0 0;border-top:1px solid var(--line)}.growth-current-counts dt{font-size:11px;color:var(--muted)}.growth-current-counts dd{font-size:28px;font-weight:600;margin:5px 0 0;color:var(--green)}.growth-current-progress label{font-size:11px;color:var(--muted)}.growth-current-progress progress{display:block;width:100%;height:6px;border:0;border-radius:6px;overflow:hidden;margin-top:8px;accent-color:var(--green);background:var(--line)}.growth-current-progress progress::-webkit-progress-bar{background:var(--line);border-radius:6px}.growth-current-progress progress::-webkit-progress-value{background:var(--green);border-radius:6px}.growth-current-notice{font-size:12px;line-height:1.6;margin:14px 0 0;padding:10px 12px;background:#fff5e5;color:#865c22;border-radius:9px;overflow-wrap:anywhere}.growth-current[data-state=blocked] h3{color:#865c22}.growth-current.is-idle{padding-top:14px}#growth-updated.growth-current-notice[hidden]{display:none}#bots.group-gear{min-width:170px}#bots.is-back{background:var(--soft)}
.growth-setup-fields{display:flex;flex-direction:column;gap:12px}.growth-setup-fields[hidden],#growth-transfer[hidden]{display:none}.growth-setup-fields>button{align-self:flex-start;min-width:150px}
.growth-setup.is-adding .growth-selection-summary{margin-top:auto}.growth-setup.is-adding #growth-last-result{margin-top:0}
#growth-transfer{margin:0;min-height:230px;flex:1;display:flex;flex-direction:column;justify-content:center;padding:12px 2px 18px;gap:4px}
.transfer-route{display:flex;justify-content:space-between;position:relative;align-items:center;height:88px;padding:0 4px}
.transfer-origin,.transfer-target{width:80px;height:80px;flex:none;z-index:1;color:#397d6b}.transfer-target{color:#5679a3}.transfer-tile{fill:#edf6f1}.transfer-target .transfer-tile{fill:#edf2fa}
.transfer-travellers{position:absolute;left:68px;right:68px;top:28px;height:36px;border-bottom:1px dashed var(--line)}.transfer-travellers span{position:absolute;top:0;width:24px;height:30px;color:#4e977d;opacity:0;animation:person-transfer 5.8s ease-in-out infinite;animation-delay:calc(var(--traveller)*1.9s)}.transfer-travellers svg{width:100%;height:100%;fill:#e3f1ea;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#growth-transfer figcaption{display:flex;justify-content:space-between;gap:20px}#growth-transfer figcaption>div{width:46%;font-size:12px;line-height:1.5;overflow-wrap:anywhere}#growth-transfer figcaption>div+div{text-align:right}#growth-transfer small{display:block;color:var(--muted);font-size:10px;margin:5px 0}#growth-transfer strong{font-weight:600}.transfer-status{text-align:center;color:var(--muted);margin-top:20px}
#growth-transfer.is-paused .transfer-travellers span{animation-play-state:paused;opacity:.35}#growth-transfer.is-paused .transfer-route{opacity:.65}
@keyframes person-transfer{0%{left:0;transform:translate(-50%,10px);opacity:0}15%{opacity:1}50%{transform:translate(-50%,-16px)}85%{opacity:1}100%{left:100%;transform:translate(-50%,10px);opacity:0}}
.aud-browser{grid-template-columns:minmax(255px,31%) minmax(0,1fr)}.aud-sources{display:flex;flex-direction:column;overflow:hidden}.aud-source-heading{flex-shrink:0}.aud-source-tools{display:flex;flex-direction:column;gap:7px;padding:5px 4px 10px;flex-shrink:0;border-bottom:1px solid var(--line)}.aud-source-tools label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.aud-source-tools input,.aud-source-tools select,.picker-toolbar select{min-width:0;max-width:100%;width:100%;padding:7px 8px;font:inherit;font-size:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:inherit}.aud-source-tools small{font-size:10px;color:var(--muted)}#aud-source-list{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.aud-source{align-items:flex-start}.aud-source>span{flex:1}.aud-source-row{align-items:flex-start}.aud-source-row .source-trash{margin-top:9px}.aud-selected small{display:block;font-size:11px;color:var(--muted);margin-top:6px;line-height:1.45}.aud-detail .db-table-wrap{overscroll-behavior:contain}
@media(min-width:1180px) and (max-height:800px){#growth-transfer{min-height:190px;padding-top:2px;padding-bottom:4px}.transfer-status{margin-top:8px}.growth-setup-fields{gap:8px}}
@media(max-width:850px){.aud-browser{grid-template-columns:minmax(170px,36%) minmax(0,1fr)}.aud-source{flex-wrap:wrap}.aud-source-tools label{display:block}.aud-source-tools label select{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.transfer-travellers span{animation:none;left:calc(20% + var(--traveller)*30%);opacity:.7;transform:translateX(-50%)}}
@media(min-width:1180px) and (max-height:800px){.workspace-operation{padding:12px;gap:12px}.workspace-operation>.operation-stage{min-height:124px;padding-bottom:8px}.workspace-operation>.operation-copy{padding-top:10px}.monitor-summary{padding:10px 12px}.monitor-summary .metrics b{font-size:18px}}

.growth-source-parts { margin: -4px 0 12px 20px; padding-left: 10px; border-left: 2px solid var(--line); }
.growth-source-parts summary { cursor: pointer; padding: 8px 0; color: var(--muted); font-size: 13px; }
