/* =========================================================
   LDXT CLOUD · Light Ice-Blue Theme
   Loaded after app.css / payment.css
   ========================================================= */

:root{
  --bg:#edf5fd;
  --bg-2:#f7fbff;
  --panel:#ffffff;
  --panel-2:#f6faff;
  --panel-3:#eaf4ff;
  --text:#10243d;
  --text-2:#37516d;
  --muted:#6f839a;
  --muted-2:#96a5b7;
  --line:rgba(36,86,140,.12);
  --line-2:rgba(36,86,140,.2);
  --cyan:#1d7cff;
  --cyan-2:#14bed8;
  --blue:#2f7df6;
  --violet:#7a6bf5;
  --green:#0db98a;
  --amber:#d78d13;
  --red:#df4f64;
}

html,body{background:#edf5fd;color:var(--text)}
body{
  background:
    radial-gradient(980px 620px at 82% -12%,rgba(95,191,255,.26),transparent 64%),
    radial-gradient(820px 580px at 2% 20%,rgba(100,216,231,.16),transparent 62%),
    linear-gradient(180deg,#f4faff 0%,#edf5fd 46%,#eaf3fc 100%);
}
body.grid-bg:before{
  background-image:
    linear-gradient(rgba(38,91,150,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(38,91,150,.055) 1px,transparent 1px);
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.6) 52%,transparent 100%);
}
.brand-copy strong{color:#10243d}
.brand-copy small{color:#7b8da3}

/* global controls */
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,#2d8dfb 0%,#1a73ee 52%,#16bcd5 100%);
  box-shadow:0 10px 24px rgba(29,124,255,.24),0 0 0 1px rgba(255,255,255,.2) inset;
}
.btn-primary:hover{box-shadow:0 14px 30px rgba(29,124,255,.3),0 0 0 1px rgba(255,255,255,.24) inset}
.btn-ghost{background:#fff;border-color:#d9e6f4;color:#39546f;box-shadow:0 4px 14px rgba(34,81,132,.04)}
.btn-ghost:hover{background:#f7fbff;border-color:#b9d5ee;color:#12395f}
.btn-soft{background:#e9f4ff;border-color:#cfe7fb;color:#0e6dcc}
.btn-soft:hover{background:#dff0ff}
.icon-btn{background:#f5f9fe;border-color:#dbe7f3;color:#60758c}
.icon-btn:hover{background:#edf7ff;border-color:#bcd9f0;color:#1b6fc9}

/* header */
.site-header{
  background:rgba(255,255,255,.86);
  border-bottom:1px solid rgba(36,86,140,.1);
  box-shadow:0 5px 26px rgba(39,92,145,.045);
}
.site-nav a{color:#667b91}
.site-nav a:hover,.site-nav a.active{color:#0f54b7}
.site-nav a.active:after{background:linear-gradient(90deg,#1d7cff,transparent)}
.header-login{color:#5d7086}
.header-login:hover{color:#123a64}
.header-sep{background:#dce8f4}

/* landing */
.home-main:before{background:radial-gradient(680px 420px at 69% 31%,rgba(74,163,255,.14),transparent 70%)}
.eyebrow{color:#1672db}
.hero h1{color:#10243d}
.hero h1 em{
  background:linear-gradient(100deg,#0f61cf 0%,#1d7cff 38%,#12b9d3 72%,#6d8ff5 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:none;
}
.hero-sub{color:#536d88}
.hero-note{color:#7d8fa5}
.hero-note .icon{color:#7891a8}
.hero-proof{border-top-color:rgba(36,86,140,.12)}
.proof-icon{background:#eaf5ff;border-color:#d3e8fb;color:#1a7be6}
.proof-item b{color:#173a5e}
.proof-item span{color:#7d8fa5}
.stage-glow{background:radial-gradient(circle,rgba(57,155,255,.18),rgba(98,220,235,.08) 48%,transparent 70%)}
.stage-ring,.stage-ring:before,.stage-ring:after{border-color:rgba(42,104,168,.13)}
.hero-browser{box-shadow:0 40px 90px rgba(30,70,120,.24),0 0 0 1px rgba(255,255,255,.5) inset}
.float-card{background:rgba(255,255,255,.94);border-color:#d9e8f6;box-shadow:0 20px 46px rgba(36,85,140,.16)}
.float-balance small{color:#71869d}
.float-balance b{color:#123a60}
.float-balance span{color:#0a9c74}
.float-live .live-icon{color:#1b7ce7;background:#eaf5ff;border-color:#d3e8fa}
.float-live b{color:#173a5e}
.float-live span{color:#7b8ea4}
.home-features .feature-card{background:rgba(255,255,255,.9);border-color:#dce9f6;box-shadow:0 8px 24px rgba(35,82,132,.04);backdrop-filter:blur(10px)}
.feature-icon{color:#1b7be7;background:#eaf5ff;border-color:#d3e8fa}
.feature-card b{color:#183b5e}
.feature-card span{color:#71849a}
.home-foot{border-top-color:rgba(36,86,140,.1);color:#8496aa}

/* auth */
.auth-page{background:linear-gradient(150deg,#e8f4ff,#f7fbff 52%,#eaf5ff)}
.auth-page:before{background:radial-gradient(800px 600px at 22% 38%,rgba(70,170,255,.24),transparent 65%),radial-gradient(700px 500px at 88% 5%,rgba(34,199,217,.14),transparent 65%)}
.auth-back{color:#5f7288}
.auth-back:hover{color:#0e3d70}
.auth-shell{background:#fff;border-color:rgba(41,104,168,.14);box-shadow:0 40px 100px rgba(31,78,132,.18)}
.auth-story{
  background:
    radial-gradient(620px 450px at 10% 85%,rgba(90,228,244,.22),transparent 70%),
    linear-gradient(145deg,#145bbd 0%,#1b78e0 48%,#12aebf 100%);
}
.auth-story:before{background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px)}
.auth-story:after{border-color:rgba(255,255,255,.18)}
.auth-story .brand-copy strong{color:#fff}
.auth-story .brand-copy small{color:rgba(255,255,255,.62)}
.auth-kicker{color:#c4f7ff}
.auth-story h2{color:#fff}
.auth-story h2 em{background:linear-gradient(100deg,#f5feff,#c1f8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-story>p{color:rgba(236,250,255,.76)}
.auth-point i{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#e9fdff}
.auth-point b{color:#fff}
.auth-point span{color:rgba(236,250,255,.66)}
.auth-quote{border-top-color:rgba(255,255,255,.18);color:rgba(238,252,255,.58)}
.auth-quote b{color:rgba(255,255,255,.9)}
.auth-form-panel{background:#fff;color:#10243d}
.auth-form-head h1{color:#10243d}
.auth-form-head p{color:#7b8da3}
.auth-tabs{background:#f1f6fc;border-color:#e4edf6}
.auth-tab{color:#71849a}
.auth-tab.active{background:#fff;color:#0f50b1;box-shadow:0 3px 12px rgba(30,80,135,.08)}
.auth-alt{background:#fbfdff;border-color:#dce7f3;color:#425d79}
.auth-alt:hover{border-color:#b9d4eb;color:#0d4275}
.auth-submit{background:linear-gradient(135deg,#2f8ffb,#1677ee 58%,#13bfd8);color:#fff;box-shadow:0 10px 24px rgba(29,124,255,.23)}
.form-field label{color:#526b84}
.form-input{background:#fbfdff;border-color:#dce7f3;color:#142c47}
.form-input::placeholder{color:#a6b5c5}
.form-icon{color:#96a8ba}
.auth-legal,.auth-foot{color:#8a9bad}
.auth-legal a,.auth-foot a{color:#1675ce}
.auth-terms{color:#8496a9}
.auth-note{display:flex;align-items:flex-start;gap:6px;font-size:8.5px;line-height:1.7;color:#6f849b;background:#f2f9ff;border:1px solid #dcecf9;border-radius:8px;padding:8px 10px;margin:2px 0 13px}
.auth-note .icon{color:#2b8ad9;flex:0 0 auto;margin-top:1px}
.code-btn{background:#f0f8ff;border-color:#d5e7f7;color:#1673ce}
.auth-legal{color:#98a8ba}

/* user shell */
.user-page{background:transparent}
.user-header{background:rgba(255,255,255,.9);border-bottom-color:rgba(36,86,140,.1);box-shadow:0 4px 20px rgba(38,85,135,.04)}
.user-nav a{color:#6e8298}
.user-nav a:hover{color:#183f68;background:#f1f8ff}
.user-nav a.active{color:#0f5ec7;background:#eaf4ff;box-shadow:0 0 0 1px #d5e9fb inset}
.balance-chip{background:#fff;border-color:#d6e6f5;color:#5b7592;box-shadow:0 4px 12px rgba(35,81,132,.04)}
.balance-chip b{color:#0d5ec5}
.avatar{background:linear-gradient(145deg,#3b90ff,#16bfd8);border-color:rgba(255,255,255,.7);color:#fff;box-shadow:0 6px 16px rgba(28,147,220,.22)}
.user-title-row h1{color:#10243d}
.user-title-row h1 span{color:#1674dd}
.user-title-row p{color:#73869c}
.title-tools{color:#7e90a4}
.online-pill{background:#eefbf6;border-color:#ccefe2;color:#0b8e6b}
.wallet-card{
  background:
    radial-gradient(520px 320px at 100% -20%,rgba(125,250,255,.32),transparent 64%),
    linear-gradient(130deg,#1b63d3 0%,#197be8 48%,#0fb5ca 100%);
  border-color:rgba(255,255,255,.38);
  box-shadow:0 18px 42px rgba(24,104,192,.22);
}
.wallet-card:before,.wallet-card:after{border-color:rgba(255,255,255,.18)}
.wallet-head .label{color:rgba(255,255,255,.8)}
.wallet-head .verified{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.24);color:#eafdff}
.wallet-balance strong{color:#fff;text-shadow:0 2px 20px rgba(0,55,120,.16)}
.wallet-balance span{color:rgba(255,255,255,.7)}
.wallet-meta{color:rgba(255,255,255,.72)}
.wallet-meta b{color:rgba(255,255,255,.96)}
.wallet-deco{color:rgba(255,255,255,.62)}
.wallet-deco i{background:#d4fbff;box-shadow:0 0 8px #d4fbff}
.wallet-actions .btn-ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.38);color:#fff}
.wallet-actions .btn-ghost:hover{background:rgba(255,255,255,.18);border-color:#fff}
.wallet-actions .pause-wallet-btn{background:rgba(255,239,199,.18);border-color:rgba(255,235,190,.55);color:#fff5db}
.wallet-actions .pause-wallet-btn:hover{background:rgba(255,239,199,.28);border-color:#fff3cd}
.wallet-actions .btn-primary{background:#fff;color:#0b60c5;box-shadow:0 7px 18px rgba(0,62,128,.14)}
.redeem-card{background:#fff;border-color:#dce9f6;box-shadow:0 10px 28px rgba(33,80,132,.055)}
.redeem-icon{background:#eaf5ff;border-color:#d2e7fa;color:#1a7be7}
.redeem-head h3{color:#163b60}
.redeem-head p{color:#7b8fa4}
.redeem-form input{background:#f9fcff;border-color:#dbe8f5;color:#173e64}
.redeem-form input::placeholder{color:#a6b5c5}
.redeem-foot{color:#7d8fa4}
.redeem-foot a{color:#1675ce}
.manual-mode-banner{
  display:flex;align-items:center;gap:10px;margin-top:18px;padding:11px 14px;border-radius:10px;
  background:linear-gradient(90deg,#eaf5ff,#f7fcff);border:1px solid #d3e8f8;color:#5e7790;font-size:9px;line-height:1.65;
}
.manual-mode-banner .m-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#fff;border:1px solid #d5e8f8;color:#1676d8;flex:0 0 auto}
.manual-mode-banner .m-icon .icon{width:14px;height:14px}
.manual-mode-banner b{color:#144a7d;font-weight:600}
.manual-mode-banner .m-link{margin-left:auto;color:#1673cf;font-size:8.5px;white-space:nowrap}
.machine-head h2{color:#173b5f}
.machine-head h2 span{color:#8a9bae}
.seg{background:#fff;border-color:#dce9f5;box-shadow:0 3px 12px rgba(35,82,132,.035)}
.seg button{color:#72869b}
.seg button.active{background:#eaf4ff;color:#0d62c8;box-shadow:0 0 0 1px #d2e7fb inset}
.machine-search{background:#fff;border-color:#dce9f5;color:#9aa9b9}
.machine-search input{color:#294662}
.machine-search input::placeholder{color:#9caec0}
.machine-card{background:#fff;border-color:#dfeaf5;box-shadow:0 8px 24px rgba(35,82,132,.045)}
.machine-card:hover{border-color:#b9d8f2;box-shadow:0 16px 34px rgba(35,82,132,.1)}
.machine-card.is-idle{border-color:#d7ece5}
.machine-card.is-paused{border-color:#f0ddb9}
.machine-card.is-busy{opacity:1;background:#fbfdff}
.machine-cover{height:94px;background:linear-gradient(135deg,#e4f2ff,#f9fcff 60%,#eef9ff);overflow:hidden}
.machine-cover:before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(35,102,165,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(35,102,165,.055) 1px,transparent 1px);
  background-size:22px 22px;mask-image:linear-gradient(110deg,#000,transparent 78%);
}
.machine-cover:after{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.42))}
.machine-art{position:absolute;z-index:1;right:20px;top:17px;width:54px;height:44px;border-radius:10px;border:1px solid rgba(35,108,175,.16);background:rgba(255,255,255,.55);display:grid;place-items:center;color:#2b78ca;box-shadow:0 8px 18px rgba(35,96,158,.08)}
.machine-art .icon{width:24px;height:24px;opacity:.85}
.machine-art:after{content:"MANUAL";position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);font:6px var(--font-num);letter-spacing:.15em;color:#6c91b2;white-space:nowrap}
.machine-cover.art-2{background:linear-gradient(135deg,#e8f5ff,#f8fcff 58%,#e7fbf8)}
.machine-cover.art-3{background:linear-gradient(135deg,#edf1ff,#fbfcff 60%,#eaf4ff)}
.machine-cover.art-4{background:linear-gradient(135deg,#fff7e9,#fffdf8 60%,#f2f8ff)}
.machine-cover.art-5{background:linear-gradient(135deg,#e6f8fb,#f9fdff 60%,#eef7ff)}
.machine-cover.art-6{background:linear-gradient(135deg,#eef4ff,#fcfdff 58%,#e9f8ff)}
.machine-cover.art-7{background:linear-gradient(135deg,#e8f4ff,#fbfdff 58%,#eafcf8)}
.machine-cover.art-8{background:linear-gradient(135deg,#edf4ff,#fbfdff 58%,#e8f9ff)}
.machine-card.is-busy .machine-art{color:#7b91a5;background:rgba(255,255,255,.4)}
.machine-status{background:rgba(255,255,255,.82);border-color:rgba(31,92,150,.16);backdrop-filter:blur(8px)}
.machine-status.idle{color:#0b9d72;background:#effcf7;border-color:#cceedd}
.machine-status.busy{color:#2d72d9;background:#eff6ff;border-color:#d4e5ff}
.machine-status.paused{color:#b7790e;background:#fff9eb;border-color:#f6e3b9}
.machine-no{color:rgba(34,74,112,.42)}
.machine-info b{color:#153d63;text-shadow:none;font-size:12px}
.machine-info span{color:#7189a0}
.machine-body{background:#fff}
.machine-meta-row{color:#7b8da2}
.machine-meta-row .latency{color:#0a9c76}
.machine-session{background:#f7fbff;border-color:#ebf2f9;color:#74879b}
.machine-session b{color:#3f5f7e}
.machine-session.paused{background:#fffaf0;border-color:#f5e6c8;color:#a97822}
.machine-foot{padding-top:8px;border-top:1px solid #f1f6fb}
.machine-price{color:#8193a6}
.machine-price b{color:#3d5b78}
.machine-foot .btn[disabled]{background:#f4f8fc;border-color:#e6eef6;color:#94a5b7}
.machine-card.is-paused .btn[disabled]{background:#fff9ec;border-color:#f3e3be;color:#b17a19}
.user-notice{background:#f9fcff;border-color:#e0ebf6;color:#75889d}
.user-notice .icon{color:#1b7cd9}
.user-notice b{color:#3e5f7f}
.user-foot{color:#8e9eb0}
.user-foot a{color:#647f99}

/* recharge / payment */
.recharge-head h1{color:#10243d}
.recharge-head p{color:#73869c}
.recharge-panel{background:#fff;border-color:#deeaf6;box-shadow:0 8px 26px rgba(35,82,132,.045)}
.recharge-panel-head h2{color:#163b5f}
.recharge-panel-head h2:before{background:linear-gradient(180deg,#1d7cff,#16bfd8)}
.recharge-panel-head span{color:#8799ac}
.package-card{background:#fbfdff;border-color:#deeaf5;color:#173b60;box-shadow:0 3px 10px rgba(35,82,132,.025)}
.package-card:after{border-color:rgba(52,122,190,.09)}
.package-card:hover{background:#fff;border-color:#b9d8f2;box-shadow:0 8px 20px rgba(35,82,132,.07)}
.package-card.active{
  border-color:#7cb9fb;
  background:linear-gradient(150deg,#edf7ff,#f8fcff 56%,#e8f7ff);
  box-shadow:0 0 0 1px #cfe7fc inset,0 12px 28px rgba(40,133,220,.1);
}
.package-card.active:before{background:linear-gradient(180deg,#1d7cff,#14c7dc);box-shadow:0 0 14px rgba(29,124,255,.35)}
.package-tag{background:#e7f2ff;color:#1267ce;border-color:#cfe4fb}
.package-amount{display:flex;align-items:baseline;gap:3px;font:600 30px/1 var(--font-num);letter-spacing:-.02em;color:#113b61}
.package-amount small{font:500 13px var(--font);color:#3d78b1;letter-spacing:0}
.package-hours{color:#113b61}
.package-hours small{color:#7389a0}
.package-desc{color:#7d90a5}
.package-price{border-top-color:#eaf1f8}
.package-price b{color:#123b61}
.package-price small{color:#8293a6}
.package-card.active .package-price b{color:#0d61c7}
.package-note{color:#7e91a6}
.package-note .icon{color:#1880d9}
.pay-method{background:#fbfdff;border-color:#dee9f5;color:#294864}
.pay-method:hover{background:#fff;border-color:#bdd9f1}
.pay-method.active{border-color:#7fb9f4;background:#f0f8ff;box-shadow:0 0 0 1px #d5e9fc inset}
.pay-logo.alipay{background:#eaf3ff;border-color:#d2e4ff}
.pay-logo.wechat{background:#eafbf1;border-color:#cff3dd}
.pay-logo.qq{background:#ebf4ff;border-color:#d6e9ff}
.pay-logo.union{background:#fff0f0;border-color:#ffd7d6}
.pay-method-copy b{color:#25445f}
.pay-method-copy span{color:#8496aa}
.pay-radio{border-color:#c5d7e8}
.pay-method.active .pay-radio{border-color:#1d7cff}
.pay-method.active .pay-radio:after{background:#1d7cff;box-shadow:0 0 7px rgba(29,124,255,.35)}
.pay-safety{border-top-color:#ebf2f9;color:#75899e}
.pay-safety .icon{color:#0ca87d}
.pay-safety b{color:#3e607f}
.recharge-summary{
  background:radial-gradient(330px 210px at 100% 0%,rgba(80,175,255,.16),transparent 68%),#fff;
  border-color:#d9e8f6;box-shadow:0 14px 36px rgba(35,82,132,.09);
}
.recharge-summary:before{border-color:rgba(48,116,179,.11)}
.summary-head h3{color:#173b60}
.summary-head span{color:#7398b4}
.summary-package{background:#f3f9ff;border-color:#d9ebfa}
.summary-package .p-name{color:#123b61}
.summary-package .p-name small{color:#6f869e}
.summary-package .p-desc{color:#7c8fa4}
.summary-line{color:#7c8fa4;border-bottom-color:#edf3f9}
.summary-line b{color:#3c5c7b}
.summary-total{border-top-color:#e4eef8}
.summary-total span{color:#778ba1}
.summary-total b{color:#102f4f}
.summary-total b small{color:#1267ce}
.summary-agree{color:#8496a9}
.summary-agree a{color:#1675ce}
.summary-secure{color:#8799ac}
.recent-recharge{background:#fff;border-color:#e0ebf6;box-shadow:0 6px 20px rgba(35,82,132,.035)}
.recent-head{color:#3e5d7c}
.recent-head a{color:#1675ce}
.recent-row{border-top-color:#eff4fa;color:#7f91a5}
.recent-row .r-ico{background:#edf7ff;border-color:#d8eafa;color:#1a7ad9}
.recent-row b{color:#3d5c7b}
.recent-row span{color:#8799ac}
.recent-row .r-amount{color:#0c9d75}
.recharge-foot{color:#8a9bad}
.recharge-foot a{color:#6d839a}
.pay-result-page{background:linear-gradient(160deg,#edf7ff,#f8fcff)}
.result-card{background:radial-gradient(420px 260px at 50% -18%,rgba(28,196,150,.1),transparent 68%),#fff;border-color:#dcebf7;box-shadow:0 28px 70px rgba(32,80,130,.13)}
.result-card:before{border-color:rgba(41,119,191,.09)}
.result-card:after{border-color:rgba(15,182,137,.09)}
.result-icon{color:#0caf83;background:#ebfbf5;border-color:#c8f1e1;box-shadow:0 0 30px rgba(13,185,138,.1)}
.result-card h1{color:#123a5c}
.result-card>p{color:#778ba1}
.result-amount b{color:#103353}
.result-amount span{color:#7d90a5;border-left-color:#e3edf7}
.result-amount span em{color:#0b9b74}
.result-detail-item{background:#f8fcff;border-color:#e5eff8}
.result-detail-item small{color:#8295a9}
.result-detail-item b{color:#3d5b77}
.result-order{background:#fbfdff;border-color:#deebf7;color:#7b8fa4}
.result-order b{color:#44627f}
.result-note{color:#8295a9}
.result-note .icon{color:#0cac80}
.result-help{color:#8a9bad}
.result-help a{color:#1675ce}
.result-side-note{color:#12856a;background:#effbf6;border-color:#d4f1e6}

/* play */
.map-layer img{filter:brightness(.9) saturate(.92) contrast(1.02)}
.map-layer:after{background:linear-gradient(180deg,rgba(238,247,255,.18),transparent 18%,transparent 72%,rgba(11,35,62,.22))}
.map-layer .map-vignette{box-shadow:inset 0 0 150px 20px rgba(10,32,56,.28)}
.play-bar{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,252,255,.92));
  border-color:rgba(255,255,255,.75);
  box-shadow:0 20px 52px rgba(17,46,82,.18);backdrop-filter:blur(22px);
}
.play-bar:before{background:linear-gradient(90deg,transparent,rgba(29,124,255,.5),rgba(20,191,216,.38),transparent)}
.play-brand{border-right-color:#e4edf6}
.play-brand-copy strong{color:#183b5e}
.play-brand-copy small{color:#8395a8}
.play-machine-no{color:#0d62c8;background:linear-gradient(145deg,#e9f4ff,#f5fbff);border-color:#d3e8fb;box-shadow:0 5px 14px rgba(35,120,200,.08)}
.play-machine-copy b{color:#143a5e}
.play-machine-copy span{color:#0b9b74}
.play-machine-copy span i{background:#0db98a;box-shadow:0 0 8px rgba(13,185,138,.6)}
.play-machine-copy span em{color:#7f91a5}
.play-timer small{color:#7f92a6}
.play-timer strong{color:#0f3357;text-shadow:none}
.play-timer:after{background:linear-gradient(90deg,transparent,rgba(29,124,255,.36),transparent)}
.play-used{border-right-color:#e5eef7}
.play-used small{color:#8395a9}
.play-used b{color:#3d5c79}
.play-btn{background:#f6faff;border-color:#dce8f4;color:#3f5b76}
.play-btn:hover{background:#eef7ff;border-color:#bcd8ef;color:#0f3d66}
.play-btn.danger{color:#d84b5f;border-color:#f3d3d8;background:#fff5f6}
.play-btn.danger:hover{background:#ffeef1;color:#c3384d}
.play-btn.primary{background:linear-gradient(135deg,#2d8dfb,#1677ee,#14bfd8);color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(29,124,255,.2)}
.play-btn.paused{color:#b37b17;border-color:#f0dfbd;background:#fff9ed}
.map-tag,.quick-card{background:rgba(255,255,255,.88);border-color:rgba(206,226,243,.9);color:#72879d;box-shadow:0 8px 22px rgba(21,58,94,.12);backdrop-filter:blur(12px)}
.map-tag b{color:#3b5d7e}
.map-tag .icon{color:#1675ce}
.quick-card small{color:#8497aa}
.quick-card b{color:#183d60}
.play-toast{background:rgba(255,255,255,.97);border-color:#d5e9f8;color:#2f5d7d;box-shadow:0 14px 36px rgba(20,55,90,.16)}
.play-toast .icon{color:#0da77c}
.play-expand{position:fixed;z-index:1001;top:10px;right:16px;height:30px;padding:0 10px;border-radius:8px;border:1px solid rgba(255,255,255,.76);background:rgba(255,255,255,.9);color:#365a78;font-size:8.5px;display:none;align-items:center;gap:5px;box-shadow:0 7px 20px rgba(18,52,86,.14);backdrop-filter:blur(12px)}
.play-expand .icon{width:12px;height:12px}
.play-expand:hover{background:#fff;border-color:#cfe3f3}
.play-page.is-bar-hidden .play-bar{opacity:0;transform:translateY(-125%);pointer-events:none}
.play-page.is-bar-hidden .command-fab{opacity:0;transform:translateY(12px);pointer-events:none}
.play-page.is-bar-hidden .play-expand{display:flex}
.play-bar,.command-fab,.map-tag{transition:opacity .2s ease,transform .22s ease}
.hide-btn{color:#5e7790}
.hide-btn:hover{color:#2f5d7d}
.pause-shade{background:rgba(232,243,254,.45);backdrop-filter:blur(4px)}
.pause-note{background:#fff;border-color:#f0e2c6;box-shadow:0 24px 60px rgba(23,58,94,.16)}
.pause-note .pause-icon{color:#bd841e;background:#fff8e9;border-color:#f2e1bd}
.pause-note h3{color:#183b5b}
.pause-note p{color:#7c8fa4}
.play-page.is-expired .map-layer img{filter:brightness(.68) saturate(.75) blur(5px)}
.play-page.is-expired .map-layer:after{background:rgba(238,246,255,.62)}
.expire-card{background:#fff;border-color:#dceaf6;box-shadow:0 34px 80px rgba(23,58,94,.2)}
.expire-card:before{background:linear-gradient(90deg,transparent,rgba(220,147,26,.55),transparent)}
.expire-icon{color:#bf861c;background:#fff8e9;border-color:#f1e0bc}
.expire-card h2{color:#163b5e}
.expire-card>p{color:#7d90a4}
.expire-stat{background:#f8fcff;border-color:#e7f0f8}
.expire-stat small{color:#8295a8}
.expire-stat b{color:#3d5b78}
.expire-stat b.green{color:#0b9a73}
.expire-foot{color:#8496a9}
.expire-foot .icon{color:#0cac80}
.expired-id{background:rgba(255,255,255,.88);border-color:rgba(206,226,243,.9);color:#72879d;box-shadow:0 8px 22px rgba(21,58,94,.12)}
.expired-id .icon{color:#d18a20}

/* team modal */
.team-shade{position:fixed;z-index:1100;inset:0;background:rgba(14,38,68,.32);backdrop-filter:blur(4px);display:none}
.team-modal{position:fixed;z-index:1110;left:50%;top:50%;transform:translate(-50%,-48%);opacity:0;pointer-events:none;width:420px;background:#fff;border:1px solid #dceaf6;border-radius:18px;box-shadow:0 30px 80px rgba(17,49,85,.25);padding:24px;transition:.18s}
.team-page-open .team-shade{display:block}
.team-page-open .team-modal{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.team-modal h3{font-size:17px;margin:0;color:#153a5e;letter-spacing:-.02em}
.team-modal>p{font-size:9.5px;color:#7b8fa4;line-height:1.8;margin:5px 0 14px}
.team-field{margin-bottom:11px}
.team-field label{display:block;font-size:9px;color:#5d738b;margin-bottom:5px;font-weight:500}
.team-field input{width:100%;height:38px;border:1px solid #dce8f4;border-radius:8px;background:#f9fcff;padding:0 11px;color:#21425f;font-size:10px;outline:none}
.team-field input:focus{border-color:#8ac7f5;background:#fff;box-shadow:0 0 0 3px rgba(29,124,255,.08)}
.team-modal .btn{width:100%;height:40px;margin-top:2px;font-size:10.5px;border-radius:8px}
.team-close{position:absolute;right:15px;top:13px;width:28px;height:28px;border:1px solid #e3edf6;background:#fff;border-radius:7px;color:#8396a9;display:grid;place-items:center}
.team-note{font-size:7.5px;color:#8b9cae;line-height:1.7;margin-top:9px;text-align:center}

/* machine hall current session */
.session-bar{display:flex;align-items:center;gap:16px;margin-top:17px;padding:11px 15px;border-radius:12px;border:1px solid #cfe6f8;background:linear-gradient(90deg,#eaf6ff,#f9fcff 58%,#eefaff);box-shadow:0 7px 20px rgba(42,131,210,.06);position:relative;overflow:hidden}
.session-bar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#1d7cff,#16bfd8)}
.session-live{display:flex;align-items:center;gap:8px;min-width:170px}
.session-live .live-dot{width:6px;height:6px;border-radius:50%;background:#0db98a;box-shadow:0 0 9px rgba(13,185,138,.6);flex:0 0 auto}
.session-live b{font-size:11px;color:#173e62}
.session-live span{font-size:8px;color:#6f8298}
.session-live em{font-style:normal;color:#0b9b74;margin-left:2px}
.session-time{display:flex;align-items:baseline;gap:7px;padding-left:17px;border-left:1px solid #dcecf9}
.session-time small{font-size:7.5px;color:#7a8da2}
.session-time b{font:600 18px var(--font-num);color:#123b61;letter-spacing:.02em}
.session-note{font-size:8px;color:#8296aa;line-height:1.55;flex:1;min-width:0}
.session-note b{color:#3c5f80;font-weight:500}
.session-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.session-actions .btn{height:31px;font-size:9px;border-radius:7px;padding:0 11px}
.session-actions .btn .icon{width:12px;height:12px}
.session-actions .pause-btn{background:#fff7e8;border:1px solid #f1dfba;color:#a97716}
.session-actions .pause-btn:hover{background:#fff3d8;border-color:#e8d09e}
.session-actions .down-btn{background:#fff5f6;border:1px solid #f3d6dc;color:#d34a60}
.session-actions .down-btn:hover{background:#ffeef1}

/* command fab + modal */
.command-fab{position:fixed;z-index:990;right:18px;bottom:18px;height:46px;padding:0 17px 0 14px;border-radius:12px;display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#2d8dfb,#1677ee 55%,#15bfd8);color:#fff;font-size:11px;font-weight:650;box-shadow:0 12px 32px rgba(29,124,255,.28),0 0 0 1px rgba(255,255,255,.2) inset;cursor:pointer;transition:.18s}
.command-fab:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(29,124,255,.34)}
.command-fab .icon{width:17px;height:17px}
.cmd-pulse{width:6px;height:6px;border-radius:50%;background:#e9ffff;box-shadow:0 0 8px #e9ffff;position:relative}
.cmd-pulse:after{content:"";position:absolute;inset:-4px;border:1px solid rgba(255,255,255,.55);border-radius:50%;animation:pulse 2.2s infinite}
.command-shade{position:fixed;z-index:1200;inset:0;background:rgba(14,38,68,.3);backdrop-filter:blur(4px);display:none}
.command-page-open .command-shade{display:block}
.command-modal{position:fixed;z-index:1210;left:50%;top:50%;transform:translate(-50%,-48%);opacity:0;pointer-events:none;width:482px;background:#fff;border:1px solid #dbe9f5;border-radius:19px;box-shadow:0 34px 90px rgba(18,51,86,.25);padding:22px 23px 18px;transition:.18s}
.command-page-open .command-modal{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.command-head{display:flex;gap:11px;align-items:flex-start}
.command-head-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#eaf5ff;border:1px solid #d2e7fb;color:#1676d8;flex:0 0 auto}
.command-head-icon .icon{width:18px;height:18px}
.command-head h3{font-size:17px;color:#153a5e;margin:0;letter-spacing:-.02em}
.command-head p{font-size:8.5px;color:#7b8fa4;line-height:1.7;margin:4px 0 0}
.command-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}
.command-option{display:flex;align-items:center;gap:9px;text-align:left;min-height:62px;padding:10px 11px;border:1px solid #dce9f5;border-radius:10px;background:#fbfdff;color:#294762;transition:.18s}
.command-option:hover{border-color:#8bc5f3;background:#f2f9ff;transform:translateY(-1px)}
.command-option.danger:hover{border-color:#f0b9c2;background:#fff7f8}
.command-ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:700;flex:0 0 auto}
.command-ico.ready{background:#eaf5ff;border:1px solid #cfe6fa;color:#1676d8}
.command-ico.boom{background:#fff1f3;border:1px solid #f5d5db;color:#d94e64}
.command-option b{display:block;font-size:11px;color:#24445f;font-weight:600}
.command-option small{display:block;font-size:7.5px;color:#8396aa;margin-top:2px;line-height:1.5}
.command-arrow{margin-left:auto;font-size:14px;color:#a3b4c5}
.command-history{margin-top:16px;border-top:1px solid #edf3f9;padding-top:11px}
.command-history-head{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#5d748b;font-weight:500;margin-bottom:4px}
.command-history-head a{font-size:8px;color:#1675ce;font-weight:400}
.command-log-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #f2f6fa;font-size:8px}
.command-log-row:last-child{border-bottom:0}
.cl-dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto}
.cl-dot.ready{background:#1d7cff;box-shadow:0 0 7px rgba(29,124,255,.4)}
.cl-dot.boom{background:#df4f64;box-shadow:0 0 7px rgba(223,79,100,.35)}
.command-log-row b{display:block;font-size:8.5px;color:#3f5f7d;font-weight:500}
.command-log-row small{display:block;font-size:7px;color:#9aa9b8;margin-top:1px}
.command-status{margin-left:auto;height:18px;padding:0 6px;border-radius:4px;display:inline-flex;align-items:center;gap:4px;font-size:7px}
.command-status.pending{background:#fff7e8;color:#b27912}
.command-status.done{background:#eafaf3;color:#0f9d76}
.command-note{display:flex;align-items:flex-start;gap:5px;font-size:7.5px;color:#8b9cae;line-height:1.6;margin-top:10px}
.command-note .icon{width:10px;height:10px;color:#7ba6bd;flex:0 0 auto;margin-top:1px}

/* admin */
.admin-body{background:#f2f7fd;color:#182034}
.admin-sidebar{
  background:
    radial-gradient(280px 300px at 95% 0%,rgba(53,181,240,.15),transparent 65%),
    linear-gradient(180deg,#1b426c 0%,#173857 55%,#112d4b 100%);
}
.admin-sidebar:before{background:radial-gradient(circle,rgba(83,215,250,.2),transparent 68%)}
.admin-brand-copy strong{color:#fff}
.admin-brand-copy small{color:#8eb5d0}
.admin-group{color:#7d9db8}
.admin-link{color:#b5cde1}
.admin-link:hover{background:rgba(255,255,255,.07);color:#fff}
.admin-link.active{background:linear-gradient(90deg,rgba(81,194,245,.22),rgba(56,130,242,.17));color:#fff;border-left-color:#7fe8ff;box-shadow:0 0 0 1px rgba(143,233,255,.08) inset}
.admin-link.active .icon{color:#9df4ff}
.admin-link .count{background:rgba(255,124,142,.16);color:#ffd2d8}
.admin-side-foot{border-top-color:rgba(255,255,255,.1)}
.admin-side-foot b{color:#e4f1fb}
.admin-side-foot small{color:#8da9c0}
.admin-topbar{background:#fff;border-bottom-color:#e4edf6;box-shadow:0 2px 12px rgba(35,82,132,.025)}
.admin-crumb{color:#98a6b6}.admin-crumb b{color:#253f5a}
.admin-top-status{background:#f7fbff;border-color:#e9f1f8;color:#6d8297}
.admin-top-icon{background:#fff;border-color:#e5eef7;color:#6d8297}
.admin-top-user{border-left-color:#e8f0f8}
.admin-top-user b{color:#334d68}
.admin-top-user small{color:#97a7b7}
.admin-page-head h1{color:#17344f}
.admin-page-head p{color:#8a9cae}
.a-btn{background:#fff;border-color:#dfe9f3;color:#5c7085;box-shadow:0 2px 6px rgba(35,82,132,.025)}
.a-btn:hover{border-color:#bdd6ea;color:#24435f}
.a-btn.primary{background:linear-gradient(135deg,#2e8df9,#1677ee 60%,#13bdd7);border-color:transparent;box-shadow:0 5px 14px rgba(29,124,255,.22)}
.a-btn.cyan{background:#edf9ff;border-color:#d1eefa;color:#0e6f8a}
.a-btn.danger{background:#fff5f6;border-color:#ffe0e5;color:#d83d54}
.a-panel{background:#fff;border-color:#e4edf5;box-shadow:0 3px 14px rgba(33,80,132,.035)}
.a-panel-head{border-bottom-color:#edf3f8}
.a-panel-head h3{color:#2a4058}
.a-panel-head h3:before{background:linear-gradient(180deg,#1d7cff,#14bfd8)}
.a-panel-head .sub{color:#94a4b5}
.a-table th{background:#f8fbff;color:#8899aa;border-bottom-color:#edf3f8}
.a-table td{border-bottom-color:#f1f6fb;color:#5b6f83}
.a-table tr:hover td{background:#fbfdff}
.a-stat{background:#fff;border-color:#e4edf5;box-shadow:0 3px 14px rgba(33,80,132,.03)}
.a-stat.highlight{
  background:radial-gradient(220px 170px at 100% 0%,rgba(111,247,255,.32),transparent 67%),linear-gradient(135deg,#1968dc,#187be8 50%,#0fb6cb);
  border-color:#1968dc;box-shadow:0 10px 28px rgba(24,112,210,.23);
}
.a-stat.highlight .stat-label{color:rgba(255,255,255,.8)}
.a-stat.highlight .stat-value{color:#fff}
.a-stat.highlight .stat-value small{color:rgba(255,255,255,.72)}
.a-stat.highlight .stat-foot{color:rgba(255,255,255,.65)}
.a-stat.highlight .stat-foot b{color:#d9fdff}
.a-stat.highlight .stat-icon{background:rgba(255,255,255,.15);color:#fff}
.a-stat .stat-label{color:#8798aa}
.a-stat .stat-value{color:#1b3651}
.a-stat .stat-foot{color:#8d9eaf}
.a-stat .stat-icon{background:#f1f7fd;color:#7f93a7}
.a-tag.green{background:#eafaf3;color:#0f9f78}
.a-tag.blue{background:#edf4ff;color:#3576d5}
.a-tag.amber{background:#fff8e8;color:#b47c16}
.a-tag.red{background:#fff1f3;color:#d94e64}
.a-search{background:#fbfdff;border-color:#e0e9f3;color:#92a2b3}
.a-search input{color:#3c556f}
.a-select{background-color:#fbfdff;border-color:#e0e9f3;color:#5c7085}
.a-checkbox{border-color:#d4e1ed;background:#fff}
.a-page.active{background:#1d7cff;border-color:#1d7cff}
.a-switch{background:#dbe6f1}
.a-switch.on{background:#1d7cff}
.drawer-mask{background:rgba(20,48,78,.1)}
.a-drawer{background:#fff;box-shadow:-20px 0 60px rgba(24,58,94,.14)}
.drawer-head h3{color:#1e3851}
.drawer-input{background:#fbfdff;border-color:#dfe9f3;color:#2f4b66}
.drawer-input:focus{border-color:#8ac8f5;background:#fff}
.drawer-note{background:#f0fbfc;border-color:#d7f1f5;color:#4d7d86}
.a-panel-head .a-link{color:#2b73cd}
.chart .bar i{background:linear-gradient(180deg,#9cc4ff,#4d91ee)}
.mini-chart .bar i{background:linear-gradient(180deg,#8eb9ff,#4f8ee8)}
.mini-chart .bar:nth-child(6) i{background:linear-gradient(180deg,#64dff2,#18b5cd)}
.legend i{background:#5b91e8}.legend i.cyan{background:#30c9de}
.stock-bar i{background:linear-gradient(90deg,#5b98ee,#8dbdff)}
.stock-bar i.used{background:#24c2d7}
.admin-top-status,.admin-top-icon,.admin-top-user,.admin-side-foot,.admin-brand{border-color:#e7eff7}
.admin-content{background:transparent}
.pay-status-banner{background:linear-gradient(90deg,#effbf7,#f9fdfc);border-color:#d3f0e8;color:#417d70}
.pay-status-banner b{color:#11755e}
.pay-status-banner .small{color:#8ba39c}
.pay-config-body,.callback-body,.pay-channel-grid,.recent-pay-list,.card-stock{background:#fff}
.pay-field label,.callback-row label{color:#66798d}
.pay-input,.pay-textarea,.packages .price-input{background:#fbfdff;border-color:#e0e9f3;color:#334e68}
.pay-extra-switches .switch-item{background:#fbfdff;border-color:#eaf1f7;color:#65798d}
.pay-channel-item{background:#fbfdff;border-color:#eaf1f7}
.pay-channel-item b{color:#536b82}
.callback-url{background:#fbfdff;border-color:#e8f0f7;color:#6b8094}
.callback-note{border-top-color:#eef4f9;color:#95a5b6}
.package-config-table .price-input{background:#fbfdff;border-color:#e2eaf3;color:#4a6077}
.recent-pay-item{border-bottom-color:#f1f6fb}
.recent-pay-copy b{color:#4d6176}
.recent-pay-amount{color:#40566e}
.recent-pay-ico{background:#f1f7fd;color:#6c8297}

@media(max-width:760px){
  .manual-mode-banner{align-items:flex-start;flex-wrap:wrap}
  .manual-mode-banner .m-link{margin-left:36px}
  .machine-cover{height:110px}
  .machine-art{right:16px;top:18px}
  .session-bar{display:block;padding:12px 14px}
  .session-live{min-width:0}
  .session-time{padding-left:0;border-left:0;margin-top:8px}
  .session-note{margin-top:6px;font-size:7.5px}
  .session-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
  .session-actions .btn{flex:1;min-width:0;font-size:8.5px;padding:0 8px}
  .session-actions .btn .icon{width:11px;height:11px}
  .command-fab{right:14px;bottom:14px;height:42px;font-size:10px}
  .command-modal{width:calc(100% - 28px);padding:20px 18px 16px;max-height:88vh;overflow-y:auto}
  .command-options{grid-template-columns:1fr}
  .command-head h3{font-size:16px}
  .map-tag{display:flex;left:12px;bottom:12px;height:26px;max-width:calc(100% - 120px);padding:0 8px;font-size:6.5px;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .map-tag b{display:none}
}
