/* mngamehost UI — shared tokens + components (ai app, dashboard, renew, status, terms).
   Display: Geologica sharp (full Mongolian Ө/Ү, proper ₮; Tektur/Unbounded draw д as g or lack Ө), body: Manrope, data: JetBrains Mono. */
:root{
  --bg:#09090b;--bg-2:#0d0d10;
  --surf:#121216;--surf-2:#18181d;--surf-3:#212128;
  --line:rgba(255,255,255,.07);--line-2:rgba(255,255,255,.12);--line-3:rgba(255,255,255,.2);
  --tx:#f4f4f6;--tx-2:#c9cbd3;--mut:#8d909c;--mut-2:#5f626d;
  --fire:#ff8a1e;--fire-2:#ef5e00;--gold:#ffc06a;--fire-soft:rgba(255,138,30,.12);--fire-line:rgba(255,138,30,.38);--glow:rgba(255,138,30,.42);
  --ok:#3ddc84;--ok-soft:rgba(61,220,132,.12);--warn:#f5a524;--warn-soft:rgba(245,165,36,.13);--bad:#ff5470;--bad-soft:rgba(255,84,112,.12);
  --r-xs:8px;--r-sm:10px;--r:14px;--r-lg:20px;--r-xl:26px;
  --f-disp:"Geologica",Manrope,system-ui,sans-serif;
  --f-body:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --sh-1:inset 0 1px 0 rgba(255,255,255,.04),0 12px 32px -20px rgba(0,0,0,.9);
  --sh-2:0 30px 70px -28px rgba(0,0,0,.9);
  --ease:cubic-bezier(.2,.75,.2,1);
  --hee:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8'%3E%3Cpath d='M0 7.25H14M2.25 7.25V1.25H11.25V5H6.75V3.25H9' fill='none' stroke='%23ff8a1e' stroke-width='1.3'/%3E%3C/svg%3E");
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{min-height:100vh;min-height:100dvh;background:
  radial-gradient(1000px 520px at 50% -260px,rgba(255,138,30,.12),transparent 70%),
  radial-gradient(700px 420px at 100% -10%,rgba(239,94,0,.05),transparent 70%),var(--bg);
  color:var(--tx);font:500 15px/1.55 var(--f-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
img{display:block;max-width:100%}
.hidden{display:none!important}
::selection{background:rgba(255,138,30,.35)}
:focus-visible{outline:2px solid var(--fire);outline-offset:2px}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#26262d;border-radius:10px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#34343d}
h1,h2,h3,.disp{font-family:var(--f-disp);font-weight:700;letter-spacing:-.01em;line-height:1.15}
.mono{font-family:var(--f-mono);font-weight:500;letter-spacing:-.01em}
.muted{color:var(--mut)}
.fire{color:var(--fire)}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}

/* ---- ornament: алхан хээ ---- */
.hee{height:8px;background:var(--hee) repeat-x left center;opacity:.32}
.hee.fade{-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}

/* ---- buttons ---- */
.btn{--h:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--h);padding:0 16px;border-radius:12px;
  border:1px solid var(--line-2);background:var(--surf-2);color:var(--tx);font:700 14px/1 var(--f-body);white-space:nowrap;cursor:pointer;
  transition:background .15s,border-color .15s,box-shadow .2s,transform .08s,filter .15s;user-select:none;-webkit-tap-highlight-color:transparent}
.btn:hover{background:var(--surf-3);border-color:var(--line-3)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn.pri{background:linear-gradient(180deg,#ff9b3d,#f26b0c);border-color:transparent;color:#1d0c00;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 10px 26px -12px var(--glow)}
.btn.pri:hover{filter:brightness(1.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 12px 32px -10px var(--glow)}
.btn.ok{background:var(--ok-soft);border-color:rgba(61,220,132,.3);color:var(--ok)}
.btn.ok:hover{background:rgba(61,220,132,.2)}
.btn.bad{background:var(--bad-soft);border-color:rgba(255,84,112,.3);color:var(--bad)}
.btn.bad:hover{background:rgba(255,84,112,.2)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--tx-2)}
.btn.ghost:hover{background:rgba(255,255,255,.05);color:var(--tx)}
.btn.line{background:transparent}
.btn.sm{--h:34px;padding:0 12px;font-size:13px;border-radius:10px;gap:7px}
.btn.lg{--h:52px;padding:0 24px;font-size:15.5px;border-radius:14px}
.btn.block{width:100%}
.btn .fa-solid,.btn .fa-regular,.btn .fa-brands{font-size:.95em}
.icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;color:var(--tx-2);border:1px solid transparent;transition:.15s}
.icon-btn:hover{background:rgba(255,255,255,.06);color:var(--tx)}

/* ---- fields ---- */
.field{display:block;margin-bottom:14px}
.field>span{display:block;font-size:13px;font-weight:700;color:var(--tx-2);margin-bottom:7px}
.input{width:100%;height:48px;padding:0 15px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line-2);color:var(--tx);
  font:500 15px var(--f-body);outline:none;transition:border-color .15s,box-shadow .15s}
.input::placeholder{color:var(--mut-2)}
.input:hover{border-color:var(--line-3)}
.input:focus{border-color:var(--fire);box-shadow:0 0 0 4px rgba(255,138,30,.14)}
textarea.input{height:auto;padding:12px 15px;resize:vertical;line-height:1.5}
.input[data-cp]::placeholder{text-transform:none}
.err{color:var(--bad);font-size:13.5px;font-weight:600;min-height:20px}
.err.ok{color:var(--ok)}

/* ---- surfaces ---- */
.card{background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,0) 60%),var(--surf);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}
.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:99px;font:700 12px/1 var(--f-body);background:var(--surf-3);color:var(--tx-2);white-space:nowrap}
.pill.ok{background:var(--ok-soft);color:var(--ok)}
.pill.bad{background:var(--bad-soft);color:var(--bad)}
.pill.warn{background:var(--warn-soft);color:var(--warn)}
.pill.fire{background:var(--fire-soft);color:var(--fire)}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.dot.live{animation:mng-ping 2s infinite}
@keyframes mng-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 55%,transparent)}70%,100%{box-shadow:0 0 0 7px transparent}}
.bar{height:6px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden}
.bar>i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--fire-2),var(--fire),var(--gold));transition:width .6s var(--ease)}
.bar.ok>i{background:linear-gradient(90deg,#1faa5c,var(--ok))}
.bar.warn>i{background:linear-gradient(90deg,#d0861a,var(--warn))}
.bar.bad>i{background:linear-gradient(90deg,#c9304d,var(--bad))}
.spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.18);border-top-color:var(--fire);border-radius:50%;animation:mng-spin .7s linear infinite;flex:none}
@keyframes mng-spin{to{transform:rotate(360deg)}}
.skel{background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.09),rgba(255,255,255,.04));background-size:200% 100%;animation:mng-skel 1.3s infinite;border-radius:10px}
@keyframes mng-skel{to{background-position:-200% 0}}
@keyframes mng-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes mng-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.rise{animation:mng-rise .5s var(--ease) both}

/* ---- brand ---- */
.brand{display:inline-flex;align-items:center;gap:10px;font:700 18px/1 var(--f-disp);letter-spacing:-.01em;color:var(--tx)}
.brand img{height:26px;width:auto}
.brand b{color:var(--fire);font-weight:700}

/* ---- site nav + footer (dashboard, renew, status, terms) ---- */
.nav{position:sticky;top:0;z-index:50;background:rgba(9,9,11,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav-in{display:flex;align-items:center;gap:6px;height:64px;max-width:1120px;margin:0 auto;padding:0 20px}
.nav-in .sp{flex:1}
.nav .lnk{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:10px;color:var(--tx-2);font-weight:700;font-size:14px;white-space:nowrap}
.nav .lnk:hover{background:rgba(255,255,255,.05);color:var(--tx)}
.nav .lnk i{font-size:13px;color:var(--mut)}
body[data-view="dash"] .nav .out-only{display:none}
.foot{border-top:1px solid var(--line);margin-top:40px;padding:26px 20px 34px;color:var(--mut);font-size:13.5px}
.foot-in{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.foot-in a:hover{color:var(--tx)}
.foot-in .sp{flex:1}
@media(max-width:640px){.nav-in{padding:0 12px;height:58px}.nav .lnk{padding:0 10px}.nav .lnk .t{display:none}.nav .lnk.keep .t{display:inline}.nav .lnk i{font-size:15px;color:var(--tx-2)}}

/* ---- modal / bottom sheet ---- */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(4,4,6,.74);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.modal.open{display:flex}
.sheet{position:relative;width:100%;max-width:430px;max-height:calc(100dvh - 32px);overflow:auto;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),var(--surf);
  border:1px solid var(--line-2);border-radius:24px;padding:26px;box-shadow:var(--sh-2);animation:mng-pop .24s var(--ease)}
.sheet .x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:10px;color:var(--mut);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}
.sheet .x:hover{background:rgba(255,255,255,.06);color:var(--tx)}
.sheet h3{font-size:20px;margin:0 36px 4px 0}
.sheet .sub{color:var(--mut);font-size:14px;margin-bottom:18px}
@media(max-width:560px){
  .modal{align-items:flex-end;padding:0}
  .sheet{max-width:none;border-radius:24px 24px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));max-height:92dvh;animation-name:mng-sheet}
  @keyframes mng-sheet{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
}

/* ---- segmented choice (amount / period) ---- */
.seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px}
.seg button{position:relative;min-height:54px;padding:8px 6px;border-radius:13px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--tx);
  font:700 14px/1.2 var(--f-body);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:.15s}
