﻿/* ============================================================
   零域 · 控制台 V2  (仅作用于 / 控制台首页)
   独立覆盖层，不改打包 JS，可随时移除 <link>/<script> 回滚
   ============================================================ */

/* ---------- 页面背景：极光 + 颗粒 ---------- */
.lyx-dash{
  position:relative;
  isolation:isolate;
  padding-top:2px;
}
.lyx-dash::before{
  content:"";
  position:absolute;
  inset:-24px -16px 0 -16px;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(780px 340px at 8% -16%, rgba(56,189,248,.14), transparent 66%),
    radial-gradient(700px 320px at 92% -20%, rgba(168,85,247,.13), transparent 68%),
    radial-gradient(900px 420px at 50% 118%, rgba(16,185,129,.07), transparent 70%);
  filter:saturate(1.05);
}
.lyx-dash::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:url(/assets/lyx/lyx-noise.png);
  background-size:110px 110px;
  opacity:.045;
  mix-blend-mode:soft-light;
}

/* ---------- 顶部状态条 ---------- */
.lyx-dash > div.items-center.justify-between.mb-6 > div:first-child{
  gap:12px !important;
  padding:9px 16px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)) !important;
  border:1px solid rgba(255,255,255,.07) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 10px 28px -20px #000 !important;
  backdrop-filter:blur(10px);
}
.lyx-dash > div.items-center.justify-between.mb-6 > div:first-child > div.rounded-full{
  box-shadow:0 0 0 4px rgba(34,197,94,.12), 0 0 12px 2px rgba(34,197,94,.55) !important;
}
.lyx-dash > div.items-center.justify-between.mb-6 > div:first-child > span{
  font-size:12.5px !important;
  letter-spacing:.03em;
  color:rgba(226,240,255,.68) !important;
}
.lyx-dash > div.items-center.justify-between.mb-6 > div:first-child > span:nth-of-type(2){
  opacity:.25;
}
.lyx-dash > div.items-center.justify-between.mb-6 > button{
  height:34px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.1) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)) !important;
  color:rgba(226,240,255,.8) !important;
  box-shadow:0 10px 24px -18px #000, inset 0 1px 0 rgba(255,255,255,.08) !important;
  transition:transform .2s ease, border-color .2s ease, color .2s ease !important;
}
.lyx-dash > div.items-center.justify-between.mb-6 > button:hover{
  transform:translateY(-1px);
  border-color:rgba(56,189,248,.45) !important;
  color:#e6f6ff !important;
  box-shadow:0 0 0 3px rgba(56,189,248,.09), 0 12px 26px -18px #000 !important;
}

/* ---------- 统计卡片：全新的玻璃/极光卡 ---------- */
.lyx-statgrid{gap:15px !important}

.lyx-statgrid > .lyx-card{
  --tone:#3b82f6;
  --tone-rgb:59,130,246;
  position:relative !important;
  overflow:hidden !important;
  padding:0 !important;
  gap:0 !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.075) !important;
  border-left:1px solid rgba(255,255,255,.075) !important;
  background:
    radial-gradient(140% 110% at 104% -18%, rgba(var(--tone-rgb),.26), transparent 58%),
    linear-gradient(168deg, rgba(255,255,255,.062), rgba(255,255,255,.014) 42%, rgba(255,255,255,.002) 78%),
    #0f1523 !important;
  box-shadow:
    0 22px 44px -30px rgba(0,0,0,.98),
    0 0 0 1px rgba(255,255,255,.015),
    inset 0 1px 0 rgba(255,255,255,.085) !important;
  transform:translateZ(0);
  transition:transform .3s cubic-bezier(.2,.85,.25,1), box-shadow .3s ease, border-color .3s ease !important;
  cursor:default;
}
.lyx-statgrid > .lyx-card.cursor-pointer{cursor:pointer !important}

/* 顶部彩色细光条 */
.lyx-statgrid > .lyx-card::before{
  content:"";
  position:absolute;
  top:0; left:16px; right:16px;
  height:2px;
  border-radius:0 0 4px 4px;
  background:linear-gradient(90deg, transparent, rgba(var(--tone-rgb),.95) 22%, rgba(255,255,255,.85) 50%, rgba(var(--tone-rgb),.95) 78%, transparent);
  opacity:.75;
  z-index:3;
}
/* 右上角光晕 */
.lyx-statgrid > .lyx-card::after{
  content:"";
  position:absolute;
  top:-72px; right:-64px;
  width:190px; height:190px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(var(--tone-rgb),.34), rgba(var(--tone-rgb),.07) 45%, transparent 72%);
  filter:blur(4px);
  opacity:.85;
  pointer-events:none;
  z-index:1;
  transition:opacity .3s ease, transform .45s ease;
}
.lyx-statgrid > .lyx-card:hover{
  transform:translateY(-5px);
  border-color:rgba(var(--tone-rgb),.42) !important;
  box-shadow:
    0 28px 52px -28px rgba(0,0,0,1),
    0 0 0 1px rgba(var(--tone-rgb),.16),
    0 14px 40px -26px rgba(var(--tone-rgb),.9),
    inset 0 1px 0 rgba(255,255,255,.1) !important;
}
.lyx-statgrid > .lyx-card:hover::after{opacity:1;transform:scale(1.12)}

/* 卡片内容 */
.lyx-statgrid > .lyx-card > [data-slot="card-content"]{
  position:relative;
  z-index:2;
  padding:17px 17px 15px !important;
}

/* 标题行 */
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child{
  align-items:center !important;
  margin-bottom:15px !important;
}
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child > p{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase;
  color:rgba(215,232,250,.52) !important;
}
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child > p::before{
  content:"";
  width:5px; height:5px;
  border-radius:50%;
  background:var(--tone);
  box-shadow:0 0 8px 1px rgba(var(--tone-rgb),.85);
  flex:0 0 auto;
}

/* 图标胶囊 */
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child > div{
  width:42px; height:42px;
  display:grid; place-items:center;
  padding:0 !important;
  border-radius:14px !important;
  color:var(--tone) !important;
  background:
     linear-gradient(150deg, rgba(var(--tone-rgb),.30), rgba(var(--tone-rgb),.05) 65%),
     rgba(255,255,255,.03) !important;
  box-shadow:
     inset 0 0 0 1px rgba(var(--tone-rgb),.30),
     inset 0 1px 0 rgba(255,255,255,.16),
     0 12px 24px -16px rgba(var(--tone-rgb),1) !important;
  transition:transform .35s cubic-bezier(.2,.85,.25,1), box-shadow .35s ease;
}
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child > div svg{
  width:20px !important; height:20px !important;
  filter:drop-shadow(0 0 8px rgba(var(--tone-rgb),.55));
}
.lyx-statgrid > .lyx-card:hover > [data-slot="card-content"] > div:first-child > div{
  transform:rotate(-7deg) scale(1.07);
  box-shadow:
     inset 0 0 0 1px rgba(var(--tone-rgb),.55),
     inset 0 1px 0 rgba(255,255,255,.22),
     0 16px 30px -14px rgba(var(--tone-rgb),1) !important;
}

