:root{--brand: #e8404f;--brand-dark: #c62f3d;--brand-soft: #fdeef0;--ink: #15171c;--ink-2: #3d4350;--muted: #737a8a;--line: #e7e9ef;--bg: #f5f6f9;--card: #ffffff;--ok: #12b76a;--warn: #f79009;--info: #2f6bff;--danger: #c62f3d;--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(21, 23, 28, .04), 0 8px 24px rgba(21, 23, 28, .04);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .22);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font-xs: 11.5px;--font-sm: 12.5px;--font-md: 13.5px;--font-lg: 16px;--font-xl: 20px;--font-2xl: 26px;--safe-bottom: env(safe-area-inset-bottom, 0px)}.theme-agent{--brand: #7b5cff;--brand-dark: #5f43d6;--brand-soft: #f0edff}.theme-admin{--brand: #2f6bff;--brand-dark: #1f4fd8;--brand-soft: #eaf0ff}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 system-ui,-apple-system,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.hidden{display:none!important}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(900px 500px at 15% 0%,#ffe9ec 0%,transparent 60%),radial-gradient(700px 400px at 90% 10%,#e9f0ff 0%,transparent 55%),var(--bg);padding:32px}.login-card{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:36px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:8px}.login-brand .logo{width:38px;height:38px;border-radius:11px}.login-title{font-size:var(--font-2xl);font-weight:700;letter-spacing:-.02em;margin:12px 0 6px}.login-sub{color:var(--muted);margin:0 0 26px}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 14px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 20px}.brand .logo{width:32px;height:32px;border-radius:9px}.brand b{font-size:15px;letter-spacing:-.01em}.brand span{display:block;font-size:11px;color:var(--muted);font-weight:400}.nav{display:grid;gap:2px}.nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--ink-2);font-size:var(--font-md)}.nav a:hover{background:#f4f5f8}.nav a.active{background:var(--brand-soft);color:var(--brand-dark);font-weight:600}.nav .ico{width:20px;text-align:center;opacity:.75;font-size:13px}.sidebar-foot{margin-top:24px;padding:12px;border-radius:10px;background:#f7f8fa;font-size:12px;color:var(--muted)}.main{padding:22px 30px 70px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.topbar .who{display:flex;align-items:center;gap:10px}.topbar .who b{font-size:15px}.page-title{font-size:var(--font-xl);font-weight:700;letter-spacing:-.01em;margin:0 0 4px}.page-sub{color:var(--muted);margin:0 0 20px;font-size:var(--font-sm)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card h3{margin:0 0 4px;font-size:14.5px;font-weight:650}.card .hint{color:var(--muted);font-size:var(--font-sm);margin:0 0 14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stack{display:grid;gap:16px}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:99px;font-size:var(--font-xs);font-weight:600;background:#eef0f4;color:var(--ink-2)}.badge.brand{background:var(--brand-soft);color:var(--brand-dark)}.badge.ok{background:#e7f8ef;color:#0b7a49}.badge.warn{background:#fef4e6;color:#b25b00}.badge.info{background:#eaf0ff;color:#1f4fd8}.badge.gray{background:#f1f2f5;color:var(--muted)}.badge.red{background:#fdeef0;color:var(--brand-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;cursor:pointer;font-size:var(--font-md);font-weight:550;transition:.15s ease}.btn:hover{border-color:#cfd3db;background:#fafbfc}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{background:#f2f3f6;color:var(--ink)}.btn.danger{background:#fff;border-color:#f1c2c7;color:var(--danger)}.btn.danger:hover{background:var(--brand-soft)}.btn.lg{padding:12px 22px;font-size:15px;border-radius:11px}.btn.sm{padding:5px 10px;font-size:12px;border-radius:7px}.btn.block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.field{display:grid;gap:6px;margin-bottom:14px}.field label{font-size:var(--font-sm);color:var(--ink-2);font-weight:550}.field input,.field select,.field textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;outline:none;transition:.15s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #e8404f1a}.field textarea{resize:vertical;min-height:84px}.field .tip{font-size:var(--font-xs);color:var(--muted)}.field .err{font-size:var(--font-xs);color:var(--danger)}.field input[type=file]{padding:7px;background:#fbfbfd}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.row.end{justify-content:flex-end}.grow{flex:1;min-width:0}.mt{margin-top:16px}.mb{margin-bottom:16px}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-variant-numeric:tabular-nums}.progress{height:8px;border-radius:99px;background:#eef0f4;overflow:hidden}.progress>i{display:block;height:100%;width:0;background:var(--brand);border-radius:99px;transition:width .3s ease}.progress.slim{height:6px}.stat{display:grid;gap:4px}.stat .k{font-size:12px;color:var(--muted)}.stat .v{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat .v small{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0}table.tbl{width:100%;border-collapse:collapse;font-size:var(--font-md)}table.tbl th{text-align:left;color:var(--muted);font-weight:550;font-size:12px;padding:8px 10px;border-bottom:1px solid var(--line)}table.tbl td{padding:11px 10px;border-bottom:1px solid #f1f2f5;vertical-align:middle}table.tbl tr:last-child td{border-bottom:none}.tbl-wrap{overflow-x:auto}.note{border:1px dashed var(--line);border-radius:10px;padding:12px 14px;color:var(--muted);font-size:var(--font-sm);background:#fbfbfd}.banner{border-radius:10px;padding:9px 12px;font-size:var(--font-sm);margin-bottom:12px;background:#fff4e5;color:#8a4b00;border:1px solid #ffe0b2}.banner.red{background:var(--brand-soft);color:#a32434;border-color:#f6c9cf}.banner.blue{background:#eaf0ff;color:#23479f;border-color:#cfdcff}.banner.ok{background:#e7f8ef;color:#0b7a49;border-color:#bfeed6}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#10121873;display:grid;place-items:center;z-index:50;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(480px,100%);background:#fff;border-radius:16px;padding:22px;box-shadow:var(--shadow-lg);max-height:90vh;overflow:auto}.modal h4{margin:0 0 8px;font-size:var(--font-lg)}.modal .modal-body{margin:0 0 16px;color:var(--ink-2);font-size:var(--font-md)}.modal .acts{display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,16px);background:#1c1f26;color:#fff;padding:10px 18px;border-radius:10px;font-size:var(--font-md);opacity:0;pointer-events:none;transition:.22s ease;z-index:60;max-width:80vw}.toast.show{opacity:1;transform:translate(-50%)}.toast.err{background:#8f2230}.loading{display:grid;place-items:center;gap:12px;padding:60px 0;color:var(--muted)}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid #eceef3;border-top-color:var(--brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.link{color:var(--brand);cursor:pointer;font-weight:550}.link:hover{text-decoration:underline}.empty{padding:40px 16px;text-align:center;color:var(--muted);font-size:var(--font-sm)}.empty .big{font-size:28px;margin-bottom:8px;opacity:.5}@media(max-width:900px){.login-wrap{padding:18px}.login-card{padding:24px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.row{flex-wrap:wrap}.field input,.field select,.field textarea{font-size:16px}.main{padding:16px 16px calc(84px + var(--safe-bottom))}}.merchant-shell{grid-template-columns:236px minmax(0,1fr);align-content:start}.merchant-main{min-width:0;display:flex;flex-direction:column;min-height:100vh}.page-sub{overflow-wrap:anywhere}.brand-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--brand),#ff8a5c);color:#fff;font-weight:800;font-size:15px;flex:none}.mobile-only{display:none}@media(max-width:900px){.desktop-only{display:none!important}.mobile-only{display:block}.merchant-shell{grid-template-columns:minmax(0,1fr)}.merchant-main{min-height:100vh}.main{padding:12px 16px calc(88px + var(--safe-bottom))}.btn{min-height:44px}.btn.sm{min-height:36px}.mobile-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#ffffffeb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-title{font-weight:650;font-size:14.5px}.icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:17px;line-height:1;cursor:pointer}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-dark);font-weight:700}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:35;display:grid;grid-template-columns:repeat(4,1fr);background:#fffffff7;border-top:1px solid var(--line);padding:6px 4px calc(6px + var(--safe-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tabbar a{display:grid;justify-items:center;gap:2px;padding:4px 0;color:var(--muted);font-size:11px;border-radius:10px}.tabbar a.active{color:var(--brand-dark);font-weight:650}.tab-ico{font-size:19px;line-height:1.2}.drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#10121866;z-index:45;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.drawer{position:fixed;top:0;bottom:0;left:0;width:min(280px,82vw);z-index:46;background:#fff;border-right:1px solid var(--line);padding:20px 14px;transform:translate(-102%);transition:transform .22s ease;overflow-y:auto}.drawer.open{transform:translate(0)}}.merchant-login .login-card{width:min(420px,100%)}.login-hint{margin-top:18px;font-size:12px;color:var(--muted);line-height:1.9}.login-hint code{background:#f3f4f7;padding:1px 5px;border-radius:4px;font-size:11.5px}.hero-card{background:linear-gradient(120deg,#fff,#fff6f3 55%,#ffeef0);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.hero-card h2{margin:0 0 6px;font-size:19px;letter-spacing:-.01em}.hero-card p{margin:0;color:var(--muted);font-size:13px}.quick-link{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:.15s ease}.quick-link:hover{border-color:var(--brand);transform:translateY(-1px)}.quick-link .qi{width:34px;height:34px;border-radius:9px;background:var(--brand-soft);display:grid;place-items:center;font-size:16px}.script-card{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.script-card .title{font-weight:650;font-size:14.5px}.script-card .meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.script-card .acts{display:flex;gap:8px;flex-wrap:wrap}.segment-editor{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;margin-bottom:12px}.segment-editor .seg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.segment-editor textarea{width:100%;min-height:92px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;resize:vertical;outline:none;line-height:1.75}.segment-editor textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #e8404f14}.segment-editor.is-current{border-color:var(--brand);box-shadow:0 0 0 3px #e8404f14}mark.hit-block{background:#ffd6da;color:#9b1c2c;padding:0 2px;border-radius:3px}mark.hit-warn{background:#ffeccc;color:#8a4b00;padding:0 2px;border-radius:3px}.compliance-panel{position:sticky;top:16px}.hit-item{border:1px solid #f4d7db;background:#fff8f8;border-radius:10px;padding:10px 12px;margin-bottom:8px}.hit-item .law{color:var(--muted);font-size:11.5px}.hit-item .suggest{color:var(--brand-dark);font-size:12px}.pick-list{display:grid;gap:10px}.pick-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer}.pick-item.selected{border-color:var(--brand);background:#fffafb;box-shadow:0 0 0 3px #e8404f12}.pick-item.disabled{opacity:.55;cursor:not-allowed}.pick-item .pi-main{flex:1;min-width:0}.pick-item .pi-title{font-weight:600;font-size:13.5px}.pick-item .pi-sub{color:var(--muted);font-size:12px;margin-top:2px}.gate-row{display:flex;gap:8px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed #eef0f4;font-size:13px}.gate-row:last-child{border-bottom:none}.studio{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:16px;align-items:start}.studio-main,.studio-side{display:grid;gap:14px;min-width:0}.now-card{background:linear-gradient(135deg,#171a22,#2b1d22 60%,#4a1f28);color:#fff;border-radius:16px;padding:20px}.now-card .tag{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:#ffb3bb}.dot{width:7px;height:7px;border-radius:50%;background:#ff4d5f;display:inline-block}.dot.pulse{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.now-card h3{margin:10px 0 6px;font-size:19px;color:#fff}.now-card .now-text{color:#ffffffc7;font-size:13px;line-height:1.8;min-height:46px}.now-card .now-meta{display:flex;gap:16px;margin-top:14px;color:#ffffff8c;font-size:12px;flex-wrap:wrap}.transport{display:flex;gap:8px;flex-wrap:wrap}.transport .btn{flex:1 1 auto;min-width:96px}.panic-btn{background:#fff;border-color:#f1c2c7;color:#c62f3d;font-weight:650}.panic-btn.active{background:#c62f3d;border-color:#c62f3d;color:#fff}.danmaku{height:300px;overflow-y:auto;display:grid;gap:8px;align-content:start;padding-right:4px}.danmaku .dm{display:flex;gap:8px;font-size:12.5px;line-height:1.55}.danmaku .dm .who{color:var(--brand-dark);font-weight:600;flex:none;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.danmaku .dm .what{color:var(--ink-2);word-break:break-word}.danmaku .dm.answer{background:#fff6f7;border:1px solid #f8dfe3;border-radius:8px;padding:6px 8px}.queue-list{display:grid;gap:6px;max-height:220px;overflow:auto}.queue-item{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--ink-2);padding:6px 8px;border-radius:8px}.queue-item.current{background:var(--brand-soft);color:var(--brand-dark);font-weight:600}.queue-item.done{opacity:.45}.session-badge{display:inline-flex;align-items:center;gap:6px}@media(max-width:900px){.studio{grid-template-columns:minmax(0,1fr)}.studio-side{order:2}.danmaku{height:220px}.transport .btn{min-width:0}.now-card{padding:16px}.now-card h3{font-size:17px}}
