/* Shared native-style application system, across all 21 workflows. */
.niche-section > .container { max-width:1320px; }
.solution-options .solution-heading { border-color:#e5e5ea; border-radius:22px; }
.solution-options .solution-heading.is-selected { border-color:#b4ccef; background:#f5f8fd; }
.solution-options .solution-category { letter-spacing:.04em; color:#86868b; }
.solution-options .solution-title { color:#1d1d1f; }
.is-selected .solution-toggle { background:#007aff; border-color:#007aff; }
.problem-accordion > .solution-item.is-open { background:#f5f5f7; border:0; border-radius:30px; box-shadow:none; }
.solution-item .solution-panel-inner { grid-template-columns:minmax(0,.63fr) minmax(0,1.5fr); gap:38px; padding:32px; }
.solution-story { padding:0 8px; }
.solution-problem { color:#6e6e73; font-size:16px; line-height:1.55; margin-bottom:26px; }
.solution-story h4 { color:#1d1d1f; font-size:28px; font-weight:650; letter-spacing:-.045em; margin-bottom:12px; }
.solution-description { color:#515154; font-size:15px; line-height:1.6; margin-bottom:26px; }
.solution-outcome { border:0; padding:15px 16px; background:#e9f3ec; color:#28643d; border-radius:16px; font-size:13px; align-items:center; line-height:1.45; }
.solution-outcome > span { border:0; background:#d3e7d8; color:#28643d; width:23px; height:23px; }
.solution-outcome.is-achieved > span { border:0; background:#34a853; }
.solution-window { --app-blue:#007aff; border:1px solid #dcdce1; border-radius:24px; box-shadow:0 18px 42px -24px #11182742,0 2px 7px #11182706,inset 0 0 0 1px #fff; background:#f5f5f7; }
.solution-app-content { container-type:size; }
.solution-window-bar { height:58px; padding:0 19px; background:linear-gradient(180deg,#fffffffa,#f9f9fbf5); border-bottom:1px solid #e5e5ea; gap:16px; }
.solution-window-brand { gap:10px; }
.solution-window-brand strong { color:#1d1d1f; font-size:14px; font-weight:600; letter-spacing:-.025em; }
.solution-app-mark { width:30px; height:30px; border-radius:9px; background:linear-gradient(145deg,#5aadff,#007aff); box-shadow:inset 0 1px 0 #ffffff40; }
.solution-app-mark svg { width:22px; height:22px; }
.solution-toolbar { display:flex; gap:5px; align-items:center; }
.solution-toolbar button { background:transparent; border:0; border-radius:9px; color:#6e6e73; display:grid; place-items:center; width:29px; height:29px; cursor:pointer; transition:background .15s,color .15s; }
.solution-toolbar button:hover { background:#e8e8ed; color:#1d1d1f; }
.solution-toolbar button svg { width:16px; height:16px; }
.solution-toolbar button:focus-visible,.sa-subnav button:focus-visible { outline:2px solid #007aff; outline-offset:2px; }
.solution-window-footer { min-height:58px; padding:10px 19px; background:#ffffffed; border-top:1px solid #e5e5ea; }
.solution-window-status { font-size:11px; color:#6e6e73; gap:7px; }
.solution-window-status i { width:6px; height:6px; background:#ff9f0a; }
.solution-window-status.is-done { color:#278343; }
.solution-window-status.is-done i { background:#34c759; }
.solution-primary-action { background:#007aff; font-size:11px; font-weight:600; padding:10px 15px; border-radius:11px; gap:12px; box-shadow:0 1px 2px #007aff20; }
.solution-primary-action svg { height:13px; width:13px; }
.solution-primary-action:hover { background:#0071e3; filter:none; }
.solution-primary-action:focus-visible { outline-color:#007aff; }
.solution-window[data-stage="2"] .solution-primary-action { background:#f0f0f3; color:#515154; box-shadow:none; }
.sa-workspace { --sa-accent:#007aff; --sa-tint:#eaf7ed; background:#f5f5f7; color:#1d1d1f; padding:18px 20px; font:12px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",sans-serif; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#c7c7cc transparent; animation:apple-view-in .25s ease-out both; }
.sa-workspace::-webkit-scrollbar { width:4px; }
.sa-workspace::-webkit-scrollbar-thumb { background:#c7c7cc; border-radius:10px; }
.sa-workspace h3 { font-size:21px; letter-spacing:-.045em; line-height:1.2; color:#1d1d1f; font-weight:650; }
.sa-workspace h4 { font-size:13px; color:#1d1d1f; font-weight:600; letter-spacing:-.015em; }
.sa-workspace p { color:#6e6e73; font-size:12px; line-height:1.5; }
.sa-workspace .sa-caption { color:#86868b; letter-spacing:0; font-size:10px; font-weight:500; margin-bottom:7px; }
.sa-workspace .sa-subnav { width:max-content; max-width:100%; display:flex; gap:2px; padding:3px; margin:0 0 18px; background:#e7e7ec; border:0; border-radius:11px; }
.sa-subnav button { border:0; background:transparent; padding:6px 14px; color:#6e6e73; font:500 10px/1.4 var(--font-sans); border-radius:8px; white-space:nowrap; cursor:pointer; transition:background .2s,color .2s; }
.sa-subnav button.active { background:#fff; color:#1d1d1f; font-weight:600; box-shadow:0 2px 5px #00000012,0 0 0 .5px #00000003; }
.sa-subnav .active:after { display:none; }
.sa-subnav button:hover:not(.active) { color:#1d1d1f; background:#ffffff66; }
.sa-section-head { margin-bottom:16px; gap:12px; }
.sa-section-head > div { display:flex; flex-direction:column; gap:5px; min-width:0; }
.sa-section-head .sa-caption { order:2; margin:0; color:#86868b; font-size:9px; letter-spacing:0; }
.sa-split { gap:14px; }
.sa-panel,.sa-document,.sa-metric,.sa-table-wrap { border:0; border-radius:16px; background:#fff; box-shadow:0 1px 3px #00000004; }
.sa-panel { padding:15px; }
.sa-panel h4 { margin-bottom:10px; }
.sa-panel-heading { font-size:11px; font-weight:600; color:#1d1d1f; }
.sa-panel-heading small { color:#86868b; font-size:9px; }
.sa-document { padding:16px; }
.sa-workspace .sa-document h4 { font:600 16px/1.25 var(--font-sans); color:#1d1d1f; letter-spacing:-.03em; margin:7px 0 12px; }
.sa-workspace .sa-document p { font-size:12px; line-height:1.55; color:#6e6e73; margin-bottom:12px; }
.sa-workspace .sa-document p.sa-edit-after { border:0; border-radius:10px; background:#eef5ff; color:#255787; padding:12px; }
.sa-doc-line { font-size:10px; border-color:#eeeef0; padding:9px 0; color:#6e6e73; }
.sa-doc-line b { color:#1d1d1f; font-weight:500; }
.sa-document-footer { color:#86868b; border-color:#eeeef0; font-size:9px; padding-top:10px; margin-top:16px; }
.sa-row { border-color:#eeeef0; padding:10px 0; gap:10px; font-size:11px; }
.sa-row b { color:#1d1d1f; font-size:12px; font-weight:550; }
.sa-row small { color:#86868b; font-size:10px; margin-top:3px; }
.sa-row > span { font-size:12px; color:#1d1d1f; font-variant-numeric:tabular-nums; }
.sa-row.total { padding-top:12px; }
.sa-row.total > span,.sa-row.total > span b { color:#1d1d1f; font-size:20px; font-weight:600; letter-spacing:-.045em; }
.sa-metrics { gap:12px; margin-bottom:14px; }
.sa-metric { padding:14px 15px; }
.sa-workspace .sa-metric .sa-caption { font-size:10px; font-weight:500; text-transform:none; letter-spacing:0; margin-bottom:9px; color:#6e6e73; }
.sa-metric strong { font-size:29px; font-weight:650; letter-spacing:-.05em; color:#1d1d1f; font-variant-numeric:tabular-nums; }
.sa-metric small { font-size:9px; color:#6e6e73; margin-top:6px; }
.sa-tag { display:inline-flex; align-items:center; background:#f0f0f3; color:#6e6e73; padding:4px 8px; border-radius:7px; font-size:9px; font-weight:500; line-height:1.3; white-space:nowrap; }
.sa-tag.good { background:#eaf6ed; color:#24833f; }
.sa-tag.amber { background:#fff3de; color:#9b650e; }
.sa-note { border:0; background:#f5f5f7; border-radius:12px; padding:11px; margin-top:12px; gap:8px; }
.sa-note b { font-size:10px; color:#515154; font-weight:600; }
.sa-note small { color:#86868b; font-size:9px; line-height:1.45; }
.sa-note-icon { border:0; background:#e9e9ee; color:#6e6e73; width:19px; height:19px; }
.sa-note.good { background:#edf8ef; border:0; }
.sa-note.good b,.sa-note.good small { color:#287c3d; }
.sa-note.good .sa-note-icon { background:#34c759; color:#fff; }
.sa-message { padding:11px 0 0; align-items:flex-start; }
.sa-message > i { background:#e8e8ed; color:#6e6e73; font-size:9px; font-style:normal; }
.sa-message p,.sa-message p b { font-size:10px; color:#6e6e73; line-height:1.5; }
.sa-message p b { color:#1d1d1f; font-weight:550; }
.sa-table-wrap { margin-bottom:14px; }
.sa-table { font-size:11px; }
.sa-table th { background:#fafafa; font-size:10px; font-weight:500; color:#86868b; padding:11px 13px; }
.sa-table td { color:#515154; font-size:11px; border-color:#f0f0f3; padding:13px; font-variant-numeric:tabular-nums; }
.sa-table td:first-child { color:#1d1d1f; font-weight:500; }
.sa-table tr:last-child td { border-bottom:0; }
.sa-large-number { color:#1d1d1f; font-size:32px; letter-spacing:-.05em; font-weight:650; margin:15px 0; }
.sa-large-number small { font-size:10px; color:#86868b; font-weight:400; letter-spacing:0; }
.sa-file { padding:11px; border:0; background:#f5f5f7; border-radius:10px; gap:9px; }
.sa-file > span:first-child { color:#007aff; font-size:22px; }
.sa-file b { color:#1d1d1f; font-size:10px; }
.sa-file small { color:#86868b; font-size:9px; }
.sa-signature { display:none; align-items:center; gap:8px; margin-top:12px; font:11px/1.35 var(--font-sans); color:#1d1d1f; opacity:0; }
.sa-signature.visible { display:flex; opacity:1; }
.sa-signature > span { background:#eef1f6; color:#7b889a; border-radius:50%; width:27px; height:27px; display:grid; place-items:center; font-size:9px; }
.sa-signature b { font-size:10px; font-weight:550; }
.sa-signature small { color:#86868b; font:9px/1.5 var(--font-sans); }
.sa-chart-grid { stroke:#eeeef0; }
.sa-chart-area { fill:#007aff0d; }
.sa-chart-line { stroke:#007aff; stroke-width:2.5; }
.sa-chart-line.muted { stroke:#c7c7cc; stroke-dasharray:4 4; }
.sa-chart-labels,.sa-bar-row > span,.sa-bar-row > b { color:#6e6e73; font-size:9px; }
.sa-bar-track { background:#f0f0f3; border-radius:8px; }
.sa-bar-track i { background:#007aff; border-radius:8px; }
.sa-bar-track i.pale { background:#b8d7fb; }
.sa-plan,.sa-route-map { border:0; border-radius:16px; background:#edf0f2; }
.sa-plan-label,.sa-art-caption { color:#6e6e73; }
.sa-plan-label { padding:9px 12px; border:0; background:#ffffffdd; border-radius:0 0 16px 16px; }
.sa-creative-art { border-radius:16px; }
.sa-art-caption { font-size:9px; padding:2px 4px; }
.sa-art-caption b { font-size:10px; color:#515154; }
.sa-feedback { border-radius:12px; background:#f5f5f7; padding:12px; }
.sa-feedback b,.sa-feedback p { color:#6e6e73; font-size:10px; }
.sa-person-strip,.sa-kanban > div,.sa-task { border:0; border-radius:12px; }
.sa-person-strip { background:white; padding:14px; }
.sa-person-profile h4 { font-size:15px; }
.sa-person-profile p,.sa-person-strip small { color:#6e6e73; font-size:10px; }
.sa-person-strip b { color:#1d1d1f; font-size:12px; }
.sa-timeline b { color:#1d1d1f; font-size:11px; }
.sa-timeline small { color:#86868b; font-size:10px; }
.sa-timeline > div { padding-bottom:17px; }
.sa-timeline .complete > i { background:#34c759; border-color:#34c759; }
.sa-formula { color:#1d1d1f; margin:23px 0; font-size:24px; }
.sa-formula > b { color:#1d1d1f; font-size:32px; font-weight:650; }
.sa-formula > span { color:#86868b; font-size:17px; }
.sa-material-sample { margin:-15px -15px 14px; height:65px; }
.sa-map-chip { border:0; border-radius:10px; color:#515154; font-size:10px; padding:9px 11px; }
.sa-detention-track { border:0; border-radius:12px; }
.sa-detention-track > span { background:#eaf2fc; color:#3e6b9c; width:33.33%; }
.sa-detention-track > span:nth-child(2) { background:#fff0d5; color:#996912; width:66.67%; }
.sa-detention-track i { font-size:21px; }
.sa-pod-signature { border-color:#e5e5ea; border-radius:12px; background:#fafafa; }
@keyframes apple-view-in { from { opacity:.6; } to { opacity:1; } }
@media(max-width:1000px) and (min-width:761px) { .solution-item .solution-panel-inner { gap:24px; padding:24px; grid-template-columns:minmax(0,.6fr) minmax(0,1.3fr); } .solution-story { padding:0; } .solution-story h4 { font-size:25px; } .solution-problem,.solution-description { font-size:14px; } }
@media(max-width:760px) { .solution-item .solution-panel-inner { grid-template-columns:1fr; padding:24px 18px; gap:24px; } .solution-story { display:block; padding:0; } .solution-problem { font-size:14px; margin-bottom:18px; } .solution-description { font-size:14px; margin-bottom:16px; } .solution-story h4 { font-size:25px; } .solution-outcome { margin-top:0; font-size:12px; } }
@container(max-width:550px) {
  .sa-workspace { width:760px; height:calc(760px * 100cqh / 100cqw); transform:scale(calc(100cqw / 760px)); transform-origin:top left; padding:18px 20px; animation:none; }
  .sa-workspace h3 { font-size:21px; }
  .sa-workspace .sa-caption { font-size:9px; }
  .sa-workspace .sa-panel { padding:15px; }
  .sa-workspace .sa-row { padding:10px 0; }
  .sa-workspace .sa-row b,.sa-workspace .sa-row > span { font-size:11px; }
  .sa-workspace .sa-row small { font-size:9px; }
  .sa-workspace .sa-metric strong { font-size:29px; }
  .sa-workspace .sa-table td { font-size:11px; }
}
@media(max-width:420px) { .solution-item .solution-panel-inner { padding:20px 12px; } .solution-window { border-radius:18px; } .solution-window-bar { height:42px; padding:0 12px; } .solution-window-brand strong { font-size:11px; } .solution-app-mark { width:25px; height:25px; border-radius:8px; } .solution-app-mark svg { width:18px; height:18px; } .solution-window-footer { min-height:45px; padding:8px 11px; } .solution-primary-action { font-size:9px; padding:8px 10px; border-radius:9px; } .solution-window-status { font-size:8px; } .solution-toolbar button { width:24px; height:24px; } .solution-toolbar button svg { width:13px; height:13px; } }
@media(prefers-reduced-motion:reduce) { .sa-workspace { animation:none; } }

/* App identity belongs to the description; the canvas is the working surface. */
.solution-story-title { display:flex;align-items:center;gap:13px;margin:0 0 14px; }
.solution-story-title h4 { margin:0; }
.solution-story-title .solution-app-mark { width:43px;height:43px;border-radius:13px;flex-shrink:0;box-shadow:inset 0 1px 1px #ffffff80,0 3px 8px #007aff1c; }
.solution-story-title .solution-app-mark svg { width:27px;height:27px; }
.solution-outcome[hidden] { display:none; }
.workflow-playback { display:flex;align-items:center;gap:10px;margin-top:28px; }
.workflow-playback button { display:flex;align-items:center;gap:7px;color:#74777f;font:500 12px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;background:none;border:0;padding:7px 0;cursor:pointer; }
.workflow-playback button:hover { color:#007aff; }
.workflow-playback button svg { width:15px;height:15px; }
.workflow-playback button[data-action="replay"] { padding:7px; }
.workflow-playback button:focus-visible { outline:3px solid #007aff55;outline-offset:4px;border-radius:8px; }
.workflow-window { position:relative; }
.workflow-cursor { position:absolute;left:72%;top:77%;z-index:20;pointer-events:none;opacity:0;width:23px;height:29px;filter:drop-shadow(0 3px 3px #17213b33);transition:left .48s cubic-bezier(.22,.61,.36,1),top .48s cubic-bezier(.22,.61,.36,1),opacity .2s,transform .14s; }
.workflow-cursor svg { display:block;width:100%;height:100%; }
.workflow-cursor.is-visible { opacity:1; }
.workflow-cursor.is-pressing { transform:scale(.82); }
@media(prefers-reduced-motion:reduce) { .workflow-cursor { display:none; } }
