:root{
  --ink:#0E0B0A; --ink2:#151110; --panel:#1B1615; --panel2:#221C1A;
  --line:rgba(255,244,228,.10); --line2:rgba(255,244,228,.16);
  --amber:#F6A726; --amber2:#FFC868; --amber-dim:rgba(246,167,38,.14);
  --cream:#FFF4E4; --muted:#A29486; --muted2:#6F6459;
  --red:#E2464A; --green:#36C77C; --blue:#5B9DFF; --purple:#A78BFA;
  --r:18px; --r2:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:
    radial-gradient(1100px 700px at 78% -10%, rgba(246,167,38,.10), transparent 60%),
    radial-gradient(900px 600px at 8% 100%, rgba(226,70,74,.07), transparent 65%),
    #0E0B0A;
  color:var(--cream);
  font-family:"Microsoft YaHei","PingFang SC",-apple-system,"Segoe UI",sans-serif;
  font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer;border:none;background:none}
a{color:inherit;text-decoration:none}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:rgba(255,244,228,.14);border-radius:9px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,244,228,.24)}
::-webkit-scrollbar-track{background:transparent}

/* 登录 */
.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;gap:0}
.auth-hero{padding:56px 64px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;border-right:1px solid var(--line)}
.auth-hero::after{content:"";position:absolute;inset:auto -20% -40% 30%;height:70%;background:radial-gradient(closest-side,rgba(246,167,38,.22),transparent);filter:blur(20px);pointer-events:none}
.logo{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:800;letter-spacing:.5px}
.logo-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--amber),#C97A12);display:grid;place-items:center;color:#231603;font-weight:900;font-size:17px;box-shadow:0 8px 24px rgba(246,167,38,.28)}
.hero-copy h1{font-size:46px;line-height:1.24;font-weight:900;letter-spacing:-.5px;margin-bottom:18px}
.hero-copy h1 em{font-style:normal;color:var(--amber);position:relative}
.hero-copy p{color:var(--muted);font-size:15px;max-width:440px;line-height:1.9}
.hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.hero-tag{padding:7px 14px;border:1px solid var(--line2);border-radius:99px;font-size:12.5px;color:#E4D6C4;background:rgba(255,244,228,.03)}
.hero-stats{display:flex;gap:38px;margin-top:34px}
.hero-stats b{display:block;font-size:26px;color:var(--amber);font-weight:800}
.hero-stats span{font-size:12px;color:var(--muted)}
.auth-panel{display:grid;place-items:center;padding:40px}
.auth-card{width:100%;max-width:396px}
.auth-card h2{font-size:26px;margin-bottom:6px}
.auth-card .sub{color:var(--muted);font-size:13px;margin-bottom:26px}
.field{margin-bottom:15px}
.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:7px;letter-spacing:.3px}
.input,select.input,textarea.input{width:100%;background:#141010;border:1px solid var(--line2);border-radius:12px;padding:12px 14px;color:var(--cream);outline:none;transition:.16s;font-size:14px}
.input:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(246,167,38,.13)}
.input::placeholder{color:#6B5F55}
textarea.input{resize:vertical;min-height:88px;line-height:1.7}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 20px;border-radius:12px;font-weight:700;font-size:13.5px;transition:.16s;white-space:nowrap}
.btn-primary{background:linear-gradient(145deg,var(--amber),#DE8A12);color:#241703;box-shadow:0 8px 22px rgba(246,167,38,.22)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(246,167,38,.3)}
.btn-ghost{background:rgba(255,244,228,.05);border:1px solid var(--line2);color:#E8DCCB}
.btn-ghost:hover{background:rgba(255,244,228,.09);border-color:rgba(255,244,228,.26)}
.btn-danger{background:rgba(226,70,74,.14);border:1px solid rgba(226,70,74,.4);color:#FF9A9C}
.btn-sm{padding:7px 13px;font-size:12.5px;border-radius:9px}
.btn-block{width:100%;padding:13px}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}
.demo-accounts{margin-top:24px;padding-top:20px;border-top:1px dashed var(--line2)}
.demo-accounts p{font-size:11.5px;color:var(--muted2);margin-bottom:9px;letter-spacing:.4px}
.demo-row{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:10px;background:rgba(255,244,228,.03);margin-bottom:6px;font-size:12px;cursor:pointer;border:1px solid transparent;transition:.15s}
.demo-row:hover{background:rgba(246,167,38,.08);border-color:rgba(246,167,38,.26)}
.demo-row b{color:var(--amber2);font-weight:700;min-width:64px}
.demo-row span{color:var(--muted)}
.demo-row i{margin-left:auto;font-style:normal;color:var(--muted2);font-size:11px}

/* 布局 */
.shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}
.side{border-right:1px solid var(--line);background:rgba(14,11,10,.72);backdrop-filter:blur(14px);padding:22px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.side .logo{padding:0 8px 22px;font-size:16px}
.side .logo-mark{width:32px;height:32px;border-radius:10px;font-size:14px}
.nav-group{margin-bottom:16px}
.nav-title{font-size:10.5px;letter-spacing:1.4px;color:var(--muted2);padding:0 12px;margin-bottom:7px;text-transform:uppercase;font-weight:700}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:#BFB1A1;font-size:13.5px;transition:.14s;margin-bottom:2px;cursor:pointer;border:1px solid transparent}
.nav-item:hover{background:rgba(255,244,228,.05);color:var(--cream)}
.nav-item.on{background:linear-gradient(90deg,rgba(246,167,38,.20),rgba(246,167,38,.04));color:var(--amber2);border-color:rgba(246,167,38,.26);font-weight:700}
.nav-item .ic{width:19px;text-align:center;font-size:15px;opacity:.9}
.nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:10.5px;padding:1px 7px;border-radius:99px;font-weight:700}
.side-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted2)}
.side-foot .plan{margin-bottom:9px;color:var(--muted)}
.side-foot .plan b{color:var(--amber2)}

