/* Workspace clarity: native text at readable sizes, solid surfaces, vector-only charts. */
.shell { --muted: #475569; --line: #dce4ee; font-size: 15px; }
.shell .icon,.dialog .icon { stroke-width: 2; }
.shell .icon *,.dialog .icon * { vector-effect: non-scaling-stroke; }
.shell .fade-in,.dialog .workflow-step { animation: none; transform: none; opacity: 1; }
.shell button,.shell .button,.dialog button { font-size: 14px; min-height: 40px; transition-property: background-color,border-color,box-shadow,color; }
.shell .sidebar { overflow-y: auto; }
.shell .sidebar .brand { padding-bottom: 20px; }
.shell .nav-label { margin-top: 18px; }
.shell .sidebar nav a { font-size: 15px; min-height: 44px; }
.shell .nav-label { letter-spacing: .5px; }
.shell .workspace-label { align-items: flex-start; padding-inline: 8px; }
.shell .workspace-label { padding-top: 10px; padding-bottom: 12px; }
.shell .workspace-label>div:last-child { min-width: 0; }
.shell .workspace-label small { line-height: 1.6; }
.shell .sidebar-bottom { padding-top: 20px; }
.shell .side-quota { padding: 12px; }
.shell .side-quota .between { gap: 8px; flex-wrap: wrap; }
.shell .side-quota .mono { font-family: var(--sans); }
.shell .topbar { background: #fff; backdrop-filter: none; height: auto; min-height: 88px; }
.shell .topbar-title p { line-height: 1.5; }
.shell .topbar-title h1 { font-size: 22px; }
.shell .page-heading h2 { font-size: 24px; line-height: 1.3; }
.shell .page-heading .sub { font-size: 15px; line-height: 1.65; }
.shell .panel-head { flex-wrap: wrap; }
.shell .panel-head h2,.shell .empty h3 { font-size: 17px; }
.shell .panel { box-shadow: 0 2px 6px #0a254006; }
.shell .notice { font-size: 14px; line-height: 1.65; }
.shell .notice.warn p { color: #70562e; }
.shell .notice.warn .icon { color: #995004; }
.shell .empty p { font-size: 15px; }
.shell .metrics { grid-template-columns: repeat(4,minmax(0,1fr)); }
.shell .metric-label { align-items: flex-start; line-height: 1.5; min-height: 42px; gap: 8px; }
.shell .metric .icon { margin-top: 2px; }
.shell .metric-value { font-size: 30px; line-height: 1.25; margin-top: 12px; }
.shell .rail-plan-name { flex-wrap: wrap; }
.shell .setup-list strong { font-size: 15px; }
.shell .rail-body p,.shell .rail-note p { font-size: 14px; line-height: 1.7; }
.shell .definition { font-size: 15px; line-height: 1.6; }
.shell .definition label { font-size: 14px; letter-spacing: .4px; }
.shell .definition>* { min-width: 0; overflow-wrap: anywhere; }
.shell table { font-size: 14px; }
.shell td strong { font-size: 15px; }
.shell td { line-height: 1.6; }
.shell th { font-weight: 600; letter-spacing: .3px; }
.shell .table-actions { flex-wrap: wrap; }
.shell .table-actions button { min-width: 38px; }
.shell .table-scroll:focus-visible { outline: 3px solid #0f4deb; outline-offset: -3px; }
.shell .stack>*,.shell .panel { min-width: 0; }
.shell .filter-bar { flex-wrap: wrap; }
.shell .filter-bar input { min-width: 0; }
.shell .segmented { max-width: 100%; flex-wrap: wrap; gap: 4px; }
.shell .campaign-kind { font-size: 14px!important; }
.shell .price-name { font-size: 17px; }
.shell .price-amount { font-size: 38px; }
.shell .price-card button { white-space: normal; line-height: 1.5; }
.shell .plan-features { line-height: 1.7; }
.shell .pill.active,.shell .pill.completed,.dialog .pill.active,.dialog .pill.completed,.shell .delivery-chip.connected { color: #146a36; }
.shell .pill.running,.shell .pill.queued,.dialog .pill.running,.dialog .pill.queued { color: #874000; }
.shell .billing-summary { gap: 20px; }
.shell .billing-summary h2 { font-size: 20px; }
.shell .billing-summary p { line-height: 1.7; }
.shell .billing-policy-heading { margin-top: 24px; }
.shell .chart-empty { background: none; border-bottom: 1px solid #dce4ee; }
.shell .chart-empty h3 { font-size: 16px; color: #334155; }
.shell .chart-empty p { font-size: 14px; line-height: 1.7; }
.shell .chart-footer { flex-wrap: wrap; gap: 12px; }
.shell .legend i { width: 10px; height: 10px; }
.shell .legend .gray { background: #5b708f; }
.delivery-chart { margin: 0; }
.delivery-chart-grid { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 12px; }
.chart-y-axis { height: 180px; display: flex; flex-direction: column; justify-content: space-between; text-align: right; color: #475569; font-size: 14px; line-height: 1; }
.chart-y-axis>span { position: relative; top: -7px; }
.delivery-chart .chart { width: 100%; height: 180px; overflow: visible; }
.delivery-chart .axis { stroke: #cbd5e1; stroke-width: 1; vector-effect: non-scaling-stroke; }
.delivery-chart .plot { stroke-width: 2; vector-effect: non-scaling-stroke; }
.delivery-chart .searches { stroke: #5b708f; stroke-dasharray: 5 5; }
.chart-x-axis { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; font-size: 14px; color: #475569; line-height: 1.5; }
.chart-data { margin-top: 20px; border-top: 1px solid #dce4ee; padding-top: 14px; }
.chart-data summary { font-size: 14px; font-weight: 600; cursor: pointer; color: #0a35a0; }
.chart-data table { margin-top: 14px; }
.chart-data td,.chart-data th { padding: 10px 12px; }
.dialog { --muted: #475569; font-size: 15px; background: #f6f9fc; }
.dialog .field,.dialog .check-field,.dialog .visit-workflow label { font-size: 14px; line-height: 1.6; }
.dialog .field input,.dialog .field select,.dialog .field textarea,.dialog .visit-workflow input,.dialog .visit-workflow select { font-size: 16px; min-height: 44px; line-height: 1.5; }
.dialog .field small,.dialog .campaign-type-card small { font-size: 14px; line-height: 1.7; color: #475569; }
.dialog header p { font-size: 14px; line-height: 1.6; }
.dialog .form-section h3,.dialog .campaign-type-card strong,.dialog .help-list h3 { font-size: 16px; }
.dialog .campaign-type-card { height: 100%; }
.dialog .session-summary { position: static; }
.dialog .journey { gap: 20px; }
.dialog .journey li { font-size: 14px; line-height: 1.6; }
.dialog .journey small { font-size: 14px; }
.dialog .help-list p { font-size: 15px; line-height: 1.75; }
.dialog .definition { min-width: 0; line-height: 1.65; font-size: 15px; }
.dialog .definition label { font-size: 14px; letter-spacing: .3px; }
.dialog .definition>* { overflow-wrap: anywhere; min-width: 0; }
.dialog .workflow-heading { align-items: flex-start; flex-wrap: wrap; }
.dialog .workflow-heading>label { flex: 1; }
.dialog .workflow-heading p { font-size: 14px; line-height: 1.7; }
.dialog .workflow-entry { flex-wrap: wrap; line-height: 1.6; }
.dialog .workflow-step-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.dialog .workflow-step-head { flex-wrap: wrap; }
.dialog .workflow-step-actions button { min-width: 34px; min-height: 34px; }
.dialog .workflow-result>div { min-width: 0; }
.dialog .pages-list li { min-width: 0; }
.dialog .pages-list a { min-width: 0; }
button:disabled { opacity: 1; color: #526176; background: #eef2f6; border-color: #d5dfe9; box-shadow: none; }
button.primary:disabled { background: #e7edf5; color: #526176; }
#toast { font-size: 14px; transform: none; transition: opacity .15s; }
@media(max-width:1250px) {
  .shell .metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shell .pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; }
}
@media(max-width:1000px) { .dialog .editor-layout { grid-template-columns: minmax(0,1fr); } }
@media(max-width:700px) {
  .shell .sidebar { transform: none; transition: none; visibility: hidden; }
  .shell.mobile-nav-open .sidebar { visibility: visible; }
  .shell .topbar { min-height: 80px; gap: 9px; }
  .shell .topbar-title h1 { font-size: 20px; white-space: normal; }
  .shell .topbar-title p { display: none; }
  .shell .page-heading { flex-wrap: wrap; align-items: flex-start; }
  .shell .page-heading h2 { font-size: 22px; }
  .shell .page-heading>.row { width: 100%; }
  .shell .page-heading .primary { min-height: 42px; }
  .shell .panel-head { align-items: flex-start; }
  .shell .metric-label { min-height: 42px; }
  .shell .filter-bar { flex-wrap: wrap; }
  .shell input.search { font-size: 16px; min-height: 44px; }
  .shell .segmented { max-width: 100%; flex-wrap: wrap; gap: 4px; overflow: visible; }
  .shell .segmented button { min-height: 40px; }
  .shell .pricing-grid { grid-template-columns: minmax(0,1fr); }
  .shell .price-card { padding: 24px; }
  .shell .price-card.featured { padding: 23px; }
  .chart-x-axis>span:nth-child(2),.chart-x-axis>span:nth-child(4) { display: none; }
  .shell :is(.campaign-table,.visit-table) { display: block; width: 100%; }
  .shell :is(.campaign-table,.visit-table) thead { display: none; }
  .shell :is(.campaign-table,.visit-table) tbody { display: grid; padding: 14px; gap: 14px; }
  .shell :is(.campaign-table,.visit-table) tr { display: block; border: 1px solid #dce4ee; border-radius: 9px; padding: 10px 14px; }
  .shell :is(.campaign-table,.visit-table) td { display: block; border: 0; padding: 8px 0; overflow-wrap: anywhere; }
  .shell :is(.campaign-table,.visit-table) td[data-label]::before { content: attr(data-label); display: block; color: #475569; font: 600 14px/1.6 var(--sans); margin-bottom: 3px; }
  .shell :is(.campaign-table,.visit-table) td:first-child { padding-bottom: 13px; margin-bottom: 5px; border-bottom: 1px solid #dce4ee; }
  .shell .table-actions { gap: 10px; }
  .shell .table-actions button { min-width: 44px; min-height: 44px; }
  .shell .account-panel .between { align-items: stretch; flex-direction: column; }
  .shell .account-panel .button { white-space: normal; text-align: center; }
  .dialog .campaign-type-card strong { font-size: 15px; }
  .dialog .fields { grid-template-columns: minmax(0,1fr); }
  .dialog .workflow-step-fields { grid-template-columns: minmax(0,1fr); }
  .dialog .workflow-heading { padding: 15px; }
  .dialog header { gap: 12px; }
  .dialog header h2 { font-size: 21px; }
  .dialog header .close-button { flex-shrink: 0; }
  .dialog footer { flex-wrap: wrap; gap: 8px; }
  .dialog footer button { white-space: normal; }
}
