/* ===== assets/css/08-lic.css | 在线授权管理（EA 授权管理）===== */
/* 来源：原 index.html 内联样式 第 404-465 行；改样式只改这个文件 */
/* v1.36 版面重做：不满屏（收窄靠左）+ 列表列对齐 + 参数配置「左源码 / 右参数」 */

/* ---------------- 卡片与头部 ---------------- */
.lm-card { padding:0; overflow:hidden; max-width:1520px; }
.lm-head { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:13px 18px;
           border-bottom:1px solid #2d2720; background:linear-gradient(180deg,#241e17,#1c1813); }
.lm-title { display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:700; color:#e6e0d2; letter-spacing:.2px; }
.lm-ico { width:24px; height:24px; border-radius:8px; display:grid; place-items:center; font-size:13px; color:#241c12;
          background:linear-gradient(150deg,#ffd778,#c68a3d); box-shadow:0 2px 8px rgba(255,215,120,.22); }
.lm-tabs { display:flex; gap:4px; padding:3px; border-radius:11px; border:1px solid rgba(255,255,255,.07);
           background:rgba(0,0,0,.22); }
.lm-tab { padding:7px 14px; border-radius:8px; font-size:13px; color:#9a8f7a; cursor:pointer; user-select:none;
          transition:background .16s, color .16s, box-shadow .16s; white-space:nowrap; }
.lm-tab:hover { color:#e6e0d2; background:rgba(255,255,255,.05); }
.lm-tab.on { color:#221a10; font-weight:700; background:linear-gradient(180deg,#ffd778,#e3b45a);
             box-shadow:0 2px 10px rgba(255,215,120,.2); }

/* ---------------- 工具条 / 输入 ---------------- */
.lm-toolbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:14px 18px 10px; }
.lm-lab { font-size:12.5px; color:#9a8f7a; }
.lm-inp { height:34px; padding:0 11px; font-size:13px; font-family:inherit; color:#e6e0d2;
          background:#14110d; border:1px solid #2d2720; border-radius:9px;
          transition:border-color .15s, box-shadow .15s; }
.lm-inp:hover { border-color:#3b3227; }
.lm-inp:focus { outline:none; border-color:rgba(255,215,120,.45); box-shadow:0 0 0 3px rgba(255,215,120,.08); }
input.lm-inp::placeholder { color:#6b6255; }
select.lm-inp { appearance:none; padding-right:26px; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#9a8f7a 50%),linear-gradient(135deg,#9a8f7a 50%,transparent 50%);
  background-position:calc(100% - 14px) 15px, calc(100% - 9px) 15px; background-size:5px 5px; background-repeat:no-repeat; }
.lm-search { position:relative; display:flex; align-items:center; flex:0 1 210px; }
.lm-search::before { content:"\1F50D"; position:absolute; left:10px; font-size:11px; opacity:.55; pointer-events:none; }
.lm-search .lm-inp { padding-left:29px; width:100%; }
.lm-tools-r { display:flex; gap:8px; margin-left:auto; }

/* ---------------- 统计卡 ---------------- */
.lm-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:6px 18px 4px; }
.lm-stat { position:relative; display:flex; align-items:center; gap:11px; padding:12px 14px; cursor:pointer;
           border:1px solid rgba(255,255,255,.075); border-radius:12px; overflow:hidden; user-select:none;
           background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
           transition:transform .16s, border-color .16s, box-shadow .16s; }
.lm-stat::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:#3a332a; transition:background .16s; }
.lm-stat:hover { transform:translateY(-1px); border-color:rgba(255,215,120,.3); box-shadow:0 6px 18px rgba(0,0,0,.28); }
.lm-sic { width:32px; height:32px; flex:0 0 32px; border-radius:10px; display:grid; place-items:center; font-size:15px;
          background:rgba(255,255,255,.05); }
.lm-sbd { display:flex; flex-direction:column; line-height:1.15; min-width:0; }
.lm-sbd b { font-size:21px; color:#e6e0d2; font-variant-numeric:tabular-nums; }
.lm-sbd span { font-size:11.5px; color:#9a8f7a; }
.lm-stat.on { border-color:rgba(255,215,120,.5); background:linear-gradient(180deg,rgba(255,215,120,.13),rgba(255,215,120,.04)); }
.lm-stat.on::before { background:linear-gradient(180deg,#ffd778,#c68a3d); }
.lm-stat.on .lm-sbd b { color:#ffd778; }

/* ---------------- 产品分组 ---------------- */
.lm-group { margin:12px 18px 0; border:1px solid rgba(255,255,255,.075); border-radius:12px; overflow:hidden;
            background:rgba(255,255,255,.012); box-shadow:0 2px 10px rgba(0,0,0,.16); }
.lm-ghd { display:flex; align-items:center; gap:9px; flex-wrap:wrap; padding:11px 14px; cursor:pointer;
          background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); }
.lm-ghd:hover .lm-pname { color:#ffd778; }
.lm-fold { width:19px; height:19px; flex:0 0 19px; border-radius:6px; display:grid; place-items:center; font-size:9px;
           color:#9a8f7a; background:rgba(255,255,255,.06); }
.lm-pname { font-size:13.5px; font-weight:600; color:#e6e0d2; transition:color .16s; }
.lm-cnt { font-size:12px; color:#8b8272; }
.lm-ghd .lm-cnt { margin-left:auto; }
.lm-ghd .lm-cnt + .lm-cnt { margin-left:12px; }
.prod-sn { font-size:11.5px; color:#8b8272; font-family:ui-monospace,Consolas,monospace; }

/* ---------------- 列表：列对齐（宽屏用表头，窄屏用行内标签） ---------------- */
.lm-rhead, .lm-row { display:grid; gap:12px; align-items:center;
  grid-template-columns:minmax(210px,1.45fr) minmax(140px,1fr) minmax(130px,.95fr) minmax(140px,1.05fr) auto; }
.lm-rhead { padding:8px 14px 4px; border-top:1px solid rgba(255,255,255,.06); background:rgba(0,0,0,.14);
            font-size:11.5px; color:#7c7362; letter-spacing:.3px; }
.lm-row { padding:11px 14px; border-top:1px solid rgba(255,255,255,.06); transition:background .15s; }
.lm-row:hover { background:rgba(255,215,120,.035); }
.lm-rhead span:last-child, .lm-c-ops { text-align:right; }
.lm-c-key { display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0; }
.lm-c-key .lm-key, .lm-c-acct .lm-key { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lm-c-acct .lm-key { min-width:0; }
.lm-c-bind, .lm-c-exp, .lm-c-rem, .lm-c-acct, .lm-c-mach, .lm-c-seen, .lm-c-ctime { min-width:0; }
.lm-c-bind { display:grid; grid-template-columns:auto auto auto auto; gap:4px 5px; align-items:center; justify-content:start; }
.lm-c-bind .lm-bar { grid-column:1 / -1; }
.lm-c-exp, .lm-c-rem, .lm-c-mach, .lm-c-seen, .lm-c-ctime { font-size:12.5px; color:#c9c1b0; }
.lm-c-ops { display:flex; gap:6px; align-items:center; justify-content:flex-end; }
.lm-cl { display:none; font-style:normal; font-size:11px; color:#7c7362; margin-right:5px; }
.lm-sla { font-style:normal; color:#6f6759; }
.lm-bar { display:block; height:4px; border-radius:3px; background:rgba(255,255,255,.07); overflow:hidden; min-width:58px; }
.lm-bar i { display:block; height:100%; border-radius:3px; background:linear-gradient(90deg,#c68a3d,#ffd778); }
.lm-bar.full i { background:linear-gradient(90deg,#2e9e5b,#54c885); }

/* ---------------- 徽标 / 状态点 / 行内编辑 ---------------- */
.lm-key { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:12.5px; color:#ffd778;
          letter-spacing:.4px; background:rgba(255,215,120,.07); border:1px solid rgba(255,215,120,.16);
          border-radius:7px; padding:2px 7px; }
.lm-tag { font-size:11px; padding:2px 7px; border-radius:20px; border:1px solid #3a332a; color:#a79c86; white-space:nowrap; }
.lm-tag.ok { color:#6ddc9b; border-color:rgba(46,158,91,.45); background:rgba(46,158,91,.12); }
.lm-tag.warn { color:#ffc861; border-color:rgba(198,138,61,.5); background:rgba(198,138,61,.14); }
.lm-tag.err { color:#ff9d86; border-color:rgba(201,85,63,.5); background:rgba(201,85,63,.13); }
.lm-tag.grey { color:#9a8f7a; border-color:#3a332a; background:rgba(255,255,255,.03); }
.lm-tag.para { color:#9fc7ff; border-color:rgba(88,140,220,.45); background:rgba(88,140,220,.12); }
.lm-dot { width:7px; height:7px; border-radius:50%; flex:0 0 7px; display:inline-block; }
.lm-dot.on { background:#3fcf7d; box-shadow:0 0 0 3px rgba(63,207,125,.16); }
.lm-dot.off { background:#4a4235; }
.lm-f { display:inline-flex; gap:6px; align-items:center; }
.lm-f em { font-style:normal; color:#6f6759; }
.lm-f b { color:#e6e0d2; font-weight:600; }
.lm-f-edit { border-bottom:1px dashed #4a4235; cursor:pointer; color:#c9c1b0; transition:color .15s, border-color .15s; }
.lm-f-edit:hover { color:#ffd778; border-color:rgba(255,215,120,.6); }
.lm-mini { height:26px; padding:0 7px; font-size:12.5px; color:#e6e0d2; background:#14110d;
           border:1px solid #3b3227; border-radius:7px; font-family:inherit; }
.lm-mini:focus { outline:none; border-color:rgba(255,215,120,.5); }
.lm-ok, .lm-no { background:none; border:0; cursor:pointer; font-size:13px; padding:0 2px; }
.lm-ok { color:#3fcf7d; } .lm-no { color:#c9553f; }

/* ---------------- 操作菜单 ---------------- */
.lm-ops { position:relative; display:inline-block; }
.lm-ops summary { list-style:none; cursor:pointer; width:30px; height:30px; border-radius:8px; display:grid;
                  place-items:center; font-size:15px; color:#a79c86; border:1px solid #2d2720; background:rgba(255,255,255,.03);
                  transition:background .15s, color .15s, border-color .15s; }
.lm-ops summary::-webkit-details-marker { display:none; }
.lm-ops summary:hover { color:#ffd778; border-color:rgba(255,215,120,.4); }
.lm-ops[open] summary { color:#ffd778; border-color:rgba(255,215,120,.5); }
.lm-menu, .lm-opsm { position:absolute; right:0; top:calc(100% + 6px); z-index:40; min-width:190px; padding:6px;
  background:#241e17; border:1px solid #3a332a; border-radius:11px; box-shadow:0 14px 34px rgba(0,0,0,.5); }
.lm-menu div, .lm-opsm a { padding:8px 10px; border-radius:8px; font-size:12.5px; color:#d9d2c4; cursor:pointer; white-space:nowrap; }
.lm-menu div:hover, .lm-opsm a:hover { background:rgba(255,255,255,.06); color:#ffd778; }
.lm-menu .danger, .lm-opsm .danger { color:#ff9d86; }
.lm-menu .danger:hover, .lm-opsm .danger:hover { background:rgba(201,85,63,.14); color:#ffb6a3; }

/* ---------------- 提示 / 空状态 / 备注 ---------------- */
.lm-note { margin:0 18px 12px; padding:9px 12px; font-size:12.5px; line-height:1.6; color:#9a8f7a;
           border:1px solid rgba(255,215,120,.16); border-radius:10px; background:rgba(255,215,120,.05); }
.lm-note b { color:#ffd778; font-weight:600; }
.lm-empty { margin:12px 18px; padding:30px 18px; text-align:center; font-size:13px; line-height:1.7; color:#7c7362;
            border:1px dashed #3a332a; border-radius:12px; background:rgba(255,255,255,.012); }
.lm-x { cursor:pointer; font-size:16px; color:#9a8f7a; transition:color .15s; }
.lm-x:hover { color:#e6e0d2; }
.lm-ta { width:100%; min-height:260px; padding:12px; font-size:12.5px; line-height:1.6; color:#e6e0d2;
         background:#14110d; border:1px solid #2d2720; border-radius:10px;
         font-family:ui-monospace,SFMono-Regular,Consolas,monospace; resize:vertical; }
.lm-ta:focus { outline:none; border-color:rgba(255,215,120,.45); }

/* ---------------- 参数配置：左源码 / 右参数 ---------------- */
.lm-cfgwrap { display:grid; grid-template-columns:minmax(340px,1fr) minmax(420px,1.08fr); gap:14px;
              align-items:start; padding:0 18px 18px; }
.lm-cfgmain { min-width:0; display:flex; flex-direction:column; gap:12px; }
.lm-cfgside { min-width:0; display:flex; flex-direction:column; gap:10px; }
.lm-sub { font-size:12.5px; font-weight:600; color:#c9c1b0; letter-spacing:.3px; }
.lm-kv { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 11px;
         font-size:12.5px; border:1px solid #2d2720; border-radius:9px; background:rgba(255,255,255,.02); }
.lm-kv span { color:#8b8272; }
.lm-kv b { color:#e6e0d2; font-weight:600; text-align:right; }
.lm-kv4 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.lm-fz { display:flex; align-items:center; gap:8px; font-size:12.5px; color:#c9c1b0; cursor:pointer; }
.lm-fzhint { font-size:11.5px; line-height:1.6; color:#7c7362; }
.lm-acts { display:flex; gap:8px; flex-wrap:wrap; }

/* 源码卡（左栏） */
.lm-src { display:flex; flex-direction:column; min-width:0; border:1px solid #2d2720; border-radius:12px;
          overflow:hidden; background:#1a1611; box-shadow:0 2px 10px rgba(0,0,0,.16); }
.lm-src-hd { display:flex; align-items:center; gap:9px; padding:10px 12px; border-bottom:1px solid #2d2720;
             background:linear-gradient(180deg,rgba(255,255,255,.05),transparent); }
.lm-src-ic { width:26px; height:26px; flex:0 0 26px; border-radius:8px; display:grid; place-items:center; font-size:13px;
             background:rgba(255,215,120,.12); color:#ffd778; }
.lm-src-tt { display:flex; flex-direction:column; gap:2px; min-width:0; }
.lm-src-tt b { font-size:13px; color:#e6e0d2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lm-src-sub { font-size:11.5px; color:#7c7362; }
.lm-src-hd .lm-tag { margin-left:auto; }
.lm-src-code { max-height:520px; min-height:180px; overflow:auto; background:#14110d; }
.lm-src-code::-webkit-scrollbar { width:10px; height:10px; }
.lm-src-code::-webkit-scrollbar-thumb { background:#332c22; border-radius:6px; }
.lm-src-code .lm-empty { margin:0; border:0; background:none; }
.lm-src-pre { display:flex; align-items:flex-start; font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
              font-size:12px; line-height:1.6; }
.lm-src-ln { flex:0 0 46px; padding:10px 8px 14px 0; text-align:right; color:#5d5445; white-space:pre;
             border-right:1px solid #241f18; background:rgba(0,0,0,.18); user-select:none; }
.lm-src-tx { margin:0; padding:10px 14px 14px; color:#cfc7b6; white-space:pre; }
.tk-c { color:#6f7f5a; } .tk-s { color:#d0a86a; } .tk-z { color:#ffd778; } .tk-n { color:#8fb3c7; }
.lm-src-ft { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:10px 12px; border-top:1px solid #2d2720;
             background:rgba(255,255,255,.02); }
.lm-src-hint { flex:1 1 100%; font-size:11.5px; line-height:1.6; color:#7c7362; }
.lm-src-hint b { color:#ffd778; }
/* ★v1.40：源码交付两行（源码 / 授权版源码） */
.lm-dl-row { display:flex; align-items:center; gap:8px; width:100%; }
.lm-dl-row + .lm-dl-row { margin-top:2px; }
.lm-dl-lb { flex:0 0 68px; font-size:11.5px; color:#a99f8c; }
.lm-dl-note { font-size:11px; color:#6f6656; }

/* ---------------- 参数表（rp-*） ---------------- */
.rp-list, .rp-wrap { display:flex; flex-direction:column; gap:4px; }
.rp-wrap { margin:14px 18px 0; }
.rp-head, .rp-row { display:grid; gap:10px; align-items:center; padding:8px 11px;
  grid-template-columns:minmax(120px,1.3fr) minmax(76px,.8fr) 54px minmax(120px,1.2fr) minmax(88px,1fr) 92px; }
.rp-head { font-size:11.5px; color:#7c7362; border-bottom:1px solid #2d2720; letter-spacing:.3px; }
.rp-row { font-size:12.5px; color:#c9c1b0; border:1px solid #262019; border-radius:9px; background:rgba(255,255,255,.015);
          transition:border-color .15s, background .15s; }
.rp-row:hover { border-color:#3a332a; background:rgba(255,255,255,.03); }
.rp-row.on { border-color:rgba(255,215,120,.28); background:rgba(255,215,120,.05); }
.rp-k { font-family:ui-monospace,Consolas,monospace; color:#ffd778; overflow:hidden; text-overflow:ellipsis; }
.rp-t { color:#8b8272; }
.rp-i { color:#7c7362; overflow:hidden; text-overflow:ellipsis; }
.rp-v { width:100%; }
.rp-tools { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:10px 0 0; }
.rp-hint { font-size:11.5px; color:#7c7362; }
.rp-badge { font-size:11px; padding:1px 7px; border-radius:20px; border:1px solid #3a332a; color:#a79c86; white-space:nowrap; }
.rp-badge.hid { color:#ffd778; border-color:rgba(255,215,120,.45); background:rgba(255,215,120,.1); }
.rp-badge.warn { color:#ffc861; border-color:rgba(198,138,61,.5); background:rgba(198,138,61,.14); }
.rp-adv { font-size:12px; color:#9a8f7a; }
.rp-t { white-space:nowrap; }

/* ---------------- 绑定详情 ---------------- */
.lm-bhead, .lm-brow { display:grid; gap:12px; align-items:center;
  grid-template-columns:minmax(170px,1.15fr) minmax(130px,1fr) minmax(120px,1fr) minmax(120px,.95fr) auto; }
.lm-bhead { padding:8px 14px 4px; font-size:11.5px; color:#7c7362; background:rgba(0,0,0,.14);
            border-top:1px solid rgba(255,255,255,.06); letter-spacing:.3px; }
.lm-brow { padding:11px 14px; border-top:1px solid rgba(255,255,255,.06); font-size:12.5px; transition:background .15s; }
.lm-brow:hover { background:rgba(255,215,120,.035); }
.lm-bhead span:last-child { text-align:right; }
.lm-brow b { color:#e6e0d2; font-weight:600; }
.lm-c-acct { display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0; }

/* ---------------- 弹窗/面板（保留） ---------------- */
.lm-newpanel { margin:0 0 12px; padding:14px; border:1px solid #2d2720; border-radius:12px; background:rgba(255,255,255,.02); }
.lm-newhd { display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:13px; color:#e6e0d2; }

/* ---------------- 窄屏 ---------------- */
@media (max-width:1500px){
  .lm-card { max-width:none; }
}
@media (max-width:1240px){
  .lm-cfgwrap { grid-template-columns:minmax(0,1fr); }
  .lm-kv4 { grid-template-columns:minmax(0,1fr); }
  .lm-rhead, .lm-bhead { display:none; }
  .lm-row, .lm-brow { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; }
  .lm-c-key, .lm-c-acct { grid-column:1 / -1; }
  .lm-c-bind, .lm-c-exp, .lm-c-rem, .lm-c-mach, .lm-c-seen, .lm-c-ctime { grid-column:1 / -1; display:block; }
  .lm-c-ops { grid-column:2; grid-row:1; }
  .lm-cl { display:inline; }
  .rp-head { display:none; }
  .rp-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
@media (max-width:820px){
  .lm-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lm-src-ln { display:none; }
}