.main{min-width:0;display:flex;flex-direction:column}
.top{height:66px;display:flex;align-items:center;gap:16px;padding:0 26px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(14,11,10,.82);backdrop-filter:blur(16px)}
.top h1{font-size:17.5px;font-weight:800;letter-spacing:.2px}
.top .crumb{color:var(--muted2);font-size:12px}
.top-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.tenant-tag{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;background:rgba(255,244,228,.05);border:1px solid var(--line2);font-size:12.5px}
.avatar-dot{width:26px;height:26px;border-radius:50%;background:linear-gradient(145deg,var(--amber),#B7700C);display:grid;place-items:center;font-size:11px;font-weight:800;color:#241703}
.content{padding:24px 26px 46px;flex:1}
.page{animation:fade .26s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* 卡片 */
.card{background:linear-gradient(160deg,rgba(255,244,228,.045),rgba(255,244,228,.018));border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.card.hover:hover{border-color:rgba(246,167,38,.3);background:rgba(246,167,38,.04)}
.card-title{font-size:14.5px;font-weight:800;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.card-sub{font-size:12px;color:var(--muted);margin-bottom:14px}
.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)}
.row{display:flex;align-items:center;gap:10px}
.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kpi{padding:16px 18px}
.kpi .label{font-size:12px;color:var(--muted);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.kpi .val{font-size:27px;font-weight:800;letter-spacing:-.5px;line-height:1.1}
.kpi .val small{font-size:13px;color:var(--muted);font-weight:600;margin-left:3px}
.kpi .delta{font-size:11.5px;margin-top:7px;color:var(--green)}
.kpi .delta.down{color:var(--red)}
.kpi.amber .val{color:var(--amber)}

.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap}
.b-green{background:rgba(54,199,124,.14);color:#6EE7A8;border:1px solid rgba(54,199,124,.28)}
.b-amber{background:rgba(246,167,38,.14);color:var(--amber2);border:1px solid rgba(246,167,38,.3)}
.b-red{background:rgba(226,70,74,.14);color:#FF9B9D;border:1px solid rgba(226,70,74,.3)}
.b-blue{background:rgba(91,157,255,.13);color:#9BC2FF;border:1px solid rgba(91,157,255,.3)}
.b-gray{background:rgba(255,244,228,.06);color:var(--muted);border:1px solid var(--line2)}
.b-purple{background:rgba(167,139,250,.14);color:#C9B6FF;border:1px solid rgba(167,139,250,.3)}

table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:11.5px;color:var(--muted2);font-weight:700;letter-spacing:.5px;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:11px 10px;border-bottom:1px solid rgba(255,244,228,.055);vertical-align:middle}
tbody tr:hover{background:rgba(255,244,228,.028)}
td .sub{font-size:11.5px;color:var(--muted)}
.mono{font-family:"Cascadia Code",Consolas,monospace;font-size:12px}

.empty{padding:44px 20px;text-align:center;color:var(--muted2);font-size:13px}
.empty .big{font-size:34px;margin-bottom:10px;opacity:.55}

.steps{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted2);flex-wrap:wrap}
.steps .s{display:flex;align-items:center;gap:6px}
.steps .s.on{color:var(--amber2);font-weight:700}
.steps .n{width:18px;height:18px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-size:10px}
.steps .line{width:22px;height:1px;background:var(--line2)}

.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}
.tab{padding:9px 15px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:.14s;font-weight:600}
.tab:hover{color:var(--cream)}
.tab.on{color:var(--amber2);border-bottom-color:var(--amber)}

/* 视频卡 */
.vcard{border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;background:rgba(255,244,228,.03);transition:.18s;display:flex;flex-direction:column}
.vcard:hover{border-color:rgba(246,167,38,.34);transform:translateY(-2px)}
.vthumb{aspect-ratio:3/4;background:#151110;position:relative;overflow:hidden;display:grid;place-items:center}
.vthumb img{width:100%;height:100%;object-fit:cover}
.vthumb .ph{color:var(--muted2);font-size:28px}
.vthumb .stat{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:6px;font-size:10.5px;background:rgba(0,0,0,.62);backdrop-filter:blur(6px)}
.vmeta{padding:10px 11px}
.vmeta .t{font-size:12.5px;font-weight:700;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}
.vmeta .m{font-size:11px;color:var(--muted2);margin-top:6px;display:flex;gap:9px}

/* 进度 */
.prog{height:5px;border-radius:99px;background:rgba(255,244,228,.09);overflow:hidden}
.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--amber),var(--amber2));border-radius:99px;transition:width .5s}
.pulse{animation:pulse 1.5s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}

/* 分镜 */
.shot{display:grid;grid-template-columns:46px 1fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:9px;background:rgba(255,244,228,.022)}
.shot .no{width:34px;height:34px;border-radius:9px;background:var(--amber-dim);color:var(--amber);display:grid;place-items:center;font-weight:800;font-size:13px;border:1px solid rgba(246,167,38,.28)}
.shot .beat{font-size:11px;color:var(--amber2);font-weight:700;margin-bottom:3px}
.shot .line{font-size:13.5px;line-height:1.6}
.shot .vis{font-size:11.5px;color:var(--muted2);margin-top:5px}
.shot .dur{font-size:10.5px;color:var(--muted2);margin-top:4px}

/* 聊天 */
.chat{display:grid;grid-template-columns:262px 1fr;gap:0;height:calc(100vh - 66px - 70px);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:rgba(255,244,228,.02)}
.chat-list{border-right:1px solid var(--line);overflow-y:auto;background:rgba(14,11,10,.4)}
.chat-item{padding:12px 14px;border-bottom:1px solid rgba(255,244,228,.05);cursor:pointer;transition:.13s}
.chat-item:hover{background:rgba(255,244,228,.04)}
.chat-item.on{background:rgba(246,167,38,.1);border-left:2px solid var(--amber)}
.chat-item .n{font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:7px}
.chat-item .l{font-size:11.5px;color:var(--muted2);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-main{display:flex;flex-direction:column;min-width:0}
.chat-head{padding:13px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
.msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.msg{max-width:74%;padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.65;word-break:break-word}
.msg.bot{background:rgba(255,244,228,.06);border:1px solid var(--line);border-bottom-left-radius:5px;align-self:flex-start}
.msg.user{background:linear-gradient(145deg,rgba(246,167,38,.9),rgba(222,138,18,.9));color:#241703;align-self:flex-end;border-bottom-right-radius:5px;font-weight:600}
.msg .meta{font-size:10px;opacity:.6;margin-top:4px}
.chat-input{padding:12px 15px;border-top:1px solid var(--line);display:flex;gap:9px}

/* 手机预览 */
.phone{width:302px;border-radius:32px;border:1px solid var(--line2);background:#0A0807;padding:9px;box-shadow:0 22px 60px rgba(0,0,0,.55)}
.phone-in{border-radius:25px;overflow:hidden;background:#110D0C;aspect-ratio:9/19.2;position:relative}
.phone-in video{width:100%;height:100%;object-fit:cover;display:block}
.phone-in img{width:100%;height:100%;object-fit:cover}
.phone-notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:74px;height:16px;border-radius:99px;background:#000;z-index:3}

/* 图表 */
.bars{display:flex;align-items:flex-end;gap:9px;height:132px;padding-top:8px}
.bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.bar i{display:block;width:100%;max-width:38px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--amber),rgba(246,167,38,.22));min-height:6px;transition:height .5s}
.bar span{font-size:10px;color:var(--muted2);white-space:nowrap}
.funnel{display:flex;flex-direction:column;gap:7px}
.frow{display:flex;align-items:center;gap:10px;font-size:12px}
.frow .fname{width:66px;color:var(--muted);flex-shrink:0}
.frow .fbar{flex:1;height:22px;border-radius:6px;background:rgba(255,244,228,.05);overflow:hidden}
.frow .fbar i{display:block;height:100%;background:linear-gradient(90deg,rgba(246,167,38,.85),rgba(226,70,74,.55));border-radius:6px}
.frow .fval{width:64px;text-align:right;font-weight:700;font-size:12px}

/* 弹层 */
.modal-bg{position:fixed;inset:0;background:rgba(6,4,4,.72);backdrop-filter:blur(6px);z-index:90;display:grid;place-items:center;padding:24px;animation:fade .18s}
.modal{width:100%;max-width:520px;background:#171210;border:1px solid var(--line2);border-radius:20px;padding:22px;max-height:88vh;overflow-y:auto;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.modal.wide{max-width:900px}
.modal h3{font-size:17px;margin-bottom:4px}
.modal .hint{font-size:12px;color:var(--muted);margin-bottom:18px}
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#231A16;border:1px solid rgba(246,167,38,.4);color:var(--cream);padding:11px 20px;border-radius:12px;font-size:13px;z-index:200;box-shadow:0 14px 40px rgba(0,0,0,.5);animation:up .22s}
@keyframes up{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}

/* 选套餐 */
.plan{border:1px solid var(--line);border-radius:16px;padding:20px;position:relative;background:rgba(255,244,228,.025)}
.plan.best{border-color:rgba(246,167,38,.5);background:linear-gradient(165deg,rgba(246,167,38,.13),rgba(255,244,228,.02))}
.plan .tag{position:absolute;top:-9px;right:14px;background:var(--amber);color:#241703;font-size:10.5px;font-weight:800;padding:2px 10px;border-radius:99px}
.plan h4{font-size:16px;margin-bottom:6px}
.plan .price{font-size:30px;font-weight:800;color:var(--amber);letter-spacing:-1px}
.plan .price small{font-size:12px;color:var(--muted);font-weight:500;letter-spacing:0}
.plan ul{list-style:none;margin:14px 0 16px;display:flex;flex-direction:column;gap:7px}
.plan li{font-size:12.5px;color:#D6C8B7;display:flex;gap:7px;align-items:flex-start}
.plan li::before{content:"✓";color:var(--green);font-weight:800;flex-shrink:0}

.helper{font-size:11.5px;color:var(--muted2);line-height:1.7}
.divider{height:1px;background:var(--line);margin:16px 0}
.risk{border-left:2px solid rgba(226,70,74,.6);padding:9px 13px;background:rgba(226,70,74,.06);border-radius:0 10px 10px 0;font-size:11.8px;color:#E5B8B6;line-height:1.75}
.ok-note{border-left:2px solid rgba(54,199,124,.6);padding:9px 13px;background:rgba(54,199,124,.06);border-radius:0 10px 10px 0;font-size:11.8px;color:#B4E5CB;line-height:1.75}


/* 数字人预览 */
.ava-preview{position:relative;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:radial-gradient(120% 80% at 50% 18%,#7A4526,#181110 72%);display:grid;place-items:center}
.ava-bg{position:absolute;inset:0;background:radial-gradient(58% 38% at 50% 16%,rgba(255,205,140,.34),transparent 72%)}
.ava-body{position:relative;width:64%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;padding-top:14%}
.ava-head{position:relative;width:66%;aspect-ratio:1/1.13;background:linear-gradient(165deg,#F3D6BE,#D9AE92);border-radius:48% 48% 44% 44%;box-shadow:inset -8px -12px 22px rgba(150,95,70,.18)}
.ava-hair{position:absolute;top:-7%;left:-9%;right:-9%;height:52%;background:linear-gradient(180deg,#2E211E,#443029);border-radius:52% 52% 32% 32%}
.ava-brow{position:absolute;top:44%;width:17%;height:4px;border-radius:99px;background:rgba(60,42,36,.75)}
.ava-brow:nth-of-type(1){left:18%}
.ava-brow:nth-of-type(2){right:18%}
.ava-eye{position:absolute;top:53%;width:11%;aspect-ratio:1/1.25;border-radius:50%;background:radial-gradient(circle at 38% 32%,#6B4B3E 12%,#241817 60%)}
.ava-eye:nth-of-type(3){left:19%}
.ava-eye:nth-of-type(4){right:19%}
.ava-nose{position:absolute;top:65%;left:50%;transform:translateX(-50%);width:6%;height:7%;border-radius:0 0 40% 40%;background:rgba(196,140,112,.55)}
.ava-mouth{position:absolute;top:76%;left:50%;transform:translateX(-50%);width:20%;height:5%;border-radius:0 0 999px 999px;background:#A4464A}
.ava-mouth.talk{animation:talk 1.1s infinite ease-in-out}
@keyframes talk{0%,100%{height:4%;opacity:.9}50%{height:12%;opacity:1}}
.ava-blush{position:absolute;top:63%;width:14%;height:8%;border-radius:50%;background:rgba(228,124,116,.28);filter:blur(3px)}
.ava-blush.left{left:9%}
.ava-blush.right{right:9%}
.ava-neck{width:24%;height:9%;background:linear-gradient(180deg,#D2A387,#C49479);margin-top:-3%}
.ava-shirt{position:relative;width:150%;height:34%;background:linear-gradient(165deg,#254A58,#132931);border-radius:44% 44% 0 0}
.ava-collar{position:absolute;top:0;left:50%;transform:translateX(-50%);width:36%;height:52%;background:#F2EDE4;clip-path:polygon(0 0,100% 0,50% 100%)}
.ava-rec{position:absolute;top:10px;right:12px;font-size:9px;color:#fff;display:flex;align-items:center;gap:4px;opacity:.85}
.ava-rec i{width:6px;height:6px;border-radius:50%;background:#E2464A;animation:blink 1.4s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.ava-cap{position:absolute;bottom:10px;left:10px;right:10px;font-size:10.5px;color:#FFE9C9;background:rgba(0,0,0,.42);padding:5px 8px;border-radius:7px;backdrop-filter:blur(6px)}
.steps-mini{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.steps-mini div{font-size:12.5px;color:var(--cream2,#E4D6C4);display:flex;align-items:center;gap:8px}
.steps-mini b{width:20px;height:20px;border-radius:50%;background:rgba(246,167,38,.16);color:var(--amber);display:grid;place-items:center;font-size:11px;flex:none}

.mode-tabs{margin-bottom:14px}

/* 一键成片：桌面双栏，窄屏单列 */
.pipeline-grid{grid-template-columns:1.5fr 1fr}
.pipeline-grid2{grid-template-columns:1.25fr 1fr}
@media(max-width:1080px){ .pipeline-grid,.pipeline-grid2{grid-template-columns:1fr} }

/* 内容类型选择 */
.ct-group{font-size:11.5px;color:var(--muted2);letter-spacing:.6px;margin:12px 0 8px;display:flex;align-items:center;gap:8px}
.ct-group::after{content:"";flex:1;height:1px;background:var(--line)}
.ct-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.ct-card{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,244,228,.022);cursor:pointer;transition:.15s;min-width:0}
.ct-card:hover{border-color:rgba(255,244,228,.24);background:rgba(255,244,228,.05);transform:translateY(-1px)}
.ct-card.on{border-color:rgba(246,167,38,.6);background:linear-gradient(150deg,rgba(246,167,38,.16),rgba(246,167,38,.04));box-shadow:0 6px 18px rgba(246,167,38,.10)}
.ct-emoji{font-size:17px;line-height:1.2;flex:none;filter:saturate(.9)}
.ct-name{font-size:12.8px;font-weight:700;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-card.on .ct-name{color:var(--amber2)}
.ct-desc{font-size:10.5px;color:var(--muted2);line-height:1.5;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1180px){ .ct-grid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:900px){ .ct-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:640px){ .ct-grid{grid-template-columns:1fr} }


@media(max-width:1180px){
  .g4{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(2,1fr)}
  .auth{grid-template-columns:1fr}
  .auth-hero{display:none}
}
@media(max-width:900px){
  .shell{grid-template-columns:1fr}
  .search-row{flex-direction:column;align-items:stretch}
  .search-row .input,.search-row .btn{width:100%!important}
  .side{position:relative;height:auto;flex-direction:row;overflow-x:auto;gap:4px;padding:12px}
  .side .logo,.nav-title,.side-foot{display:none}
  .nav-group{display:flex;gap:4px;margin:0}
  .nav-item{white-space:nowrap}
  .g2,.g3,.g4{grid-template-columns:1fr}
  .chat{grid-template-columns:1fr}
  .chat-list{display:none}
  .card:has(table){overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:640px}
  .content{padding:16px 14px}
  .page-title,.page h1{font-size:22px}
}
@media(max-width:640px){
  .side{padding:10px 8px}
  .nav-item{font-size:12px;padding:6px 10px}
  .kpi{grid-template-columns:1fr}
  .stat-big{font-size:26px}
  .card{padding:16px}
  .hero-num,.big-num{font-size:30px}
}

/* ===== 登录页卖点流程 ===== */
.hero-flow{list-style:none;margin:24px 0 0;display:grid;gap:11px;max-width:520px}
.hero-flow li{display:flex;gap:13px;align-items:flex-start;padding:11px 14px;border-radius:13px;
  background:linear-gradient(135deg,rgba(246,167,38,.09),rgba(255,244,228,.02));border:1px solid rgba(246,167,38,.16)}
.hero-flow li b{font-size:12px;font-weight:900;color:#2a1b06;background:linear-gradient(145deg,var(--amber2),var(--amber));
  width:26px;height:26px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;margin-top:1px}
.hero-flow li strong{display:block;font-size:13.5px;color:var(--cream);font-weight:800;letter-spacing:.2px}
.hero-flow li span{display:block;font-size:11.5px;color:var(--muted);line-height:1.65;margin-top:3px}

/* ===== 激活码 ===== */
.code-card{border-color:rgba(246,167,38,.24);background:linear-gradient(160deg,rgba(246,167,38,.10),rgba(255,244,228,.02))}
.code-input{letter-spacing:2.2px;font-family:"Cascadia Code",Consolas,monospace;font-weight:700;text-transform:uppercase;text-align:center;font-size:15px}
.code-msg{margin-top:11px;font-size:12px;line-height:1.6;padding:9px 11px;border-radius:9px}
.code-msg.ok{color:#8CF0BC;background:rgba(54,199,124,.12);border:1px solid rgba(54,199,124,.28)}
.code-msg.err{color:#FFA9AB;background:rgba(226,70,74,.12);border:1px solid rgba(226,70,74,.28)}
.code-pill{display:inline-block;padding:3px 9px;border-radius:7px;background:rgba(255,244,228,.06);
  border:1px dashed rgba(255,244,228,.2);cursor:pointer;letter-spacing:1px;font-weight:700;color:var(--amber2);white-space:nowrap}
.code-pill:hover{border-color:var(--amber);background:rgba(246,167,38,.12)}
.code-preview{margin-top:4px;padding:11px 13px;border-radius:10px;font-size:12px;line-height:1.65;
  color:#F0D9B4;background:rgba(246,167,38,.09);border:1px solid rgba(246,167,38,.22)}
.code-list{max-height:300px;overflow:auto;display:grid;gap:7px;padding:10px;border-radius:11px;
  background:rgba(0,0,0,.28);border:1px solid var(--line2)}
.code-item{font-family:"Cascadia Code",Consolas,monospace;font-size:13.5px;letter-spacing:1.6px;font-weight:700;
  color:var(--amber2);padding:8px 11px;border-radius:8px;background:rgba(255,244,228,.045);cursor:pointer;text-align:center}
.code-item:hover{background:rgba(246,167,38,.14)}
.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{font-size:11.5px;padding:4px 11px;border-radius:99px;border:1px solid var(--line2);
  background:rgba(255,244,228,.04);color:var(--muted);cursor:pointer}
.chip:hover{border-color:var(--amber);color:var(--amber2);background:rgba(246,167,38,.1)}

/* ===== 爆款搜索 / 批量 / 同行 / 分销 / 定价 ===== */
.hero-search{border-color:rgba(246,167,38,.24);background:linear-gradient(150deg,rgba(246,167,38,.10),rgba(255,244,228,.02))}
.search-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.search-input{flex:1 1 240px;min-width:200px;font-size:14px}
.ok-note{font-size:11.5px;line-height:1.7;color:#C9B99F;background:rgba(54,199,124,.07);border:1px solid rgba(54,199,124,.2);
  padding:9px 11px;border-radius:9px}
.made-row{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid rgba(255,244,228,.055)}
.made-row:last-child{border-bottom:none}
.made-title{font-size:12.5px;color:#E4D6C4;line-height:1.55;overflow:hidden;text-overflow:ellipsis}
.plan-item{padding:11px 12px;border-radius:11px;background:rgba(255,244,228,.035);border:1px solid var(--line);
  margin-bottom:9px}
.plan-item b{font-size:12.5px;color:var(--cream)}
.split-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;
  color:var(--muted);padding:6px 0}
.split-row b{color:var(--cream);font-weight:700}
.price-big{font-size:28px;font-weight:900;color:var(--amber);letter-spacing:-.5px;margin-top:10px}
.price-big small{font-size:12px;color:var(--muted);font-weight:600}
