:root{--navy: #13203a;--navy-2: #1c2c4c;--navy-line: #2a3b5e;--paper: #f3f5f8;--surface: #ffffff;--line: #e2e6ee;--line-2: #eef1f6;--ink: #1a2233;--ink-2: #4a5468;--ink-3: #8a93a6;--cobalt: #2f5bea;--cobalt-soft: #e8eefd;--gold: #f2a900;--gold-soft: #fff4d6;--teal: #12927e;--teal-soft: #e2f4f1;--red: #d64545;--red-soft: #fbe9e9;--violet: #7a4fd6;--violet-soft: #f0eafc;--num: "DIN Alternate", "DIN Condensed", "Bahnschrift", "Roboto Condensed", system-ui, sans-serif;--sans: -apple-system, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", system-ui, sans-serif;--r-lg: 10px;--r-md: 6px;--r-sm: 4px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}.num{font-family:var(--num);font-variant-numeric:tabular-nums;letter-spacing:.01em}.shell{display:grid;grid-template-columns:224px 1fr;height:100%}.side{background:var(--navy);color:#c9d2e4;display:flex;flex-direction:column;overflow-y:auto}.brand{padding:18px 18px 14px;display:flex;align-items:baseline;gap:8px;border-bottom:1px solid var(--navy-line)}.brand b{font-family:var(--num);font-size:26px;color:#fff;letter-spacing:.04em}.brand span{font-family:var(--num);font-size:15px;color:var(--gold)}.brand small{display:block;font-size:11px;color:#7f8db0;margin-top:2px}.navgroup{padding:14px 10px 4px}.navgroup h6{margin:0 8px 6px;font-size:11px;font-weight:500;color:#6f7ea3;display:flex;align-items:center;gap:6px}.navgroup h6 i{flex:1;height:1px;background:var(--navy-line)}.navlink{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-md);color:#c9d2e4;text-decoration:none;font-size:13px}.navlink:hover{background:var(--navy-2);color:#fff}.navlink.active{background:var(--cobalt);color:#fff}.navlink .new{margin-left:auto;font-size:10px;padding:0 5px;border-radius:3px;background:var(--gold);color:var(--navy);font-weight:700}.navlink .sug{margin-left:auto;font-size:10px;padding:0 5px;border-radius:3px;border:1px solid #6f7ea3;color:#aab6d3}.side-foot{margin-top:auto;padding:14px 18px;font-size:11px;color:#6f7ea3;border-top:1px solid var(--navy-line)}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.top{height:56px;flex:none;display:flex;align-items:center;gap:12px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--line)}.top .acct{display:flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--line);border-radius:var(--r-md)}.top .acct em{font-style:normal;width:22px;height:22px;border-radius:4px;background:var(--red);color:var(--gold);display:grid;place-items:center;font-weight:800;font-size:13px}.top .grow{flex:1}.cmd{display:flex;align-items:center;gap:8px;width:380px;max-width:40vw;padding:7px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--paper);color:var(--ink-3);cursor:pointer}.cmd kbd{margin-left:auto;font-family:var(--num);font-size:11px;border:1px solid var(--line);border-radius:3px;padding:0 5px;background:#fff}.avatar{width:30px;height:30px;border-radius:50%;background:var(--cobalt-soft);color:var(--cobalt);display:grid;place-items:center;font-weight:600}.content{flex:1;overflow-y:auto;padding:20px 24px 60px}.ph{display:flex;align-items:flex-end;gap:16px;margin-bottom:18px}.ph h1{margin:0;font-size:20px;font-weight:600;letter-spacing:.01em}.ph p{margin:4px 0 0;color:var(--ink-2);max-width:70ch}.ph .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.badge-v2{display:inline-block;vertical-align:3px;margin-left:8px;font-size:11px;font-weight:700;padding:1px 6px;border-radius:3px;background:var(--gold);color:var(--navy)}.badge-sug{display:inline-block;vertical-align:3px;margin-left:8px;font-size:11px;padding:0 6px;border-radius:3px;border:1px dashed var(--violet);color:var(--violet)}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:#fff;font-size:13px;white-space:nowrap}.btn:hover{border-color:#c5ccda}.btn.primary{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.btn.primary:hover{background:#244bd0}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:600}.btn.ghost{border-color:transparent;background:transparent;color:var(--cobalt)}.btn.sm{padding:3px 8px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.panel>header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line-2)}.panel>header h3{margin:0;font-size:14px;font-weight:600}.panel>header .hint{color:var(--ink-3);font-size:12px}.panel>header .right{margin-left:auto;display:flex;gap:6px;align-items:center}.panel .body{padding:14px 16px}.panel .body.flush{padding:0}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.g-1-2{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.mb{margin-bottom:14px}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.muted{color:var(--ink-3)}.ink2{color:var(--ink-2)}.up{color:var(--teal)}.down{color:var(--red)}.sp{flex:1}.kpis{display:grid;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:14px}.kpi{padding:14px 18px;border-left:1px solid var(--line-2)}.kpi:first-child{border-left:0}.kpi label{display:block;color:var(--ink-2);font-size:12px}.kpi .v{font-family:var(--num);font-size:26px;line-height:1.2;margin-top:4px}.kpi .v small{font-size:13px;color:var(--ink-3);margin-left:3px}.kpi .d{font-size:12px;margin-top:2px}.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:3px;font-size:12px;background:var(--line-2);color:var(--ink-2);white-space:nowrap}.tag.blue{background:var(--cobalt-soft);color:var(--cobalt)}.tag.green{background:var(--teal-soft);color:var(--teal)}.tag.red{background:var(--red-soft);color:var(--red)}.tag.gold{background:var(--gold-soft);color:#9a6b00}.tag.violet{background:var(--violet-soft);color:var(--violet)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}table.t{width:100%;border-collapse:collapse}.t th{text-align:left;font-weight:500;color:var(--ink-3);font-size:12px;padding:8px 12px;border-bottom:1px solid var(--line);background:#fafbfd;white-space:nowrap}.t td{padding:9px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}.t tr:last-child td{border-bottom:0}.t tr:hover td{background:#fafbfd}.t .r{text-align:right}.t td.r{font-family:var(--num);font-variant-numeric:tabular-nums}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px}.tabs button{border:0;background:none;padding:8px 14px;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--cobalt);border-bottom-color:var(--cobalt);font-weight:600}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff}.seg button{border:0;background:none;padding:4px 12px;font-size:12px;color:var(--ink-2)}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--navy);color:#fff}.bar{height:6px;background:var(--line-2);border-radius:3px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--cobalt);border-radius:3px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field>span{font-size:12px;color:var(--ink-2)}.input,select.input,textarea.input{padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;width:100%}textarea.input{resize:vertical;min-height:70px}.chk{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}.chk.on{border-color:var(--cobalt);background:var(--cobalt-soft);color:var(--cobalt)}.switch{width:32px;height:18px;border-radius:9px;background:#cfd5e1;position:relative;border:0;padding:0;flex:none;transition:background .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}.switch.on{background:var(--teal)}.switch.on:after{transform:translate(14px)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#13203a73;z-index:50;display:grid;place-items:center}.modal{background:#fff;border-radius:var(--r-lg);width:min(860px,94vw);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #13203a4d}.modal>header{padding:14px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center}.modal>header h3{margin:0;font-size:15px}.modal>.mbody{padding:18px 20px;overflow-y:auto}.modal>footer{padding:12px 20px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end}.steps{display:flex;gap:0;margin-bottom:18px}.steps div{flex:1;display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:12px}.steps div b{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--num);font-weight:400}.steps div.on{color:var(--ink)}.steps div.on b{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.steps div.done b{background:var(--teal-soft);border-color:var(--teal);color:var(--teal)}.steps div:after{content:"";flex:1;height:1px;background:var(--line);margin-right:8px}.steps div:last-child:after{display:none}.copilot{position:fixed;top:0;right:0;bottom:0;width:420px;z-index:60;background:var(--navy);color:#dfe5f2;display:flex;flex-direction:column;box-shadow:-20px 0 50px #00000040;animation:slidein .22s ease-out}@keyframes slidein{0%{transform:translate(30px);opacity:0}to{transform:none;opacity:1}}.copilot header{padding:16px 18px;border-bottom:1px solid var(--navy-line);display:flex;align-items:center;gap:10px}.copilot header b{font-size:15px;color:#fff}.copilot .msgs{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.copilot .m{max-width:92%;padding:10px 12px;border-radius:10px;line-height:1.6;white-space:pre-wrap}.copilot .m.u{align-self:flex-end;background:var(--cobalt);color:#fff;border-bottom-right-radius:3px}.copilot .m.a{align-self:flex-start;background:var(--navy-2);border:1px solid var(--navy-line);border-bottom-left-radius:3px}.copilot .m.a .plan{margin-top:8px;border-top:1px dashed var(--navy-line);padding-top:8px;font-size:12px;color:#aab6d3}.copilot .chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 10px}.copilot .chips button{border:1px solid var(--navy-line);background:transparent;color:#c9d2e4;border-radius:14px;padding:3px 10px;font-size:12px}.copilot .chips button:hover{border-color:var(--gold);color:var(--gold)}.copilot form{display:flex;gap:8px;padding:12px 18px 18px;border-top:1px solid var(--navy-line)}.copilot form input{flex:1;background:var(--navy-2);border:1px solid var(--navy-line);border-radius:var(--r-md);padding:8px 10px;color:#fff}.typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#aab6d3;margin-right:4px;animation:blink 1s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,to{opacity:.2}50%{opacity:1}}.guide{position:fixed;left:240px;bottom:16px;z-index:40;width:360px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--r-md);box-shadow:0 10px 30px #13203a26;padding:12px 14px}.guide h4{margin:0 0 4px;font-size:13px}.guide p{margin:0 0 8px;color:var(--ink-2);font-size:12px;line-height:1.6}.guide .row{justify-content:space-between}.toast{position:fixed;top:70px;left:50%;transform:translate(-50%);z-index:80;background:var(--navy);color:#fff;padding:9px 16px;border-radius:var(--r-md);box-shadow:0 8px 24px #0003;display:flex;align-items:center;gap:8px}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--ink-2)}.legend span{display:inline-flex;align-items:center;gap:5px}.alert-row{display:flex;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line-2);align-items:flex-start}.alert-row:last-child{border-bottom:0}.alert-row .ic{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;flex:none}.alert-row h5{margin:0;font-size:13px;font-weight:600}.alert-row p{margin:2px 0 0;color:var(--ink-2);font-size:12px}.creative{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff}.creative .thumb{aspect-ratio:4 / 5;position:relative;display:flex;align-items:flex-end;padding:10px;color:#fff}.creative .thumb .score{position:absolute;top:8px;right:8px;font-family:var(--num);font-size:15px;background:#00000073;padding:1px 7px;border-radius:4px}.creative .meta{padding:8px 10px;font-size:12px}.code{font-family:SF Mono,Menlo,monospace;font-size:12px;background:var(--navy);color:#cfe0ff;border-radius:var(--r-md);padding:12px 14px;white-space:pre-wrap;word-break:break-all;line-height:1.6}.heat td{text-align:center;font-family:var(--num);font-size:12px;padding:6px 4px;border:2px solid #fff;border-radius:4px}.flow-node{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}.empty{padding:30px;text-align:center;color:var(--ink-3)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3,.g-2-1,.g-1-2{grid-template-columns:1fr}}@media (max-width: 760px){.shell{grid-template-columns:1fr}.side{display:none}.g2,.g4{grid-template-columns:1fr}.cmd{display:none}.content{padding:16px}.guide{left:16px;right:16px;width:auto}.copilot{width:100%}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
