/* A compact visual worksheet; details stay available without dominating the first view. */
.porter-swot-dialog{box-sizing:border-box;border:1px solid var(--line);border-radius:16px;background:var(--appearance-surface,#fff);color:var(--ink);position:fixed;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);max-width:1180px;max-height:none;margin:auto;padding:24px;overflow:auto}
.porter-swot-dialog::backdrop{background:rgba(16,35,61,.4)}
.porter-swot-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.porter-swot-header h2{margin:0}.porter-swot-dialog h3{margin:0 0 6px}
.porter-swot-dialog form{display:grid;gap:18px;max-width:none;width:auto;padding:0;background:transparent;max-height:none;overflow:visible}
.porter-swot-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:center}
.porter-swot-dialog label{display:grid;gap:8px;font-weight:600}
.porter-swot-dialog input,.porter-swot-dialog select,.porter-swot-dialog textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--appearance-surface,#fff);color:var(--ink);font:inherit}
.porter-swot-dialog textarea{resize:vertical;font-weight:400;line-height:1.4}
.porter-swot-dialog :is(button,input,textarea,summary):focus-visible{outline:3px solid var(--appearance-focus,#2864e9);outline-offset:3px}
.porter-swot-hint{font-size:.85rem;color:var(--muted);margin:0 0 12px}
.porter-swot-diagram{isolation:isolate;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,auto);gap:8px;width:260px;max-width:100%;margin:0 auto}
.porter-swot-diagram::before,.porter-swot-diagram::after{content:"";position:absolute;background:var(--appearance-blue-soft,#afc5ea);z-index:-1}
.porter-swot-diagram::before{left:16%;right:16%;top:50%;height:2px}.porter-swot-diagram::after{top:16%;bottom:16%;left:50%;width:2px}
.porter-swot-dialog .porter-swot-circle{box-sizing:border-box;border:2px solid var(--appearance-line,#b7cff4);border-radius:50%;aspect-ratio:1;min-width:0;width:100%;padding:5px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:var(--appearance-quiet,#f3f7ff);color:var(--appearance-link,#15345e);text-align:center;font:inherit;cursor:pointer}
.porter-swot-circle strong{font-size:11px;line-height:1.15;overflow-wrap:normal;word-break:normal}.porter-swot-pressure{font-size:.72rem;line-height:1.1}
.porter-swot-circle-rivalry{grid-area:1/2}.porter-swot-circle-entrants{grid-area:3/1}.porter-swot-circle-substitutes{grid-area:3/3}.porter-swot-circle-suppliers{grid-area:2/1}.porter-swot-circle-buyers{grid-area:2/3}
.porter-swot-dialog .porter-swot-circle[data-pressure="low"]{background:var(--appearance-quiet,#eaf5f1);border-color:var(--appearance-line,#7bb9a3)}.porter-swot-dialog .porter-swot-circle[data-pressure="medium"]{background:var(--appearance-warning-soft,#fff6dc);border-color:var(--appearance-warning-text,#d7b66b)}.porter-swot-dialog .porter-swot-circle[data-pressure="high"]{background:var(--appearance-quiet,#fff0ef);border-color:var(--appearance-danger-text,#dc9690)}
.porter-swot-dialog .porter-swot-circle:disabled{cursor:default;opacity:1}
.porter-swot-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.porter-swot-box{padding:14px;border-radius:12px;min-width:0}.porter-swot-box label{font-size:.9rem}.porter-swot-box textarea{background:var(--appearance-surface,rgba(255,255,255,.8));font-size:.88rem}
.porter-swot-strengths{background:var(--appearance-quiet,#e9f6ec)}.porter-swot-weaknesses{background:var(--appearance-warning-soft,#fff8db)}.porter-swot-opportunities{background:var(--appearance-blue-soft,#eaf2ff)}.porter-swot-threats{background:var(--appearance-quiet,#fcecee)}
.porter-swot-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.porter-swot-force{padding:12px 0;border-top:1px solid var(--line);min-width:0}.porter-swot-slider-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.9rem}.porter-swot-slider-label output{font-size:.8rem;color:var(--appearance-link,#2459ae);white-space:nowrap}
.porter-swot-dialog input[type="range"]{padding:0;height:26px;accent-color:#245ed8;border:0;background:transparent;cursor:pointer}
.porter-swot-slider-ticks{display:flex;justify-content:space-between;gap:4px;color:var(--muted);font-size:.7rem;margin-bottom:8px}
.porter-swot-dialog details{min-width:0}.porter-swot-dialog summary{padding:8px 0;cursor:pointer;font-weight:600;font-size:.88rem;color:var(--appearance-link,#2459ae);border-radius:6px}.porter-swot-detail label{font-size:.85rem}.porter-swot-detail p,.porter-swot-mapping p{white-space:pre-wrap;overflow-wrap:anywhere}
.porter-swot-mapping{border-top:1px solid var(--line)}.porter-swot-mapping section{padding:8px 0;border-bottom:1px solid var(--line)}
.porter-swot-sources{border-top:1px solid var(--line);padding-top:8px;overflow-wrap:anywhere}.porter-swot-sources p{margin:8px 0}.porter-swot-evidence-excerpt{color:var(--muted);font-size:.85rem}
.porter-swot-exports{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.porter-swot-exports small{flex-basis:100%}
@media(max-width:900px){.porter-swot-grid{grid-template-columns:1fr}.porter-swot-diagram{width:min(100%,260px)}}
@media(max-width:560px){.porter-swot-matrix,.porter-swot-sliders{grid-template-columns:1fr}.porter-swot-dialog{padding:16px}.porter-swot-header h2{font-size:1.25rem}}

.porter-swot-hub{grid-area:2/2;align-self:center;justify-self:center;font-weight:700;color:var(--appearance-link,#2459ae);font-size:.7rem;background:var(--appearance-surface,white);border-radius:12px;padding:5px;z-index:1}
.porter-swot-diagram::after{top:16%;bottom:48%}.porter-swot-diagram{background:linear-gradient(45deg,transparent calc(50% - 1px),var(--appearance-blue-soft,#afc5ea) 50%,transparent calc(50% + 1px)) left bottom / 50% 50% no-repeat,linear-gradient(-45deg,transparent calc(50% - 1px),var(--appearance-blue-soft,#afc5ea) 50%,transparent calc(50% + 1px)) right bottom / 50% 50% no-repeat}

.porter-swot-propose{margin-top:10px;width:100%;white-space:normal}.porter-swot-proposal-disclosure{display:block;margin-top:8px;font-size:.75rem;line-height:1.4;color:var(--muted)}.porter-swot-proposal-preview{padding-top:12px;border-top:1px solid var(--line)}.porter-swot-proposal-preview button{margin:8px 6px 0 0}.porter-swot-proposal-preview[hidden]{display:none}

/* Force settings stay separate from the editable worksheet until explicitly applied. */
.porter-swot-force-proposals { grid-column:1/-1; display: grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap: 14px; padding: 16px; margin-top: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--blue-soft, #f1f5ff); }
.porter-swot-force-proposals>h3,.porter-swot-force-proposals>p{grid-column:1/-1;margin:0}
.porter-swot-force-proposals[hidden] { display: none; }
.porter-swot-force-proposal { display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.porter-swot-force-proposal label { display: grid; gap: 6px; }
.porter-swot-force-proposal :is(select,textarea) { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 10px; padding: 10px; background: var(--appearance-surface,white); color: var(--ink); }
@media(max-width:560px){.porter-swot-force-proposals{grid-template-columns:minmax(0,1fr)}}
