/* Operator Wallet sandbox: page-local presentation only. */
[hidden] { display: none !important; }
.eyebrow, .section-note { color: var(--ink-muted); }
.eyebrow { display: block; font: 400 var(--fs-xs)/1.4 var(--font-mono); letter-spacing: .09em; text-transform: uppercase; }
.section-head h2 { margin-top: var(--s1); font-size: var(--fs-h2); max-width: 20ch; }
.section-note { margin-top: var(--s2); max-width: 62ch; font-size: var(--fs-body2); }
.ow-hero { padding-bottom: var(--s5); }
.ow-boundary-section { padding-top: var(--s3); }
.ow-boundary { color: var(--text-vault); background: var(--vault); border: 1px solid var(--hairline-vault); border-radius: var(--r-lg); padding: clamp(24px,5vw,56px); box-shadow: var(--shadow-2); }
.ow-boundary .eyebrow { color: var(--text-vault-muted); }
.ow-boundary h2 { margin-top: var(--s1); max-width: 18ch; font-size: var(--fs-h2); }
.ow-boundary__intro > p { margin-top: var(--s2); color: var(--text-vault-muted); max-width: 58ch; }
.ow-boundary__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--s4); margin-top: var(--s4); padding-top: var(--s4); border-top: 1px solid var(--hairline-vault); }
.ow-boundary__grid h3 { display: flex; gap: 10px; align-items: center; font: 600 var(--fs-body2)/1.3 var(--font-body); }
.ow-boundary__grid ul { margin: var(--s2) 0 0; padding-left: 20px; color: var(--text-vault-muted); font-size: var(--fs-body2); }
.ow-boundary__foot { margin-top: var(--s4); padding-top: var(--s3); border-top: 1px solid var(--hairline-vault); color: var(--text-vault-muted); font-size: var(--fs-sm); }
.ow-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; }.ow-dot--ok { background: #6daa8b; }.ow-dot--sim { border: 1px solid #c0ad87; }
.ow-demo-head { display: flex; justify-content: space-between; align-items: end; gap: var(--s4); }
.ow-session { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; justify-content: flex-end; }
.ow-session__state { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-muted); font: var(--fs-sm) var(--font-mono); }
.ow-session__state i { width: 8px; height: 8px; border-radius: 50%; background: var(--hairline-strong); }.ow-session__state.is-live i { background: var(--ok-ink); box-shadow: 0 0 0 4px rgba(46,110,78,.1); }
.ow-progress { display: grid; grid-template-columns: repeat(5,1fr); margin: var(--s5) 0 var(--s3); padding: 0; list-style: none; counter-reset: none; border: 1px solid var(--hairline); border-radius: var(--r-md); background: var(--surface); overflow: hidden; }
.ow-progress li { position: relative; display: flex; gap: 10px; align-items: center; padding: 14px 16px; color: var(--ink-muted); font-size: var(--fs-sm); }
.ow-progress li + li { border-left: 1px solid var(--hairline); }.ow-progress span { font-family: var(--font-mono); }.ow-progress b { font-weight: 500; }
.ow-progress li.is-complete { color: var(--ok-ink); background: rgba(46,110,78,.04); }.ow-progress li[aria-current="step"] { color: var(--ink); background: var(--accent-wash); box-shadow: inset 0 -2px var(--accent-text); }
.ow-status { display: flex; align-items: flex-start; gap: 12px; min-height: 52px; padding: 14px 16px; border: 1px solid var(--hairline); border-radius: var(--r-md); background: var(--surface-2); color: var(--ink-muted); font-size: var(--fs-body2); }
.ow-status__mark { flex: none; width: 9px; height: 9px; margin-top: 7px; border: 2px solid var(--accent-text); border-radius: 50%; }.ow-status.is-busy .ow-status__mark { border-top-color: transparent; animation: ow-spin .8s linear infinite; }.ow-status.is-error { color: var(--fail-ink); }.ow-status.is-ok .ow-status__mark { border: 0; background: var(--ok-ink); }
@keyframes ow-spin { to { transform: rotate(360deg); } }
.ow-steps { display: grid; gap: var(--s3); margin-top: var(--s3); }
.ow-step { border: 1px solid var(--hairline); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-0); overflow: hidden; }.ow-step.is-active { border-color: var(--hairline-strong); box-shadow: var(--shadow-1); }.ow-step.is-complete { border-color: color-mix(in srgb,var(--ok-ink) 35%,var(--hairline)); }.ow-step.is-locked { background: color-mix(in srgb,var(--surface) 75%,var(--paper)); }
.ow-step__head { display: grid; grid-template-columns: auto 1fr auto; gap: var(--s2); align-items: center; padding: var(--s3); }.ow-step__number { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--hairline-strong); border-radius: 50%; font: var(--fs-sm) var(--font-mono); }.ow-step.is-active .ow-step__number { background: var(--ink); color: var(--paper); border-color: var(--ink); }.ow-step.is-complete .ow-step__number { color: var(--ok-ink); border-color: var(--ok-ink); }
.ow-step__eyebrow { color: var(--ink-muted); font: var(--fs-xs) var(--font-mono); letter-spacing: .07em; text-transform: uppercase; }.ow-step__head h3 { margin-top: 3px; font-size: var(--fs-h3); }.ow-step__state { color: var(--ink-muted); font: var(--fs-xs) var(--font-mono); text-transform: uppercase; letter-spacing: .06em; }.ow-step.is-active .ow-step__state { color: var(--accent-text); }.ow-step.is-complete .ow-step__state { color: var(--ok-ink); }
.ow-step__body { padding: 0 var(--s3) var(--s3) calc(var(--s3) + 58px); border-top: 1px solid var(--hairline); }.ow-step__body > p { max-width: 68ch; padding-top: var(--s3); color: var(--ink-muted); font-size: var(--fs-body2); }.ow-step__body > .btn { margin-top: var(--s3); }.ow-step.is-locked .ow-step__body { opacity: .72; }
.ow-callout { margin-top: var(--s3); padding: 13px 16px; border-left: 3px solid var(--ok-ink); background: rgba(46,110,78,.06); color: var(--ink-muted); font-size: var(--fs-sm); }.ow-callout--warn { border-left-color: var(--warn-ink); background: rgba(122,90,16,.06); }
.ow-evidence, .ow-checks { margin-top: var(--s3); }.ow-checks { display: grid; gap: 8px; }.ow-check { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid var(--hairline); border-radius: var(--r-sm); background: var(--surface-2); font-size: var(--fs-sm); }.ow-check i { display: grid; place-items: center; flex: none; width: 18px; height: 18px; border-radius: 50%; background: var(--ok-ink); color: white; font-style: normal; font-size: 11px; }.ow-check.is-fail i { background: var(--fail-ink); }
.ow-wallet-card, .ow-investigation, .ow-receipt { margin-top: var(--s3); }.ow-wallet-card { max-width: 720px; padding: var(--s3); color: var(--text-vault); background: var(--vault); border-radius: var(--r-lg); box-shadow: var(--shadow-2); }.ow-wallet-card__top { display: flex; justify-content: space-between; gap: var(--s3); align-items: flex-start; padding-bottom: var(--s3); border-bottom: 1px solid var(--hairline-vault); }.ow-wallet-card__top span:first-child { color: var(--text-vault-muted); font: var(--fs-xs) var(--font-mono); text-transform: uppercase; }.ow-wallet-card__top strong { display: block; margin-top: 5px; font-family: var(--font-display); font-size: 24px; }.ow-wallet-card .ow-data { border-color: var(--hairline-vault); }.ow-wallet-card .ow-data div { border-color: var(--hairline-vault); }.ow-wallet-card .ow-data dt { color: var(--text-vault-muted); }.ow-wallet-card .ow-data dd { color: var(--text-vault); }
.ow-chip { display: inline-flex; align-items: center; width: max-content; padding: 5px 9px; border: 1px solid currentColor; border-radius: var(--r-pill); font: var(--fs-xs) var(--font-mono); text-transform: uppercase; }.ow-chip--ok { color: #8dc5a7; }.ow-chip--warn { color: var(--warn-ink); }
.ow-data { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: var(--s3) 0 0; border-top: 1px solid var(--hairline); }.ow-data div { min-width: 0; padding: 12px 0; border-bottom: 1px solid var(--hairline); }.ow-data div:nth-child(odd) { padding-right: var(--s3); }.ow-data dt { color: var(--ink-muted); font-size: var(--fs-sm); }.ow-data dd { margin: 4px 0 0; font: var(--fs-sm)/1.45 var(--font-mono); overflow-wrap: anywhere; }.ow-data--action { margin-top: var(--s2); }
.ow-trace { display: grid; gap: 1px; margin: 0 0 var(--s3); padding: 0; list-style: none; background: var(--hairline); border: 1px solid var(--hairline); border-radius: var(--r-md); overflow: hidden; }.ow-trace li { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; padding: 12px 14px; background: var(--surface-2); font-size: var(--fs-sm); }.ow-trace li span:first-child { font-family: var(--font-mono); color: var(--ink-muted); }.ow-trace li b { font-weight: 500; }.ow-trace li em { color: var(--ok-ink); font-style: normal; }
.ow-action { padding: var(--s3); border: 1px solid var(--hairline-strong); border-radius: var(--r-lg); background: var(--paper); }.ow-action__head { display: flex; justify-content: space-between; gap: var(--s3); }.ow-action__head span:first-child { font: var(--fs-xs) var(--font-mono); color: var(--ink-muted); }.ow-action__head h4 { margin-top: 4px; }
.ow-digest { margin-top: var(--s2); padding: 12px; background: var(--surface-2); border-radius: var(--r-sm); }.ow-digest span { display: block; color: var(--ink-muted); font-size: var(--fs-xs); }.ow-digest code { display: block; margin-top: 5px; white-space: normal; overflow-wrap: anywhere; font-size: var(--fs-sm); }
.ow-disclosure { display: flex; gap: 8px; flex-wrap: wrap; margin-top: var(--s3); }.ow-disclosure span { padding: 5px 8px; border: 1px solid var(--hairline); border-radius: var(--r-pill); background: var(--surface-2); color: var(--ink-muted); font: var(--fs-xs) var(--font-mono); }
.ow-confirm { display: flex; gap: 12px; align-items: flex-start; max-width: 66ch; margin-top: var(--s3); padding: 14px; border: 1px solid var(--hairline); border-radius: var(--r-md); font-size: var(--fs-body2); cursor: pointer; }.ow-confirm input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--accent-text); }
.ow-receipt { max-width: 760px; padding: var(--s3); border: 1px solid var(--hairline); border-radius: var(--r-lg); box-shadow: var(--shadow-1); }.ow-receipt__hero { display: flex; align-items: center; gap: var(--s2); }.ow-receipt__check { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--hairline); color: white; font-size: 24px; }.ow-receipt.is-verified .ow-receipt__check { background: var(--ok-ink); }.ow-receipt__hero span:not(.ow-receipt__check) { color: var(--ink-muted); font: var(--fs-xs) var(--font-mono); }.ow-receipt__hero h4 { margin-top: 3px; font-size: 21px; }
.ow-negative-section { background: var(--surface-2); border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }.ow-negative-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--s3); margin-top: var(--s4); }.ow-negative { padding: var(--s3); background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--r-lg); }.ow-negative__index { color: var(--fail-ink); font: var(--fs-xs) var(--font-mono); letter-spacing: .06em; }.ow-negative h3 { margin-top: var(--s1); font-size: var(--fs-h3); }.ow-negative p { margin-top: var(--s2); color: var(--ink-muted); font-size: var(--fs-body2); }.ow-negative .btn { margin-top: var(--s3); }.ow-negative__result { margin-top: var(--s3); padding: 12px; border-left: 3px solid var(--ok-ink); background: rgba(46,110,78,.06); font-size: var(--fs-sm); }.ow-negative__result strong { display: block; color: var(--ok-ink); }.ow-negative__result span { display: block; margin-top: 4px; color: var(--ink-muted); }
.ow-external { display: flex; justify-content: space-between; align-items: center; gap: var(--s4); padding: var(--s4); border: 1px dashed var(--hairline-strong); border-radius: var(--r-lg); }.ow-external h2 { margin-top: var(--s1); font-size: var(--fs-h2); }.ow-external p { margin-top: var(--s2); max-width: 65ch; color: var(--ink-muted); font-size: var(--fs-body2); }.ow-coming { flex: none; padding: 9px 12px; border: 1px solid var(--hairline-strong); border-radius: var(--r-pill); color: var(--ink-muted); font: var(--fs-xs) var(--font-mono); text-align: center; }
@media (max-width: 860px) { .ow-progress { grid-template-columns: repeat(5,minmax(112px,1fr)); overflow-x: auto; }.ow-demo-head,.ow-external { align-items: flex-start; flex-direction: column; }.ow-session { justify-content: flex-start; }.ow-negative-grid { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .ow-boundary__grid,.ow-data { grid-template-columns: 1fr; }.ow-step__head { grid-template-columns: auto 1fr; }.ow-step__state { grid-column: 2; }.ow-step__body { padding-left: var(--s3); }.ow-action__head,.ow-wallet-card__top { flex-direction: column; }.ow-trace li { grid-template-columns: auto 1fr; }.ow-trace li em { grid-column: 2; }.ow-data div:nth-child(odd) { padding-right: 0; } }
@media (prefers-reduced-motion: reduce) { .ow-status.is-busy .ow-status__mark { animation: none; } }