/* 数值 */
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:nth-child(2){
  font-size:34px !important;
  line-height:1.02 !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
  margin-bottom:7px !important;
  font-variant-numeric:tabular-nums;
  background:linear-gradient(178deg, #ffffff 8%, rgba(214,232,252,.82) 62%, rgba(var(--tone-rgb),.95) 130%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent !important;
  filter:drop-shadow(0 8px 22px rgba(var(--tone-rgb),.22));
}

/* 副标题 */
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > p{
  font-size:12px !important;
  line-height:1.35 !important;
  letter-spacing:.02em;
  color:rgba(200,219,240,.44) !important;
}

/* 在线率进度条 */
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div.mt-2{
  margin-top:13px !important;
  height:6px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.055) !important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.75), 0 0 0 1px rgba(255,255,255,.04) !important;
  overflow:hidden !important;
  position:relative;
}
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div.mt-2 > div{
  position:relative;
  border-radius:999px !important;
  background:linear-gradient(90deg, #22d3ee, #34d399) !important;
  box-shadow:0 0 14px rgba(34,211,238,.7), 0 0 4px rgba(52,211,153,.9) !important;
  transition:width 1s cubic-bezier(.2,.8,.2,1);
  overflow:hidden;
}
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div.mt-2 > div::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.65), transparent);
  transform:translateX(-100%);
  animation:lyx-shimmer 3.4s ease-in-out infinite;
}
@keyframes lyx-shimmer{
  0%{transform:translateX(-110%)}
  55%{transform:translateX(210%)}
  100%{transform:translateX(210%)}
}

/* 水印图标 + 点阵 */
.lyx-statgrid > .lyx-card .lyx-wm{
  position:absolute;
  right:-16px; bottom:-20px;
  width:104px; height:104px;
  color:var(--tone);
  opacity:.075;
  z-index:1;
  pointer-events:none;
  transform:rotate(-9deg);
  transition:opacity .3s ease, transform .5s ease;
}
.lyx-statgrid > .lyx-card .lyx-wm svg{
  width:100% !important; height:100% !important;
  stroke-width:1.1 !important;
}
.lyx-statgrid > .lyx-card:hover .lyx-wm{opacity:.12;transform:rotate(-4deg) scale(1.05)}
.lyx-statgrid > .lyx-card .lyx-dots{
  position:absolute;
  left:0; right:0; bottom:0;
  height:42px;
  z-index:1;
  pointer-events:none;
  opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.32) 1px, transparent 1.2px);
  background-size:8px 8px;
  -webkit-mask-image:linear-gradient(to top, rgba(0,0,0,.9), rgba(0,0,0,0) 88%);
  mask-image:linear-gradient(to top, rgba(0,0,0,.9), rgba(0,0,0,0) 88%);
}

