/* PlanTactico UX 0.9.5.2. Coach-friendly status, help, and progress; no engine styling changes. */
.pt-detector-state{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #446477;background:#172d38;border-radius:8px;min-height:38px;font-size:12px;color:#d7e5ed;white-space:nowrap;flex:0 1 auto;max-width:100%}
.pt-detector-dot{width:9px;height:9px;flex:none;border-radius:50%;background:#8496a6;box-shadow:0 0 0 3px #8496a623}
.pt-detector-state[data-state=ready]{border-color:#498e79;color:#d4f4e6;background:#1a342e}
.pt-detector-state[data-state=ready] .pt-detector-dot{background:#59d4a6;box-shadow:0 0 0 3px #59d4a624}
.pt-detector-state[data-state=loading]{border-color:#8c8653;color:#f6eac7}
.pt-detector-state[data-state=loading] .pt-detector-dot{background:#f3c66d;animation:ptPulse 1.2s ease-in-out infinite}
.pt-detector-state[data-state=error]{border-color:#a96565;color:#ffcbcb}
.pt-detector-state[data-state=error] .pt-detector-dot{background:#ff7a87}
@keyframes ptPulse{50%{opacity:.38;transform:scale(.8)}}
.inputs .prep-row{align-items:center;gap:8px}
.pt-help-mini{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;min-height:26px!important;min-width:26px;border-radius:50%;border:1px solid #597687!important;background:#213745!important;color:#c9e6ed!important;font-size:12px!important;font-weight:800!important;padding:0!important;line-height:1!important}
.pt-help-mini:hover{background:#315463!important}
.pt-help-mini[hidden]{display:none!important}
.stage-guide-row{align-items:center}
.stage-help-content{max-height:min(58vh,500px);overflow-y:auto}
.pt-help-intro{font-size:12px;color:#c4dee6;margin:0 0 8px!important}
.pt-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pt-help-choice{min-height:33px;padding:7px 8px;border:1px solid #476d7a;border-radius:6px;background:#1f3a45;color:#e6eff2;font-weight:550;font-size:11px;text-align:left}
.pt-help-dialog{border:1px solid #739b9c;border-radius:14px;padding:0;width:min(470px,calc(100vw - 28px));max-height:calc(100dvh - 28px);background:#152935;color:#e6f4f5;box-shadow:0 20px 60px #000c}
.pt-help-dialog::backdrop{background:#0009}
.pt-help-dialog-body{padding:20px;max-height:calc(100dvh - 38px);overflow:auto}
.pt-help-dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pt-help-dialog-top h2{margin:2px 0 12px;font-size:18px}
.pt-dialog-close{min-height:34px;padding:7px 10px;background:#2b4a57;border-color:#6a8b98}
.pt-help-steps{padding-left:22px;margin:2px 0 0;color:#cfdee5;font-size:13px;line-height:1.65}
.pt-help-steps li{margin:0 0 9px}
.pt-track-progress{margin-top:8px;border:1px solid #4f8a89;border-radius:10px;background:#142c36;padding:10px 12px}
.pt-track-progress[hidden]{display:none!important}
.pt-progress-row{display:flex;align-items:center;gap:8px;min-height:25px}
.pt-progress-label{font-size:12px;font-weight:650;flex:1;min-width:0;color:#e2f4f2}
.pt-progress-pct{font-size:12px;font-variant-numeric:tabular-nums;color:#b6e7d9;white-space:nowrap}
.pt-spinner{border:2px solid #76bcb14a;border-top-color:#70dec9;width:15px;height:15px;border-radius:50%;flex:none;animation:ptSpin .8s linear infinite}
.pt-track-progress[data-state=done] .pt-spinner{animation:none;border:none;width:15px;height:15px;position:relative}
.pt-track-progress[data-state=done] .pt-spinner:before{content:'\2713';color:#70dec9;position:absolute;left:1px;top:-2px;font-weight:800;font-size:15px}
.pt-track-progress[data-state=error] .pt-spinner{animation:none;border-color:#cf827e}
@keyframes ptSpin{to{transform:rotate(360deg)}}
.pt-progress-bottom{display:flex;gap:10px;align-items:center;margin-top:7px}
.pt-progress-bar{width:100%;flex:1;height:9px;border-radius:10px;accent-color:#42bc9e}
.pt-progress-bar::-webkit-progress-bar{background:#263d46;border-radius:10px}
.pt-progress-bar::-webkit-progress-value{background:#46c79f;border-radius:10px}
.pt-progress-bottom #cancel{background:#623b37;border-color:#aa756c;padding:6px 10px;font-size:11px;min-height:30px;white-space:nowrap}
.pt-track-progress:not([data-state=working]) #cancel{display:none}
.pt-action-alert{margin-top:7px;padding:9px 12px;border-radius:8px;border-left:3px solid #e6a067;background:#352b2c;color:#f7e5d8;font-size:12px}
.pt-action-alert[hidden]{display:none!important}
.pt-support{margin:6px 0 13px;background:#122633;border:1px solid #365260;border-radius:10px;color:#b7d1d7}
.pt-support>summary{padding:11px 13px;cursor:pointer;font-size:12px}
.pt-support-body{padding:11px;border-top:1px solid #365260}
.pt-support-body .workflow-more{margin:0 0 9px}
.pt-support-body .diagnostic-row{margin:10px 0}
.pt-support-body .diagnostic-row #status{font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.pt-support-detail{padding:10px;border:1px solid #405e6a;background:#172e3a;margin:9px 0;border-radius:9px}
.pt-support-detail>summary{cursor:pointer;font-size:12px}
.pt-support-detail .prep-status{white-space:normal;overflow:visible;margin:10px 0 0}
.pt-support-detail .smallprint{margin:10px 0 0;font-size:12px;line-height:1.5}
.pt-support .advanced{display:block!important}
.pt-support .workflow-more-content .panel{background:transparent}
.pt-ui-ready .inputs .prep-row>*{flex:0 1 auto}
@media(max-width:720px){
 .pt-detector-state{flex:1 1 100%;justify-content:flex-start}
 .inputs .prep-row .pt-detector-state{flex:1 1 100%}
 .pt-help-grid{grid-template-columns:1fr}
 .pt-help-mini{width:28px;height:28px;min-width:28px;min-height:28px}
 .pt-help-dialog-body{padding:15px}
 .pt-progress-bottom{align-items:stretch}
 .pt-progress-bottom #cancel{white-space:normal}
 .pt-ui-ready .inputs .prep-row>*{flex:0 1 auto}
 .pt-ui-ready .inputs .prep-row>.pt-detector-state{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){.pt-spinner,.pt-detector-state[data-state=loading] .pt-detector-dot{animation:none}}
/* Compact help icons must never inherit the flexible full-width mobile button rules. */
@media(max-width:720px){
  .pt-head-actions > .pt-help-mini,
  .inputs .prep-row > .pt-help-mini,
  .stage-command-primary > .pt-help-mini,
  .editor-tools > .pt-help-mini{flex:0 0 28px!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;align-self:center}
  .pt-head-actions > #ptSaveNow,
  .pt-head-actions > #quickGoExport{flex:1 1 30%;min-width:100px}
}
