/* Approved direction A. Shared hierarchy, surfaces and control states.
   These component tokens supersede earlier prototype visual experiments. */
:root{
 --bg:#F5F4F0;--surface:#FFFFFF;--soft:#EEEDE8;--text:#182033;--muted:#475569;
 --border:#D4D6D9;--control:#6B7280;--primary:#0E7E6E;--hover:#096658;
 --selected:#E6F4F1;--primary-soft:#E6F4F1;--on-primary:#FFFFFF;
 --context:#ECEBE6;--panel-heading:#F0F0EC;--teal-ink:#075E53;
 --task-active:#0E7E6E;--task-ink:#FFFFFF;--context-active:#1A2035;
}
[data-theme=dark]{
 --bg:#0C1016;--surface:#171D26;--soft:#222A35;--text:#E8EDF4;--muted:#B2BDCC;
 --border:#455162;--control:#77869A;--primary:#67D8C3;--hover:#90E6D6;
 --selected:#1B3835;--primary-soft:#1B3835;--on-primary:#0D2420;
 --context:#202733;--panel-heading:#242D39;--teal-ink:#90E6D6;
 --task-active:#67D8C3;--task-ink:#0D2420;--context-active:#35445C;
}
.page-head h1{font-size:24px!important;letter-spacing:-.025em}
.page-head{margin-bottom:20px!important}.subtitle{font-size:14px!important}
.panel,.mt-box,.wb-panel{border-color:var(--border)}
.panel-head{background:var(--panel-heading);padding:12px 16px!important;min-height:44px!important}
.panel-head h2{font-size:16px!important;color:var(--text);font-weight:650}
.panel-body{padding:16px!important}
.field,.mt-form label{font-size:13px!important;font-weight:600}
.field-hint,.market-meta,.mt-footnote,.badge,.ticker,.small,.eyebrow,
.setup-summary,.setup-summary summary,.md-stat small,.cc-badge{font-size:12px!important}
.field-hint{font-weight:400}
.panel a:not(.button),.button.text,.segment.active,.badge.teal,.toast,
.bv-tabs button[aria-pressed=true],.mt-view-switch button[aria-pressed=true],
.wb-view-switch button[aria-pressed=true],.readback strong{color:var(--teal-ink)}
.panel a.button.primary{color:var(--on-primary)}
.panel a.ai-action{color:var(--ai)}
.panel a.ai-action:hover{color:#FFFFFF;background:var(--ai)}
[data-theme="dark"] .panel a.ai-action:hover{color:#17111F}
#main .journey-navigation .nav-link{color:var(--text)!important}
#main .journey-navigation .nav-link:hover{background:var(--soft)}
#main .journey-navigation .nav-link.active{background:var(--selected);color:var(--teal-ink)!important}
#main .journey-navigation summary{color:var(--muted)}
.setup-context{background:var(--context);border-color:var(--border);margin-bottom:22px}
.ad-context-label{padding:11px 16px 0;font-size:12px;font-weight:650;letter-spacing:.035em;color:var(--muted)}
.setup-phases{display:flex!important;align-items:center;gap:6px;padding:8px 12px;border:0;flex-wrap:wrap}
.setup-phases a{border:0!important;box-shadow:none!important;min-height:36px;padding:6px 12px;font-size:13px;color:var(--muted);border-radius:4px}
.setup-phases a:not(:last-child)::after{content:'›';margin-left:12px;color:var(--muted)}
.setup-phases a[aria-current]{background:var(--context-active);color:#FFFFFF;font-weight:650}
.setup-phases a[aria-current]::after{color:#D0D7E5}
.setup-summary{border-top:1px solid var(--border)!important}
.setup-summary a,.setup-summary>summary>span:last-child{color:var(--teal-ink)}
.hc-eyebrow,.mt-steps a span{font-size:12px!important}
.setup-summary>summary{padding:8px 16px!important;min-height:36px!important}
.ad-task-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 10px;font-size:14px;font-weight:650}
.ad-task-heading span{font-size:12px;font-weight:450;color:var(--muted)}
.steps.six{background:var(--surface);border:1px solid var(--control);border-radius:6px;padding:6px;gap:4px;margin-bottom:20px!important}
.steps.six .step{display:flex;flex-direction:row!important;align-items:center;justify-content:flex-start;font-size:13px!important;min-height:44px;gap:8px;padding:8px!important;border:0;border-radius:4px;color:var(--muted)}
.steps.six .step b{display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;border:1px solid var(--control);font-size:12px!important;background:var(--soft);color:var(--muted)}
.steps.six .step.active{background:var(--task-active);color:var(--task-ink);font-weight:650}
.steps.six .step.active b{background:var(--task-ink);color:var(--task-active);border-color:var(--task-ink)}
.wizard-footer{border-top:1px solid var(--border);padding-top:16px;margin-top:20px!important}
.ad-check-next{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-left:3px solid var(--primary);padding:14px;background:var(--soft);margin:12px 0}
.ad-check-next p{font-size:13px;max-width:640px}
.mt-steps{background:var(--context);border:1px solid var(--border);border-radius:6px;padding:5px!important;gap:4px}
.mt-steps a{font-size:13px!important;min-height:40px;padding:8px!important;border:0!important;border-radius:4px;color:var(--muted)}
.mt-steps a[aria-current]{background:var(--task-active);color:var(--task-ink)!important;font-weight:650}
.mt-ticket{border:1px solid var(--control)!important;border-top:3px solid var(--primary)!important}
.mt-ticket>header{background:var(--panel-heading);padding:12px;margin:-1px -1px 16px;border-bottom:1px solid var(--border)}
.mt-ticket>header h2{font-size:16px!important}
.ad-market-analysis{padding:0;border:0}
.ad-market-analysis>summary{display:none}
.ad-start-options{background:var(--surface);border:1px solid var(--border);border-radius:6px;margin:0 0 18px;padding:0}
.ad-start-options>summary{padding:12px 16px;font-size:14px;color:var(--text);font-weight:600;justify-content:space-between}
.ad-start-options>summary::after{content:'+';font-size:18px}
.ad-start-options[open]>summary::after{content:'−'}
.ad-start-options .tj-start{border:0;margin:0}
.ad-bt-views{display:flex;flex-wrap:wrap;gap:6px;background:var(--context);border:1px solid var(--border);padding:5px;border-radius:6px}
.ad-bt-views button{font:inherit;font-size:13px;min-height:40px;border-radius:4px;padding:8px 14px;color:var(--muted);background:transparent}
.ad-bt-views button[aria-pressed=true]{background:var(--context-active);color:#FFFFFF;font-weight:600}
.ad-bt-caption{font-size:13px;color:var(--muted);margin:0}
[hidden]{display:none!important}
th{background:var(--panel-heading);color:var(--text);font-size:12px!important;font-weight:600}
th button{font-size:12px!important;color:var(--text)}
th[aria-sort=ascending],th[aria-sort=descending]{box-shadow:inset 0 -2px var(--primary)}
td.num,.metric .value,.mt-stats b,.bv-metrics strong{font-variant-numeric:tabular-nums}
.selected-row{background:var(--selected)!important}
.selected-row td:first-child{box-shadow:inset 3px 0 var(--primary)}
.thread .node{background:var(--context);color:var(--text);border-color:var(--control)}
.thread li:before{background:var(--control)}
.thread p{font-size:13px}
.table-tools,.wb-table-tools{background:var(--surface);border-bottom:1px solid var(--border)}
.setup-selection-dock{border:1px solid var(--control)!important;box-shadow:0 -4px 16px #00000010}
.main:has(.setup-selection-dock){padding-bottom:120px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--info);outline-offset:3px}
@media(min-width:768px){
 .steps.six{grid-template-columns:repeat(6,minmax(0,1fr))!important}
 .ad-market-analysis:not([open])>:not(summary){display:block}
}
@media(max-width:767px){
 .page-head h1{font-size:23px!important}
 .ad-context-label{padding:10px 12px;font-size:13px;letter-spacing:0}
 .setup-phases{display:none!important}
 .setup-summary>summary{padding:8px 12px!important;min-height:44px!important}
 .steps.six{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .steps.six .step{font-size:14px!important;padding:6px!important;min-height:46px!important;gap:6px}
 .steps.six .step b{width:20px;height:20px}
 .ad-task-heading{font-size:14px}.ad-task-heading span{font-size:12px}
 .mt-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .mt-steps a{font-size:14px!important;min-height:44px}
 .field,.mt-form label{font-size:14px!important}
 input:not([type=checkbox]):not([type=range]),select,textarea{font-size:16px!important;min-height:44px!important}
 .button,.quiet,.nav-link,summary{min-height:44px}
 .mt-terminal{display:flex!important;flex-direction:column}
 .mt-market-context{display:contents}
 .mt-terminal #mt-market{order:0;width:100%}
 .mt-terminal #mt-ticket{order:1;width:100%}
 .mt-terminal .mt-market-context>section:not(#mt-market){order:2;width:100%}
 .ad-market-analysis{border-top:1px solid var(--border);margin-top:12px}
 .ad-market-analysis>summary{display:flex;min-height:44px;font-size:14px;color:var(--teal-ink)}
 .ad-bt-views button{min-height:44px;font-size:14px;flex:1}
 .ad-start-options>summary{font-size:14px}
 .setup-selection-dock{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
