/* 上鱼 · 运营管理后台 —— 样式（暖色浅色主题，与小程序设计系统同源） */
:root{
  --primary:#FF8C42; --primary-d:#E87528; --primary-s:#FFF1E6;
  --bg:#F7F5F2; --card:#FFFFFF; --line:#EDE8E2; --line-2:#F4F1ED;
  --t1:#1F1D1B; --t2:#6B6560; --t3:#9A938C;
  --green:#2E9E5B; --yellow:#D99A18; --gray:#9A9A9A; --red:#D8443C; --blue:#3A78C2; --purple:#7D5BA6;
  --sh:0 2px 14px rgba(31,29,27,.05);
  --r:12px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--t1);font:14px/1.6 -apple-system,"PingFang SC","Microsoft YaHei",Arial,sans-serif}
#app{display:flex;min-height:100vh}

/* ============ 侧栏 ============ */
.sidebar{width:216px;flex:none;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:20}
.brand{display:flex;gap:10px;align-items:center;padding:20px 16px 16px;border-bottom:1px solid var(--line-2)}
.logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--primary),#FFB37A);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;letter-spacing:1px}
.bn{font-size:14px;font-weight:600}
.bv{font-size:11px;color:var(--t3)}
#nav{flex:1;overflow-y:auto;padding:10px 8px}
.nav-g{font-size:11px;color:var(--t3);padding:12px 10px 6px;letter-spacing:.5px}
.nav-i{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:9px;cursor:pointer;color:var(--t2);font-size:13.5px;margin-bottom:2px;user-select:none}
.nav-i:hover{background:var(--line-2);color:var(--t1)}
.nav-i.on{background:var(--primary-s);color:var(--primary-d);font-weight:600}
.nav-i .ic{width:18px;text-align:center;font-size:14px}
.nav-i .badge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;padding:1px 6px;border-radius:9px;font-weight:600}
.nav-i .badge.b2{background:var(--yellow)}
.nav-i .badge.b3{background:var(--blue)}
.sb-foot{padding:12px 14px;border-top:1px solid var(--line-2)}
.st{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t2)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--gray)}
.dot.ok{background:var(--green);box-shadow:0 0 0 3px rgba(46,158,91,.15)}
.dot.no{background:var(--red);box-shadow:0 0 0 3px rgba(216,68,60,.15)}
.sf-note{font-size:10.5px;color:var(--t3);margin-top:5px}
.sf-icp{display:block;margin-top:4px;font-size:10.5px;color:var(--t3);text-decoration:none}
.sf-icp:hover{color:var(--t2)}