.seg button small{font:600 11.5px var(--f-body);color:var(--mut)}
.seg button:hover{border-color:var(--line-3)}
.seg button.on{border-color:var(--fire);background:var(--fire-soft);box-shadow:0 0 0 3px rgba(255,138,30,.12)}
.seg button.on small{color:var(--fire)}
.seg .tag{position:absolute;top:-8px;right:8px;height:18px;padding:0 7px;border-radius:9px;background:var(--fire);color:#1d0c00;font:800 10.5px/18px var(--f-body)}
.sum{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 0 4px;margin-top:16px;border-top:1px dashed var(--line-2)}
.sum .l{color:var(--mut);font-weight:600}
.sum .v{font:700 26px/1 var(--f-disp)}
.sum .v small{font:600 13px var(--f-body);color:var(--mut);margin-left:4px}
.sum-note{text-align:right;color:var(--fire);font-size:13px;font-weight:700;min-height:18px}
.sum-note s{color:var(--mut);font-weight:500;margin-right:6px}

/* ---- QPay ---- */
.qp{margin-top:16px;text-align:center}
.qp .qr{width:232px;height:232px;margin:0 auto;border-radius:16px;background:#fff;padding:10px;image-rendering:pixelated}
.qp .qp-st{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:14px;color:var(--tx-2);font-size:14px;font-weight:600}
.qp .banks{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin:4px 0 12px;text-align:center}
.qp .banks a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:13px;background:var(--bg-2);border:1px solid var(--line-2);font-size:11.5px;font-weight:700;color:var(--tx-2);line-height:1.2}
.qp .banks a:hover{border-color:var(--fire-line)}
.qp .banks img{width:40px;height:40px;border-radius:10px;object-fit:cover;background:#fff}
.qp .qp-lbl{font-size:13px;font-weight:700;color:var(--mut);margin:6px 0 10px}
.qp details{margin-top:6px}
.qp details summary{cursor:pointer;color:var(--mut);font-size:13px;font-weight:700;list-style:none}
.qp details summary::-webkit-details-marker{display:none}
.qp .done{padding:10px 0 4px}
.qp .done .ic{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ok-soft);color:var(--ok);font-size:28px;animation:mng-pop .3s var(--ease)}
.qp .done h4{font:700 19px var(--f-disp);margin-bottom:6px}
.qp .done p{color:var(--mut);font-size:14px}

/* ---- toast ---- */
#mng-toasts{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}
.toast{display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:13px;background:#1d1d23;border:1px solid var(--line-2);box-shadow:var(--sh-2);font-size:14px;font-weight:600;animation:mng-pop .22s var(--ease)}
.toast i{color:var(--fire)}.toast.ok i{color:var(--ok)}.toast.bad i{color:var(--bad)}

/* ---- confirm ---- */
.cf-acts{display:flex;gap:10px;margin-top:20px}
.cf-acts .btn{flex:1}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
