/* Meridian product layer: app frame, sidebar route-stepper, summary card, tracker, task cards. */
.top{position:sticky;top:0;z-index:30;background:var(--panel);border-bottom:1px solid var(--line)}
.top__in{display:flex;align-items:center;gap:20px;min-height:64px;padding:0 32px;max-width:1440px;margin:0 auto}
.top .brand{font-size:18px}
.top__nav{display:flex;gap:4px}
.top__nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-weight:500;position:relative}
.top__nav a:hover{background:var(--inset);color:var(--ink)}
.top__nav a[aria-current="page"]{color:var(--ink);font-weight:600}
.top__nav a[aria-current="page"]::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:var(--route)}
.top__sp{flex:1}
.top__tools{display:flex;align-items:center;gap:8px}
.top select.select{min-height:40px;width:auto;padding-top:4px;padding-bottom:4px}
.theme-btn,.wallet-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line-ui);border-radius:var(--r-control);background:var(--panel);color:var(--ink);font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.theme-btn svg,.wallet-btn svg{width:18px;height:18px}
.wallet-btn .dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}
.wallet-btn.is-warn .dot{background:var(--warn)}
.wallet-btn.is-off .dot{background:var(--muted-node)}
.wallet-btn.is-off{background:var(--route);border-color:var(--route);color:var(--route-ink)}
.wallet-btn.is-off .dot{display:none}
.top__drawer{border-top:1px solid var(--line);padding:12px 16px 16px;display:flex;flex-direction:column;gap:12px}
.top__drawer[hidden]{display:none}
.top__drawer nav{display:flex;flex-direction:column}
.top__drawer nav a{min-height:44px;display:flex;align-items:center;color:var(--ink);text-decoration:none;font-weight:500;border-bottom:1px solid var(--line)}
.top__drawer nav a[aria-current="page"]{color:var(--route);font-weight:700}
.menu-btn{display:none}
/* compact A/B route header */
.rline{border-bottom:1px solid var(--line);background:var(--bg)}
.rline__in{max-width:1440px;margin:0 auto;padding:10px 32px;display:flex;align-items:center;gap:14px;font-size:13px;flex-wrap:wrap}
.rline__end{white-space:nowrap}
.rline__end b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:2px solid var(--route);color:var(--route);font:700 11px/1 var(--font-mono);margin-right:4px}
.rline__rail{flex:1 1 80px;min-width:60px;max-width:420px;height:2px;background:var(--route);position:relative}
.rline__rail.is-broken{background:none;border-top:2px dashed var(--bad)}
.rline__rail i{position:absolute;left:50%;top:-11px;transform:translateX(-50%);color:var(--bad);font-style:normal;font-weight:700;background:var(--bg);padding:0 4px}
.rline__tag{margin-left:auto;font:500 12px/16px var(--font-mono);color:var(--copper);border:1px dashed var(--copper);border-radius:999px;padding:2px 10px}
.main{display:block;max-width:1240px;margin:0 auto;padding:28px 32px 56px}
.foot{border-top:1px solid var(--line)}
.foot__in{max-width:1240px;margin:0 auto;padding:16px 32px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}
.foot__in a{color:var(--ink-2)}
.crumbs{font-size:13px;color:var(--ink-2);margin-bottom:12px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--ink-2)}
.ptitle{font-size:34px;line-height:40px;letter-spacing:-.02em;margin-bottom:6px}
.psub{color:var(--ink-2);margin:0 0 24px;max-width:62ch}
.wiz{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
.wiz__body{min-width:0}
/* horizontal stations stepper */
.stations{margin:0 0 24px}
.stations ol{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}
.stations li{position:relative}
.stations li::before{content:"";position:absolute;top:14px;left:0;right:0;border-top:2px dashed var(--line-ui)}
.stations li:first-child::before{left:50%}
.stations li:last-child::before{right:50%}
.stations li.is-done::before{border-top:2px solid var(--route)}
.stations li.is-now::before{border-top:2px solid var(--route);right:50%}
.stations li.is-now+li::before{border-top:2px dashed var(--line-ui)}
.stations a,.stations .step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--ink-2);font-size:13px;text-align:center;padding:0 4px;min-height:44px}
.stations .n{width:28px;height:28px;border-radius:50%;border:2px solid var(--line-ui);background:var(--bg);display:grid;place-items:center;font:600 12px/1 var(--font-mono);z-index:1}
.stations .n svg{width:16px;height:16px}
.stations .is-done .n{background:var(--route);border-color:var(--route);color:var(--route-ink)}
.stations .is-now .n{border:3px solid var(--route);box-shadow:0 0 0 4px var(--route-soft);color:var(--route)}
.stations .is-now a{color:var(--ink);font-weight:600}
.stations .is-block .n{border-color:var(--bad);color:var(--bad);border-radius:6px}
.stations__now{display:none;margin:0 0 8px;font-size:14px}
.qhelp{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--line-ui);background:var(--panel);color:var(--ink-2);font:700 12px/1 var(--font-ui);cursor:pointer;vertical-align:middle;margin-left:6px;padding:0}
.qhelp:hover{color:var(--route);border-color:var(--route)}
.lbl-row{display:flex;align-items:center;gap:2px}
.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.readout{min-height:var(--touch);border:1px dashed var(--line-ui);border-radius:var(--r-control);background:var(--inset);padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.readout b{font:500 22px/28px var(--font-mono)}
/* mini time window near an action (signature detail) */
.tw{display:flex;flex-direction:column;gap:6px;font-size:13px}
.tw__bar{position:relative;height:8px;border-radius:4px;background:var(--panel);border:1px solid var(--line)}
.tw__past{position:absolute;left:0;top:0;bottom:0;border-radius:4px 0 0 4px;background:repeating-linear-gradient(135deg,var(--hatch) 0 4px,transparent 4px 8px);border-right:2px solid var(--ink)}
.tw__edge{position:absolute;top:-4px;bottom:-4px;width:0;border-left:2px solid var(--copper)}
.tw.is-crossed .tw__edge{border-left-style:dashed}
.tw__row{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
/* option cards */
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.opt{position:relative;display:flex;flex-direction:column;gap:10px;border:1px solid var(--line-ui);border-radius:14px;background:var(--panel);padding:20px;cursor:pointer;min-height:100%}
.opt:hover{border-color:var(--route)}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt .radio{position:absolute;top:18px;right:18px;width:22px;height:22px;border-radius:50%;border:2px solid var(--line-ui)}
.opt:has(input:checked){border-color:var(--route);box-shadow:inset 0 0 0 1px var(--route)}
.opt:has(input:checked) .radio{border-color:var(--route)}
.opt:has(input:checked) .radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--route)}
.opt:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.opt.is-off{cursor:not-allowed;background:var(--inset);opacity:.8}
.opt.is-off:hover{border-color:var(--line-ui)}
.opt__ic{width:40px;height:40px;border-radius:10px;background:var(--route-soft);color:var(--route);display:grid;place-items:center}
.opt__ic svg{width:20px;height:20px}
.opt h3{font-size:18px;line-height:24px;padding-right:28px}
.opt p{color:var(--ink-2);margin:0}
.opt .opt__foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-2)}
.addrline{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink-2)}
.addrline b{display:block;font:500 13px/18px var(--font-mono);color:var(--ink);margin-top:2px}

