/* Monk Pay web app. System fonts only (nothing to download), no inline styles anywhere (the CSP forbids them). */
:root{
  --navy:#2B2973;--navy-2:#3E3C7C;--navy-3:#1F1E5E;--coral:#F04E66;--tint:#EEEEF6;--tint-2:#AAAAC2;
  --bg:#F5F5FA;--card:#fff;--ink:#14142B;--muted:#65657F;--line:#E6E6F0;--ok:#067647;--ok-bg:#E8F6EE;--warn:#B54708;--warn-bg:#FFF4E5;--bad:#B42318;--bad-bg:#FDECEA;--info-bg:#EEF0FF;
  --btn:#2B2973;--btn-ink:#fff;--ring:rgba(43,41,115,.28);--shadow:0 1px 2px rgba(20,20,43,.05),0 8px 24px rgba(20,20,43,.05);
  --r:16px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0E0E24;--card:#17173A;--ink:#ECECF8;--muted:#A3A3C2;--line:#2A2A55;--tint:#222250;--tint-2:#5C5C8E;
  --ok:#4ADE80;--ok-bg:#12301F;--warn:#FBBF24;--warn-bg:#33270F;--bad:#FCA5A5;--bad-bg:#3A1717;--info-bg:#1E1F4A;
  --btn:#5E5BD8;--btn-ink:#fff;--ring:rgba(150,148,255,.4);--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3{line-height:1.2;margin:0;letter-spacing:-.01em}
h1{font-size:26px}h2{font-size:19px}h3{font-size:16px}
p{margin:0 0 12px}a{color:var(--navy);text-underline-offset:3px}
@media (prefers-color-scheme:dark){a{color:#B9B8FF}}
.ic{flex:none;vertical-align:-4px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 12px;border-radius:8px;z-index:100}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:6px}
.muted{color:var(--muted)}.small{font-size:13px}.right{text-align:right}.center{text-align:center}.nowrap{white-space:nowrap}.mt{margin-top:18px}.mt2{margin-top:30px}.mb{margin-bottom:18px}
[hidden]{display:none!important}

/* ---------- shell */
.navtoggle{position:absolute;opacity:0;pointer-events:none}
.side{position:fixed;inset:0 auto 0 0;width:264px;background:linear-gradient(180deg,#2A2872,#16153A);color:#fff;display:flex;flex-direction:column;padding:22px 14px;z-index:40;overflow-y:auto}
.side .brand{display:flex;align-items:center;gap:12px;padding:2px 10px 22px;color:#fff;text-decoration:none;font-weight:700;font-size:17px}
.side .brand img{width:42px;height:42px;border-radius:11px}
.side nav a{display:flex;align-items:center;gap:13px;padding:11px 12px;margin:2px 0;border-radius:12px;color:#B4B3D6;text-decoration:none;font-weight:500}
.side nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.side nav a[aria-current=page]{background:rgba(255,255,255,.14);color:#fff}
.side .grp{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#7E7DB0;padding:16px 12px 6px}
.side .foot{margin-top:auto;padding:14px 10px 0;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#B4B3D6}
.side .foot b{color:#fff;display:block;word-break:break-all}
.main{margin-left:264px;min-height:100vh;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:14px 28px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top h1{font-size:19px;flex:1}
.top .burger{display:none;cursor:pointer;color:var(--ink)}
.content{padding:26px 28px 90px;max-width:1120px;width:100%}
.menu{position:relative}.menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px}
.menu summary::-webkit-details-marker{display:none}
.menu .pop{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px}
.menu .pop a,.menu .pop button{display:flex;gap:10px;align-items:center;width:100%;padding:9px 10px;border:0;background:none;color:var(--ink);font:inherit;border-radius:9px;text-decoration:none;cursor:pointer;text-align:left}
.menu .pop a:hover,.menu .pop button:hover{background:var(--tint)}
.menu .who{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:6px;font-size:13px;color:var(--muted);word-break:break-all}
.menu .who b{display:block;color:var(--ink);font-size:14px}
.tabbar{display:none}

/* ---------- surfaces */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.card+.card{margin-top:18px}
.card h2{margin-bottom:4px}.card .sub{color:var(--muted);margin-bottom:16px}
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.row{display:flex;gap:12px;align-items:center}.row.sp{justify-content:space-between}.row.wrap{flex-wrap:wrap}
.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.pagehead p{color:var(--muted);margin:4px 0 0}
.hero{position:relative;overflow:hidden;border-radius:24px;padding:28px;color:#fff;background:linear-gradient(135deg,#3E3C7C 0%,#2B2973 60%,#1F1E5E 100%);box-shadow:0 14px 34px rgba(43,41,115,.28)}
.hero::after{content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.07)}
.hero::before{content:"";position:absolute;right:60px;bottom:-110px;width:200px;height:200px;border-radius:50%;background:rgba(240,78,102,.16)}
.hero small{opacity:.8;display:block}.hero .big{font-size:42px;font-weight:700;letter-spacing:-.02em;margin:6px 0 18px;font-variant-numeric:tabular-nums}
.hero .row{position:relative;z-index:1}
.wcards{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}
.wcard{flex:0 0 190px;scroll-snap-align:start;background:var(--navy-2);color:#fff;border-radius:22px;padding:18px;text-decoration:none;display:block;box-shadow:0 10px 24px rgba(43,41,115,.2)}
.wcard.alt{background:var(--tint-2)}.wcard small{opacity:.85;display:block}.wcard b{display:block;font-size:24px;margin:4px 0 12px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.wcard .pill{border:1px solid rgba(255,255,255,.75);border-radius:99px;padding:3px 16px;font-size:13px;display:inline-block}
.qa{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.qa a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border-radius:16px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600;box-shadow:var(--shadow)}
.qa a span{width:46px;height:46px;border-radius:50%;background:var(--tint);color:var(--navy);display:grid;place-items:center}
@media (prefers-color-scheme:dark){.qa a span{color:#B9B8FF}}
.qa a:hover span{background:var(--navy);color:#fff}

/* ---------- controls */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:99px;border:1.5px solid var(--btn);background:var(--btn);color:var(--btn-ink);font:600 15px var(--font);text-decoration:none;cursor:pointer;transition:transform .08s,opacity .15s}
.btn:hover{opacity:.92}.btn:active{transform:scale(.98)}
.btn.ghost{background:transparent;color:var(--navy)}.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}
@media (prefers-color-scheme:dark){.btn.ghost{color:#C9C8FF;border-color:#5E5BD8}.btn.danger{color:#2b0b0b;background:#FCA5A5;border-color:#FCA5A5}}
.btn.sm{padding:7px 16px;font-size:13px}.btn.block{width:100%}.btn[disabled],.btn.busy{opacity:.55;pointer-events:none}
.btn.coral{background:var(--coral);border-color:var(--coral);color:#fff}
.field{margin-bottom:18px}.field label{display:block;font-weight:600;font-size:13px;margin-bottom:6px}
.field .hint{font-size:12.5px;color:var(--muted);margin-top:5px}.field .err{font-size:12.5px;color:var(--bad);margin-top:5px}
.input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font:16px var(--font)}
.input:focus{border-color:var(--navy);outline:3px solid var(--ring);outline-offset:0}
@media (prefers-color-scheme:dark){.input:focus{border-color:#8F8DFF}}
select.input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
.pw{position:relative}.pw .input{padding-right:48px}.pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);padding:8px;cursor:pointer}
.amount{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}
.codebox{letter-spacing:.5em;text-align:center;font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto}
.tabs a{padding:11px 18px;text-decoration:none;color:var(--muted);font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs a[aria-current=page]{color:var(--navy);border-color:var(--navy)}
@media (prefers-color-scheme:dark){.tabs a[aria-current=page]{color:#C9C8FF;border-color:#8F8DFF}}
.alert{padding:12px 16px;border-radius:12px;margin-bottom:16px;display:flex;gap:10px;align-items:flex-start}
.alert.ok{background:var(--ok-bg);color:var(--ok)}.alert.err{background:var(--bad-bg);color:var(--bad)}.alert.warn{background:var(--warn-bg);color:var(--warn)}.alert.info{background:var(--info-bg);color:var(--ink)}
.badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:600;background:var(--tint);color:var(--muted)}
.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}

/* ---------- activity */
.txlist{list-style:none;margin:0;padding:0}.txlist li+li{border-top:1px solid var(--line)}
.tx{display:flex;align-items:center;gap:14px;padding:13px 4px;color:inherit;text-decoration:none}a.tx:hover{background:var(--tint);border-radius:12px}
.txic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--tint);color:var(--navy);flex:none}
.txic.in{color:var(--ok);background:var(--ok-bg)}.txic.convert{color:#7A5AF8}
.txmain{flex:1;min-width:0;display:flex;flex-direction:column}.txmain b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txmain small{color:var(--muted)}
.txamt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.txamt i{font-style:normal;font-weight:500;color:var(--muted);font-size:12px}.txamt.in{color:var(--ok)}
.avatar{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;font-weight:700;font-size:14px;color:#fff;flex:none}
.avatar.a0{background:#3E3C7C}.avatar.a1{background:#F04E66}.avatar.a2{background:#0E7490}.avatar.a3{background:#B45309}.avatar.a4{background:#15803D}.avatar.a5{background:#7C3AED}
.empty{color:var(--muted);text-align:center;padding:26px 8px}
table.t{width:100%;border-collapse:collapse}.t th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
.t td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}.t td.num,.t th.num{text-align:right;font-variant-numeric:tabular-nums}
.kv{display:grid;grid-template-columns:150px 1fr;gap:10px 16px}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-word}
.steps{display:flex;gap:8px;margin-bottom:22px}.steps span{flex:1;height:5px;border-radius:9px;background:var(--line)}.steps span.on{background:var(--navy)}
.chart{width:100%;height:auto}.chart .in{fill:#16A34A}.chart .out{fill:var(--navy-2)}.chart text{fill:var(--muted);font-size:11px}.chart line{stroke:var(--line)}
.legend{display:flex;gap:18px;font-size:13px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.legend .in{background:#16A34A}.legend .out{background:var(--navy-2)}
.qrbox{background:#fff;padding:12px;border-radius:14px;display:inline-block}.qrbox svg{display:block;width:176px;height:176px}
.secret{font:600 15px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;word-break:break-all;background:var(--tint);padding:10px 12px;border-radius:10px}
.quote{background:var(--tint);border-radius:14px;padding:16px;margin:4px 0 18px}.quote .qrow{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.quote .qrow.total{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;font-weight:700;font-size:17px}
.recip{display:flex;gap:14px;align-items:center;padding:14px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.recip:hover{border-color:var(--navy)}
.idle{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:90;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:14px;display:flex;gap:14px;align-items:center;box-shadow:0 12px 36px rgba(0,0,0,.35)}
.idle .btn{padding:6px 14px;font-size:13px;background:var(--bg);color:var(--ink);border-color:var(--bg)}

/* ---------- signed-out pages */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.auth .pitch{background:linear-gradient(160deg,#2A2872,#16153A);color:#fff;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.auth .pitch::after{content:"";position:absolute;right:-120px;bottom:-120px;width:380px;height:380px;border-radius:50%;background:rgba(240,78,102,.18)}
.auth .pitch .brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:19px;color:#fff;text-decoration:none}.auth .pitch .brand img{width:46px;height:46px;border-radius:12px}
.auth .pitch h2{font-size:34px;line-height:1.15;max-width:15em;margin-bottom:14px;position:relative;z-index:1}.auth .pitch p{color:#C7C6E8;max-width:30em;position:relative;z-index:1}
.auth .pitch ul{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px;position:relative;z-index:1}.auth .pitch li{display:flex;gap:12px;align-items:center;color:#E3E2F7}.auth .pitch li .ic{color:#F7A1AE}
.auth .form{display:flex;align-items:center;justify-content:center;padding:36px 24px}
.auth .box{width:100%;max-width:410px}.auth .box h1{margin-bottom:6px}.auth .box .lead{color:var(--muted);margin-bottom:24px}
.auth .alt{margin-top:22px;text-align:center;color:var(--muted)}
.legal{margin-top:26px;font-size:12.5px;color:var(--muted);text-align:center}.legal a{color:inherit}
.errpage{min-height:70vh;display:grid;place-items:center;text-align:center}.errpage .code{font-size:64px;font-weight:800;color:var(--navy);letter-spacing:-.03em}
@media (prefers-color-scheme:dark){.errpage .code{color:#B9B8FF}}

/* ---------- small screens */
@media (max-width:980px){
  .g-main,.g3{grid-template-columns:1fr}
  .side{transform:translateX(-100%);transition:transform .22s ease;box-shadow:12px 0 40px rgba(0,0,0,.35)}
  .navtoggle:checked ~ .side{transform:none}
  .navscrim{position:fixed;inset:0;background:rgba(10,10,30,.5);z-index:35;display:none}.navtoggle:checked ~ .navscrim{display:block}
  .main{margin-left:0}.top{padding:12px 16px}.top .burger{display:inline-flex}.content{padding:18px 16px 110px}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--card);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));justify-content:space-around}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;color:var(--muted);text-decoration:none;font-size:11.5px;font-weight:600}
  .tabbar a[aria-current=page]{color:var(--navy)}
  @media (prefers-color-scheme:dark){.tabbar a[aria-current=page]{color:#C9C8FF}}
  .tabbar a.fab span{width:52px;height:52px;margin-top:-26px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;box-shadow:0 8px 20px rgba(43,41,115,.4);border:4px solid var(--card)}
  .auth{grid-template-columns:1fr}.auth .pitch{display:none}
  .auth .form{align-items:flex-start;padding-top:42px}
  .g2{grid-template-columns:1fr}.qa{grid-template-columns:repeat(4,1fr);gap:8px}.qa a{padding:12px 4px;font-size:12.5px}
  .hero .big{font-size:34px}.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:10px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{
  .side,.top,.tabbar,.noprint,.idle,.navscrim{display:none!important}.main{margin:0}.content{padding:0;max-width:none}
  body{background:#fff;color:#000}.card{box-shadow:none;border:0;padding:0}.t td,.t th{border-color:#bbb}
}
.hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.55)}.hero .btn.ghost:hover{background:rgba(255,255,255,.12)}.hero .big small{font-size:18px;font-weight:600;opacity:.8}
.card .amount{margin-left:auto}code{font:13px ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--tint);padding:2px 6px;border-radius:6px;word-break:break-all}
.center-row{justify-content:center}.card.center dl{text-align:left;max-width:420px;margin-inline:auto}

/* grid/flex children may shrink below their content, so a scrolling strip (wallet cards) can never widen the page */
.grid>*,.main,.content,.row>*{min-width:0}
.wcards{max-width:100%}
.auth .pitch{position:sticky;top:0;height:100vh;align-self:start}