/* 色板 */
.lyx-statgrid > .lyx-card[data-tone="red"]{--tone:#fb5c74;--tone-rgb:251,92,116}
.lyx-statgrid > .lyx-card[data-tone="green"]{--tone:#3ddc97;--tone-rgb:61,220,151}
.lyx-statgrid > .lyx-card[data-tone="purple"]{--tone:#a78bfa;--tone-rgb:167,139,250}
.lyx-statgrid > .lyx-card[data-tone="cyan"]{--tone:#22d3ee;--tone-rgb:34,211,238}
.lyx-statgrid > .lyx-card[data-tone="orange"]{--tone:#fb923c;--tone-rgb:251,146,60}
.lyx-statgrid > .lyx-card[data-tone="blue"]{--tone:#60a5fa;--tone-rgb:96,165,250}

/* ---------- 下方两块面板 ---------- */
.lyx-panel{
  position:relative !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.07) !important;
  background:
    linear-gradient(172deg, rgba(255,255,255,.05), rgba(255,255,255,.012) 46%, rgba(255,255,255,.002)),
    #0f1523 !important;
  box-shadow:0 24px 54px -34px rgba(0,0,0,1), inset 0 1px 0 rgba(255,255,255,.06) !important;
  overflow:hidden !important;
}
.lyx-panel > [data-slot="card-header"]{
  padding-bottom:14px !important;
  border-bottom:1px solid rgba(255,255,255,.055);
  position:relative;
}
.lyx-panel > [data-slot="card-header"]::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:1px;
  background:linear-gradient(90deg, rgba(56,189,248,.35), transparent 42%);
}
.lyx-panel > [data-slot="card-header"] [data-slot="card-title"]{
  letter-spacing:.02em;
  font-size:13px !important;
}
.lyx-panel > [data-slot="card-header"] svg{
  filter:drop-shadow(0 0 8px rgba(56,189,248,.45));
}

/* 设备分布：国旗 + 新进度条 */
.lyx-panel .lyx-flag{
  width:19px; height:13px;
  border-radius:3px;
  object-fit:cover;
  flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(255,255,255,.14), 0 2px 6px -2px #000;
}
.lyx-panel div.flex.items-center.gap-3 > span:first-child{
  width:auto !important;
  min-width:78px;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px !important;
  color:rgba(226,240,255,.8) !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.lyx-panel div.flex.items-center.gap-3 > div.flex-1{
  height:8px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.05) !important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.035) !important;
}
.lyx-panel div.flex.items-center.gap-3 > div.flex-1 > div{
  position:relative;
  border-radius:999px !important;
  background:linear-gradient(90deg, rgba(34,211,238,.95), rgba(96,165,250,.95)) !important;
  box-shadow:0 0 12px rgba(56,189,248,.55) !important;
}
.lyx-panel div.flex.items-center.gap-3 > span:last-child{
  font-variant-numeric:tabular-nums;
  color:rgba(226,240,255,.66) !important;
  font-size:12.5px !important;
}

/* 公告栏空状态 */
.lyx-panel .lyx-empty svg{opacity:.22 !important;filter:drop-shadow(0 0 18px rgba(56,189,248,.25))}

/* ---------- 侧边栏轻量精修（不改变结构与功能） ---------- */
body aside a,
body aside button{
  transition:background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
body aside a:hover,
body aside button:hover{transform:translateX(2px)}

@media (max-width:1100px){
  .lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:nth-child(2){font-size:30px !important}
}
@media (prefers-reduced-motion:reduce){
  .lyx-statgrid > .lyx-card::after,
  .lyx-statgrid > .lyx-card > [data-slot="card-content"] > div.mt-2 > div::after{animation:none !important}
}

/* ============================================================
   v1.1 精修：卡片层级、悬停扫光、侧边栏按钮
   ============================================================ */
.lyx-statgrid > .lyx-card{
  min-height:168px;
  background:
    radial-gradient(150% 115% at 106% -20%, rgba(var(--tone-rgb),.30), transparent 58%),
    radial-gradient(120% 95% at -8% 124%, rgba(var(--tone-rgb),.14), transparent 56%),
    linear-gradient(168deg, rgba(255,255,255,.07), rgba(255,255,255,.016) 44%, rgba(255,255,255,.002) 80%),
    #0f1523 !important;
}
.lyx-statgrid > .lyx-card .lyx-wm{
  width:92px; height:92px;
  right:-12px; bottom:-16px;
  opacity:.06;
}
/* 悬停扫光 */
.lyx-statgrid > .lyx-card .lyx-shine{
  position:absolute; inset:0;
  z-index:4; pointer-events:none;
  opacity:0;
  background:linear-gradient(112deg, transparent 32%, rgba(255,255,255,.12) 46%, rgba(255,255,255,.02) 54%, transparent 64%);
  transform:translateX(-65%);
  transition:opacity .25s ease;
}
.lyx-statgrid > .lyx-card:hover .lyx-shine{
  opacity:1;
  animation:lyx-sheen .95s cubic-bezier(.25,.8,.3,1) 1;
}
@keyframes lyx-sheen{
  from{transform:translateX(-70%)}
  to{transform:translateX(70%)}
}

/* 数值略大、副标题更清晰 */
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:nth-child(2){font-size:36px !important}
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > p{color:rgba(208,226,246,.5) !important}

/* 侧边栏菜单按钮（排除顶部 Logo 按钮） */
[data-slot="sidebar-menu-button"]:not(:has(img)){
  position:relative;
  border-radius:12px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.008)) !important;
  border-color:rgba(255,255,255,.06) !important;
  transition:background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
[data-slot="sidebar-menu-button"]:not(:has(img)):hover{
  transform:translateX(2px);
  border-color:rgba(56,189,248,.34) !important;
  background:linear-gradient(180deg, rgba(56,189,248,.11), rgba(56,189,248,.028)) !important;
  color:#e3f4ff !important;
  box-shadow:0 10px 22px -18px rgba(56,189,248,.95), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
[data-slot="sidebar-menu-button"]:not(:has(img)):hover svg{
  color:#38bdf8;
  filter:drop-shadow(0 0 6px rgba(56,189,248,.55));
}
[data-slot="sidebar-menu-button"]:not(:has(img))[data-active="true"]{
  background:linear-gradient(90deg, rgba(56,189,248,.17), rgba(56,189,248,.035)) !important;
  border-color:rgba(56,189,248,.42) !important;
  color:#c4ecff !important;
  font-weight:600 !important;
  box-shadow:inset 0 0 0 1px rgba(56,189,248,.07), 0 12px 26px -20px rgba(56,189,248,1) !important;
}
[data-slot="sidebar-menu-button"]:not(:has(img))[data-active="true"]::before{
  content:"";
  position:absolute;
  left:0; top:9px; bottom:9px;
  width:2px;
  border-radius:2px;
  background:linear-gradient(180deg,#7dd3fc,#22d3ee);
  box-shadow:0 0 10px rgba(56,189,248,.9);
}
[data-slot="sidebar-menu-button"]:not(:has(img))[data-active="true"] svg{
  color:#7dd3fc;
  filter:drop-shadow(0 0 7px rgba(56,189,248,.7));
}

/* ============================================================
   v1.2 精修：窄屏防换行、面板底纹、空状态
   ============================================================ */
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child > p{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}
.lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child > p::before{flex:0 0 auto}

/* 面板：蓝图底纹 + 顶部光晕 */
.lyx-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(460px 210px at 102% -8%, rgba(56,189,248,.085), transparent 66%),
    linear-gradient(rgba(255,255,255,.020) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.020) 1px, transparent 1px);
  background-size:auto, 34px 34px, 34px 34px;
  -webkit-mask-image:linear-gradient(158deg, rgba(0,0,0,.9), rgba(0,0,0,.15) 52%, transparent 76%);
  mask-image:linear-gradient(158deg, rgba(0,0,0,.9), rgba(0,0,0,.15) 52%, transparent 76%);
}
.lyx-panel > [data-slot="card-header"],
.lyx-panel > [data-slot="card-content"]{
  position:relative;
  z-index:1;
}

/* 空状态：光圈 + 更柔和的字 */
.lyx-panel .lyx-empty{position:relative}
.lyx-panel .lyx-empty::before{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:180px; height:180px;
  transform:translate(-50%,-58%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(56,189,248,.10), transparent 68%);
  pointer-events:none;
}
.lyx-panel .lyx-empty svg{opacity:.3 !important}
.lyx-panel .lyx-empty p{letter-spacing:.06em}

/* 窄屏适配：保证 6 卡一行不出界、标题不折行 */
@media (max-width:1320px){
  .lyx-statgrid{gap:11px !important}
  .lyx-statgrid > .lyx-card > [data-slot="card-content"]{padding:14px 13px 12px !important}
  .lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child{margin-bottom:13px !important}
  .lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child > p{
    font-size:9.5px !important;
    letter-spacing:.05em !important;
    gap:5px;
  }
  .lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child > p::before{width:4px;height:4px}
  .lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child > div{
    width:32px; height:32px;
    border-radius:10px !important;
  }
  .lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:first-child > div svg{width:16px !important;height:16px !important}
  .lyx-statgrid > .lyx-card > [data-slot="card-content"] > div:nth-child(2){font-size:27px !important}
  .lyx-statgrid > .lyx-card > [data-slot="card-content"] > p{font-size:11px !important}
  .lyx-statgrid > .lyx-card{min-height:150px}
  .lyx-statgrid > .lyx-card .lyx-wm{width:74px;height:74px}
}

/* ============================================================
   v1.3 侧边栏：分组配色 / 名称排版 / 图标胶囊
   ============================================================ */
[data-lyx-group="0"]{--lyx-accent:#38bdf8;--lyx-rgb:56,189,248}
[data-lyx-group="1"]{--lyx-accent:#34d399;--lyx-rgb:52,211,153}
[data-lyx-group="2"]{--lyx-accent:#a78bfa;--lyx-rgb:167,139,250}
[data-lyx-group="3"]{--lyx-accent:#fbbf24;--lyx-rgb:251,191,36}
[data-lyx-group="4"]{--lyx-accent:#fb7185;--lyx-rgb:251,113,133}
[data-lyx-group="5"]{--lyx-accent:#818cf8;--lyx-rgb:129,140,248}

/* 分组标题：小字 + 点 + 渐隐细线 */
[data-slot="sidebar-group-content"] > div[data-lyx-group-label]{
  display:flex !important;
  align-items:center;
  gap:8px;
  font-size:10.5px !important;
  font-weight:600 !important;
  letter-spacing:.20em !important;
  color:rgba(196,216,240,.40) !important;
  padding:0 12px !important;
  margin:16px 0 6px !important;
  text-transform:uppercase;
  white-space:nowrap;
}
[data-slot="sidebar-group-content"] > div[data-lyx-group-label]::before{
  content:"";
  width:4px; height:4px;
  border-radius:1px;
  background:var(--lyx-accent);
  box-shadow:0 0 8px rgba(var(--lyx-rgb),.95);
  flex:0 0 auto;
}
[data-slot="sidebar-group-content"] > div[data-lyx-group-label]::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:linear-gradient(90deg, rgba(var(--lyx-rgb),.28), rgba(255,255,255,.05) 45%, transparent);
}

/* 菜单按钮：图标胶囊 + 按组着色 */
[data-slot="sidebar-menu-button"]:not(:has(img)){
  gap:10px !important;
  padding-left:8px !important;
  padding-right:10px !important;
  border-radius:11px !important;
  font-size:13.5px !important;
  letter-spacing:.01em;
  color:rgba(226,240,255,.74) !important;
  white-space:nowrap;
}
[data-slot="sidebar-menu-button"]:not(:has(img)) > svg{
  width:15px !important; height:15px !important;
  padding:6px;
  box-sizing:content-box;
  border-radius:9px;
  color:var(--lyx-accent);
  background:linear-gradient(150deg, rgba(var(--lyx-rgb),.18), rgba(var(--lyx-rgb),.05));
  box-shadow:inset 0 0 0 1px rgba(var(--lyx-rgb),.22);
  transition:background .18s ease, box-shadow .18s ease, color .18s ease;
  flex:0 0 auto;
}
[data-slot="sidebar-menu-button"]:not(:has(img)) > span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13.5px !important;
  letter-spacing:.01em;
  color:inherit;
}

[data-slot="sidebar-menu-button"]:not(:has(img)):hover{
  color:#f1f8ff !important;
  border-color:rgba(var(--lyx-rgb),.40) !important;
  background:linear-gradient(90deg, rgba(var(--lyx-rgb),.14), rgba(var(--lyx-rgb),.03)) !important;
  box-shadow:0 10px 22px -18px rgba(var(--lyx-rgb),1), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
[data-slot="sidebar-menu-button"]:not(:has(img)):hover > svg{
  color:#fff;
  background:linear-gradient(150deg, rgba(var(--lyx-rgb),.55), rgba(var(--lyx-rgb),.18));
  box-shadow:inset 0 0 0 1px rgba(var(--lyx-rgb),.55), 0 0 14px -2px rgba(var(--lyx-rgb),.85);
}

[data-slot="sidebar-menu-button"]:not(:has(img))[data-active="true"]{
  color:#ffffff !important;
  border-color:rgba(var(--lyx-rgb),.55) !important;
  background:linear-gradient(90deg, rgba(var(--lyx-rgb),.24), rgba(var(--lyx-rgb),.05)) !important;
  box-shadow:inset 0 0 0 1px rgba(var(--lyx-rgb),.10), 0 12px 26px -20px rgba(var(--lyx-rgb),1) !important;
}
[data-slot="sidebar-menu-button"]:not(:has(img))[data-active="true"] > svg{
  color:#fff;
  background:linear-gradient(150deg, rgba(var(--lyx-rgb),.62), rgba(var(--lyx-rgb),.22));
  box-shadow:inset 0 0 0 1px rgba(var(--lyx-rgb),.62), 0 0 16px -2px rgba(var(--lyx-rgb),1);
}
[data-slot="sidebar-menu-button"]:not(:has(img))[data-active="true"]::before{
  content:"";
  position:absolute;
  left:0; top:9px; bottom:9px;
  width:2px;
  border-radius:2px;
  background:linear-gradient(180deg, #ffffff, var(--lyx-accent));
  box-shadow:0 0 10px rgba(var(--lyx-rgb),1);
}

/* ============================================================
   v1.4 侧边栏紧凑化（让「系统管理」整组可见）
   ============================================================ */
[data-slot="sidebar-content"] ul[data-slot="sidebar-menu"]{gap:4px !important}
[data-slot="sidebar-group-content"] > div[data-lyx-group-label]{
  margin:10px 0 4px !important;
  padding:0 12px !important;
}
[data-slot="sidebar-menu-button"]:not(:has(img)){
  height:34px !important;
  min-height:34px !important;
}
[data-slot="sidebar-menu-button"]:not(:has(img)) > svg{
  width:14px !important; height:14px !important;
  padding:5px;
}
[data-slot="sidebar-group"]{padding-top:0 !important}
[data-slot="sidebar-content"]{padding-bottom:4px}


/* ============================================================
   v2.0 公告栏 → 全球设备分布
   底图：amCharts worldLow GeoJSON（Natural Earth 投影）离线渲染，仅 127KB
   ============================================================ */
.lyx-mapcard{
  position:relative !important;
  overflow:hidden !important;
  padding:0 !important;
  gap:0 !important;
}
/* 原「公告栏」内容整体去掉 */
.lyx-mapcard > [data-slot="card-content"]{display:none !important}
.lyx-mapcard > [data-slot="card-header"]{
  margin:0 !important;
  padding:13px 16px 11px !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
}
.lyx-mapcard > [data-slot="card-header"] span{display:none !important}

.lyx-map{
  position:relative !important;
  top:auto !important; left:auto !important; right:auto !important; bottom:auto !important;
  flex:1 1 auto;
  min-height:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(125% 105% at 50% 30%, #0e1c31 0%, #0a1424 48%, #060b14 100%);
}
.lyx-map::before{
  content:"";
  position:absolute; inset:0;
  background-image:url(/assets/lyx/lyx-noise.png);
  background-size:110px 110px;
  opacity:.035;
  pointer-events:none;
}

.lyx-mapinner{position:relative;flex:0 0 auto;z-index:1}
.lyx-mapimg{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:contain;
  mix-blend-mode:screen;
  opacity:.95;
  filter:drop-shadow(0 0 16px rgba(45,135,205,.22));
  pointer-events:none;
  user-select:none;
}

/* ---- 设备定位：流星拖尾 ---- */
.lyx-mks{position:absolute; inset:0; z-index:3}
.lyx-mk{
  position:absolute;
  width:var(--s,6px); height:var(--s,6px);
  transform:translate(-50%,-50%);
  --h:190;
}
.lyx-mk > i{
  position:absolute; inset:0;
  border-radius:50%;
  background:#f2fbff;
  box-shadow:
    0 0 6px 1px hsl(var(--h) 96% 68% / .95),
    0 0 18px 5px hsl(var(--h) 96% 62% / .40);
}
.lyx-mk > em{
  position:absolute; left:50%; top:50%;
  width:100%; height:100%;
  border-radius:50%;
  border:1px solid hsl(var(--h) 96% 76% / .75);
  transform:translate(-50%,-50%);
  animation:lyx-ping2 3.4s ease-out infinite;
  pointer-events:none;
}
.lyx-mk:nth-child(2n) > em{animation-delay:1.1s}
.lyx-mk:nth-child(3n) > em{animation-delay:2.0s}
@keyframes lyx-ping2{
  0%{transform:translate(-50%,-50%) scale(.9); opacity:.8}
  70%{opacity:0}
  100%{opacity:0; transform:translate(-50%,-50%) scale(4.2)}
}

/* 流星线：从左上斜指到设备点 */
.lyx-streak{
  position:absolute;
  right:50%; top:50%;
  width:var(--len,64px);
  height:1.5px;
  transform-origin:100% 50%;
  transform:translateY(-50%) rotate(var(--ang,-32deg));
  border-radius:2px;
  background:linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      hsl(var(--h) 96% 70% / 0) 30%,
      hsl(var(--h) 96% 72% / .45) 72%,
      hsl(var(--h) 96% 84% / .95) 96%,
      #ffffff 100%);
  filter:drop-shadow(0 0 5px hsl(var(--h) 96% 66% / .75));
  pointer-events:none;
  overflow:hidden;
}
.lyx-streak::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,0) 34%, rgba(255,255,255,.95) 50%, rgba(255,255,255,0) 66%, transparent 100%);
  background-size:240% 100%;
  background-repeat:no-repeat;
  animation:lyx-meteor2 3.2s linear infinite;
  animation-delay:var(--dl,0s);
  mix-blend-mode:screen;
}
@keyframes lyx-meteor2{
  0%{background-position:150% 0; opacity:0}
  8%{opacity:.9}
  55%{opacity:.9}
  70%{opacity:0}
  100%{background-position:-80% 0; opacity:0}
}

/* 国家名 + 数量 */
.lyx-mk b{
  position:absolute;
  left:calc(100% + 9px); top:50%;
  transform:translateY(-50%);
  display:flex; align-items:center;
  font-size:11px; font-weight:600; line-height:1;
  letter-spacing:.02em; white-space:nowrap;
  color:#dcefff;
  text-shadow:0 1px 5px rgba(0,0,0,.95), 0 0 14px rgba(6,16,28,.9);
  pointer-events:none;
}
.lyx-mk b i.n{
  font-style:normal; margin-left:5px;
  font-variant-numeric:tabular-nums;
  color:hsl(var(--h) 96% 74%);
  text-shadow:0 0 10px hsl(var(--h) 96% 60% / .8);
}
.lyx-mk-l b{left:auto; right:calc(100% + 9px)}
.lyx-mk-top b{font-size:11.5px; color:#fff}

.lyx-mapempty{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  font-size:12.5px; color:rgba(190,220,245,.45); letter-spacing:.08em;
}

/* HUD */
.lyx-hud{
  position:absolute; z-index:5;
  display:flex; align-items:center; gap:14px;
  font-size:11.5px; letter-spacing:.05em;
  color:rgba(188,220,248,.62);
  pointer-events:none;
  text-shadow:0 1px 6px rgba(0,0,0,.8);
}
.lyx-hud b{color:#8fe6ff; font-size:13px; font-weight:700; margin-right:3px; font-variant-numeric:tabular-nums}
.lyx-hud-tl{left:18px; top:14px}
.lyx-hud-br{right:18px; bottom:12px; gap:8px}
.lyx-hud .lyx-live,
.lyx-live{
  width:6px; height:6px; border-radius:50%;
  background:#34d399;
  box-shadow:0 0 8px rgba(52,211,153,.95);
  animation:lyx-blink 1.8s ease-in-out infinite;
  display:inline-block;
}
@keyframes lyx-blink{0%,100%{opacity:1}50%{opacity:.25}}

@media (prefers-reduced-motion:reduce){
  .lyx-mk > em, .lyx-streak::after, .lyx-live{animation:none !important}
}

/* 标签纵向错开（防重叠） */
.lyx-mk b{top:calc(50% + var(--lof, 0em)) !important}

/* ============================================================
   v2.1 顶部栏重设计（玻璃指挥条）
   ============================================================ */
header[class*="h-16"]{
  height:56px !important;
  padding:0 18px !important;
  gap:12px !important;
  position:relative;
  background:
    linear-gradient(180deg, rgba(13,21,34,.94) 0%, rgba(9,15,25,.80) 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.055) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  z-index:30;
}
header[class*="h-16"]::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,
      transparent 0%,
      rgba(56,189,248,.40) 16%,
      rgba(167,139,250,.30) 52%,
      rgba(56,189,248,.18) 82%,
      transparent 100%);
  pointer-events:none;
}

/* 侧边栏折叠按钮 */
header[class*="h-16"] > button[data-slot="sidebar-trigger"]{
  width:32px !important; height:32px !important;
  border-radius:10px !important;
  color:rgba(198,224,250,.68) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.012)) !important;
  border:1px solid rgba(255,255,255,.07) !important;
  transition:color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
header[class*="h-16"] > button[data-slot="sidebar-trigger"]:hover{
  color:#eaf7ff !important;
  border-color:rgba(56,189,248,.45) !important;
  box-shadow:0 0 0 3px rgba(56,189,248,.09), 0 0 18px -6px rgba(56,189,248,.9) !important;
  transform:translateX(-1px);
}

/* 面包屑 / 页面标题 */
header[class*="h-16"] #breadcrumb [data-slot="separator-root"]{
  width:2px !important;
  height:15px !important;
  border-radius:2px;
  background:linear-gradient(180deg, #7dd3fc, #a78bfa) !important;
  box-shadow:0 0 10px rgba(56,189,248,.65);
  margin-right:14px !important;
  opacity:.9;
}
header[class*="h-16"] #breadcrumb span[data-slot="breadcrumb-page"]{
  font-size:15px !important;
  font-weight:600 !important;
  letter-spacing:.02em;
  color:#e9f5ff !important;
  text-shadow:0 0 18px rgba(56,189,248,.25);
}

/* 右侧整条：玻璃胶囊 */
header[class*="h-16"] > div.flex-1 > div{
  height:38px;
  padding:0 6px 0 8px !important;
  border-radius:999px !important;
  gap:8px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.012)) !important;
  border:1px solid rgba(255,255,255,.075) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055), 0 12px 26px -22px #000 !important;
}

/* 金额输入 */
header[class*="h-16"] input[placeholder="金额"]{
  width:92px !important;
  height:26px !important;
  border-radius:8px !important;
  background:rgba(4,10,18,.55) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  color:#eaf6ff !important;
  font-size:12.5px !important;
  padding:0 8px !important;
  transition:border-color .18s ease, box-shadow .18s ease !important;
}
header[class*="h-16"] input[placeholder="金额"]::placeholder{color:rgba(170,200,228,.45) !important}
header[class*="h-16"] input[placeholder="金额"]:focus{
  border-color:rgba(56,189,248,.6) !important;
  box-shadow:0 0 0 3px rgba(56,189,248,.12) !important;
  outline:none !important;
}

/* 币种 / 国家 下拉 */
header[class*="h-16"] .relative > button{
  height:26px !important;
  padding:0 9px !important;
  border-radius:999px !important;
  font-size:12.5px !important;
  font-weight:500;
  color:rgba(222,238,255,.88) !important;
  background:rgba(255,255,255,.045) !important;
  border:1px solid rgba(255,255,255,.085) !important;
  transition:background .18s ease, border-color .18s ease, color .18s ease !important;
}
header[class*="h-16"] .relative > button:hover{
  background:rgba(56,189,248,.14) !important;
  border-color:rgba(56,189,248,.42) !important;
  color:#ffffff !important;
}
header[class*="h-16"] .relative > button > svg{color:rgba(125,211,252,.75) !important}

/* = 与汇率数值 */
header[class*="h-16"] > div.flex-1 > div > span.text-\[15px\],
header[class*="h-16"] > div.flex-1 > div > span{
  font-variant-numeric:tabular-nums;
}

/* 分隔线 */
header[class*="h-16"] .w-px.h-4{
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.16), transparent) !important;
  margin:0 2px !important;
}