/* ============ 主区 ============ */
.main{margin-left:216px;flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{background:#fff;border-bottom:1px solid var(--line);padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:0;z-index:15}
.topbar h1{font-size:18px;font-weight:700}
.tb-desc{font-size:12px;color:var(--t3);margin-top:2px}
.tb-right{display:flex;align-items:center;gap:14px}
.bannerstrip{max-width:340px;font-size:11.5px;color:var(--primary-d);background:var(--primary-s);padding:6px 12px;border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:9px;overflow:hidden}
.search input{border:none;background:transparent;padding:8px 12px;width:240px;font-size:13px;outline:none;color:var(--t1)}
.search button{border:none;background:var(--primary);color:#fff;padding:0 14px;cursor:pointer;font-size:13px}
.clock{font-size:12px;color:var(--t3);font-variant-numeric:tabular-nums;white-space:nowrap}
.view{padding:20px 24px 60px;flex:1}

/* ============ 通用 ============ */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh)}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g6{grid-template-columns:repeat(6,1fr)}
.row{display:flex;align-items:center;gap:10px}
.between{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wrap{flex-wrap:wrap}
.mt{margin-top:14px}.mt2{margin-top:20px}.mb{margin-bottom:14px}
.muted{color:var(--t2)}.muted3{color:var(--t3)}.sm{font-size:12px}.xs{font-size:11px}
.num{font-variant-numeric:tabular-nums}
.sec-title{font-size:14px;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.sec-title::before{content:"";width:3px;height:14px;background:var(--primary);border-radius:2px}
.loading,.err{padding:60px;text-align:center;color:var(--t3)}
.err{color:var(--red)}

/* KPI */
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:15px 16px;box-shadow:var(--sh)}
.kpi .kl{font-size:12px;color:var(--t3);display:flex;align-items:center;gap:6px}
.kpi .kv{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:6px;letter-spacing:-.5px}
.kpi .ks{font-size:11.5px;color:var(--t3);margin-top:3px}
.kpi .kv small{font-size:13px;font-weight:500;color:var(--t3);margin-left:3px}
.kpi.accent{background:linear-gradient(135deg,#FFF8F3,#fff);border-color:#FBE3D1}

/* 每日活跃趋势（用户管理页，2026-10-02）：每格双细柱 = 活跃 + 新增；悬停看明细 */
.dau-chart{display:flex;align-items:flex-end;gap:4px;height:120px;margin-top:12px;padding:0 2px}
.dau-chart .cell{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:2px;height:100%;cursor:default}
.dau-chart .b{display:block;width:5px;border-radius:2px 2px 0 0;background:#533AFD;min-height:0}
.dau-chart .b.muted{background:#C9CCE8}
.dau-chart .b.new{background:#F59E0B}
.dau-legend{display:flex;align-items:center;gap:16px;margin-top:10px;flex-wrap:wrap}
.dau-legend .sw{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:-1px}

/* 标签 */
.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:500;white-space:nowrap}
.tag.g{background:#E8F5EC;color:var(--green)}
.tag.y{background:#FBF3E0;color:var(--yellow)}
.tag.r{background:#FBE9E8;color:var(--red)}
.tag.b{background:#E9F0F9;color:var(--blue)}
.tag.n{background:#F0EDE8;color:var(--t3)}
.tag.p{background:#F1EBF7;color:var(--purple)}
.tag.o{background:var(--primary-s);color:var(--primary-d)}

/* 表格 */
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-weight:600;color:var(--t2);font-size:12px;padding:9px 11px;background:var(--line-2);white-space:nowrap;position:sticky;top:0}
th:first-child{border-radius:8px 0 0 8px}
th:last-child{border-radius:0 8px 8px 0}
td{padding:10px 11px;border-bottom:1px solid var(--line-2);vertical-align:top}
tbody tr:hover{background:#FCFAF8}
.tbl-wrap{overflow:auto;max-height:calc(100vh - 300px)}
.tbl-wrap.short{max-height:340px}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}
.ell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}

/* 分页 */
.pager{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12.5px;color:var(--t2)}
.pager button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 11px;cursor:pointer;color:var(--t2)}
.pager button:hover:not(:disabled){border-color:var(--primary);color:var(--primary-d)}
.pager button:disabled{opacity:.4;cursor:not-allowed}

/* 图表 */
.bars{display:flex;flex-direction:column;gap:9px}
.bar-row{display:grid;grid-template-columns:110px 1fr 64px;align-items:center;gap:10px;font-size:12.5px}
.bar-track{height:9px;background:var(--line-2);border-radius:6px;overflow:hidden}
.bar-fill{height:100%;border-radius:6px;background:var(--primary);transition:width .5s}
.bar-fill.g{background:var(--green)}.bar-fill.y{background:var(--yellow)}
.bar-fill.r{background:var(--red)}.bar-fill.b{background:var(--blue)}.bar-fill.n{background:var(--gray)}
.bar-row .vn{text-align:right;color:var(--t2);font-variant-numeric:tabular-nums}
.donut{display:flex;align-items:center;gap:18px}
.donut svg{flex:none}
.legend{display:flex;flex-direction:column;gap:7px;font-size:12.5px}
.legend .lg{display:flex;align-items:center;gap:8px}
.legend .sw{width:10px;height:10px;border-radius:3px}
.spark{display:flex;align-items:flex-end;gap:2px;height:64px}
.spark i{flex:1;background:linear-gradient(180deg,#FFB37A,var(--primary));border-radius:2px 2px 0 0;min-height:2px}
.spark i:hover{background:var(--primary-d)}
.hbar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--line-2)}
.hbar i{height:100%}

/* 筛选 */
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.filters input,.filters select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 11px;font-size:13px;color:var(--t1);outline:none}
.filters textarea{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;font-size:13px;color:var(--t1);outline:none;font-family:inherit;line-height:1.55;resize:vertical;width:100%;min-height:76px}
.filters input:focus,.filters select:focus,.filters textarea:focus{border-color:var(--primary)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:20px;border:1px solid var(--line);background:#fff;font-size:12.5px;cursor:pointer;color:var(--t2);user-select:none}
.chip:hover{border-color:var(--primary)}
.chip.on{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}
.chip .c{font-size:11px;opacity:.75}

/* 按钮 */
.btn{border:none;border-radius:9px;padding:8px 15px;font-size:13px;cursor:pointer;background:var(--primary);color:#fff;font-weight:500}
.btn:hover{background:var(--primary-d)}
.btn.gh{background:var(--primary-s);color:var(--primary-d)}
.btn.ln{background:#fff;border:1px solid var(--line);color:var(--t1)}
.btn.ln:hover{border-color:var(--primary);color:var(--primary-d);background:#fff}
.btn.sm{padding:5px 11px;font-size:12px;border-radius:8px}
.btn.dg{background:#FBE9E8;color:var(--red)}
.btn.dg:hover{background:var(--red);color:#fff}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* 抽屉 */
.drawer{position:fixed;inset:0;z-index:60;display:none}
.drawer.on{display:block}
.drawer-mask{position:absolute;inset:0;background:rgba(31,29,27,.35);backdrop-filter:blur(2px)}
.drawer-body{position:absolute;top:0;right:0;bottom:0;width:620px;max-width:92vw;background:#fff;box-shadow:-8px 0 40px rgba(0,0,0,.12);overflow-y:auto;padding:24px 26px 60px}
.drawer-x{position:absolute;top:14px;right:18px;border:none;background:var(--line-2);width:30px;height:30px;border-radius:8px;font-size:18px;cursor:pointer;color:var(--t2);line-height:1}
.dl{display:grid;grid-template-columns:120px 1fr;gap:8px 14px;font-size:13px;margin:14px 0}
.dl dt{color:var(--t3);font-size:12.5px}
.dl dd{color:var(--t1);word-break:break-all}
.pv{background:var(--bg);border-radius:9px;padding:12px;font-size:12px;font-family:ui-monospace,Consolas,monospace;white-space:pre-wrap;word-break:break-all;max-height:260px;overflow:auto;color:var(--t2);border:1px solid var(--line)}
.hr{height:1px;background:var(--line-2);margin:18px 0}
.note{background:var(--primary-s);border-left:3px solid var(--primary);border-radius:0 8px 8px 0;padding:10px 14px;font-size:12.5px;color:var(--primary-d);line-height:1.7}
.note.warn{background:#FBE9E8;border-color:var(--red);color:var(--red)}
.note.gray{background:var(--line-2);border-color:var(--gray);color:var(--t2)}
.empty{padding:56px;text-align:center;color:var(--t3);font-size:13px}
.ok-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#1F1D1B;color:#fff;padding:11px 22px;border-radius:10px;font-size:13px;z-index:99;opacity:0;transition:.3s;pointer-events:none}
.ok-toast.on{opacity:1}
@media (max-width:1280px){.g6{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(2,1fr)}}

/* 通用行编辑抽屉（2026-09-19） */
.edit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin-top: 10px; }
.edit-grid .fld { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--ink-2, #444); }
.edit-grid .fld input { padding: 7px 9px; border: 1px solid var(--line, #d8dde5); border-radius: 6px; font-size: 13px; font-family: inherit; }
.edit-grid .fld input:focus { outline: 2px solid var(--primary); }

/* 今日值班简报（2026-09-20，dashboard 卡片；内容是 scripts/ops_daily_brief.py 落盘的 Markdown） */
.brief-pre { white-space: pre-wrap; word-break: break-word; font: 12px/1.8 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; margin: 0; max-height: 480px; overflow: auto; background: #FAFAF7; border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; color: #3A3A3A; }
.brief-pre code { background: #EEECE6; border-radius: 4px; padding: 1px 5px; }

/* ============ 知识条目：全貌渲染 + 编辑器（2026-09-21，知识库页） ============ */
.mb1{margin-bottom:10px}
.mt1{margin-top:10px}
.ebv-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;color:var(--t2);margin:2px 0 10px}
.ebv-cav{font-size:12.5px;color:var(--t3);margin-bottom:12px;padding:8px 12px;background:var(--line-2);border-radius:8px}
.ebv-body{font-size:13.5px;color:var(--t1);line-height:1.75}
.ebv-p{margin-bottom:14px}
.ebv-list{margin:0 0 14px 20px}
.ebv-list li{margin-bottom:5px}
.ebv-twrap{overflow-x:auto;margin-bottom:14px}
.ebv-table{border-collapse:collapse;width:100%;font-size:12.5px}
.ebv-table th,.ebv-table td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
.ebv-table th{background:var(--primary-s);color:var(--primary-d);font-weight:600;white-space:nowrap}
.ebv-note{margin:-6px 0 14px;padding:8px 12px;font-size:12px;color:var(--t2);background:#F6F9FC;border-left:3px solid var(--line);border-radius:0 8px 8px 0}
.ebv-steps{margin-bottom:14px}
.ebv-step{display:flex;gap:10px;margin-bottom:8px;align-items:flex-start}
.ebv-step .n{flex:none;width:20px;height:20px;border-radius:50%;background:var(--primary-s);color:var(--primary-d);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:3px}
.ebv-beat{margin-bottom:14px}
.ebv-beatrow{display:flex;gap:8px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.ebv-beatrow .lb{font-size:12px;font-weight:600;color:var(--t2)}
.ebv-beatrow .seq i{font-style:normal;background:var(--primary-s);color:var(--primary-d);border-radius:6px;padding:2px 9px;font-size:12px}
.ebv-beatrow .seq em{font-style:normal;color:var(--t3);margin:0 4px}
.ebv-cmp{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.ebv-cmpc{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:12.5px}
.ebv-cmpc.l{background:#F3F8F4}
.ebv-cmpc.r{background:#FBF5EF}
.ebv-cmpc .tt{font-weight:700;margin-bottom:6px}
.ebv-cmpd{font-size:12.5px;color:var(--t2);background:var(--line-2);border-radius:8px;padding:8px 12px;margin-bottom:14px}
.ebv-cmpd b{color:var(--primary-d);margin-right:8px}
.ebv-kv{display:flex;gap:10px;align-items:baseline;margin-bottom:14px;padding:10px 12px;background:var(--primary-s);border-radius:10px}
.ebv-kv .k{font-weight:700;color:var(--primary-d);flex:none}
.ebv-kv .v{color:var(--t1)}
.ebv-notebox{border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:12.5px;border:1px solid}
.ebv-notebox.tone-ok{background:#EAF7E3;border-color:#BFE3CD}
.ebv-notebox.tone-warn{background:#FDF3D7;border-color:#F0DDAA}
.ebv-notebox.tone-bad{background:#FDEBEB;border-color:#F3C9C6}
.ebv-notebox.tone-acc{background:#F1F6F8;border-color:#CBDDE2}
.ebv-notebox .tone{font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--t2);margin-bottom:4px}
.ebv-notebox .tt{font-weight:700;margin-bottom:4px}
.ebv-kpis{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.ebv-kpi{flex:1;min-width:110px;border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center}
.ebv-kpi b{display:block;font-size:19px;color:var(--primary-d)}
.ebv-kpi span{font-size:12px;color:var(--t2)}
.ebv-kpi i{display:block;font-style:normal;font-size:11px;color:var(--t3);margin-top:2px}
.ebv-dg{margin-bottom:14px}
.ebv-dg .tt{font-size:12.5px;font-weight:600;margin-bottom:8px}
.ebv-dg .lane{display:flex;justify-content:space-between;align-items:center;padding:7px 12px;border-radius:8px;margin-bottom:4px;font-size:12.5px}
.ebv-dg .chain{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ebv-dg .node{border:1px solid var(--line);border-radius:10px;padding:8px 12px;text-align:center;font-size:12.5px}
.ebv-dg .node .side{font-size:11px;color:var(--t3);margin-top:3px}
.ebv-dg .chain em{font-style:normal;color:var(--t3)}
.ebv-dg .axis{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:8px 0}
.ebv-dg .axis i{font-style:normal;background:var(--primary-s);border-radius:6px;padding:2px 9px}
.ebv-dg .axis em{font-style:normal;color:var(--line);flex:1;height:1px;background:var(--line)}
.ebv-dg .spl{font-size:11px;color:var(--red)}
.ebv-dg .ends{display:flex;justify-content:space-between;font-size:11px;color:var(--t3)}
.ebv-quiz{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:14px;font-size:13px}
.ebv-quiz .q b{background:var(--primary-s);color:var(--primary-d);border-radius:6px;padding:1px 8px;font-size:11px;margin-right:8px}
.ebv-quiz .opt{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:7px 10px;margin-top:6px}
.ebv-quiz .opt.ok{background:#EAF7E3;border-color:#A9D8BD}
.ebv-quiz .opt.ok i{font-style:normal;font-size:11px;font-weight:700;color:var(--green);margin-left:auto}
.ebv-quiz .why{margin-top:8px;font-size:12px;color:var(--t2);background:#F6F9FC;border-radius:8px;padding:8px 10px}
.ebv-quiz .why b{color:var(--primary-d);margin-right:6px}
.ebv-media{margin-bottom:14px}
.ebv-media img,.ebv-media video{width:100%;border-radius:10px;background:var(--line-2);display:block}
.ebv-media .cap{margin-top:6px;font-size:12px;color:var(--t2)}
.ebv-media .tag{background:var(--primary-s);color:var(--primary-d);font-weight:700;font-size:11px;border-radius:5px;padding:2px 8px;margin-right:8px}
.ebv-media .dur{font-size:11px;color:var(--t3)}
.ebv-link{font-size:12.5px;color:var(--t2);padding:8px 12px;background:var(--line-2);border-radius:8px;margin-bottom:8px}
.ebv-evs{margin-top:6px;font-size:12.5px}
.ebv-evs>b{display:block;margin-bottom:6px}
.evb-ev,.ebv-ev{display:block;margin-bottom:5px;color:var(--blue)}
.ebv-ev i{display:block;font-style:normal;font-size:11px;color:var(--t3)}
.ekv-ul{margin:6px 0 0 20px;font-size:13px}
/* 编辑器 */
.ebed-blk{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:#fff}
.ebed-blk.on{border-color:var(--primary)}
.ebed-hd{display:flex;align-items:center;gap:10px;padding:8px 12px}
.ebed-tn{flex:none;font-size:12px;font-weight:700;color:var(--primary-d);background:var(--primary-s);border-radius:6px;padding:2px 9px}
.ebed-pv{flex:1;min-width:0;font-size:12px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ebed-ops{flex:none;display:flex;gap:5px}
.ebed-bd{padding:4px 12px 12px;border-top:1px dashed var(--line)}
.ebed-grid{grid-template-columns:1fr 1fr}
.ebed-grid .fld{grid-column:span 1}
.ebed-grid .fld[style*="grid-column:1/-1"]{grid-column:1/-1}
.ebed-grid textarea,.ebed-grid input,.ebed-grid select{padding:7px 9px;border:1px solid #D8D3CC;border-radius:7px;font-size:13px;font-family:inherit;line-height:1.55;resize:vertical;min-height:36px}
.ebed-grid textarea{min-height:84px;width:100%}
.ebed-grid textarea[data-conv="json"]{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;min-height:180px}
.ebed-grid .fld{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--t2);margin-top:8px}
.ebed-grid .fld span{color:var(--t3);font-size:11.5px}
.ebed-prev{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}
.ebed-ev{display:grid;grid-template-columns:1.2fr 1.6fr 1.2fr auto;gap:6px;margin-bottom:6px}
.ebed-ev input{padding:7px 9px;border:1px solid #D8D3CC;border-radius:7px;font-size:12.5px;font-family:inherit}

/* 抽奖舞台：中奖卡入场（2026-10-01） */
@keyframes lotIn { from { opacity: 0; transform: translateY(16px) scale(.92) } to { opacity: 1; transform: none } }

/* 中奖公示：31 格日历输入（2026-10-03） */
.lucky-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 8px 12px; }
.lg-cell { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--t3); }
.lg-cell input { padding: 7px 9px; border: 1px solid #D8D3CC; border-radius: 7px; font-size: 12.5px; font-family: inherit; min-width: 0; }
