/* 好木网总管理后台 · 样式由设计稿 wood-platform-all.html 迁移 */
:root{

    --ink:#1C2B21;

    --ink-2:#52705F;

    --ink-3:#829E8C;

    --bg:#EFF4EA;

    --card:#FFFFFF;

    --line:#E3EBE0;

    --wood-1:#2E6A4C;

    --wood-2:#4E8C63;

    --wood-deep:#19422D;

    --wood-deep2:#2A5F43;

    --accent:#C15F24;

    --green:#2E7D5B;

    --green-bg:#E8F2EC;

    --red:#C64A2B;

    --red-bg:#FBEBE4;

    --orange:#C77D2B;

    --orange-bg:#FBF0DF;

    --shadow:0 6px 20px rgba(25,66,45,.10);

    --shadow-lg:0 18px 50px rgba(25,66,45,.22);

    --r:16px;

    --r-lg:20px;

    --grain:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMjAnIGhlaWdodD0nMzIwJz48ZmlsdGVyIGlkPSdnJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC4wOSAwLjAwNicgbnVtT2N0YXZlcz0nNCcgc2VlZD0nNycgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjxmZUNvbG9yTWF0cml4IHR5cGU9J21hdHJpeCcgdmFsdWVzPScwIDAgMCAwIDAuNDAgIDAgMCAwIDAgMC4zNiAgMCAwIDAgMCAwLjMwICAwIDAgMCAwLjE2IDAnLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0nMzIwJyBoZWlnaHQ9JzMyMCcgZmlsdGVyPSd1cmwoI2cpJy8+PC9zdmc+");

  }
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"PingFang SC","Microsoft YaHei","Inter",-apple-system,sans-serif;background:var(--grain),#EAEFE4;color:var(--ink)}
a{color:inherit;text-decoration:none}
input,select,textarea,button{font-family:inherit}
.mt.on {border-color:var(--green);background:linear-gradient(135deg,#2E7D5B,#2E6A4C);box-shadow:0 5px 14px rgba(46,106,76,.26)}
.mt.on .mt-n {background:rgba(255,255,255,.2);color:#fff}
.mt.on .mt-x b {color:#fff}
.mt.on .mt-x span {color:rgba(255,255,255,.76)}
/* ====== 合并稿：分区块标题 ====== */

  .sec-div {max-width:1900px;margin:38px auto 20px;scroll-margin-top:82px}
.sec-div-in {display:flex;align-items:center;gap:15px;background:linear-gradient(135deg,#FFFFFF,#F6FAF2);

              border:1px solid var(--line);border-left:4px solid var(--wood-1);border-radius:var(--r-lg);

              padding:17px 22px;box-shadow:var(--shadow)}
.sd-n {font-size:23px;font-weight:900;color:var(--wood-1);opacity:.34;letter-spacing:-1px;flex:0 0 auto;

        font-variant-numeric:tabular-nums}
.sd-tx {flex:1;min-width:0}
.sd-tx b {display:block;font-size:17.5px;color:var(--wood-deep);letter-spacing:-.3px}
.sd-tx span {display:block;font-size:13.5px;color:var(--ink-3);margin-top:5px;line-height:1.65}
.sd-tag {font-size:12.5px;font-weight:800;color:var(--green);background:var(--green-bg);border:1px solid #C7E2D3;

          border-radius:8px;padding:5px 11px;white-space:nowrap;flex:0 0 auto}
/* ====== 合并稿：后台作用域容器（隔离重名类） ====== */

  .adm-scope {display:block}
/* 合并稿里两块后台改为纵向独占整宽（原稿是左右并排 grid），更易逐块细看 */

  .adm-scope .boards {display:block !important;grid-template-columns:none !important;

                     max-width:1900px;margin:0 auto;padding:0 26px}
.adm-scope .board {margin-bottom:0;max-width:none}
.adm-scope .board.b2 {margin-top:0}
.screen-list .note {margin-top:12px;padding:10px 10px;background:#F5F9F1;border-radius:10px;font-size:13.5px;color:var(--ink-2);line-height:1.7}
.screen.on {display:flex}
.hh-live .dot {width:6px;height:6px;border-radius:50%;background:#FFD57A;box-shadow:0 0 0 0 rgba(255,213,122,.7);animation:pulse 1.6s infinite}
.idx-card .up {color:var(--red);font-size:13.5px;font-weight:700}
.seg button.on {background:#fff;color:var(--wood-deep);box-shadow:0 2px 6px rgba(25,66,45,.14)}
.mk-tab.on {border-color:var(--green);background:linear-gradient(150deg,#2E7D5B,#2E6A4C);color:#fff;box-shadow:0 4px 10px rgba(46,106,76,.24)}
.mk-tab.on i {color:rgba(255,255,255,.78)}
.mk-reg .rc span.up {color:#C64A2B;background:#FBE9E3}
.mk-reg .rc span.down {color:#2E7D5B;background:#E5F2EA}
.chip.on {border-color:var(--wood-1);background:linear-gradient(150deg,#FFF6E8,#F7E7CC);color:var(--wood-deep);box-shadow:0 3px 8px rgba(46,106,76,.14)}
.f-label .st {color:var(--accent)}
.cal-pop .cal-ops button.on {border-color:var(--wood-1);background:linear-gradient(150deg,#FFF6E8,#F7E7CC);

    color:var(--wood-deep);box-shadow:0 2px 7px rgba(46,106,76,.13)}
.city .st {width:7px;height:7px;border-radius:50%}
.city.av .st {background:var(--green)}
.city.warn .st {background:var(--orange)}
.fld {flex:1}
.fld label {font-size:13px;color:var(--ink-2);display:block;margin-bottom:5px}
.tabbar .tb {flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 0;border-radius:12px;cursor:pointer;color:var(--ink-3);font-size:12px;font-weight:600;border:none;background:transparent;font-family:inherit}
.tabbar .tb.on {color:var(--wood-deep);font-weight:800}
.tabbar .tb.on .tbi {background:linear-gradient(135deg,var(--wood-1),var(--wood-2));color:#fff;box-shadow:0 4px 10px rgba(46,106,76,.3)}
.sc-pr .seg button.on {background:#fff;color:var(--wood-deep);box-shadow:0 2px 6px rgba(25,66,45,.14)}
.sc-pr .up {color:var(--red)}
.sc-pr .lock {position:relative;height:142px;border-top:1px solid var(--line);overflow:hidden}
.sc-pr .lock .blur {position:absolute;inset:0;filter:blur(4.5px);opacity:.55}
.sc-pr .lock .blur .prow {background:#fff}
.sc-pr .lock .fade {position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.72),#fff 62%)}
.sc-pr .lock .lk {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0 16px}
.sc-pr .lock .lk .ic {width:28px;height:28px;border-radius:9px;background:linear-gradient(140deg,#FFF3E2,#F7E4C8);

    border:1px solid #DDE6D5;color:var(--wood-1);display:flex;align-items:center;justify-content:center}
.sc-pr .lock .lk b {font-size:14px;font-weight:800;color:var(--wood-deep)}
.sc-pr .lock .lk p {font-size:12px;color:var(--ink-3);text-align:center;line-height:1.5}
.sc-pr .rrow .nm {width:34px;font-size:13.5px;font-weight:700;flex:0 0 34px}
.sc-pr .rrow .bar i.hi {background:linear-gradient(90deg,#E08A4A,#C64A2B)}
.sc-pr .rrow .vv {width:78px;text-align:right;font-size:13px;font-weight:800;color:var(--wood-deep);flex:0 0 78px}
.sc-pr .sheet .sub {font-size:13px;color:var(--ink-3);text-align:center;margin-top:4px}
.sc-pr .fld {display:flex;gap:8px}
.sc-pr .fld input {flex:1;border:1.5px solid var(--line);border-radius:11px;padding:11px 12px;font-size:14px;

    background:#F7FAF4;font-family:inherit;color:var(--ink)}
.sc-pr .fld input:focus {outline:none;border-color:var(--wood-1)}
.sc-pr .fld button {border:1.5px solid #D6E1D0;background:#FAFCF6;color:var(--wood-deep);border-radius:11px;

    padding:0 13px;font-size:13.5px;font-weight:800;cursor:pointer;font-family:inherit;white-space:nowrap}
.sc-ot .subh .side {font-size:13px;color:var(--ink-3);font-weight:600}
.sc-ot .seg button.on {background:#fff;color:var(--wood-deep);box-shadow:0 2px 6px rgba(25,66,45,.14)}
.sc-ot .ohead .no {font-size:13.5px;font-weight:800;color:var(--wood-deep);letter-spacing:.2px}
.sc-ot .obar i.done {background:linear-gradient(90deg,#6BA88A,#2E7D5B)}
.sc-ot .dh-top .no {font-size:14.5px;font-weight:800;letter-spacing:.3px}
.sc-ot .tl {position:relative;padding-left:20px}
.sc-ot .tl::before {content:"";position:absolute;left:5px;top:8px;bottom:16px;width:2px;border-radius:2px;

    background:linear-gradient(180deg,var(--wood-1) 0%,var(--wood-1) 62%,var(--line) 62%,var(--line) 100%)}
.sc-ot .tli .d {position:absolute;left:-20px;top:3px;width:12px;height:12px;border-radius:50%;background:#fff;

    border:2.5px solid var(--line)}
.sc-ot .tli.done .d {background:var(--wood-1);border-color:var(--wood-1)}
.sc-ot .tli.now .d {left:-21px;top:2px;width:14px;height:14px;border-color:var(--wood-1);background:#fff;

    box-shadow:0 0 0 4px rgba(46,106,76,.16);animation:pl 1.8s infinite}
.sc-ot .tli .row .tm {margin-left:auto;font-size:12px;color:var(--ink-3);white-space:nowrap}
.sc-ot .srow.done .sd {background:var(--wood-1);border-color:var(--wood-1);position:relative}
.sc-ot .srow.done .sd::after {content:"";position:absolute;left:4.2px;top:1.6px;width:4px;height:7px;

    border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(42deg)}
.sc-ot .srow .ss {font-size:12px;color:var(--ink-3)}
.sc-ot .srow.now .ss {color:var(--accent);font-weight:800}
.sc-ot .upl {display:flex;gap:8px}
.sc-ot .upl .u {flex:1;border:1.5px dashed #D5E0D1;background:#FAFCF7;border-radius:11px;padding:12px 4px;

    display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer}
.sc-ot .upl .u svg {color:var(--wood-1)}
.sc-ot .upl .u span {font-size:12.5px;font-weight:700;color:var(--ink-2)}
.sc-iv .subh .side {font-size:13px;color:var(--ink-3);font-weight:600}
.sc-iv .subh.int .side {color:rgba(255,255,255,.6)}
.sc-iv .subh.int .lock {font-size:11px;font-weight:800;color:#FFD9A0;border:1px solid rgba(255,217,160,.4);

    border-radius:20px;padding:2px 7px;letter-spacing:.3px}
.sc-iv .hero .ht .hi {font-size:12px;font-weight:700;color:rgba(255,255,255,.82)}
.sc-iv .hero .sub {font-size:13px;color:rgba(255,255,255,.82);line-height:1.65;margin-top:8px;position:relative;max-width:280px}
.sc-iv .hero .sub b {color:#FFE1B0;font-weight:800}
.sc-iv .ct {display:flex;align-items:center;gap:7px;margin-bottom:10px}
.sc-iv .ct b {font-size:14px;font-weight:800}
.sc-iv .ct .sp {flex:1}
.sc-iv .ct .tip {font-size:12px;color:var(--ink-3);font-weight:600}
.sc-iv .pm.b .pi {background:var(--blue-bg);color:var(--blue)}
.sc-iv .calc .row .sm {font-size:12px;color:var(--ink-3);font-weight:600}
.sc-iv .kind.on {border-color:#CBDCC9;background:#F9FCF6}
.sc-iv .kind .kb.n {background:#EEF3EA;color:var(--ink-2)}
.sc-iv .entity .seal {width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#E9C46A,var(--gold));

    display:flex;align-items:center;justify-content:center;flex:0 0 30px;box-shadow:0 3px 8px rgba(184,134,11,.32)}
.sc-iv .entity .ev {display:flex;align-items:center;gap:6px;margin-top:9px;padding-top:9px;border-top:1px dashed #D7E2D2;

    font-size:12.5px;font-weight:700;color:var(--wood-1)}
.sc-iv .tri > div.cl {display:flex;align-items:center;gap:3px;color:var(--ink)}
.sc-iv .tri > div.cl svg {flex:0 0 auto}
.sc-iv .tri > div.cl em {font-style:normal;font-size:10.5px;color:var(--ink-3)}
.sc-iv .chip.on {background:linear-gradient(135deg,var(--wood-deep),var(--wood-1));border-color:transparent;color:#fff;

    box-shadow:0 3px 9px rgba(46,106,76,.28)}
.sc-iv .agree .cb {width:15px;height:15px;border-radius:4px;background:var(--wood-1);flex:0 0 15px;position:relative;margin-top:1px}
.sc-iv .agree .cb::after {content:"";position:absolute;left:4.6px;top:1.2px;width:4px;height:7.5px;

    border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(42deg)}
.sc-iv .after .ar .n {width:15px;height:15px;border-radius:50%;background:linear-gradient(135deg,var(--wood-1),var(--wood-2));

    color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 15px;margin-top:1px}
.sc-iv .fli .d {position:absolute;left:-21px;top:3px;width:12px;height:12px;border-radius:50%;background:#fff;border:2.5px solid var(--line)}
.sc-iv .fli.done .d {background:var(--wood-1);border-color:var(--wood-1)}
.sc-iv .fli.now .d {left:-22px;top:2px;width:14px;height:14px;border-color:var(--wood-1);background:#fff;

    box-shadow:0 0 0 4px rgba(46,106,76,.16);animation:pl 1.8s infinite}
.sc-iv .fli .row .tm {margin-left:auto;font-size:12px;color:var(--ink-3);white-space:nowrap}
.sc-iv .fli.now .row .tm {color:var(--accent);font-weight:800}
.sc-iv .ext .er .n {width:16px;height:16px;border-radius:50%;background:#E7F0DF;color:var(--wood-1);font-size:11px;font-weight:800;

    display:flex;align-items:center;justify-content:center;flex:0 0 16px;margin-top:1px}
.sc-iv .ch-row {display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);background:#fff}
.sc-iv .ch-row:last-child {border-bottom:none}
.sc-iv .ch-row.on {background:linear-gradient(135deg,#F9FCF5,#F1F6EC)}
.sc-iv .ch-row .ch-n {width:16px;height:16px;border-radius:50%;background:#EEF3EA;color:var(--ink-2);font-size:11px;

    font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 16px}
.sc-iv .ch-row.on .ch-n {background:linear-gradient(135deg,var(--gold),var(--wood-2));color:#fff}
.sc-iv .ch-row .ch-b {flex:1;min-width:0}
.sc-iv .ch-row .ch-b b {font-size:13px;font-weight:800;display:block;color:var(--wood-deep)}
.sc-iv .ch-row .ch-b span {font-size:11.5px;color:var(--ink-3);display:block;margin-top:1.5px;line-height:1.5}
.sc-iv .ch-row .ch-t {font-size:11px;font-weight:800;padding:2px 6px;border-radius:5px;white-space:nowrap}
.sc-iv .ch-row .ch-t.mute {background:#EEF3EA;color:var(--ink-2)}
.sc-iv .ch-row .ch-t.on {background:var(--green-bg);color:var(--green)}
.sc-iv .wyg.on {border-color:#CBE3D6;background:#FAFDFB}
.hm2-pill.on {background:#fff;color:#2E6A4C}
/* [已隐藏] 木方 / 托盘料 两卡时曾用 repeat(3,1fr)；恢复两卡请把上面这行改回 repeat(3,1fr) */

  .hm2-cat.hot {padding:16px 14px 14px}
.hm2-cat.hot {background:linear-gradient(155deg,#2E6A4C,#4B8760);border-color:#2E6A4C;

    box-shadow:0 8px 18px rgba(46,106,76,.3)}
.hm2-cat.hot .hm2-cat-ic {background:rgba(255,255,255,.2);color:#fff}
.hm2-cat.hot b {color:#fff;font-size:18px}
.hm2-cat.hot .hm2-cat-sub {color:rgba(255,255,255,.8)}
.hm2-cat.hot .hm2-cat-go {color:#FFE3B4}
.hm2-vic.b {background:#EAF0F8;color:#4A6FA5}
.hm2-ric.b {background:#EAF0F8;color:#4A6FA5}
.hm2-vtabs button.on {border-color:var(--green);background:linear-gradient(150deg,#2E7D5B,#2E6A4C);color:#fff;box-shadow:0 4px 10px rgba(46,106,76,.22)}
.hm2-vtabs button.on i {color:rgba(255,255,255,.78)}
/* ====== [已隐藏] hm2-bd.team / bd-logo.tm 施工队配色 · 恢复时删除本注释的起止标记即可 ======

.hm2-bd.team .bd-logo.tm {background:linear-gradient(150deg,#C77D2B,#B97A33)}
====== [已隐藏] hm2-bd.team / bd-logo.tm 施工队配色 结束 ====== */

  /* ====== [已隐藏] tm-tag 施工队小标样式 · 恢复时删除本注释的起止标记即可 ======

.tm-tag {font-style:normal;display:inline-flex;align-items:center;margin-left:5px;font-size:10px;font-weight:800;color:#A0631D;

    background:#FBF0DF;border-radius:5px;padding:1px 4px;vertical-align:1px}
.sc-bl .hero .ht .hi {font-size:13px;color:rgba(255,255,255,.72)}
.sc-bl .bsw span.on {background:linear-gradient(150deg,#2E6A4C,#4B8760);border-color:#2E6A4C;color:#fff}
.rh-sub2 .dot {width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.5)}
.lg-note {margin-top:11px;font-size:13.5px;line-height:1.6;color:var(--ink-2);background:#F4F8EF;border:1px dashed #D6E3CE;border-radius:10px;padding:9px 11px}
.lg-note b {color:var(--wood-deep)}
.bq-sort button.on {background:linear-gradient(135deg,#153A28,#2E6A4C);border-color:transparent;color:#fff;

    box-shadow:0 3px 9px rgba(46,106,76,.24)}
.bq-tag.gray {background:#F2F2F4;color:#8A8A96}
.bq-price .d {display:block;font-size:11.5px;color:var(--ink-3);margin-top:3px}
.sale-strip .dot {width:5px;height:5px;border-radius:50%;background:#C64A2B;flex:0 0 5px}
.sale-ct .nm {min-width:0}
.sale-ct .nm b {display:block;font-size:13.5px;color:#173526;line-height:1.2;

    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sale-ct .nm span {display:block;font-size:11px;color:#6E8A79;margin-top:2px}
.sale-ft .ok {color:#2E7D5B;font-weight:800}
.sale-ft .tm {margin-left:auto;font-weight:800;color:#C64A2B}
.sc-sl .hero .ht .hi {font-size:11.5px;font-weight:700;color:rgba(255,255,255,.85);

    border:1px solid rgba(255,255,255,.35);border-radius:9px;padding:3px 8px}
.sc-sl .hero .sub {font-size:13px;color:rgba(255,255,255,.84);line-height:1.65;margin-top:8px;

    position:relative;max-width:292px}
.sc-sl .hero .sub b {color:#FFE1B0;font-weight:800}
.sc-sl .svbar button.on {background:linear-gradient(135deg,#C64A2B,#A8381D);border-color:#C64A2B;color:#fff}
.sc-sl .sb-tx {flex:1;min-width:0}
.sc-sl .sb-tx b {display:block;font-size:14px;color:#173526}
.sc-sl .sb-tx span {display:block;font-size:11.5px;color:#6E8A79;margin-top:3px;

    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-sl .svi-l span .ok {color:#2E7D5B;font-weight:700}
.sc-sl .svi-l span .no {color:#C1641F;font-weight:700}
.sc-sl .svi-r .d {display:inline-block;font-size:11px;font-weight:800;color:#fff;border-radius:8px;

    padding:2px 6px;margin-top:5px;background:linear-gradient(135deg,#C64A2B,#E2703F)}
.sc-sl .svi-r .d.plain {background:#F2F2F4;color:#8A8A96}
.sc-gd .svbar button.on {background:linear-gradient(135deg,#2E7D5B,#1B5741);border-color:#2E7D5B}
.gd-tag.warn {color:#B97A33;background:#FBF0E1}
.sc-jn .svbar button.on {background:linear-gradient(135deg,#333D35,#1B231D);border-color:#333D35}
.sc-jn .chip.on {background:linear-gradient(135deg,#333D35,#1B231D);border-color:transparent;

    color:#fff;font-weight:800}
.sc-jn .up {display:flex;align-items:center;gap:10px;border:1.5px dashed #D5E0D0;background:#FAFCF7;

    border-radius:12px;padding:11px 12px;cursor:pointer}
.sc-jn .jn-ok.on {display:flex}
.rf-chip.on {background:linear-gradient(135deg,#2E7D5B,#2E6A4C);color:#fff;border-color:transparent;

    box-shadow:0 3px 9px rgba(46,106,76,.22)}
.rf-row .k3.up {color:#C64A2B}
.rf-rr .nm {width:30px;flex:0 0 30px;font-size:13px;color:var(--ink-2);font-weight:700}
.rf-rr .bar i.hi {background:linear-gradient(90deg,#E0A45C,#C77D2B)}
.rf-rr .vv {width:74px;flex:0 0 74px;text-align:right;font-size:12.5px;font-weight:800;color:var(--wood-deep);

    font-variant-numeric:tabular-nums}
.kf-panel.on {opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.kf-it .kf-ic.b {background:#EAF0F8;color:#4A6FA5}
#leadMask.on {display:flex}
.lead-f .chip.on {background:linear-gradient(135deg,#2E7D5B,#2E6A4C);border-color:transparent;color:#fff;font-weight:800}
.lead-ok.on {display:block}
.lead-ok .no {display:inline-block;margin-top:6px;font-size:13.5px;font-weight:900;color:var(--green);

    background:var(--green-bg);border-radius:8px;padding:4px 10px;letter-spacing:.5px}
/* ═══════════ 02/03 管理后台 样式（已作用域隔离 .adm-scope） ═══════════ */

.adm-scope :root {--ink:#1C2B21;

    --ink-2:#52705F;

    --ink-3:#829E8C;

    --bg:#EFF4EA;

    --card:#FFFFFF;

    --line:#E3EBE0;

    --wood-1:#2E6A4C;

    --wood-2:#4E8C63;

    --wood-deep:#19422D;

    --wood-deep2:#2A5F43;

    --accent:#C15F24;

    --green:#2E7D5B;

    --green-bg:#E8F2EC;

    --red:#C64A2B;

    --red-bg:#FBEBE4;

    --orange:#C77D2B;

    --orange-bg:#FBF0DF;

    --blue:#2C6E9B;

    --blue-bg:#E7F0F6;

    --shadow:0 6px 20px rgba(25,66,45,.10);

    --shadow-lg:0 18px 50px rgba(25,66,45,.22);

    --r:14px;

    --r-lg:18px;

    --r-sm:9px;

    --grain:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMjAnIGhlaWdodD0nMzIwJz48ZmlsdGVyIGlkPSdnJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC4wOSAwLjAwNicgbnVtT2N0YXZlcz0nNCcgc2VlZD0nNycgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjxmZUNvbG9yTWF0cml4IHR5cGU9J21hdHJpeCcgdmFsdWVzPScwIDAgMCAwIDAuNDAgIDAgMCAwIDAgMC4zNiAgMCAwIDAgMCAwLjMwICAwIDAgMCAwLjE2IDAnLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0nMzIwJyBoZWlnaHQ9JzMyMCcgZmlsdGVyPSd1cmwoI2cpJy8+PC9zdmc+");

    --mono:"SF Mono",Menlo,Consolas,"Courier New",monospace;}
.adm-scope * {box-sizing:border-box;margin:0;padding:0}
.adm-scope body {font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;

    color:var(--ink);background:var(--bg);

    background-image:var(--grain),linear-gradient(160deg,#F3F7EE,#E8F0E2 60%,#EFF4EA);

    padding:30px 26px 46px;-webkit-font-smoothing:antialiased;}
.adm-scope ::-webkit-scrollbar {width:9px;height:9px}
.adm-scope ::-webkit-scrollbar-thumb {background:#C6D6C4;border-radius:5px}
.adm-scope ::-webkit-scrollbar-track {background:transparent}
/* ============ 页头 ============ */

.adm-scope .page-head {max-width:1900px;margin:0 auto 24px;background:linear-gradient(135deg,#2E6A4C,#1F5039 70%,#19422D);

    border-radius:var(--r-lg);padding:26px 30px;color:#fff;position:relative;overflow:hidden;

    box-shadow:var(--shadow-lg);background-blend-mode:overlay;}
.adm-scope .page-head::after {content:"";position:absolute;right:-40px;top:-60px;width:280px;height:280px;border-radius:50%;

    background:radial-gradient(circle,rgba(255,255,255,.13),transparent 68%);}
.adm-scope .page-head .ph-row {display:flex;align-items:flex-start;justify-content:space-between;gap:20px;position:relative;z-index:2}
.adm-scope .page-head h1 {font-size:25px;letter-spacing:-.4px;display:flex;align-items:center;gap:11px}
.adm-scope .page-head h1 .seal {width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.16);

    border:1.5px solid rgba(255,255,255,.44);display:inline-flex;align-items:center;justify-content:center;

    font-size:14px;font-weight:900;flex:0 0 30px;}
.adm-scope .page-head p {margin-top:9px;font-size:14px;color:rgba(255,255,255,.8);line-height:1.72;max-width:1010px}
.adm-scope .page-head p b {color:#fff;font-weight:800}
.adm-scope .ph-badges {display:flex;gap:7px;flex-wrap:wrap;margin-top:14px;position:relative;z-index:2}
.adm-scope .ph-badges span {font-size:13px;font-weight:700;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);border-radius:7px;padding:5px 10px}
/* ============ 双栏 ============ */

.adm-scope .boards {max-width:1900px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:22px;align-items:start}
.adm-scope .board {background:#fff;border-radius:var(--r-lg);border:1px solid var(--line);

    box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;}
.adm-scope .board-head {padding:17px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#F7FAF3,#EEF5E8);display:flex;align-items:center;gap:12px}
.adm-scope .board-head .bh-ic {width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:0 0 34px;color:#fff}
.adm-scope .bh-ic.admin {background:linear-gradient(135deg,#2E6A4C,#1F5039)}
.adm-scope .bh-ic.vendor {background:linear-gradient(135deg,#4E8C63,#2E6A4C)}
.adm-scope .board-head h2 {font-size:17px;letter-spacing:-.2px}
.adm-scope .board-head .bh-sub {font-size:13.5px;color:var(--ink-3);margin-top:3px;line-height:1.5}
.adm-scope .board-head .bh-tags {margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.adm-scope .bh-tags span {font-size:12px;font-weight:800;border-radius:6px;padding:4px 8px;background:#fff;border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.adm-scope .bh-tags span.hi {background:var(--green-bg);border-color:#C7E2D3;color:var(--green)}
/* ============ 浏览器框 ============ */

.adm-scope .browser {background:#F5F8F2;display:flex;flex-direction:column;min-height:0}
.adm-scope .b-bar {display:flex;align-items:center;gap:9px;padding:10px 14px;background:#EDF3E8;border-bottom:1px solid var(--line)}
.adm-scope .b-dots {display:flex;gap:5px;flex:0 0 auto}
.adm-scope .b-dots i {width:9px;height:9px;border-radius:50%;display:block}
.adm-scope .b-dots i:nth-child(1) {background:#E0806E}
.adm-scope .b-dots i:nth-child(2) {background:#E4BE6A}
.adm-scope .b-dots i:nth-child(3) {background:#8FC79B}
.adm-scope .b-url {flex:1;background:#fff;border:1px solid var(--line);border-radius:7px;padding:5px 11px;

    font-size:13px;color:var(--ink-3);font-family:var(--mono);display:flex;align-items:center;gap:6px;min-width:0;}
.adm-scope .b-url b {color:var(--ink-2);font-weight:700;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-scope .b-url .lock {flex:0 0 auto;color:var(--green)}
/* ============ 后台外壳 ============ */

.adm-scope .app {display:flex;flex:1;min-height:0}
/* 左侧菜单 */

.adm-scope .side {width:206px;flex:0 0 206px;background:linear-gradient(180deg,#22452F,#1A3A26);

    display:flex;flex-direction:column;padding:0 0 12px;}
.adm-scope .side.dark-2 {background:linear-gradient(180deg,#2A5F43,#20492F)}
.adm-scope .side-brand {padding:15px 16px 13px;display:flex;align-items:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.09)}
.adm-scope .side-brand .sb-ic {width:27px;height:27px;border-radius:8px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#fff;flex:0 0 27px}
.adm-scope .side-brand .sb-tx b {display:block;font-size:14px;color:#fff;font-weight:800;letter-spacing:.2px}
.adm-scope .side-brand .sb-tx span {font-size:11.5px;color:rgba(255,255,255,.56);display:block;margin-top:2px}
.adm-scope .side-group {padding:12px 10px 0}
.adm-scope .side-group .sg-t {font-size:11.5px;font-weight:800;color:rgba(255,255,255,.42);letter-spacing:.7px;padding:0 8px 7px}
.adm-scope .side-item {display:flex;align-items:center;gap:9px;padding:10px 10px;border-radius:9px;font-size:13.5px;

    color:rgba(255,255,255,.76);cursor:pointer;transition:.14s;font-weight:600;margin-bottom:2px;}
.adm-scope .side-item:hover {background:rgba(255,255,255,.08);color:#fff}
.adm-scope .side-item.on {background:rgba(255,255,255,.15);color:#fff;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.11)}
.adm-scope .side-item .si-ic {width:15px;flex:0 0 15px;opacity:.85;display:flex;align-items:center;justify-content:center}
.adm-scope .side-item .si-badge {margin-left:auto;font-size:11px;font-weight:900;background:var(--red);color:#fff;

    border-radius:8px;padding:1.5px 5.5px;line-height:1.45;}
.adm-scope .side-item .si-badge.amber {background:var(--orange)}
.adm-scope .side-foot {margin-top:auto;padding:11px 10px 0;border-top:1px solid rgba(255,255,255,.09)}
.adm-scope .side-user {display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.07)}
.adm-scope .side-user .su-av {width:23px;height:23px;border-radius:50%;background:linear-gradient(135deg,#8FBF9C,#4E8C63);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:900;color:#1A3A26;flex:0 0 23px}
.adm-scope .side-user .su-tx b {display:block;font-size:13px;color:#fff;font-weight:700}
.adm-scope .side-user .su-tx span {font-size:11px;color:rgba(255,255,255,.54)}
/* 右侧主区 */

.adm-scope .main {flex:1;min-width:0;display:flex;flex-direction:column;background:#F7FAF4}
.adm-scope .topbar {display:flex;align-items:center;gap:10px;padding:11px 16px;background:#fff;border-bottom:1px solid var(--line);}
.adm-scope .crumb {font-size:13.5px;color:var(--ink-3);display:flex;align-items:center;gap:6px}
.adm-scope .crumb b {color:var(--ink);font-weight:800;font-size:14px}
.adm-scope .crumb i {font-style:normal;color:#C6D6C4}
.adm-scope .topbar .tb-r {margin-left:auto;display:flex;align-items:center;gap:8px}
.adm-scope .tb-chip {font-size:12.5px;font-weight:700;border-radius:7px;padding:4.5px 9px;background:var(--green-bg);color:var(--green);border:1px solid #C7E2D3;white-space:nowrap}
.adm-scope .tb-chip.warn {background:var(--red-bg);color:var(--red);border-color:#F0CFC2}
.adm-scope .tb-chip.ok {background:var(--green-bg);color:var(--green);border-color:#C7E2D3}
.adm-scope .tb-ic {width:26px;height:26px;border-radius:8px;background:#F2F7EE;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-2);position:relative;flex:0 0 26px}
.adm-scope .tb-ic .dot {position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--red);border:1.5px solid #fff}
.adm-scope .pane {padding:15px;overflow-y:auto}
.adm-scope .pane-grid {display:grid;grid-template-columns:1fr;gap:12px}
/* KPI */

.adm-scope .kpis {display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.adm-scope .kpi {background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:11px 12px;box-shadow:0 2px 8px rgba(25,66,45,.05);position:relative;overflow:hidden}
.adm-scope .kpi .kl {font-size:12px;color:var(--ink-3);font-weight:700;display:flex;align-items:center;gap:5px}
.adm-scope .kpi .kv {font-size:21px;font-weight:900;color:var(--wood-deep);letter-spacing:-.5px;margin-top:5px;line-height:1.1}
.adm-scope .kpi .kv small {font-size:12px;color:var(--ink-3);font-weight:700;margin-left:2px;letter-spacing:0}
.adm-scope .kpi .kd {font-size:11.5px;color:var(--ink-3);margin-top:4px;font-weight:600}
.adm-scope .kpi .kd b {font-weight:800}
.adm-scope .kpi .kd.up b {color:var(--red)}
.adm-scope .kpi .kd.down b {color:var(--green)}
.adm-scope .kpi::after {content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--wood-1)}
.adm-scope .kpi.k-a::after {background:var(--wood-1)}
.adm-scope .kpi.k-b::after {background:var(--orange)}
.adm-scope .kpi.k-c::after {background:var(--blue)}
.adm-scope .kpi.k-d::after {background:var(--red)}
/* 卡片 */

.adm-scope .crd {background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 2px 8px rgba(25,66,45,.05);overflow:hidden}
.adm-scope .crd-h {display:flex;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#FBFDF9,#F4F9EF);flex-wrap:wrap}
.adm-scope .crd-h h3 {font-size:14px;font-weight:800;display:flex;align-items:center;gap:6px;white-space:nowrap}
.adm-scope .crd-h h3 em {width:3px;height:12px;border-radius:2px;background:var(--wood-1);display:inline-block}
.adm-scope .crd-h .ch-r {margin-left:auto;display:flex;align-items:center;gap:7px}
.adm-scope .lnk {font-size:13px;color:var(--wood-1);font-weight:800;cursor:pointer;display:flex;align-items:center;gap:3px}
.adm-scope .lnk:hover {text-decoration:underline}
.adm-scope .mini-btn {font-size:12.5px;font-weight:800;border-radius:7px;padding:5px 10px;border:1px solid var(--line);background:#fff;color:var(--ink-2);cursor:pointer;font-family:inherit;transition:.14s;white-space:nowrap}
.adm-scope .mini-btn:hover {border-color:var(--wood-2);color:var(--wood-1)}
.adm-scope .mini-btn.pri {background:var(--wood-1);border-color:var(--wood-1);color:#fff}
.adm-scope .mini-btn.pri:hover {background:var(--wood-deep);border-color:var(--wood-deep);color:#fff}
.adm-scope .mini-btn.warn {background:var(--red);border-color:var(--red);color:#fff}
.adm-scope .mini-btn.ghost {background:var(--green-bg);border-color:#C7E2D3;color:var(--green)}
.adm-scope .crd-b {padding:12px 13px}
/* 表格 */

.adm-scope table.tb {width:100%;border-collapse:collapse}
.adm-scope table.tb th {font-size:12px;font-weight:800;color:var(--ink-3);text-align:left;padding:8px 9px;

    border-bottom:1px solid var(--line);background:#FAFCF8;white-space:nowrap;letter-spacing:.2px;}
.adm-scope table.tb td {font-size:13px;padding:11px 9px;border-bottom:1px solid #F2F7EE;color:var(--ink-2);vertical-align:middle}
.adm-scope table.tb tr:last-child td {border-bottom:none}
.adm-scope table.tb tr:hover td {background:#FBFDF8}
.adm-scope table.tb td .nm {font-weight:800;color:var(--ink);font-size:13.5px}
.adm-scope table.tb td .sub {font-size:11.5px;color:var(--ink-3);display:block;margin-top:2px}
.adm-scope table.tb .acts {display:flex;gap:5px;justify-content:flex-end}
/* 窄卡紧凑表 */

.adm-scope .tb-sm th, .adm-scope .tb-sm td {padding:8px 6px}
.adm-scope .tb-sm td {font-size:12.5px}
.adm-scope .tb-sm .pl {font-size:11px;padding:2.5px 6px}
.adm-scope .tb-sm .acts {gap:0}
.adm-scope .th-r {text-align:right!important}
/* 状态药丸 */

.adm-scope .pl {font-size:12px;font-weight:800;border-radius:6px;padding:3px 8px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.adm-scope .pl::before {content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:0 0 5px}
.adm-scope .pl.wait {background:var(--orange-bg);color:#A0631D}
.adm-scope .pl.ok {background:var(--green-bg);color:var(--green)}
.adm-scope .pl.no {background:var(--red-bg);color:var(--red)}
.adm-scope .pl.info {background:var(--blue-bg);color:var(--blue)}
.adm-scope .pl.gray {background:#F0F3EE;color:var(--ink-3)}
/* 五项核实进度 */

.adm-scope .gd-list {display:flex;flex-direction:column;gap:0}
.adm-scope .gd-i {display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px dashed #EBF2E6}
.adm-scope .gd-i:last-child {border-bottom:none}
.adm-scope .gd-i .gd-n {width:22px;height:22px;border-radius:7px;flex:0 0 22px;display:flex;align-items:center;justify-content:center;

    font-size:12px;font-weight:900;background:#F2F7EE;color:var(--ink-3);border:1px solid var(--line);}
.adm-scope .gd-i.done .gd-n {background:var(--green);color:#fff;border-color:var(--green)}
.adm-scope .gd-i.doing .gd-n {background:var(--orange);color:#fff;border-color:var(--orange)}
.adm-scope .gd-i.wait .gd-n {background:#fff;color:var(--ink-3)}
.adm-scope .gd-i .gd-tx {flex:1;min-width:0}
.adm-scope .gd-i .gd-tx b {font-size:13.5px;font-weight:800;color:var(--ink);display:block}
.adm-scope .gd-i .gd-tx span {font-size:11.5px;color:var(--ink-3);display:block;margin-top:2px;line-height:1.5}
.adm-scope .gd-i .gd-tx span.ev {color:var(--blue);font-weight:700}
.adm-scope .gd-bar {height:4px;border-radius:3px;background:#EEF4E9;overflow:hidden;margin-top:5px}
.adm-scope .gd-bar i {display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#4E8C63,#2E7A56)}
/* 时间轴 */

.adm-scope .tl {position:relative;padding-left:17px}
.adm-scope .tl::before {content:"";position:absolute;left:4.5px;top:5px;bottom:5px;width:2px;background:#E6EFE1;border-radius:2px}
.adm-scope .tl-i {position:relative;padding:0 0 12px}
.adm-scope .tl-i:last-child {padding-bottom:0}
.adm-scope .tl-i::before {content:"";position:absolute;left:-17px;top:4px;width:11px;height:11px;border-radius:50%;background:#fff;border:2.5px solid #D5E4D0}
.adm-scope .tl-i.done::before {border-color:var(--green);background:var(--green)}
.adm-scope .tl-i.doing::before {border-color:var(--orange);background:var(--orange);box-shadow:0 0 0 3px var(--orange-bg)}
.adm-scope .tl-i b {font-size:13.5px;font-weight:800;color:var(--ink);display:block}
.adm-scope .tl-i .tm {font-size:11.5px;color:var(--ink-3);font-family:var(--mono);margin-top:2px;display:block}
.adm-scope .tl-i p {font-size:12.5px;color:var(--ink-2);line-height:1.6;margin-top:4px}
.adm-scope .tl-i .who {font-size:11.5px;font-weight:800;color:var(--wood-1);background:var(--green-bg);border-radius:5px;padding:1.5px 6px;margin-left:5px}
/* 对不上 · 差异行 */

.adm-scope .diff {display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:var(--r-sm);background:var(--red-bg);border:1px solid #F2D4C7;margin-bottom:7px}
.adm-scope .diff:last-child {margin-bottom:0}
.adm-scope .diff .dc {font-size:12.5px;color:var(--ink-2);flex:1;line-height:1.55}
.adm-scope .diff .dc b {color:var(--red);font-weight:800}
.adm-scope .diff .dv {font-size:11.5px;font-weight:800;color:var(--red);background:#fff;border-radius:5px;padding:2px 6px;white-space:nowrap}
/* 工具条 */

.adm-scope .toolbar {display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:11px}
.adm-scope .search {flex:1;min-width:130px;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 11px;color:var(--ink-3);font-size:13px}
.adm-scope .tabs {display:flex;gap:4px;background:#EEF4E9;border-radius:9px;padding:3px}
.adm-scope .tabs button {border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:700;color:var(--ink-2);padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:.14s}
.adm-scope .tabs button.on {background:#fff;color:var(--wood-deep);box-shadow:0 2px 6px rgba(25,66,45,.12);font-weight:800}
.adm-scope .tabs button .n {font-size:11px;font-weight:900;background:var(--red);color:#fff;border-radius:7px;padding:1px 5px;margin-left:4px}
.adm-scope .tabs button.on .n {background:var(--red)}
/* 表单元素 */

.adm-scope .fld {display:flex;flex-direction:column;gap:5px}
.adm-scope .fld label {font-size:12.5px;font-weight:800;color:var(--ink-2);display:flex;align-items:center;gap:4px}
.adm-scope .fld label .st {color:var(--red)}
.adm-scope .fld input, .adm-scope .fld select, .adm-scope .fld textarea {font-family:inherit;font-size:13.5px;color:var(--ink);background:#fff;border:1.5px solid var(--line);

    border-radius:var(--r-sm);padding:8px 10px;outline:none;transition:.14s;width:100%;}
.adm-scope .fld input:focus, .adm-scope .fld select:focus, .adm-scope .fld textarea:focus {border-color:var(--wood-2);box-shadow:0 0 0 3px rgba(78,140,99,.1)}
.adm-scope .fld input::placeholder, .adm-scope .fld textarea::placeholder {color:#B4C4B0}
.adm-scope .fld .hint {font-size:11.5px;color:var(--ink-3);line-height:1.5}
.adm-scope .f2 {display:grid;grid-template-columns:1fr 1fr;gap:11px}
.adm-scope .f3 {display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
/* 上传位 */

.adm-scope .upl {border:1.5px dashed #C9DCC2;border-radius:var(--r-sm);background:#FAFDF7;padding:13px;text-align:center;cursor:pointer;transition:.14s}
.adm-scope .upl:hover {border-color:var(--wood-2);background:#F4FAEE}
.adm-scope .upl .ui {width:26px;height:26px;border-radius:8px;background:var(--green-bg);color:var(--wood-1);display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}
.adm-scope .upl b {font-size:13px;font-weight:800;color:var(--wood-1);display:block}
.adm-scope .upl span {font-size:11.5px;color:var(--ink-3);display:block;margin-top:3px;line-height:1.5}
.adm-scope .upl.done {border-style:solid;border-color:#C7E2D3;background:var(--green-bg);text-align:left;display:flex;align-items:center;gap:9px;padding:10px 12px}
.adm-scope .upl.done .ui {margin-bottom:0;background:#fff;font-size:14.5px}
.adm-scope .upl.done b {color:var(--green)}
.adm-scope .upl.done span {margin-top:2px}
.adm-scope .upl.done .uv {margin-left:auto;font-size:11.5px;font-weight:800;color:var(--green);background:#fff;border-radius:5px;padding:2.5px 7px;border:1px solid #C7E2D3}
/* 详情信息行 */

.adm-scope .kv-list {display:flex;flex-direction:column;gap:0}
.adm-scope .kv-r {display:flex;align-items:flex-start;gap:10px;padding:8px 2px;border-bottom:1px dashed #EBF2E6;font-size:13px}
.adm-scope .kv-r:last-child {border-bottom:none}
.adm-scope .kv-r .kk {flex:0 0 88px;color:var(--ink-3);font-weight:700;font-size:12.5px}
.adm-scope .kv-r .vv {flex:1;color:var(--ink);font-weight:700;line-height:1.6}
.adm-scope .kv-r .vv.lite {font-weight:600;color:var(--ink-2)}
.adm-scope .kv-r .vv .tagline {margin-right:6px}
.adm-scope .kv-r .vv .seal {display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:900;background:var(--green);color:#fff;border-radius:4px;padding:1.5px 5px;vertical-align:1px}
.adm-scope .kv-r .vv .warnmark {font-size:11px;font-weight:900;background:var(--red-bg);color:var(--red);border-radius:4px;padding:1.5px 5px}
/* 双栏细分 */

.adm-scope .split2 {display:grid;grid-template-columns:1.12fr .88fr;gap:12px;align-items:start}
.adm-scope .split22 {display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
/* 流程步骤条 */

.adm-scope .flw {display:flex;align-items:center;gap:0;padding:12px 13px}
.adm-scope .flw-s {flex:1;display:flex;align-items:center;gap:8px;min-width:0}
.adm-scope .flw-s .fn {width:21px;height:21px;border-radius:50%;flex:0 0 21px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;background:#F0F4EC;color:var(--ink-3);border:1px solid var(--line)}
.adm-scope .flw-s.done .fn {background:var(--green);color:#fff;border-color:var(--green)}
.adm-scope .flw-s.doing .fn {background:var(--orange);color:#fff;border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-bg)}
.adm-scope .flw-s .ft b {font-size:12.5px;font-weight:800;color:var(--ink);display:block;white-space:nowrap}
.adm-scope .flw-s .ft span {font-size:11px;color:var(--ink-3);display:block;margin-top:1px;white-space:nowrap}
.adm-scope .flw-s.done .ft b, .adm-scope .flw-s.doing .ft b {color:var(--wood-deep)}
.adm-scope .flw-l {flex:0 0 20px;height:2px;background:#E4EDDF;border-radius:2px;margin:0 4px}
.adm-scope .flw-l.done {background:var(--green)}
/* 注释/提示 */

.adm-scope .note {font-size:12px;color:var(--ink-3);line-height:1.65;background:#FAFCF8;border:1px dashed var(--line);border-radius:var(--r-sm);padding:8px 10px}
.adm-scope .note b {color:var(--wood-1);font-weight:800}
.adm-scope .note.warn {background:#FFFBF3;border-color:#EEDFC2}
.adm-scope .note.warn b {color:var(--orange)}
/* 隐藏标记（保持可恢复） */

.adm-scope .hidden-note {font-size:12px;color:#9AAE96;background:#F4F7F1;border:1px dashed #D3E0CE;border-radius:var(--r-sm);

    padding:7px 10px;line-height:1.6;display:flex;align-items:center;gap:7px;}
.adm-scope .hidden-note code {font-family:var(--mono);font-size:11.5px;background:#fff;border:1px solid var(--line);border-radius:4px;padding:1px 4px;color:var(--ink-2)}
/* ====== 线索池 ====== */

.adm-scope .lead-sum {display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:11px}
.adm-scope .ls-c {border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;background:#FCFEFB}
.adm-scope .ls-c .lsl {font-size:12px;color:var(--ink-3);font-weight:700;display:flex;align-items:center;gap:5px}
.adm-scope .ls-c .lsv {font-size:18px;font-weight:900;color:var(--wood-deep);margin-top:4px;letter-spacing:-.3px}
.adm-scope .ls-c .lsv small {font-size:11.5px;color:var(--ink-3);font-weight:700;margin-left:2px}
.adm-scope .ls-c.new {background:linear-gradient(135deg,#FFF9F0,#FDF3E4);border-color:#EBD9B8}
.adm-scope .ls-c.new .lsv {color:#A0631D}
/* 线索来源标签 */

.adm-scope .src {font-size:11.5px;font-weight:800;border-radius:5px;padding:2.5px 6px;display:inline-block;white-space:nowrap}
.adm-scope .src.a {background:var(--green-bg);color:var(--green)}
.adm-scope .src.b {background:var(--orange-bg);color:#A0631D}
.adm-scope .src.c {background:var(--blue-bg);color:var(--blue)}
.adm-scope .src.d {background:#F0F3EE;color:var(--ink-3)}
/* 客户池卡片 */

.adm-scope .cli-row {display:flex;align-items:center;gap:9px;padding:9px 2px;border-bottom:1px dashed #EBF2E6}
.adm-scope .cli-row:last-child {border-bottom:none}
.adm-scope .cli-row .ca {width:26px;height:26px;border-radius:8px;flex:0 0 26px;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:900;color:#fff;background:linear-gradient(135deg,#4E8C63,#2E6A4C)}
.adm-scope .cli-row .ca.g2 {background:linear-gradient(135deg,#5E9BA8,#2C6E9B)}
.adm-scope .cli-row .ca.g3 {background:linear-gradient(135deg,#C79A5A,#A0631D)}
.adm-scope .cli-row .ct {flex:1;min-width:0}
.adm-scope .cli-row .ct b {font-size:13px;font-weight:800;color:var(--ink);display:block}
.adm-scope .cli-row .ct span {font-size:11.5px;color:var(--ink-3);display:block;margin-top:2px;line-height:1.5}
.adm-scope .cli-row .cn {font-size:12.5px;font-weight:900;color:var(--wood-deep);background:#F2F7EE;border-radius:6px;padding:3px 8px;white-space:nowrap}
/* ====== 渠道归因（9/22 新增） ====== */

.adm-scope .chm {display:inline-block;margin-top:4px;font-size:11px;font-weight:700;border-radius:5px;padding:1.5px 6px;white-space:nowrap}
.adm-scope .chm.wx {background:#E8F2EC;color:#2E7D5B}
/* 微信好友分享 */

.adm-scope .chm.pyq {background:#E7F0F6;color:#2C6E9B}
/* 朋友圈 */

.adm-scope .chm.dy {background:#F0F0F2;color:#3A3D45}
/* 抖音推广 */

.adm-scope .chm.ss {background:#FBF0DF;color:#A0631D}
/* 搜一搜 */

.adm-scope .chm.sm {background:#F3EDFA;color:#7B4FA8}
/* 扫渠道码 */

.adm-scope .ch-strip {border:1px solid #D9E8D2;background:linear-gradient(135deg,#FCFEFB,#F7FBF4);border-radius:var(--r-sm);padding:11px 13px;margin-bottom:12px}
.adm-scope .ch-strip .ch-hd {display:flex;align-items:center;gap:8px;margin-bottom:9px}
.adm-scope .ch-strip .ch-hd b {font-size:13.5px;color:var(--wood-deep)}
.adm-scope .ch-strip .ch-hd span {font-size:11.5px;color:var(--ink-3);margin-left:auto}
/* ====== 线索流转全景 ====== */

.adm-scope .flow-strip {border:1px solid #D9E8D2;background:linear-gradient(135deg,#FCFEFB,#F4FAF0);border-radius:var(--r-sm);padding:11px 13px;margin-bottom:12px}
.adm-scope .flow-strip .fh-hd {display:flex;align-items:center;gap:8px;margin-bottom:9px}
.adm-scope .flow-strip .fh-hd b {font-size:13.5px;color:var(--wood-deep)}
.adm-scope .flow-strip .fh-hd span {font-size:11.5px;color:var(--ink-3);margin-left:auto}
.adm-scope .flow-line {display:flex;align-items:center;gap:5px;flex-wrap:nowrap}
.adm-scope .flow-line .fs {display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}
.adm-scope .flow-line .fs i {font-style:normal;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;

    font-size:11.5px;font-weight:900;color:#fff;background:linear-gradient(135deg,#4E8C63,#2E6A4C);white-space:nowrap}
.adm-scope .flow-line .fs.hot i {background:linear-gradient(135deg,#C79A5A,#C77D2B);box-shadow:0 0 0 3px #FBF0DF}
.adm-scope .flow-line .fs span {font-size:11px;font-weight:800;color:var(--ink);white-space:nowrap}
.adm-scope .flow-line .fs em {font-style:normal;font-size:10px;color:var(--ink-3);white-space:nowrap}
.adm-scope .flow-line .fa {flex:0 0 auto;width:10px;height:1.5px;background:#C9DAC2;position:relative;top:-7px}
.adm-scope .flow-strip .fh-note {margin-top:9px;font-size:11.5px;color:var(--ink-2);line-height:1.65;border-top:1px dashed #D9E8D2;padding-top:8px}
.adm-scope .flow-strip .fh-note b {color:var(--wood-deep)}
.adm-scope .ch-row {display:flex;align-items:center;gap:8px;margin-bottom:6px}
.adm-scope .ch-row:last-of-type {margin-bottom:0}
.adm-scope .ch-row .cl {flex:0 0 88px;font-size:12px;font-weight:700;color:var(--ink-2);text-align:right;white-space:nowrap}
.adm-scope .ch-row .cb {flex:1;height:12px;background:#EEF4E9;border-radius:6px;overflow:hidden}
.adm-scope .ch-row .cb i {display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#4E8C63,#2E6A4C)}
.adm-scope .ch-row .cb i.dy {background:linear-gradient(90deg,#555964,#31343C)}
.adm-scope .ch-row .cb i.ss {background:linear-gradient(90deg,#D9A24A,#B97A33)}
.adm-scope .ch-row .cb i.sm {background:linear-gradient(90deg,#9A6FC4,#7B4FA8)}
.adm-scope .ch-row .cb i.pyq {background:linear-gradient(90deg,#5E9BA8,#2C6E9B)}
.adm-scope .ch-row .cv {flex:0 0 52px;font-size:12px;font-weight:800;color:var(--wood-deep);white-space:nowrap}
.adm-scope .ch-note {margin-top:9px;font-size:11.5px;color:var(--ink-3);line-height:1.7;background:#fff;border:1px dashed #D9E8D2;border-radius:7px;padding:7px 10px}
.adm-scope .ch-note b {color:var(--ink-2)}
/* 分配条 */

.adm-scope .asg {display:grid;grid-template-columns:1.5fr 1fr auto;gap:8px;align-items:end;background:#FAFDF7;border:1px solid var(--line);border-radius:var(--r-sm);padding:11px}
.adm-scope .asg .fld label {font-size:12px}
.adm-scope .asg .fld select, .adm-scope .asg .fld input {font-size:13px;padding:7px 9px}
.adm-scope .asg button {height:31px;padding:0 14px}
/* 线索时间轴（分配留痕） */

.adm-scope .lg-note {font-size:12px;color:var(--ink-3);line-height:1.6;display:flex;align-items:flex-start;gap:6px}
.adm-scope .lg-note b {color:var(--wood-1);font-weight:800}
/* 页脚说明 */

.adm-scope .foot-note {max-width:1900px;margin:24px auto 0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);

    padding:20px 24px;box-shadow:var(--shadow);}
.adm-scope .foot-note h3 {font-size:15px;display:flex;align-items:center;gap:8px;margin-bottom:13px}
.adm-scope .foot-note h3 .fn-ic {width:26px;height:26px;border-radius:8px;background:var(--green-bg);color:var(--wood-1);display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px}
.adm-scope .fn-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.adm-scope .fn-c {border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;background:#FCFEFB}
.adm-scope .fn-c h4 {font-size:13.5px;font-weight:800;color:var(--wood-deep);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.adm-scope .fn-c h4 em {width:3px;height:11px;border-radius:2px;background:var(--wood-2);display:inline-block}
.adm-scope .fn-c ul {list-style:none;display:flex;flex-direction:column;gap:6px}
.adm-scope .fn-c li {font-size:12.5px;color:var(--ink-2);line-height:1.6;padding-left:12px;position:relative}
.adm-scope .fn-c li::before {content:"";position:absolute;left:2px;top:6px;width:4px;height:4px;border-radius:50%;background:#BFD5B8}
.adm-scope .fn-c li b {color:var(--ink);font-weight:800}
.adm-scope .fn-c li code {font-family:var(--mono);font-size:11.5px;background:#F2F7EE;border-radius:3px;padding:1px 4px;color:var(--wood-1)}
.adm-scope .fn-legend {display:flex;gap:16px;flex-wrap:wrap;margin-top:15px;padding-top:14px;border-top:1px dashed var(--line)}
.adm-scope .fn-legend .lg {display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);font-weight:700}
.adm-scope .fn-legend .lg i {width:12px;height:12px;border-radius:4px;display:block}
.adm-scope .sw {display:flex;gap:14px;flex-wrap:wrap;margin-top:13px;padding-top:13px;border-top:1px dashed var(--line)}
.adm-scope .sw .s {display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);font-weight:700}
.adm-scope .sw .s i {width:11px;height:11px;border-radius:3px;display:block;border:1px solid rgba(0,0,0,.06)}
.adm-scope .boards {grid-template-columns:1fr}
.adm-scope .fn-grid {grid-template-columns:1fr}
.adm-scope .split2, .adm-scope .split22 {grid-template-columns:1fr}
.vm-scope .vm-sl.on {border-color:#2E6A4C;background:linear-gradient(135deg,#2E7D5B,#2E6A4C);box-shadow:0 4px 11px rgba(46,106,76,.24)}
.vm-scope .vm-sl.on .num {background:rgba(255,255,255,.2);color:#fff}
.vm-scope .vm-sl.on span {color:#fff}
.vm-scope .vm-sl.on small {color:rgba(255,255,255,.75)}
.vm-scope .screen.on {display:block}
.vm-scope .vm-top .tb-chip {margin-left:auto}
.vm-scope .tb-chip {font-size:11px;font-weight:800;background:rgba(255,255,255,.18);border-radius:8px;padding:3px 8px;white-space:nowrap}
.vm-scope .tb-chip.warn {background:#F7C98F;color:#5E3A0A}
.vm-scope .gd-line.ok .gn {background:#E8F2EC;color:#2E7D5B}
.vm-scope .gd-line.doing .gn {background:#FBF0DF;color:#A0631D}
.vm-scope .gd-line.ok .gs {background:#E8F2EC;color:#2E7D5B}
.vm-scope .gd-line.doing .gs {background:#FBF0DF;color:#A0631D}
.vm-scope .gd-line .gs.wait {background:#F0F3EE;color:#829E8C}
.vm-scope .todo .tic.b {background:#E7F0F6;color:#2C6E9B}
.vm-scope .lead-it .l1 .tm {margin-left:auto;font-size:11px;font-weight:800;color:#B97A33;background:#FBF0DF;border-radius:6px;padding:2px 6px;white-space:nowrap}
.vm-scope .lead-it .l1 .tm.ok {background:#E8F2EC;color:#2E7D5B}
.vm-scope .chm {font-size:11px;font-weight:700;border-radius:5px;padding:2px 7px;white-space:nowrap}
.vm-scope .chm.wx {background:#E8F2EC;color:#2E7D5B}
.vm-scope .chm.dy {background:#F0F0F2;color:#3A3D45}
.vm-scope .chm.ss {background:#FBF0DF;color:#A0631D}
.vm-scope .chm.sm {background:#F3EDFA;color:#7B4FA8}
.vm-scope .lbtn.pri {border-color:#2E6A4C;background:linear-gradient(135deg,#2E7D5B,#2E6A4C);color:#fff}
.vm-scope .ostep.done .od {background:#2E7D5B;border-color:#2E7D5B;box-shadow:inset 0 0 0 2px #fff}
.vm-scope .st-pill.on {background:#E8F2EC;color:#2E7D5B}
.vm-scope .tabbar button.on span {color:#2E6A4C;font-weight:900}
.vm-scope .tabbar button.on .ti {filter:grayscale(0)}
.vm-scope .tabbar button:not(.on) .ti {opacity:.42}
/* ===== 总后台实机运行态补充 ===== */
.shell{height:100vh;display:flex;flex-direction:row;overflow:hidden}
.shell .side{width:206px;flex:0 0 206px;background:linear-gradient(180deg,#19422D,#2A5F43 55%,#2E6A4C);display:flex;flex-direction:column;overflow-y:auto}
.shell .main{overflow:hidden}
.shell .pane{flex:1;overflow-y:auto}
.side-item{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:8px;cursor:pointer;color:rgba(255,255,255,.72);font-size:13.5px}
.side-item:hover{background:rgba(255,255,255,.08);color:#fff}
.side-item.on{background:rgba(255,255,255,.16);color:#fff}
.side-item .si-badge{margin-left:auto}
.sg-t{padding:9px 11px 4px;font-size:11.5px;letter-spacing:.1em;color:rgba(255,255,255,.42)}
.side-group{margin-bottom:2px}
.side-brand{display:flex;align-items:center;gap:8px;padding:13px 11px 10px;border-bottom:1px solid rgba(255,255,255,.10)}
.sb-ic{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#4E8C63,#2E6A4C);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14.5px}
.sb-tx b{display:block;color:#fff;font-size:14px}
.sb-tx span{color:rgba(255,255,255,.5);font-size:11.5px}
.side-foot{margin-top:auto;padding:10px 11px;font-size:11.5px;color:rgba(255,255,255,.38);border-top:1px solid rgba(255,255,255,.1)}
.crumb span{color:var(--ink-3)}
.crumb b{color:var(--ink)}
.crumb i{margin:0 4px;color:var(--ink-3)}
.crd-h h3{font-size:14px;display:flex;align-items:center;gap:6px}
.crd-h em{width:3px;height:12px;background:var(--green);border-radius:2px;display:inline-block}
.ch-r{margin-left:auto;display:flex;align-items:center;gap:7px}
.search{display:flex;align-items:center;gap:6px;background:#F5F8F2;border:1px solid var(--line);border-radius:8px;padding:5px 9px;font-size:13px;color:var(--ink-3)}
.search input{border:0;background:transparent;outline:none;font-size:13.5px;width:150px;color:var(--ink)}
.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.tabs{display:flex;gap:5px}
.tabs button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 9px;font-size:13px;cursor:pointer;color:var(--ink-2)}
.tabs button.on{background:var(--green);border-color:var(--green);color:#fff}
table.tb{width:100%;border-collapse:collapse;font-size:13.5px}
table.tb th{text-align:left;padding:8px 10px;background:#F5F8F2;color:var(--ink-3);font-weight:600;border-bottom:1px solid var(--line)}
table.tb td{padding:9px 10px;border-bottom:1px solid #F0F4EE;vertical-align:middle}
table.tb tbody tr:hover{background:#FAFCF8}
.acts{display:flex;gap:5px;justify-content:flex-end}
.mini-btn{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 8px;font-size:12.5px;cursor:pointer;color:var(--ink-2)}
.mini-btn.pri{background:var(--green);border-color:var(--green);color:#fff}
.mini-btn.warn{background:var(--orange);border-color:var(--orange);color:#fff}
.mini-btn.danger{background:var(--red);border-color:var(--red);color:#fff}
.mini-btn.ghost{background:#fff}
.pl{display:inline-block;padding:2px 7px;border-radius:20px;font-size:12px;font-weight:700}
.pl.ok{background:var(--green-bg);color:var(--green)}
.pl.wait{background:var(--orange-bg);color:var(--orange)}
.pl.doing{background:#E7F0FB;color:#2C5DA8}
.pl.gray{background:#EEF1EC;color:var(--ink-3)}
.pl.warn{background:var(--red-bg);color:var(--red)}
.note{background:#F5F8F2;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:13px;color:var(--ink-2);line-height:1.6}
.note.warn{background:var(--orange-bg);border-color:#F0DCBB;color:#8A5A22}

/* 系统设置：配置项输入框与页脚按钮组 */
.adm-scope .set-inp{width:100%;max-width:320px;font-family:inherit;font-size:13px;color:var(--ink);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 9px;background:#fff;outline:none;transition:.14s}
.adm-scope .set-inp:focus{border-color:var(--wood-2);box-shadow:0 0 0 3px rgba(78,140,99,.12)}
.adm-scope .set-inp::placeholder{color:var(--ink-3)}
.adm-scope .pane-foot{display:flex;gap:8px;align-items:center;padding:14px 2px 4px}
.adm-scope table.tb td .pill + .sub{margin-top:3px}
.note.red{background:var(--red-bg);border-color:#F3D3C6;color:var(--red)}
.split2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.split3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.fld{margin-bottom:9px}
.fld>label{display:block;font-size:12.5px;color:var(--ink-3);margin-bottom:3px}
.fld input,.fld select,.fld textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:6px 8px;font-size:13.5px;outline:none;background:#fff}
.fld input:focus,.fld select:focus{border-color:var(--green)}
.lnk{color:var(--green);cursor:pointer;font-weight:600}
.kv-list .kv-r{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px dashed #EDF2EA;font-size:13px}
.kv-list .kk{color:var(--ink-3)}
.kv-list .vv{color:var(--ink);font-weight:600;text-align:right}
.tl-i{display:flex;gap:8px;padding-bottom:9px;font-size:13px}
.tl-i .tm{color:var(--ink-3);white-space:nowrap}
.bar{height:7px;background:#EDF2EA;border-radius:20px;overflow:hidden}
.bar>i{display:block;height:100%;background:linear-gradient(90deg,#4E8C63,#2E6A4C)}
.bar.hi>i{background:linear-gradient(90deg,#D79B54,#C77D2B)}
.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center}
.login-card{width:330px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:26px}
.demo-tip{position:fixed;right:14px;bottom:14px;background:#19422D;color:#fff;font-size:13.5px;padding:7px 11px;border-radius:20px;box-shadow:var(--shadow);z-index:99}
.empty{padding:26px;text-align:center;color:var(--ink-3);font-size:13.5px}
.pager{display:flex;gap:5px;align-items:center;justify-content:flex-end;padding:9px 0}
.modal-mask{position:fixed;inset:0;background:rgba(25,66,45,.42);display:flex;align-items:center;justify-content:center;z-index:100}
.modal{width:520px;max-height:84vh;overflow:auto;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:18px}
.modal h4{font-size:14.5px;margin-bottom:10px}
.modal .foot{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 14px;font-size:13.5px;cursor:pointer}
.btn.pri{background:var(--green);border-color:var(--green);color:#fff}
.btn.warn{background:var(--orange);border-color:var(--orange);color:#fff}
.btn.danger{background:var(--red);border-color:var(--red);color:#fff}
.radio-row{display:flex;flex-direction:column;gap:7px}
.radio-row label{display:flex;gap:7px;align-items:flex-start;font-size:13.5px;background:#F6F9F3;border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer}
.radio-row label.on{border-color:var(--green);background:#EDF5EF}
.toast{position:fixed;left:50%;top:22px;transform:translateX(-50%);background:#19422D;color:#fff;padding:9px 16px;border-radius:20px;font-size:14px;z-index:200;box-shadow:var(--shadow-lg)}
.mb8{margin-bottom:8px}
.mb12{margin-bottom:12px}
.mt10{margin-top:10px}
.row-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.muted{color:var(--ink-3);font-size:12.5px}

/* ================= 登录页（整页） ================= */
.adm-scope .lg-wrap {min-height:100vh;display:flex;align-items:stretch}
.adm-scope .lg-brand {flex:1.15;background:linear-gradient(155deg,#19422D,#2E6A4C 62%,#4E8C63);position:relative;overflow:hidden;
  padding:46px 44px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.adm-scope .lg-brand::after {content://;position:absolute;inset:0;background:var(--grain);opacity:.5;pointer-events:none}
.adm-scope .lg-mark {width:54px;height:54px;border-radius:16px;border:1.5px solid rgba(255,255,255,.42);
  display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;letter-spacing:1px}
.adm-scope .lg-name {font-size:24px;font-weight:900;margin-top:18px;letter-spacing:.5px}
.adm-scope .lg-sub {font-size:14px;color:rgba(255,255,255,.62);margin-top:7px}
.adm-scope .lg-vals {margin-top:38px;display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}
.adm-scope .lg-val {display:flex;align-items:flex-start;gap:11px}
.adm-scope .lv-d {width:7px;height:7px;border-radius:50%;background:#8FBF9C;margin-top:5px;flex:0 0 7px}
.adm-scope .lv-tx b {display:block;font-size:14px;font-weight:700}
.adm-scope .lv-tx i {display:block;font-style:normal;font-size:13px;color:rgba(255,255,255,.56);margin-top:3px}
.adm-scope .lg-panel {flex:1;background:#F7FAF4;display:flex;align-items:center;justify-content:center;padding:32px}
.adm-scope .lg-card {width:100%;max-width:366px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:34px 30px 26px;box-shadow:var(--shadow-lg)}
.adm-scope .lg-card h2 {font-size:20px;font-weight:900;color:var(--ink)}
.adm-scope .lg-tip {font-size:14px;color:var(--ink-3);margin:7px 0 22px}
.adm-scope .lg-card .fld {margin-bottom:14px}
.adm-scope .lg-card .fld label {display:block;font-size:13.5px;color:var(--ink-2);margin-bottom:6px;font-weight:600}
.adm-scope .lg-card input {width:100%;height:42px;border:1px solid var(--line);border-radius:11px;padding:0 13px;
  font-size:14.5px;color:var(--ink);background:#FBFCFA;outline:none}
.adm-scope .lg-card input:focus {border-color:var(--wood-2);background:#fff}
.adm-scope .lg-btn {width:100%;height:44px;margin-top:10px;border:none;border-radius:12px;cursor:pointer;
  background:linear-gradient(135deg,#2E6A4C,#4E8C63);color:#fff;font-size:15px;font-weight:800;letter-spacing:3px}
.adm-scope .lg-btn:hover {background:linear-gradient(135deg,#19422D,#2E6A4C)}
.adm-scope .lg-alt {margin-top:16px;text-align:center;font-size:13.5px;color:var(--ink-3)}
.adm-scope .lg-alt .lnk {color:var(--wood-1);font-weight:700;cursor:pointer}
.adm-scope .lg-foot {margin-top:22px;padding-top:14px;border-top:1px dashed var(--line);
  text-align:center;font-size:13px;color:var(--ink-3)}
.adm-scope .su-out {margin-left:auto;border:none;cursor:pointer;background:rgba(255,255,255,.13);
  color:rgba(255,255,255,.86);border-radius:7px;padding:3.5px 9px;font-size:12px;font-weight:700}
.adm-scope .su-out:hover {background:rgba(255,255,255,.24);color:#fff}
@media (max-width:900px){
  .adm-scope .lg-brand {display:none}
  .adm-scope .lg-panel {flex:1}
}

/* ================= 分页条 ================= */
.adm-scope .pager {display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.adm-scope .pg-total {font-size:13.5px;color:var(--ink-3)}
.adm-scope .pg-total b {color:var(--ink);font-weight:700}
.adm-scope .pg-btns {display:flex;align-items:center;gap:5px;margin-left:auto;flex-wrap:wrap}
.adm-scope .pg-b,.adm-scope .pg-n {min-width:30px;height:28px;padding:0 9px;border:1px solid var(--line);background:#fff;
  border-radius:8px;font-size:13.5px;color:var(--ink-2);cursor:pointer;font-family:inherit}
.adm-scope .pg-b:hover,.adm-scope .pg-n:hover {border-color:var(--wood-2);color:var(--wood-1)}
.adm-scope .pg-n.on {background:var(--wood-1);border-color:var(--wood-1);color:#fff;font-weight:700}
.adm-scope .pg-b:disabled,.adm-scope .pg-n:disabled {opacity:.4;cursor:not-allowed}
.adm-scope .pg-size {height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;
  font-size:13.5px;color:var(--ink-2);padding:0 6px;font-family:inherit;cursor:pointer;outline:none}

/* ===================== 服务跟进单（订单管理） ===================== */
/* 筛选下拉：与 mini-btn 同高的紧凑 select */
.adm-scope .mini-sel {height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;
  font-size:13.5px;color:var(--ink-2);padding:0 8px;font-family:inherit;cursor:pointer;outline:none}
.adm-scope .mini-sel:hover {border-color:var(--wood-2);color:var(--wood-1)}
/* 节点分布条 */
.adm-scope .ob-list {display:flex;flex-direction:column}
.adm-scope .ob-i {display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px dashed #EBF2E6}
.adm-scope .ob-i:last-child {border-bottom:none}
.adm-scope .ob-tx {flex:0 0 118px;font-size:13.5px;font-weight:700;color:var(--ink)}
.adm-scope .ob-bar {flex:1;height:6px;border-radius:4px;background:#EEF4E9;overflow:hidden}
.adm-scope .ob-bar i {display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#4E8C63,#2E7A56)}
.adm-scope .ob-n {flex:0 0 34px;text-align:right;font-size:13.5px;font-weight:800;color:var(--wood-deep);
  font-variant-numeric:tabular-nums}
/* 表格内 7 节点进度条 */
.adm-scope .pbar-wrap {display:block}
.adm-scope .pbar {display:block;width:64px;height:5px;border-radius:4px;background:#EEF4E9;overflow:hidden;margin-bottom:3px}
.adm-scope .pbar i {display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#4E8C63,#2E7A56)}
/* 节点凭证 */
.adm-scope .att-row {display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.adm-scope .att {display:inline-flex;flex-direction:column;gap:3px;align-items:center;text-decoration:none}
.adm-scope .att-thumb {width:52px;height:52px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#F5F9F1}
.adm-scope .att-v {display:flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:8px;
  border:1px solid var(--line);background:#F5F9F1;font-size:11px;font-weight:800;color:var(--wood-deep)}
.adm-scope .att-at {font-size:11px;color:var(--ink-3);font-family:var(--mono)}

/* ===================== 服务商登录账号 ===================== */
/* 表单内「输入框 + 按钮」横排 */
.adm-scope .fld .row-in {display:flex;gap:6px;align-items:center}
.adm-scope .fld .row-in input {flex:1}
.adm-scope .fld .row-in .mini-btn {flex:0 0 auto;margin:0}
/* 明文密码等宽展示 */
.adm-scope code.pwd {display:inline-block;font-family:var(--mono);font-size:13.5px;font-weight:800;
  color:var(--wood-deep);background:#F2F7EE;border:1px solid var(--line);border-radius:6px;
  padding:2px 7px;letter-spacing:.3px}
/* ===================== 操作体验优化（9/29） ===================== */
/* 表头吸顶：长列表滚动时列名不消失 */
.adm-scope table.tb thead th {
  position: sticky;
  top: -1px;
  z-index: 2;
  background: #F6F9F2;
  box-shadow: 0 1px 0 var(--line);
}
/* 行可读性：斑马纹 + 悬停高亮，扫读长列表不串行 */
.adm-scope table.tb tbody tr:nth-child(even) { background: #FAFCF7; }
.adm-scope table.tb tbody tr:hover { background: #F1F7EC; }
.adm-scope table.tb tbody tr { transition: background .12s; }
/* 操作按钮：加大热区、统一间距，悬停有明确反馈 */
.adm-scope table.tb .acts { gap: 6px; align-items: center; }
.adm-scope .mini-btn { padding: 5px 11px; font-size: 10.5px; transition: all .12s; }
.adm-scope .mini-btn:active { transform: translateY(1px); }
.adm-scope .mini-btn.danger { background: #fff; border-color: #E5B4A4; color: var(--red); }
.adm-scope .mini-btn.danger:hover { background: var(--red); border-color: var(--red); color: #fff; }
/* 顶栏动作区：按钮多时允许换行不溢出 */
.adm-scope .topbar { flex-wrap: wrap; }
/* 表单控件聚焦态：一眼看清当前在填哪个 */
.adm-scope input:focus, .adm-scope select:focus, .adm-scope textarea:focus {
  outline: none;
  border-color: var(--wood-2);
  box-shadow: 0 0 0 2px rgba(78, 140, 99, .14);
}
/* 空态：更像可操作状态而不是坏掉 */
.adm-scope .empty { padding: 34px 20px; font-size: 11.5px; }
/* 分页条：与内容间留白，避免贴住表格 */
.adm-scope .pager { margin-top: 4px; }


/* ===== 2026-09-30 滚动修复：主区分页条可达 + 侧栏菜单可滚动 =====
 * 原问题：.shell 固定 100vh+overflow:hidden，#view 无受限高度导致 .pane 不滚动，
 * 长列表底部（含分页条）被整体裁掉；侧栏 17 项菜单在小屏被 flex 压缩，拉不到底部 */
.shell #view {flex:1;min-height:0;display:flex;flex-direction:column}
.shell .side {overflow:hidden}
.shell #sideMenu {flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:6px;scrollbar-width:thin}
.shell #sideMenu::-webkit-scrollbar {width:4px}
.shell #sideMenu::-webkit-scrollbar-thumb {background:rgba(255,255,255,.18);border-radius:4px}
.shell .side-brand, .shell .side-user, .shell .side-foot {flex:0 0 auto}
/* ===== 五项核实 · 行内复核面板（服务商管理详情，原「五项核实台账」菜单已并入） ===== */
.vlist{display:flex;flex-direction:column;gap:9px}
.vrow{border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#FCFDFB}
.vrow-hd{display:flex;align-items:flex-start;gap:9px}
.vrow-hd .vno{flex:0 0 auto;width:22px;height:22px;border-radius:6px;background:var(--green-bg);color:var(--green);
  font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.vrow-hd .vtx{flex:1 1 auto;min-width:0}
.vrow-hd .vtx b{display:block;font-size:13.5px;color:var(--ink)}
.vrow-hd .vtx span{display:block;margin-top:2px;font-size:12.5px;color:var(--ink-3);line-height:1.5}
.vrow-hd .vv{flex:0 0 auto}
.vrow-bd{display:flex;gap:8px;align-items:center;margin-top:8px}
.vrow-bd .vrmk{flex:1 1 auto;min-width:0;border:1px solid var(--line);border-radius:7px;padding:7px 9px;
  font-size:13px;color:var(--ink);background:#fff}
.vrow-bd .vrmk:focus{outline:none;border-color:var(--green)}
.vrow-bd .acts{flex:0 0 auto;display:flex;gap:5px}
.vrow-ft{margin-top:6px;font-size:12.5px;color:var(--ink-3)}
.vrow-act{display:flex;gap:6px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px dashed #EDF2EA}
.vrow-act .va-t{flex:0 0 auto;font-size:12.5px;font-weight:700;color:var(--red);margin-right:2px}

/* ===== 2026-10-03 统一上传组件（HM.uploader / HM.bindUploader） =====
 * 用于总后台各处上传：服务商证照材料 / 渠道推广码 / 平台 Logo
 * 盘名由 .env 的 FILESYSTEM_DRIVER 决定（local 或阿里云 OSS），前端无感知 */
.upl{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.upl-list{display:flex;flex-wrap:wrap;gap:10px}
.upl-item{position:relative;width:96px;height:96px;border:1px solid var(--line);border-radius:10px;
  overflow:hidden;background:#F7FAF5;display:flex;align-items:center;justify-content:center}
.upl-item img{width:100%;height:100%;object-fit:cover;display:block}
.upl-item .upl-doc{font-size:11px;font-weight:700;color:var(--ink-2);letter-spacing:.5px}
.upl-item .upl-del{position:absolute;top:3px;right:3px;width:20px;height:20px;border:0;border-radius:50%;
  background:rgba(25,66,45,.72);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  padding:0;opacity:0;transition:opacity .15s}
.upl-item:hover .upl-del{opacity:1}
.upl-item .upl-del:hover{background:var(--red)}
.upl-drop{width:96px;height:96px;border:1.5px dashed #C4D6C9;border-radius:10px;background:#FBFDFA;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;
  color:var(--ink-3);text-align:center;padding:6px;transition:.15s;box-sizing:border-box}
.upl-drop:hover,.upl-drop.over{border-color:var(--green);background:var(--green-bg);color:var(--green)}
.upl-drop span{font-size:11.5px;line-height:1.35}
.upl-drop small{font-size:10px;color:var(--ink-3);line-height:1.3}
.upl-drop.busy{cursor:progress;border-color:var(--orange);background:var(--orange-bg);color:var(--orange)}
/* 宽版：用于需要展示说明的行内场景 */
.upl.wide .upl-drop{width:100%;height:74px;flex-direction:row;gap:8px}
.upl.wide .upl-drop span{font-size:12.5px}
.upl.wide .upl-drop small{display:none}
/* 证照材料双栏：宽屏并排，窄屏自动堆叠 */
.upl-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:900px){.upl-grid{grid-template-columns:1fr}}