/* 双时钟 */
header[class*="h-16"] > div.flex-1 > div > span:last-child{
  font-size:11.5px !important;
  letter-spacing:.03em;
  color:rgba(166,196,224,.55) !important;
  font-variant-numeric:tabular-nums;
  padding-right:4px;
}
header[class*="h-16"] > div.flex-1 > div > span:last-child > span{
  color:#8fe6ff !important;
  font-weight:600;
  text-shadow:0 0 12px rgba(56,189,248,.45);
}
header[class*="h-16"] > div.flex-1 > div > span:last-child > span.mx-1\.5,
header[class*="h-16"] > div.flex-1 > div > span:last-child > span[class*="mx-1.5"]{
  color:rgba(255,255,255,.18) !important;
  font-weight:400;
  text-shadow:none;
}

/* 刷新按钮 */
header[class*="h-16"] > button[data-slot="button"]{
  width:32px !important; height:32px !important;
  margin-left:4px;
  border-radius:10px !important;
  color:rgba(198,224,250,.72) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.012)) !important;
  border:1px solid rgba(255,255,255,.07) !important;
  transition:color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
header[class*="h-16"] > button[data-slot="button"] svg{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
header[class*="h-16"] > button[data-slot="button"]:hover{
  color:#eaf7ff !important;
  border-color:rgba(56,189,248,.45) !important;
  box-shadow:0 0 0 3px rgba(56,189,248,.09), 0 0 18px -6px rgba(56,189,248,.9) !important;
}
header[class*="h-16"] > button[data-slot="button"]:hover svg{transform:rotate(180deg)}

/* 头像 */
header[class*="h-16"] > button[data-slot="dropdown-menu-trigger"]{
  width:34px !important; height:34px !important;
  padding:0 !important;
  margin-left:6px !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:0 0 0 1px rgba(56,189,248,.38), 0 0 16px -2px rgba(56,189,248,.55) !important;
  transition:box-shadow .2s ease, transform .2s ease !important;
}
header[class*="h-16"] > button[data-slot="dropdown-menu-trigger"]:hover{
  box-shadow:0 0 0 1px rgba(125,211,252,.85), 0 0 22px -1px rgba(56,189,248,.85) !important;
  transform:translateY(-1px);
}
header[class*="h-16"] > button[data-slot="dropdown-menu-trigger"] img{
  width:100% !important; height:100% !important;
  object-fit:cover;
  border-radius:50%;
}

@media (max-width:1320px){
  header[class*="h-16"]{padding:0 12px !important;gap:8px !important}
  header[class*="h-16"] > div.flex-1 > div{gap:6px !important;padding:0 5px 0 6px !important}
}

/* ============================================================
   v2.2 顶部栏加宽（金额输入框看得到）
   ============================================================ */
header[class*="h-16"] > div.flex-1 > div{
  height:44px !important;
  padding:0 8px 0 12px !important;
  gap:10px !important;
}
header[class*="h-16"] input[placeholder="金额"]{
  width:200px !important;
  min-width:200px !important;
  height:30px !important;
  font-size:13px !important;
  padding:0 12px !important;
  letter-spacing:.01em;
}
header[class*="h-16"] .relative > button{
  height:30px !important;
  padding:0 12px !important;
  font-size:13px !important;
  min-width:0;
}
header[class*="h-16"] .relative > button > svg{width:13px !important;height:13px !important}
header[class*="h-16"] > div.flex-1 > div > span:last-child{font-size:12px !important;padding-right:6px}
header[class*="h-16"] .w-px.h-4{height:18px !important;margin:0 4px !important}
header[class*="h-16"] > button[data-slot="sidebar-trigger"],
header[class*="h-16"] > button[data-slot="button"]{
  width:34px !important; height:34px !important;
  border-radius:11px !important;
}
header[class*="h-16"] > button[data-slot="dropdown-menu-trigger"]{
  width:36px !important; height:36px !important;
}
header[class*="h-16"]{height:60px !important;padding:0 20px !important;gap:14px !important}

/* 金额框左侧金币小图标 */
header[class*="h-16"] input[placeholder="金额"]{
  background-image:linear-gradient(180deg, rgba(4,10,18,.62), rgba(4,10,18,.42)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}

@media (max-width:1500px){
  header[class*="h-16"] input[placeholder="金额"]{width:152px !important;min-width:152px !important}
  header[class*="h-16"] > div.flex-1 > div{gap:8px !important;padding:0 6px 0 10px !important}
  header[class*="h-16"] .relative > button{padding:0 9px !important;font-size:12.5px !important}
}
@media (max-width:1280px){
  header[class*="h-16"] input[placeholder="金额"]{width:120px !important;min-width:120px !important;font-size:12.5px !important}
  header[class*="h-16"] > div.flex-1 > div > span:last-child{font-size:11px !important}
}

/* v2.3 金额框保持可见（覆盖应用自带的 1300px 以下隐藏规则） */
header[class*="h-16"] input[placeholder="金额"]{display:block !important;flex:0 0 auto !important}
@media (max-width:1300px){
  header[class*="h-16"] input[placeholder="金额"]{display:block !important;width:132px !important;min-width:132px !important}
}

/* v2.4 小屏幅收紧间距，保证时钟不被截断 */
@media (max-width:1400px){
  header[class*="h-16"] > div.flex-1 > div{gap:6px !important;padding:0 6px 0 10px !important}
  header[class*="h-16"] > div.flex-1 > div > span:last-child{font-size:11px !important;letter-spacing:0 !important}
}

/* ===================== v3.0  ?????????? ===================== */
.lyx-devgrid{gap:14px !important}

/* ---------- ?????? ---------- */
.lyx-stats{gap:9px !important;margin-bottom:14px !important}
.lyx-stats>button{
  --a:#38bdf8;
  position:relative;overflow:hidden;
  border-radius:12px !important;
  padding:7px 13px 7px 12px !important;
  background:linear-gradient(180deg,rgba(23,32,44,.92),rgba(12,17,24,.94)) !important;
  border:1px solid rgba(148,163,184,.14) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 20px -18px #000 !important;
  transition:transform .18s,border-color .18s,box-shadow .18s !important;
}
.lyx-stats>button::before{
  content:"";position:absolute;right:-18px;top:-22px;width:64px;height:64px;border-radius:50%;
  background:radial-gradient(circle,var(--a),transparent 70%);opacity:.18;pointer-events:none;
}
.lyx-stats>button::after{
  content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;border-radius:2px;
  background:var(--a);opacity:.85;box-shadow:0 0 8px var(--a);
}
.lyx-stats>button:hover{transform:translateY(-2px);border-color:rgba(56,189,248,.4) !important;box-shadow:0 14px 26px -18px rgba(56,189,248,.6) !important}
.lyx-stats>button:nth-child(1){--a:#fb7185}
.lyx-stats>button:nth-child(2){--a:#34d399}
.lyx-stats>button:nth-child(3){--a:#94a3b8}
.lyx-stats>button:nth-child(4){--a:#60a5fa}
.lyx-stats>button:nth-child(5){--a:#fb923c}
.lyx-stats>button:nth-child(6){--a:#22d3ee}
.lyx-stats>button>span:first-of-type{font-size:15px !important;font-weight:700 !important;letter-spacing:.02em !important}

/* ---------- ????? ---------- */
.lyx-toolbar{gap:8px !important;margin-bottom:14px !important}
.lyx-toolbar>div.relative>button,
.lyx-toolbar>button{
  height:32px !important;border-radius:10px !important;
  padding:0 12px !important;font-size:12.5px !important;
  background:linear-gradient(180deg,rgba(23,32,44,.92),rgba(12,17,24,.94)) !important;
  border:1px solid rgba(148,163,184,.14) !important;
  color:#a9b7c6 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
  transition:border-color .16s,color .16s,box-shadow .16s,background .16s !important;
}
.lyx-toolbar>div.relative>button:hover,
.lyx-toolbar>button:not(.cursor-not-allowed):hover{
  border-color:rgba(56,189,248,.42) !important;color:#e6f4ff !important;
  box-shadow:0 0 0 3px rgba(56,189,248,.08),inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.lyx-toolbar>button.cursor-not-allowed{opacity:.34 !important}
.lyx-toolbar>button[class*="bg-purple-500/10"]{
  background:linear-gradient(135deg,rgba(168,85,247,.25),rgba(99,102,241,.2)) !important;
  border-color:rgba(168,85,247,.5) !important;color:#e9d5ff !important;
  box-shadow:0 0 0 1px rgba(168,85,247,.12),0 10px 22px -16px rgba(168,85,247,.95) !important;
}
.lyx-toolbar>div.flex.items-center.rounded-lg{
  border-radius:10px !important;border-color:rgba(148,163,184,.14) !important;
  background:rgba(12,17,24,.6) !important;overflow:hidden !important;
}
.lyx-toolbar>div.flex.items-center.rounded-lg>button{border-radius:8px !important;transition:.15s !important}
.lyx-toolbar>div.relative input{
  height:32px !important;border-radius:10px !important;
  background:rgba(10,15,22,.9) !important;border-color:rgba(148,163,184,.16) !important;
  font-size:12.5px !important;
}
.lyx-toolbar>div.relative input:focus{
  border-color:rgba(56,189,248,.55) !important;box-shadow:0 0 0 3px rgba(56,189,248,.1) !important;
}

/* ---------- ???? ---------- */
.lyx-dev-card{
  position:relative;overflow:hidden;
  border-radius:16px !important;
  border:1px solid rgba(148,163,184,.14) !important;
  background:
    radial-gradient(140% 100% at 0% 0%,rgba(56,189,248,.09),transparent 55%),
    linear-gradient(165deg,rgba(17,24,34,.97) 0%,rgba(9,13,19,.99) 100%) !important;
  box-shadow:0 14px 34px -26px #000,inset 0 1px 0 rgba(255,255,255,.05) !important;
  opacity:1 !important;
  transition:transform .22s ease,border-color .22s,box-shadow .22s !important;
}
.lyx-dev-card:hover{
  transform:translateY(-3px);
  border-color:rgba(56,189,248,.45) !important;
  box-shadow:0 22px 48px -26px rgba(56,189,248,.55),inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.lyx-dev-card::before{
  content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:0 3px 3px 0;
  background:linear-gradient(180deg,#22d3ee,#34d399);opacity:.85;
}
.lyx-dev-card.lyx-off::before{background:linear-gradient(180deg,#64748b,#334155);opacity:.65}
.lyx-dev-card::after{
  content:"";position:absolute;right:-46px;top:-66px;width:170px;height:170px;border-radius:50%;
  background:radial-gradient(circle,rgba(56,189,248,.16),transparent 70%);pointer-events:none;
}
.lyx-dev-card.lyx-off::after{background:radial-gradient(circle,rgba(148,163,184,.10),transparent 70%)}
.lyx-dev-card.lyx-off{opacity:.88 !important}
.lyx-dev-card.lyx-off:hover{opacity:1 !important}

.lyx-dev-card [data-slot="card-content"]{padding:13px 14px 12px !important}
.lyx-dev-card [data-slot="card-content"]>div:first-child{margin-bottom:9px !important}
.lyx-dev-card [data-slot="card-content"]>div:first-child>div:first-child>button{
  width:46px !important;height:46px !important;border-radius:14px !important;
  background:linear-gradient(145deg,rgba(56,189,248,.16),rgba(15,23,42,.92)) !important;
  border:1px solid rgba(56,189,248,.25) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 6px 16px -10px rgba(56,189,248,.5) !important;
  transition:transform .22s,border-color .22s !important;
}
.lyx-dev-card:hover [data-slot="card-content"]>div:first-child>div:first-child>button{
  transform:rotate(-4deg) scale(1.03);border-color:rgba(56,189,248,.5) !important;
}
.lyx-dev-card p.text-base{font-size:15px !important;font-weight:600 !important;letter-spacing:.01em !important}
.lyx-dev-card p.text-sm.text-\[\#8b949e\]{font-size:11.5px !important;letter-spacing:.04em !important;opacity:.75}
.lyx-dev-card [data-slot="card-content"]>div:first-child>div:last-child>div>button{
  width:26px !important;height:26px !important;border-radius:8px !important;
  opacity:.45;transition:opacity .16s,background .16s,color .16s !important;
}
.lyx-dev-card:hover [data-slot="card-content"]>div:first-child>div:last-child>div>button{opacity:.95}

/* ---------- ???? ---------- */
.lyx-dev-card [data-slot="badge"]{
  height:20px !important;padding:0 8px !important;border-radius:99px !important;
  font-size:10.5px !important;font-weight:600 !important;letter-spacing:.03em !important;
}
.lyx-dev-card [data-kind="wifi"]{background:rgba(56,189,248,.12) !important;color:#7dd3fc !important;border-color:rgba(56,189,248,.3) !important}
.lyx-dev-card [data-kind="sim"]{background:rgba(52,211,153,.12) !important;color:#6ee7b7 !important;border-color:rgba(52,211,153,.3) !important}
.lyx-dev-card [data-kind="a11y"]{background:rgba(167,139,250,.12) !important;color:#c4b5fd !important;border-color:rgba(167,139,250,.3) !important}
.lyx-dev-card [data-kind="admin"]{background:rgba(232,121,249,.12) !important;color:#f0abfc !important;border-color:rgba(232,121,249,.3) !important}
.lyx-dev-card [data-kind="screen"]{background:rgba(148,163,184,.12) !important;color:#cbd5e1 !important;border-color:rgba(148,163,184,.28) !important}

/* ---------- ?? ---------- */
.lyx-dev-card .lyx-batt{width:40px !important;height:5px !important;border-radius:99px !important;background:rgba(255,255,255,.08) !important}
.lyx-dev-card .lyx-batt>div{border-radius:99px !important;background:linear-gradient(90deg,#22d3ee,#34d399) !important;box-shadow:0 0 6px rgba(52,211,153,.55) !important}

/* ---------- ??? ---------- */
.lyx-dev-card .lyx-row{padding:3.5px 0 !important;border-bottom:1px dashed rgba(148,163,184,.09) !important}
.lyx-dev-card .lyx-row:last-child{border-bottom:0 !important}
.lyx-dev-card .lyx-row>span:first-child{
  width:78px !important;font-size:11px !important;color:rgba(148,163,184,.62) !important;letter-spacing:.02em !important;
}
.lyx-dev-card .lyx-row>span:nth-child(2),.lyx-dev-card .lyx-row>div{font-size:12.5px !important}
.lyx-dev-card .lyx-row:hover{background:rgba(56,189,248,.035);border-radius:6px}

/* ---------- ???? ---------- */
.lyx-dev-card input[placeholder^="\8f93\5165\5907\6ce8"]{
  height:26px !important;font-size:12.5px !important;border-radius:6px !important;
  background:rgba(255,255,255,.02) !important;border:1px solid transparent !important;
  border-bottom:1px solid rgba(148,163,184,.18) !important;
}
/* ---------- v3.1 ?? ---------- */
.lyx-stats>button>span:nth-of-type(2){font-size:11.5px !important;letter-spacing:.02em !important;opacity:.85}
.lyx-dev-card .lyx-row{padding:2px 0 !important}
.lyx-dev-card .lyx-row>span:first-child{font-size:10.5px !important;width:74px !important}
.lyx-dev-card .lyx-row>span:nth-child(2),.lyx-dev-card .lyx-row>div{font-size:12px !important}
.lyx-dev-card [data-slot="card-content"]{position:relative}
.lyx-dev-card [data-slot="card-content"]::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.055) 46%,transparent 60%);
  transform:translateX(-130%);transition:transform .75s ease;
}
.lyx-dev-card:hover [data-slot="card-content"]::after{transform:translateX(130%)}

/* ??? */
.lyx-pager{
  padding:8px 12px !important;margin-top:10px !important;border-radius:12px !important;
  background:linear-gradient(180deg,rgba(20,27,37,.85),rgba(11,16,23,.9)) !important;
  border:1px solid rgba(148,163,184,.12) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.lyx-pager button,.lyx-pager [role="combobox"]{
  border-radius:8px !important;border:1px solid rgba(148,163,184,.16) !important;
  background:rgba(10,15,22,.8) !important;color:#a9b7c6 !important;
  transition:.16s !important;
}
.lyx-pager button:hover{color:#e6f4ff !important;border-color:rgba(56,189,248,.45) !important}
