@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Sans:wght@400;500;600;700&display=swap');

:root {
  color-scheme: light;
  --ink: #202a24;
  --muted: #58625b;
  --green: #24573e;
  --green-dark: #193d2e;
  --rule: #dce1d9;
  --canvas: #fafaf7;
  --paper: #fff;
  --leaf: #e9f1e5;
  --heading: 'Instrument Sans', Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--ink); font: 15px/1.5 'DM Sans', Arial, sans-serif; }
button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .6; }
a { color: var(--green); text-underline-offset: 3px; }
:focus-visible { outline: 2px solid #31774f; outline-offset: 3px; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-family: var(--heading); font-weight: 600; line-height: 1.18; }
h1 { font-size: clamp(35px,4vw,50px); letter-spacing: -.05em; }
h2 { font-size: 23px; letter-spacing: -.033em; }
h3 { font-size: 17px; letter-spacing: -.019em; }
small, .hint { color: var(--muted); font-size: 13px; }
.skip-link { position: fixed; top: 12px; left: 12px; transform: translateY(-160%); z-index: 5; padding: 8px 12px; background: white; }
.skip-link:focus { transform: none; }

.layout { min-height: 100vh; display: grid; grid-template: 66px 1fr / 205px minmax(0,1fr); }
.top { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; padding: 0 31px 0 24px; background: var(--paper); border-bottom: 1px solid var(--rule); }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; white-space: nowrap; font: 700 17px/1 var(--heading); letter-spacing: -.035em; }
.brand span span { font-weight: 500; color: var(--muted); }
.mark { display:block; width:32px; height:32px; border-radius:8px; flex:none; }
.top-workspace { display: flex; align-items: center; gap: 18px; }
.top-workspace a { text-decoration: none; color: var(--muted); font-size: 13px; }
.top-workspace a:hover { text-decoration: underline; }
.avatar, .workspace-icon { display: grid; place-items: center; flex: none; font-weight: 700; }
.avatar { width: 31px; height: 31px; border-radius: 50%; color: var(--green-dark); background: var(--leaf); font-size: 12px; }
.sidebar { background: var(--paper); border-right: 1px solid var(--rule); padding: 24px 12px 20px; }
.workspace { display: flex; align-items: center; gap: 9px; margin: 0 8px 20px; padding: 0 0 18px; border-bottom: 1px solid var(--rule); }
.workspace-icon { width: 34px; height: 34px; border-radius: 6px; background: #f0eee6; color: #625742; font-size: 12px; }
.workspace strong, .workspace small { display: block; }
.workspace strong { font-size: 14px; }
.workspace small { font-size: 12px; }
nav { display: grid; gap: 3px; }
nav a { padding: 9px 12px; border-radius: 5px; color: var(--muted); font-size: 14px; font-weight: 600; text-decoration: none; }
nav a:hover { background: #f2f4ef; color: var(--ink); }
nav a[aria-current] { background: var(--leaf); color: var(--green-dark); }
.body { min-width: 0; }
main { max-width: 1320px; margin: 0 auto; padding: 38px clamp(24px,5vw,72px) 64px; }
.heading, .section-heading, .actions, .row-top { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.heading { margin-bottom: 26px; }
.heading p { margin-top: 6px; color: var(--muted); }
.heading p strong { font-weight: 500; }
.section-heading { margin-bottom: 12px; }
.section-heading p { margin-top: 4px; color: var(--muted); font-size: 14px; }
.control { width: 166px; flex: none; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 40px; padding: 7px 13px; border: 1px solid #cbd5ca; border-radius: 6px; background: var(--paper); color: var(--green-dark); text-decoration: none; font-size: 13px; font-weight: 700; white-space: nowrap; }
.button:hover { background: #eef3ec; }
.button.small { min-height: 34px; padding: 5px 10px; }
.button.primary { background: var(--green); color: #fff; border-color: var(--green); }
.button.primary:hover { background: var(--green-dark); }
.button.subtle { background: transparent; border-color: transparent; }
.button.subtle:hover { background: #eef3ec; }

.weekly-layout { display: grid; grid-template-columns: minmax(0,1fr) 270px; align-items: start; gap: 36px; }
.work-column { min-width: 0; }
.plan-context { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; min-height: 42px; font-size: 14px; }
.plan-context div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.plan-context div span { color: var(--muted); }
.plan-context a { flex: none; font-size: 13px; }
.focus { padding: clamp(19px,3vw,30px); background: var(--leaf); border: 1px solid #d7e3d4; border-radius: 9px; }
.focus-top { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; color: var(--green-dark); font-size: 13px; }
.focus-top span:first-child { font-weight: 700; }
.focus h2 { margin: 11px 0 8px; font-size: clamp(25px,3.2vw,36px); max-width: 23ch; color: #1b3829; }
.focus p { max-width: 58ch; color: #46594b; }
.focus .button { margin-top: 20px; }
.next-section { margin-top: 30px; }
.next-section .section-heading span { color: var(--muted); font-size: 13px; }
.task-list { border-top: 1px solid var(--rule); }
.task-row { padding: 16px 0; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: center; border-bottom: 1px solid var(--rule); }
.task-row p { margin-top: 4px; max-width: 56ch; color: var(--muted); font-size: 14px; }
.task-actions { display: grid; justify-items: end; gap: 5px; color: var(--muted); font-size: 12px; }
.backlog { margin-top: 20px; }
summary { font-weight: 600; color: var(--green-dark); }
.backlog summary { padding: 9px 0; }
.backlog summary span { display: inline-block; min-width: 20px; margin-left: 6px; border-radius: 10px; padding: 0 5px; text-align: center; font-size: 12px; color: var(--muted); background: #e9ece6; }
.numbers { margin-top: 55px; padding: 19px 18px; border: 1px solid var(--rule); border-radius: 8px; background: var(--paper); }
.numbers h2 { font-size: 20px; }
.numbers dl { margin: 9px 0 14px; }
.numbers dl div { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--rule); }
dt { font-size: 14px; font-weight: 600; }
dt small { display: block; font-size: 12px; font-weight: 400; }
dd { margin: 0; font-variant-numeric: tabular-nums; font-size: 21px; font-weight: 600; }
.numbers a { font-size: 13px; font-weight: 600; }
.data-note { margin-top: 16px; border-top: 1px solid var(--rule); padding-top: 13px; font-size: 13px; }
.data-note p { color: var(--muted); margin: 3px 0 6px; }

.panel, .source-list { background: var(--paper); border: 1px solid var(--rule); border-radius: 8px; }
.panel { padding: 21px; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.field { display: grid; align-content: start; gap: 5px; font-size: 13px; font-weight: 700; }
.field small, .field .hint { font-weight: 400; }
input, select, textarea { width: 100%; font-weight: 400; min-width: 0; background: #fff; color: var(--ink); border: 1px solid #cbd5cb; border-radius: 5px; padding: 8px 10px; }
textarea { resize: vertical; min-height: 62px; }
.form-actions { margin-top: 19px; justify-content: flex-start; }
.brief-section { border: 0; margin: 0; padding: 0; min-width: 0; }
.brief-section + .brief-section { border-top: 1px solid var(--rule); margin-top: 22px; padding-top: 17px; }
.brief-section h2 { margin: 0 0 13px; font-size: 20px; }
.source { display: grid; grid-template-columns: minmax(0,1fr) minmax(125px,auto) auto; align-items: center; gap: 14px; padding: 13px 16px; }
.source + .source { border-top: 1px solid var(--rule); }
.source p, .source-status { color: var(--muted); font-size: 13px; }
.source p { margin-top: 4px; }
.tag { display: inline-flex; padding: 2px 7px; border-radius: 4px; background: #eef0ec; color: #4d5a50; font-size: 11px; font-weight: 700; }
.tag.green { background: var(--leaf); color: var(--green-dark); }
.tags { display: flex; flex-wrap: wrap; gap: 10px; }
.notice-box, .blank { padding: 12px 14px; border: 1px solid var(--rule); border-radius: 6px; margin-bottom: 15px; background: #f2f4ef; color: var(--muted); }
.notice-box { font-size: 13px; }
.source-link { font-size: 13px; }
.monthly { margin-bottom: 15px; }
.monthly dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.monthly dl div { border-left: 2px solid #d1dfce; padding-left: 10px; }
.monthly dd { font-size: 27px; }
.monthly ul { display: grid; gap: 7px; padding-left: 20px; }
.monthly li strong { margin-left: 5px; }
.table-scroll { overflow: auto; }
table { border-collapse: collapse; width: 100%; font-size: 13px; }
th, td { text-align: left; border-bottom: 1px solid var(--rule); padding: 9px; vertical-align: top; }
th { color: var(--muted); white-space: nowrap; }
td:first-child { white-space: nowrap; }
.footer-note { color: var(--muted); font-size: 12px; margin-top: 12px; }
.split-section { margin: 16px 0; }
.split-section .hint { margin: 7px 0; }
.data-list { display: grid; gap: 10px; }
.data-list .panel p { margin: 6px 0 10px; }
.error { color: #8f302a; font-size: 13px; font-weight: 700; }
.import-grid { display: grid; gap: 12px; margin-top: 13px; }
dialog { width: min(625px,calc(100% - 26px)); max-height: 88dvh; border: 1px solid var(--rule); border-radius: 10px; padding: clamp(17px,4vw,26px); color: var(--ink); box-shadow: 0 18px 65px #14221b32; }
dialog::backdrop { background: #192c22a0; }
dialog h2 { margin: 4px 36px 7px 0; font-size: clamp(24px,4vw,31px); }
dialog p { margin-bottom: 10px; }
dialog .close { float: right; }
.detail-time { font-size: 13px; color: var(--muted); margin: 0; }
.detail-intro { color: var(--muted); }
dialog ol { padding-left: 22px; margin: 9px 0; }
dialog li { margin-bottom: 6px; }
.detail-fold { padding: 9px 0; border-top: 1px solid var(--rule); }
.detail-fold p { margin: 7px 0; }
#change-form { padding-top: 13px; border-top: 1px solid var(--rule); }
#change-form .field { display: block; }
#change-form textarea { display: block; margin-top: 5px; }
dialog .actions { flex-wrap: wrap; justify-content: flex-start; gap: 7px; margin-top: 11px; }
#notice { position: fixed; z-index: 4; right: 16px; bottom: 16px; max-width: calc(100% - 32px); padding: 9px 13px; border-radius: 6px; background: var(--green-dark); color: white; font-size: 13px; }
#notice:empty { display: none; }

@media(max-width: 1080px) {
  .layout { grid-template-columns: 175px minmax(0,1fr); }
  main { padding-left: 26px; padding-right: 26px; }
  .weekly-layout { gap: 22px; grid-template-columns: minmax(0,1fr) 225px; }
}
@media(max-width: 850px) {
  .weekly-layout { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .numbers { margin-top: 0; }
}
@media(max-width: 620px) {
  .layout { display: block; }
  .top { min-height: 56px; padding: 0 14px; }
  .top-workspace { gap: 8px; }
  .top-workspace a { display: none; }
  .sidebar { padding: 4px 10px; border-right: 0; border-bottom: 1px solid var(--rule); }
  .workspace { display: none; }
  nav { display: flex; gap: 2px; overflow: auto; padding: 2px; }
  nav a { white-space: nowrap; padding: 6px 9px; font-size: 13px; }
  main { padding: 25px 15px 38px; }
  .heading { align-items: flex-start; flex-wrap: wrap; margin-bottom: 16px; }
  .control { width: 150px; }
  .form-grid { grid-template-columns: minmax(0,1fr); }
  .source { grid-template-columns: minmax(0,1fr) auto; gap: 6px 10px; }
  .source div { grid-column: 1/-1; }
  .source .button { justify-self: end; }
  .monthly dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .row-top { flex-wrap: wrap; align-items: flex-start; }
  .task-row { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .task-actions { display: flex; align-items: center; gap: 10px; }
}

.source-shortcuts, .source-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.source-shortcuts { margin: 0 0 13px; }
.source-actions { justify-content: flex-end; }
.source .source-actions { grid-column: auto; }
[hidden] { display: none !important; }
.check-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.check-heading span { color: var(--green); font-size: 13px; }
progress { display: block; width: 100%; height: 8px; margin: 9px 0; border: 0; border-radius: 6px; accent-color: var(--green); background: #dfe8dd; }
progress::-webkit-progress-bar { background: #dfe8dd; border-radius: 6px; }
progress::-webkit-progress-value { background: var(--green); border-radius: 6px; }
dialog .checklist { list-style: none; padding: 0; }
.checklist li { border-bottom: 1px solid var(--rule); margin: 0; }
.checklist label { display: flex; align-items: flex-start; gap: 9px; padding: 10px 2px; cursor: pointer; }
.checklist input { width: 17px; height: 17px; flex: none; margin: 3px 0 0; accent-color: var(--green); }
.checklist strong { font-size: 14px; }
.step-help { display: block; color: var(--muted); margin-top: 4px; font-size: 13px; }
.worked-example { background: var(--leaf); border-radius: 7px; padding: 12px; font-size: 14px; }
.worked-example strong { display: block; color: var(--green-dark); }
.lead-form { padding: 15px; margin: 16px 0; background: #f7f9f5; border: 1px solid var(--rule); border-radius: 7px; }
.lead-form > p { margin: 5px 0 13px; font-size: 13px; color: var(--muted); }
.lead-form .lead-result { color: var(--green-dark); font-weight: 700; }
.lead-form .error { color: #8f302a; }
.lead-form .lead-result:empty, .lead-form .error:empty { display: none; }
.lead-form > button { margin-top: 10px; }
.weekly-complete { margin-top: 7px; color: var(--green); font-size: 13px; }
.weekly-target { background: var(--leaf); padding: 10px; border-radius: 6px; margin-top: 10px; font-size: 13px; }
.weekly-target p { margin-top: 3px; }
@media(max-width: 620px) {
  .source .source-actions { grid-column: 2; }
}
.idea-card h2 { margin-bottom: 6px; }
.idea-card p { margin: 4px 0 9px; }
.idea-source { color: var(--green-dark); font-size: 13px; font-weight: 600; }
.idea-card .detail-fold { margin-top: 12px; }
.idea-card ol { padding-left: 20px; }
.idea-card li { margin-bottom: 5px; }

.connection-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.connection-card h2 { font-size: 20px; }
.connection-card p, .panel.split-section > p { margin: 7px 0 10px; }
.connection-card .source-shortcuts { margin: 10px 0 0; }
.connection-property { display: grid; align-items: end; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
@media(max-width: 720px) { .connection-grid { grid-template-columns: minmax(0,1fr); } }

.weekly-ai { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 22px; padding: 18px; border: 1px solid var(--rule); border-radius: 9px; background: var(--leaf); }
.weekly-ai > div { flex: 1 1 230px; }
.weekly-ai h2 { font-size: 18px; margin: 0 0 4px; }
.weekly-ai p { color: var(--muted); font-size: 14px; margin: 0; }
.weekly-prompt-text { resize: vertical; font-family: ui-monospace, monospace; font-size: 13px; }

.setup-steps { display:flex; flex-wrap:wrap; gap:9px 18px; list-style:none; padding:0; margin:0 0 18px; color:var(--muted); font-size:13px; }
.setup-steps li { display:flex; align-items:center; gap:6px; }
.setup-steps li span { display:grid; place-items:center; width:23px; height:23px; border:1px solid var(--rule); border-radius:50%; }
.setup-steps [aria-current=step] { color:var(--green-dark); font-weight:700; }
.setup-steps [aria-current=step] span { background:var(--leaf); }
.setup-callout { display:flex; justify-content:space-between; align-items:center; gap:12px 20px; flex-wrap:wrap; margin-bottom:18px; }
.setup-callout p, .setup-callout h2 { margin-bottom:4px; }
.audit-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:14px; align-items:start; }
.audit-layout .task-list { margin-bottom:13px; }
.audit-coverage,.audit-list { list-style:none; padding:0; margin:0; }
.audit-coverage li,.audit-list li { padding:8px 0; border-bottom:1px solid var(--rule); }
.audit-coverage li>div { display:flex; justify-content:space-between; gap:8px; align-items:center; flex-wrap:wrap; }
.audit-coverage small,.audit-list small { display:block; color:var(--muted); }
.audit-reason,.focus-evidence { font-size:13px; color:var(--muted); margin:6px 0 12px; }
.audit-link { margin:0 0 10px; }
.import-grid pre { white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:780px) { .audit-layout { grid-template-columns:1fr; } }

/* SS-1113 trial, locked preview, sign-in */
.signin{max-width:420px;margin:48px auto}
.trial-banner{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-left:4px solid #2f6b3f;margin-bottom:16px}
.trial-banner.expired{border-left-color:#a0522d}
.test-label{width:100%;margin:0 0 6px;font-weight:600;color:#8a4b00;background:#fff4dc;padding:6px 10px;border-radius:6px}
.test-data{border:1px dashed #c08a2b;margin-bottom:16px}
.locked-preview{margin-top:16px}
.locked-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.locked-card{position:relative;border:1px solid #ddd;border-radius:8px;padding:12px;background:#fafafa}
.locked-mask span{display:block;height:9px;margin:5px 0;border-radius:4px;background:linear-gradient(90deg,#e3e3e3,#efefef);filter:blur(1px)}
.locked-mask span:nth-child(2){width:80%}.locked-mask span:nth-child(3){width:55%}
.locked-card small{display:block;color:#666}
.signout{margin-top:12px}

/* SS-1113b AI search */
.table-wrap{overflow-x:auto}
.ai-table{width:100%;border-collapse:collapse;font-size:.92em}
.ai-table th,.ai-table td{border-top:1px solid #e5e5e5;padding:8px;vertical-align:top;text-align:left}
.ai-table td small{display:block;color:#666;margin-top:3px}
.ai-table .tag{margin:0 4px 4px 0}

/* SS-FOREST dashboard panel */
.forest-panel{padding:16px 16px 12px;margin-bottom:16px}
.forest-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.forest-head h2{margin:0;font-size:18px}
.forest-head span{font-size:13px;color:#4c5b51}
.forest-box{margin-top:10px;height:150px;border-radius:12px;overflow:hidden;border:1px solid #dcded2}
.forest-cap{margin:10px 0 0;font-size:12.5px;color:#4c5b51}
.forest-mobile{display:none}
@media (max-width:860px){.forest-mobile{display:block}.forest-desktop{display:none}.forest-box{height:170px}}

/* SS-1113c: "This week" redesign, warm cream and deep green from the public site */
:root{--canvas:#f6f3ea;--paper:#fffdf8;--green:#24573e;--green-dark:#1b3d2c;--pine:#1f4632;--leaf:#e7eedf;--rule:#e2ddcf;--muted:#5a6359}
body{background:var(--canvas)}
.top,.sidebar{background:#fbf9f3}
.tw{max-width:1180px}
.tw-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}
.tw-kicker{font:600 12px/1.2 var(--heading);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.tw-head h1{font-size:clamp(28px,3.4vw,40px)}
.tw-goal{margin-top:8px;color:#3d4a40;font-size:16px}.tw-goal strong{color:var(--pine)}.tw-goal a{font-size:13px;margin-left:6px}
.sample-pill{display:inline-block;font:600 11px/1 var(--heading);letter-spacing:.04em;text-transform:uppercase;color:#7a4d12;background:#f6e7c8;border:1px solid #ead19c;border-radius:999px;padding:4px 8px;vertical-align:middle}
.sample-dot{color:#b07a22;margin-left:4px}
.access-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;margin:0 0 18px;border-radius:12px;background:var(--paper);border:1px solid var(--rule)}
.access-strip span{color:#3d4a40}.access-strip .button{margin-left:auto}
.access-strip.paid{background:#eef4ea;border-color:#d3e2cc}
.access-strip.expired{border-left:4px solid #a0522d}
.notice-inline{padding:10px 14px;border-radius:10px;background:#fff7e6;border:1px solid #f0dcae;margin:0 0 16px;font-size:14px}
.tw-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.tw-side{display:grid;gap:18px}
.hero-task{background:var(--paper);border:1px solid #d9e2d2;border-top:6px solid var(--pine);border-radius:16px;padding:clamp(20px,3vw,34px);box-shadow:0 18px 40px -30px rgba(31,70,50,.45)}
.hero-task.done{border-top-color:#8fb79a}
.hero-eyebrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
.pill{display:inline-block;font:600 12px/1 var(--heading);padding:6px 10px;border-radius:999px;background:var(--leaf);color:var(--pine)}
.pill.dark{background:var(--pine);color:#f7f5ee}
.hero-task h2{font-size:clamp(26px,3vw,38px);line-height:1.12;margin:14px 0 10px;color:#17311f;max-width:24ch}
.hero-why{font-size:17px;line-height:1.55;color:#33443a;max-width:62ch}
.hero-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;margin-top:22px}
.hero-block{background:#faf8f2;border:1px solid var(--rule);border-radius:12px;padding:16px}
.hero-block.wide{grid-column:1/-1}
.hero-block h3{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:var(--heading);margin-bottom:8px}
.hero-block p{color:#26332b}
.block-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.src-chips{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.src-chips li{font-size:12.5px;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:5px 8px;color:#45524a}
.hero-progress{width:100%;height:8px;margin:8px 0 4px;accent-color:var(--pine)}
.hero-steps{list-style:none;padding:0;margin:8px 0 12px;display:grid;gap:8px}
.hero-steps label{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;background:#fff;border:1px solid var(--rule);border-radius:10px;cursor:pointer}
.hero-steps input{width:20px;height:20px;margin-top:1px;accent-color:var(--pine);flex:none}
.hero-steps input:checked+span{color:var(--muted);text-decoration:line-through;text-decoration-color:#9ab59f}
.change-table{margin:6px 0 10px;display:grid;gap:6px}
.change-table div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:8px 10px;background:#eef4ea;border-radius:8px}
.change-table dt{font-weight:600;color:var(--pine);font-size:13px}.change-table dd{margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.button.big{padding:14px 22px;font-size:16px}
.next-up{margin-top:28px}.next-up>h2{font-size:20px;margin-bottom:12px}
.next-card{display:flex;justify-content:space-between;gap:18px;background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:18px;margin-bottom:12px}
.next-card h3{margin:8px 0 6px;font-size:18px}.next-card p{color:#3d4a40}
.next-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted);flex:none}
.side-card{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:18px}
.side-card h2{font-size:18px;margin-bottom:8px}
.side-card h3{font-size:16px;margin:4px 0 6px}
.side-card ol{padding-left:18px;margin:10px 0;color:#3d4a40;font-size:14px}
.side-card .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.progress-card .big-num{font:700 28px/1 var(--heading);color:var(--pine)}.progress-card .big-num small{font-size:14px;color:var(--muted);font-weight:500}
.progress-card progress{width:100%;height:10px;accent-color:var(--pine);margin:10px 0}
.done-list{list-style:none;padding:0;margin:4px 0 10px;display:grid;gap:6px}
.done-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;color:var(--pine)}
.progress-card .forest-box{border-radius:12px;overflow:hidden;margin-top:8px}
.forest-cap{font-size:13px;color:var(--muted);margin-top:8px}
.ai-help{background:#eef4ea;border-color:#d3e2cc}
.sources-health ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px}
.sources-health li{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.sources-health small{display:block;color:var(--muted);font-size:12.5px}
.sources-health .dot{width:10px;height:10px;border-radius:50%;margin-top:6px;flex:none;background:#3f8a5a}
.sh-stale .dot{background:#c98a1a}.sh-missing .dot{background:#b9b3a3}.sh-reconnect .dot{background:#b5452d}
.sh-status{font-size:12px;font-weight:600;color:var(--pine)}.sh-stale .sh-status{color:#9a6a12}.sh-reconnect .sh-status{color:#a03b25}.sh-missing .sh-status{color:#6b665a}
.numbers-mini dl{margin:6px 0 12px}.numbers-mini dl div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule)}
.numbers-mini dt small{display:block;color:var(--muted);font-size:12px}.numbers-mini dd{margin:0;font:600 18px var(--heading)}
.upgrade{margin-top:28px;display:grid;gap:16px;padding:22px;border-radius:16px;background:linear-gradient(140deg,#1f4632,#173826);color:#f3f0e6}
.upgrade h2{color:#fff}.upgrade p{color:#d7e3d4;margin-top:6px}
.upgrade .locked-list{margin-top:12px}.upgrade .locked-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.upgrade .locked-card small{color:#c9d8c6}.upgrade .locked-mask span{background:linear-gradient(90deg,rgba(255,255,255,.25),rgba(255,255,255,.12))}
.upgrade .button.primary{background:#f3f0e6;color:var(--pine);justify-self:start}
.mobile-only{display:none}
@media (max-width:980px){
  .tw-grid{grid-template-columns:1fr}
  .desktop-only{display:none}.mobile-only{display:block;margin-top:18px}
  .hero-grid{grid-template-columns:1fr}
  .tw-head{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .hero-task{border-radius:14px;padding:18px}
  .hero-task h2{font-size:26px}.hero-why{font-size:16px}
  .next-card{flex-direction:column}.next-actions{flex-direction:row;align-items:center;width:100%}
  .access-strip .button{margin-left:0;width:100%}
  .hero-actions .button{width:100%}
  .change-table div{grid-template-columns:1fr}
}
.where-note{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.change-table dd{font:500 15px/1.45 'DM Sans',Arial,sans-serif;letter-spacing:0;color:#22312a}
@media (max-width:640px){
  .tw-head{gap:8px;margin-bottom:10px}
  .tw-head h1{font-size:25px;letter-spacing:-.03em}
  .tw-kicker{margin-bottom:4px}
  .tw-goal{font-size:15px;margin-top:4px}
  .tw-head .field.control{flex-direction:row;align-items:center;gap:8px;font-size:13px}
  .tw-head .field.control select{padding:6px 8px}
  .access-strip{padding:10px 12px;gap:8px;font-size:13.5px;margin-bottom:14px}
  .access-strip .button{padding:9px 12px;font-size:14px}
  .hero-eyebrow{gap:8px}
}
.next-source{margin-top:16px;padding:12px 14px;border-radius:10px;background:#f4f1e6;border:1px dashed #d9d1b8;font-size:14px;color:#3d4a40}
.history{margin:6px 0 10px;font-size:14px}.history summary{color:var(--pine);font-weight:600}
.history ul{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}.history li small{display:block;color:var(--muted);font-size:12px}
#brief-form[data-setup] .form-actions{align-items:center;gap:14px;flex-wrap:wrap}
.guide{margin:18px 0}.guide>.block-head{margin-bottom:12px}
.guide-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.guide-card{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:16px}
.guide-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.guide-card dl{display:grid;gap:8px;margin:0 0 12px}.guide-card dt{font:600 12px/1.2 var(--heading);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.guide-card dd{margin:2px 0 0;font-size:14px;color:#2d3a32}
.g-status{font-size:12px;font-weight:600;padding:4px 8px;border-radius:999px;background:#eef1ea;color:#3d4a40;white-space:nowrap;text-align:right}
.g-ok{background:#e3efe0;color:#1f4632}.g-warn{background:#f8e3dc;color:#9a3b22}.g-wait{background:#fbf0d6;color:#7a5512}
.gbp-paths{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.fix-list{padding-left:18px;font-size:14px;display:grid;gap:6px}
.claim-steps{display:grid;gap:10px;padding-left:20px}
.quote{width:100%;border-collapse:collapse;margin:12px 0}.quote td,.quote th{padding:9px 4px;border-bottom:1px solid var(--rule);text-align:left}
.quote td:last-child,.quote th:last-child{text-align:right;white-space:nowrap}.quote tfoot th{font-size:17px;color:var(--pine)}

/* SS-1113f: overflow, account menu, guided setup */
/* break-word: wrap whole words; only split a word that cannot fit on its own line (so "ChatGPT" never splits) */
main, .panel, dialog, .guide-card, .connection-card, .notice-box, .tw-side, .hero, td, th, li, dd, p, h1, h2, h3, small { overflow-wrap: break-word; word-break: normal; }
main a[href^="http"], .account-email, .match-results, code { overflow-wrap: anywhere; }
.layout > *, .form-grid > *, .field, .row-top > *, .actions > *, .connection-grid > *, .guide-list > *, .weekly-layout > *, .audit-layout > * { min-width: 0; }
input, select, textarea { max-width: 100%; min-width: 0; box-sizing: border-box; }
.button { white-space: normal; max-width: 100%; text-align: center; }
nav a { overflow-wrap: anywhere; }
.workspace > span:last-child { min-width: 0; }
.workspace strong, .workspace small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.top { gap: 12px; min-width: 0; }
.top-workspace { min-width: 0; }
#workspace-site { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 34vw; }
.account { position: relative; flex: none; }
.account summary { list-style: none; display: flex; align-items: center; gap: 7px; min-height: 40px; padding: 4px 10px 4px 4px; border: 1px solid var(--rule); border-radius: 999px; cursor: pointer; font-size: 13px; font-weight: 700; color: var(--green-dark); background: var(--paper); }
.account summary::-webkit-details-marker { display: none; }
.account summary:focus-visible { outline: 3px solid #9cc3a4; outline-offset: 2px; }
.account-initial { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--leaf); color: var(--green-dark); }
.account-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; width: max-content; max-width: min(320px, calc(100vw - 24px)); min-width: 200px; padding: 12px; border: 1px solid var(--rule); border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(20,40,25,.14); }
.account-email { margin: 0 0 10px; font-size: 13px; overflow-wrap: anywhere; }
.account-menu .button { width: 100%; }
.signout { display: none; }
.label-line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.req { padding: 1px 7px; border-radius: 999px; background: #fff1d6; color: #7a4b00; font-size: 11px; font-weight: 700; }
.brief-later { margin-top: 18px; border-top: 1px solid var(--rule); padding-top: 14px; }
.brief-later > summary { cursor: pointer; padding: 6px 0; }
.brief-later > summary .hint { font-weight: 400; }
.next-step { border: 2px solid var(--leaf); }
.next-step h2 { margin-top: 0; }
.next-step .button.big { min-height: 48px; font-size: 15px; padding: 10px 18px; }
.site-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; align-items: start; }
.site-form .error, .site-form .actions { grid-column: 1/-1; }
.step-alt { margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.setup-steps li.done { color: var(--green-dark); }
.setup-steps li.done span { background: var(--green-dark); color: #fff; border-color: var(--green-dark); }
.form-actions { flex-wrap: wrap; }
@media (max-width: 620px) {
  .site-form { grid-template-columns: minmax(0,1fr); }
  .account-label { display: none; }
  .account summary { padding: 4px; }
  .top-workspace a { display: none; }
  .actions { flex-wrap: wrap; }
}
.guide-top { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: flex-start; justify-content: space-between; }
.guide-top h3 { min-width: 0; flex: 1 1 160px; }
.g-status { white-space: normal; max-width: 100%; }

/* SS-1113g: Data sources list and Google match panel */
.src-list { list-style: none; margin: 0; padding: 0; }
.src-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--rule); }
.src-list > .src-row:first-child { border-top: 0; }
.src-name { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.src-name h3 { margin: 0; font-size: 15px; hyphens: none; }
.src-main p { margin: 4px 0 0; }
.src-act { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; align-items: center; }
.src-two { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.src-more { grid-column: 1/-1; }
.src-more > summary { cursor: pointer; font-size: 13px; font-weight: 700; color: var(--green-dark); }
.src-more dl { margin: 8px 0; display: grid; gap: 8px; }
.src-more dt { font-size: 12px; font-weight: 700; color: var(--muted); }
.src-more dd { margin: 2px 0 0; }
.src-optional { margin-top: 10px; border-top: 1px solid var(--rule); padding-top: 10px; }
.src-optional > summary { cursor: pointer; padding: 6px 0; }
.g-ok { background: #e3f1e5; color: #1f5a2c; }
.g-warn { background: #fff1d6; color: #7a4b00; }
.g-wait { background: #eef1ea; color: #3d4a40; }
.match-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin: 6px 0 14px; }
.match-row h3 { margin: 0 0 6px; font-size: 15px; }
.match-row select { width: 100%; }
.match-results { margin: 12px 0; padding-left: 18px; }
.match-results li { margin: 4px 0; }
#google-match .actions { margin-top: 8px; }
@media (max-width: 700px) {
  .match-grid { grid-template-columns: minmax(0,1fr); }
  .src-row { grid-template-columns: minmax(0,1fr); }
  .src-act, .src-two { justify-content: flex-start; }
}
/* SS-1113h: drafts and follow-up */
.draft-list { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 14px; }
.draft-list li { border-top: 1px solid var(--rule); padding-top: 12px; }
.draft-head { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; }
.draft-head small { color: var(--muted); }
.draft-now, .draft-new { margin: 6px 0; }
.draft-now { color: var(--muted); }
.draft-now > span:first-child, .draft-new > span:first-child { display: inline-block; min-width: 72px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.draft-new > span:first-child { color: var(--green-dark); }
.follow-ups { margin-top: 12px; border-top: 1px solid var(--rule); padding-top: 10px; }
.follow-ups h3 { font-size: 14px; margin: 0 0 6px; }
#complete-form fieldset { border: 0; padding: 0; margin: 0 0 10px; }
#complete-form .check { display: flex; gap: 8px; align-items: center; font-weight: 400; margin: 4px 0; }
/* SS-1113i: Fable path (This week → Make the change → Check results) */
.tw2 { max-width: 1120px; }
.tw2-grid { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 24px; align-items: start; }
.tw2-side { display: grid; gap: 14px; }
.tw2-side .side-card h3 { margin: 4px 0; font-size: 16px; }
.path-chips { display: flex; flex-wrap: wrap; gap: 6px 10px; list-style: none; margin: 0 0 14px; padding: 0; font-size: 13px; color: var(--muted); }
.path-chips li { display: flex; align-items: center; gap: 6px; }
.path-chips li span { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid var(--rule); border-radius: 50%; font-size: 12px; }
.path-chips [aria-current=step] { color: var(--green-dark); font-weight: 700; }
.path-chips [aria-current=step] span { background: var(--leaf); border-color: var(--leaf); }
.path-chips li.done span { background: var(--green-dark); color: #fff; border-color: var(--green-dark); }
.priority-card { background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 24px; }
.priority-card h2 { font-size: clamp(22px, 3vw, 30px); line-height: 1.2; margin: 0 0 10px; }
.pri-why { font-size: 16px; margin: 0 0 16px; }
.pri-actions { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; }
.pri-meta { color: var(--muted); font-size: 14px; }
.why-this { margin-top: 18px; border-top: 1px solid var(--rule); padding-top: 12px; }
.why-this > summary { cursor: pointer; font-weight: 700; color: var(--green-dark); }
.metric-pair { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 12px 0; }
.metric-pair > div { display: grid; max-width: 220px; }
.metric-pair strong { font-size: 28px; line-height: 1.1; }
.metric-pair span { font-size: 13px; color: var(--muted); }
.gap-line { margin: 16px 0 0; padding: 10px 12px; border-radius: 8px; background: #fff4dc; color: #5c3b00; font-size: 14px; }
.forest-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; color: var(--green-dark); }
.forest-icons { display: inline-flex; gap: 2px; }
.trial-chip { padding: 6px 10px; border-radius: 999px; background: #fff4dc; color: #5c3b00 !important; font-size: 12px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.task2 { max-width: 920px; }
.task2 h1 { font-size: clamp(22px, 3vw, 30px); line-height: 1.2; }
.task2 .back { display: inline-block; margin-bottom: 10px; }
.task2 .panel { margin-top: 14px; }
.task-steps { list-style: none; padding: 0; margin: 0; }
.task-steps > li { border-top: 1px solid var(--rule); padding: 14px 0; }
.task-steps > li:first-child { border-top: 0; }
.step-check { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.step-check input { width: 20px; height: 20px; margin-top: 2px; flex: none; }
.now-new { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin: 10px 0 0 30px; }
.now-new > div { border: 1px solid var(--rule); border-radius: 8px; padding: 10px 12px; }
.now-new .now { background: #f6f5f0; color: var(--muted); }
.now-new .new { background: #f1f7f1; }
.now-new span { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px; }
.now-new p { margin: 0 0 8px; }
.now-new small { display: block; color: var(--muted); margin-bottom: 8px; }
.prompt-text { white-space: pre-wrap; font-size: 12px; max-height: 320px; overflow: auto; background: #f6f5f0; padding: 12px; border-radius: 8px; }
.task-foot .inline-date { max-width: 220px; margin: 10px 0; }
@media (max-width: 950px) { .tw2-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 600px) { .now-new { grid-template-columns: minmax(0,1fr); margin-left: 0; } .priority-card { padding: 18px; } }
.done-strip { margin: 0 0 12px; padding: 10px 12px; border-radius: 8px; background: #e3f1e5; color: #1f5a2c; font-size: 14px; }
.result-table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 14px; }
.result-table th, .result-table td { text-align: left; padding: 8px 6px; border-top: 1px solid var(--rule); vertical-align: top; }
.result-table thead th { border-top: 0; font-size: 13px; }
.account-menu .danger-link { margin-top: 8px; color: #8a2a1a; }