/* summary card */
.sum{position:sticky;top:88px;border-left:1px solid var(--line);padding-left:28px;display:flex;flex-direction:column;gap:18px}
.sum__head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.sum__big{font:600 44px/48px var(--font-ui);letter-spacing:-.03em}
.sum__big small{font:500 14px/1 var(--font-ui);color:var(--ink-2);margin-left:6px}
.sum__rows{display:grid;gap:10px;font-size:14px}
.sum__rows div{display:flex;justify-content:space-between;gap:12px}
.sum__rows dt{color:var(--ink-2)}
.sum__rows dd{margin:0;text-align:right;font-family:var(--font-mono);font-size:13px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--inset);border:1px solid var(--line)}
.pill i{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.pill--info{color:var(--route);background:var(--route-soft);border-color:transparent}
.pill--ok{color:var(--ok);background:var(--ok-soft);border-color:transparent}
.pill--warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}
.pill--bad{color:var(--bad);background:var(--bad-soft);border-color:transparent}
.pill--idle{color:var(--ink-2)}
.minimap{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}
.minimap .rail{flex:1;height:2px;background:var(--route);position:relative}
.minimap .rail::before,.minimap .rail::after{content:"";position:absolute;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--route)}
.minimap .rail::before{left:-2px}.minimap .rail::after{right:-2px}
.minimap .rail.is-dash{background:none;border-top:2px dashed var(--muted-node)}
.minimap .rail.is-dash::before,.minimap .rail.is-dash::after{background:var(--muted-node)}
.party{display:flex;gap:12px;align-items:center}
.party .av{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--inset);display:grid;place-items:center;font:600 16px/1 var(--font-mono);color:var(--route)}

/* disclosure */
details.disc{border-top:1px solid var(--line)}
details.disc:last-of-type{border-bottom:1px solid var(--line)}
details.disc>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;cursor:pointer;font-weight:500}
details.disc>summary::-webkit-details-marker{display:none}
details.disc>summary::after{content:"+";font:400 22px/1 var(--font-ui);color:var(--ink-2)}
details.disc[open]>summary::after{content:"−"}
details.disc>.disc__body{padding:0 0 18px}

/* primary action card */
.next{border-radius:14px;background:var(--route-soft);padding:20px;display:flex;flex-direction:column;gap:12px}
.next .eyebrow{letter-spacing:.04em}
.next h3{font-size:18px}
.next .btn{width:100%}
.next--warn{background:var(--warn-soft)}
.next--bad{background:var(--bad-soft)}
.next--ok{background:var(--ok-soft)}

/* order tracker (horizontal stations) */
.track{list-style:none;margin:0;padding:8px 0 0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}
.track li{position:relative;padding-top:30px;text-align:center;font-size:13px;color:var(--ink-2)}
.track li::before{content:"";position:absolute;top:11px;left:0;right:0;border-top:2px dashed var(--line-ui)}
.track li:first-child::before{left:50%}
.track li:last-child::before{right:50%}
.track li.is-done::before{border-top:2px solid var(--route)}
.track li.is-now::before{border-top:2px solid var(--route);right:50%}
.track li.is-now:last-child::before{right:50%}
.track li b{display:block;color:var(--ink);font-weight:600;font-size:14px;padding:0 4px}
.track .d{position:absolute;top:3px;left:50%;transform:translateX(-50%);width:18px;height:18px;border-radius:50%;border:2px solid var(--line-ui);background:var(--panel);z-index:1}
.track .is-done .d{background:var(--route);border-color:var(--route)}
.track .is-now .d{border:3px solid var(--route);box-shadow:0 0 0 4px var(--route-soft)}
.track .is-bad .d{border-color:var(--bad);background:var(--bad-soft);border-radius:5px}
.track .is-warn .d{border-color:var(--copper);box-shadow:0 0 0 4px var(--copper-soft)}

/* hero amount on detail */
.hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}
.hero__amt{font:600 48px/52px var(--font-ui);letter-spacing:-.03em}
.hero__amt small{font-size:16px;color:var(--ink-2);font-weight:500;margin-left:6px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}
.card+.card{margin-top:16px}
.card h2{font-size:18px;line-height:24px;margin-bottom:14px}
.grid-main{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.facts2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.facts2 dt{font-size:12px;color:var(--ink-2);margin-bottom:2px}
.facts2 dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.lines{display:grid;gap:12px;margin:0}
.lines div{display:flex;justify-content:space-between;gap:16px;font-size:14px}
.lines dt{color:var(--ink-2)}
.lines dd{margin:0;text-align:right;overflow-wrap:anywhere}

/* list cards (history, queue) */
.tlist{display:grid;gap:12px}
.titem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-decoration:none;color:inherit}
.titem:hover{border-color:var(--route)}
.titem[aria-current="true"]{border-color:var(--route);box-shadow:inset 3px 0 0 var(--route)}
.titem .tok{width:36px;height:36px;border-radius:50%;background:var(--route-soft);color:var(--route);display:grid;place-items:center;font:700 14px/1 var(--font-mono)}
.titem .amt{font:600 20px/26px var(--font-ui)}
.titem .meta{font-size:13px;color:var(--ink-2)}
.titem .right{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;flex-wrap:wrap}
.tabs a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;color:var(--ink-2);text-decoration:none;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--route);font-weight:600}
.tabs .cnt{font:600 11px/1 var(--font-mono);padding:3px 6px;border-radius:6px;background:var(--inset)}
.stat{display:flex;flex-direction:column;gap:4px}
.stat b{font:600 22px/28px var(--font-ui)}
.stat span{font-size:13px;color:var(--ink-2)}
.hint-line{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--ink-2)}
.hint-line svg{width:16px;height:16px;flex:none;margin-top:2px}
.faq details{border-bottom:1px solid var(--line)}

@media (max-width:1100px){
  .wiz,.grid-main{grid-template-columns:1fr}
  .grid-main--act>:last-child{order:-1}
  .sum{position:static;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:24px}
  /* Top bar collapses into the menu before role links and tools can collide (uk labels are long) */
  .top__nav,.top__tools{display:none}
  .menu-btn{display:inline-flex!important}
  .top__in{padding:0 20px;gap:8px}
}
@media (max-width:960px){
  .top__in{padding:0 12px;gap:8px}
  .rline__in,.main,.foot__in{padding-left:16px;padding-right:16px}
  .main{padding-top:20px}
  .ptitle{font-size:28px;line-height:34px}
  .hero__amt{font-size:38px;line-height:44px}
  .facts2,.pair{grid-template-columns:1fr}
  .track{grid-auto-flow:row;grid-auto-columns:auto}
  .track li{padding:0 0 18px 34px;text-align:left}
  .track li::before{top:0!important;bottom:0;left:10px!important;right:auto!important;border-top:0!important;border-left:2px dashed var(--line-ui)}
  .track li.is-done::before{border-left:2px solid var(--route)}
  .track li:first-child::before{top:10px!important}
  .track li:last-child::before{bottom:auto;height:10px}
  .track li.is-now::before{border-left:2px solid var(--route);bottom:auto;height:10px}
  .track .d{left:2px;top:1px;transform:none}
  .track li b{padding:0}
  .titem{grid-template-columns:auto minmax(0,1fr)}
  .titem .right{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}
  .wallet-btn .wtext{max-width:110px;overflow:hidden;text-overflow:ellipsis}
  .stations__now{display:block}
  .stations .l{display:none}
  .rline__tag{display:none}
}
@media (max-width:480px){.wallet-btn .wtext{max-width:92px}.wallet-btn.is-off .wtext{display:inline;max-width:none}.wallet-btn.is-off{padding:0 10px}.brand .brand-text{display:none}}
@media print{.top,.side{display:none}}
