
        @font-face {
            font-display: block;
            font-family: "bootstrap-icons";
            src: url("../lib/fonts/bootstrap-icons.woff2") format("woff2"), url("../lib/fonts/bootstrap-icons.woff") format("woff"),
                 url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/fonts/bootstrap-icons.woff2") format("woff2"),
                 url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/fonts/bootstrap-icons.woff") format("woff");
        }
        /* 传输助手：消息和代码一律以等宽、保留换行的方式呈现 */
        .transfer-composer { min-height: 180px; resize: vertical; font-family: var(--bs-font-monospace); white-space: pre; tab-size: 4; }
        .transfer-list { display: grid; gap: 1rem; }
        .transfer-message { border: 1px solid var(--m-border); border-left: 4px solid var(--m-accent); border-radius: var(--m-radius); background: var(--m-bg-card); overflow: hidden; }
        .transfer-message-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .65rem .9rem; background: var(--m-fill); color: var(--m-text-muted); font-size: .82rem; }
        .transfer-message-select { width: 1.15rem; height: 1.15rem; cursor: pointer; accent-color: var(--m-accent); }
        .transfer-message-content { margin: 0; padding: 1rem; max-height: 480px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; tab-size: 4; font: .9rem/1.55 var(--bs-font-monospace); color: var(--m-text); background: transparent; }
        .file-draggable { cursor: grab !important; user-select: none; }
        .file-draggable.file-dragging { opacity: .45; cursor: grabbing !important; }
        .file-folder-drop-target { transition: outline-color .15s ease, background-color .15s ease, transform .15s ease; }
        .file-folder-drop-target.file-folder-drop-active { outline: 3px dashed var(--m-accent); outline-offset: -4px; background: color-mix(in srgb, var(--m-accent) 10%, transparent); transform: scale(1.02); }
        .workspace-portal { --portal-x:0; --portal-y:0; display:none; min-height:100vh; padding:clamp(1rem,4vw,4rem); overflow:hidden; position:relative; background:#080b17; color:#fff; }
        .workspace-portal::before, .workspace-portal::after { content:""; position:absolute; width:48vw; height:48vw; border-radius:50%; filter:blur(90px); opacity:.38; pointer-events:none; }
        .workspace-portal::before { background:#3b82f6; left:-18vw; top:-20vw; }.workspace-portal::after { background:#ec4899; right:-18vw; bottom:-22vw; }
        .workspace-portal-inner { position:relative; z-index:1; max-width:1450px; min-height:calc(100vh - 8rem); margin:auto; display:flex; flex-direction:column; }
        .workspace-portal-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:clamp(1.5rem,5vh,4rem); color:rgba(255,255,255,.78); letter-spacing:.04em; }
        .workspace-choices { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; flex:1; min-height:520px; gap:clamp(1rem,3vw,3rem); }
        .workspace-choice { position:relative; border:1px solid rgba(255,255,255,.18); border-radius:32px; padding:clamp(2rem,5vw,5rem); overflow:hidden; text-align:left; color:#fff; background:rgba(255,255,255,.075); box-shadow:0 30px 80px rgba(0,0,0,.3); backdrop-filter:blur(18px); cursor:pointer; transition:transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s, box-shadow .35s; }
        .workspace-choice:hover { transform:translateY(-10px) scale(1.015); border-color:rgba(255,255,255,.62); box-shadow:0 36px 100px rgba(0,0,0,.48); }
        .workspace-choice::after { content:""; position:absolute; inset:auto -15% -30% auto; width:280px; height:280px; border-radius:50%; background:currentColor; opacity:.12; filter:blur(12px); }
        .workspace-work { background:linear-gradient(145deg,rgba(37,99,235,.52),rgba(15,23,42,.75)); color:#93c5fd; }.workspace-personal { background:linear-gradient(145deg,rgba(190,24,93,.5),rgba(45,12,63,.75)); color:#f9a8d4; }
        .workspace-choice > * { position:relative; z-index:1; }.workspace-choice .workspace-icon { width:76px; height:76px; border-radius:24px; display:grid; place-items:center; font-size:2.1rem; color:#fff; background:rgba(255,255,255,.15); margin-bottom:clamp(3rem,13vh,10rem); box-shadow:inset 0 1px rgba(255,255,255,.32); }
        .workspace-choice h1 { color:#fff; font-size:clamp(2.2rem,5vw,4.6rem); font-weight:800; letter-spacing:-.06em; margin:0 0 .75rem; }.workspace-choice p { max-width:340px; color:rgba(255,255,255,.78); font-size:1rem; }.workspace-enter { margin-top:2rem; display:inline-flex; gap:.6rem; align-items:center; color:#fff; font-weight:700; }
        .workspace-visual { pointer-events:none; position:absolute; z-index:3; left:50%; top:54%; width:min(56vw,740px); aspect-ratio:1; transform:translate(-50%,-50%); display:grid; place-items:center; }
        .workspace-visual::before { content:""; position:absolute; inset:8%; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.34) 0 1px,transparent 2px); background-size:36px 36px; mask-image:radial-gradient(circle,black,transparent 68%); opacity:.55; transform:translate(calc(var(--portal-x)*-8px),calc(var(--portal-y)*-8px)); }
        .workspace-monogram { position:absolute; font-size:min(46vw,610px); font-weight:900; line-height:.8; letter-spacing:-.2em; color:rgba(255,255,255,.055); text-shadow:0 0 30px rgba(255,255,255,.24); transform:translate(calc(var(--portal-x)*-12px),calc(var(--portal-y)*-12px)); }
        .workspace-core { position:relative; width:clamp(155px,18vw,265px); aspect-ratio:1; border-radius:42% 58% 52% 48%/55% 43% 57% 45%; transform:perspective(800px) rotateX(calc(var(--portal-y)*-10deg)) rotateY(calc(var(--portal-x)*12deg)); transition:transform .1s linear; background:radial-gradient(circle at 35% 25%,#dbeafe 0 4%,#38bdf8 12%,#2563eb 42%,#172554 72%,#090b2d 100%); box-shadow:inset 24px 20px 45px rgba(255,255,255,.3),inset -30px -28px 55px rgba(0,0,0,.5),0 0 35px #38bdf8,0 0 100px rgba(59,130,246,.5); animation:workspace-float 5s ease-in-out infinite; }
        .workspace-core::before,.workspace-core::after { content:""; position:absolute; inset:-23%; border:1px solid rgba(255,255,255,.65); border-radius:50%; box-shadow:0 0 16px rgba(255,255,255,.45),inset 0 0 12px rgba(96,165,250,.45); }.workspace-core::before{transform:rotateX(66deg) rotateZ(20deg)}.workspace-core::after{transform:rotateY(65deg) rotateZ(-32deg)}
        .workspace-core-dot { position:absolute; inset:43%; border-radius:50%; background:#fff; box-shadow:0 0 12px #fff,0 0 34px #bae6fd; }.workspace-scan { position:absolute; display:flex; align-items:center; gap:.45rem; color:rgba(255,255,255,.64); font:600 .65rem/1 monospace; letter-spacing:.08em; }.workspace-scan::before{content:"";width:36px;height:1px;background:currentColor}.workspace-scan-left{left:3%;top:50%}.workspace-scan-right{right:3%;top:43%;text-align:right;flex-direction:row-reverse}.workspace-scan small{display:block;opacity:.72;font-size:.55rem;line-height:1.5}@keyframes workspace-float{0%,100%{margin-top:-8px}50%{margin-top:10px}}
        .personal-system { display:none; min-height:100vh; padding:clamp(1rem,4vw,3rem); background:radial-gradient(circle at 0 0,#4c1d95 0,transparent 34%),radial-gradient(circle at 100% 100%,#9d174d 0,transparent 32%),#110a1c; color:#fff; }.personal-system .personal-shell { max-width:1200px; margin:auto; }.personal-system .personal-card { border:1px solid rgba(255,255,255,.16); border-radius:24px; padding:2rem; background:rgba(255,255,255,.08); backdrop-filter:blur(16px); }
        @media (max-width:767.98px){.workspace-portal{padding:1rem}.workspace-portal-inner{min-height:calc(100vh - 2rem)}.workspace-portal-title{margin-bottom:1rem}.workspace-choices{grid-template-columns:1fr;min-height:0;gap:1rem}.workspace-choice{min-height:290px;border-radius:24px;padding:2rem}.workspace-choice .workspace-icon{margin-bottom:3rem;width:58px;height:58px;font-size:1.5rem;border-radius:18px}.workspace-choice h1{font-size:2.5rem}.workspace-choice p{font-size:.9rem}.workspace-visual{opacity:.42;width:100vw;top:50%}.workspace-scan{display:none}}
        /* 双空间入口：全屏切面、玻璃质感与壁虎主视觉 */
        .workspace-portal { padding:0; cursor:none; background:#050609; }
        .workspace-portal::before { width:70vw; height:70vw; left:-42vw; top:-34vw; background:#0754c8; opacity:.28; }
        .workspace-portal::after { width:62vw; height:62vw; right:-38vw; bottom:-38vw; background:#7d1d61; opacity:.22; }
        .workspace-portal-inner { max-width:none; min-height:100vh; }
        .workspace-portal-title { position:absolute; z-index:8; top:0; left:0; right:0; margin:0; padding:clamp(1.25rem,3vw,2.5rem) clamp(1.25rem,5vw,4.5rem); }
        .workspace-brand { display:flex; align-items:center; gap:.8rem; font:800 clamp(.9rem,1.4vw,1.15rem)/1 system-ui,sans-serif; letter-spacing:-.04em; color:#fff; }
        .workspace-brand::before { content:""; width:1.65rem; height:1.65rem; display:inline-block; background:linear-gradient(90deg,#43b2ff 46%,transparent 46% 54%,#43b2ff 54%),linear-gradient(90deg,#43b2ff 46%,transparent 46% 54%,#43b2ff 54%); background-size:100% 42%; background-position:top,bottom; background-repeat:no-repeat; filter:drop-shadow(0 0 8px #38bdf8); }
        .workspace-brand small { padding-left:.8rem; border-left:1px solid rgba(255,255,255,.25); color:rgba(255,255,255,.48); font:700 .62rem/1 monospace; letter-spacing:.16em; }
        .workspace-portal-title .btn { border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.06); backdrop-filter:blur(8px); }
        .workspace-choices { z-index:1; grid-template-columns:1fr 1fr; gap:0; min-height:100vh; }
        .workspace-choice { min-height:100vh; border:0; border-radius:0; padding:clamp(7rem,16vh,12rem) clamp(1.5rem,6vw,6.5rem) clamp(2.5rem,7vh,5rem); display:flex; flex-direction:column; justify-content:flex-end; background:rgba(255,255,255,.07); box-shadow:none; backdrop-filter:blur(18px); }
        .workspace-choice:hover { transform:none; border-color:transparent; box-shadow:none; background:rgba(255,255,255,.13); }
        .workspace-choice + .workspace-choice { border-left:1px solid rgba(255,255,255,.12); }
        .workspace-choice::before { content:attr(data-word); position:absolute; z-index:0; top:clamp(7.2rem,18vh,13rem); left:0; width:100%; font:900 clamp(4.5rem,14.2vw,14rem)/.74 system-ui,sans-serif; letter-spacing:-.1em; color:rgba(255,255,255,.10); text-align:center; white-space:nowrap; transition:color .35s ease; }
        .workspace-choice:hover::before { color:rgba(255,255,255,.19); }
        .workspace-work { color:#93c5fd; background:rgba(8,28,66,.38); }.workspace-personal { color:#f9a8d4; background:rgba(53,10,50,.35); }
        .workspace-choice .workspace-icon { width:54px; height:54px; margin-bottom:auto; border-radius:50%; background:rgba(255,255,255,.12); font-size:1.45rem; }
        .workspace-choice h1 { font-size:clamp(2.5rem,5.3vw,5.4rem); }.workspace-choice p { max-width:360px; }.workspace-enter { margin-top:1.4rem; }
        .workspace-visual { z-index:5; width:min(48vw,680px); height:min(88vh,760px); aspect-ratio:auto; top:52%; overflow:visible; }
        .workspace-visual::before { inset:4%; opacity:.28; background-size:28px 28px; }
        .workspace-monogram,.workspace-core { display:none; }
        .workspace-gecko { position:relative; z-index:2; width:100%; max-height:100%; object-fit:contain; filter:drop-shadow(0 30px 34px rgba(0,0,0,.6)) drop-shadow(0 0 22px rgba(56,189,248,.38)); transform:perspective(900px) rotateX(calc(var(--portal-y)*-6deg)) rotateY(calc(var(--portal-x)*10deg)); transition:transform .12s linear; animation:workspace-gecko-float 5.5s ease-in-out infinite; }
        .workspace-scan { z-index:3; color:rgba(255,255,255,.78); text-shadow:0 0 10px rgba(255,255,255,.35); }.workspace-scan-left{left:-6%;top:52%}.workspace-scan-right{right:-6%;top:43%}
        .workspace-pointer-beetle { position:absolute; z-index:20; width:56px; height:56px; margin:-14px 0 0 -14px; pointer-events:none; opacity:0; transform:translate3d(-100px,-100px,0); transition:opacity .18s ease; filter:drop-shadow(0 0 7px rgba(251,191,36,.7)); animation:workspace-beetle-hover .22s ease-in-out infinite alternate; }
        .workspace-portal.is-pointer-active .workspace-pointer-beetle { opacity:1; }
        @keyframes workspace-gecko-float { 0%,100% { margin-top:-8px; } 50% { margin-top:10px; } }
        @keyframes workspace-beetle-hover { from { margin-top:-16px; } to { margin-top:-11px; } }
        @media (max-width:767.98px) { .workspace-portal { cursor:auto; }.workspace-portal-title { padding:1rem; }.workspace-brand small { display:none; }.workspace-choices { grid-template-columns:1fr; }.workspace-choice { min-height:50vh; padding:5.5rem 2rem 2.3rem; }.workspace-choice + .workspace-choice { border-left:0; border-top:1px solid rgba(255,255,255,.12); }.workspace-choice::before { top:5.8rem; font-size:18vw; }.workspace-choice .workspace-icon { width:48px; height:48px; margin-bottom:1.5rem; }.workspace-visual { width:92vw; height:54vh; top:50%; opacity:.76; }.workspace-scan,.workspace-pointer-beetle { display:none; } }
        /* 源码风格入口最终版：视频底图 + 两个独立分屏，不使用壁虎或飞虫素材 */
        .workspace-portal { padding:0; cursor:auto; background:#000; }
        .workspace-portal::before { inset:0; width:auto; height:auto; border-radius:0; left:0; top:0; filter:none; opacity:1; background:linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.06) 47%,rgba(0,0,0,.28)); }
        .workspace-portal::after { display:none; }
        .workspace-background-video { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; transform:scaleX(-1); opacity:.92; }
        .workspace-portal-inner { z-index:2; max-width:none; min-height:100vh; }
        .workspace-portal-title { z-index:8; padding:clamp(1.25rem,3vw,2.5rem) clamp(1.25rem,5vw,4.5rem); pointer-events:none; }
        .workspace-portal-title > * { pointer-events:auto; }
        .workspace-brand { font-size:clamp(1rem,1.5vw,1.22rem); }.workspace-brand::before { background:linear-gradient(90deg,#ff5c35 46%,transparent 46% 54%,#ff5c35 54%),linear-gradient(90deg,#ff5c35 46%,transparent 46% 54%,#ff5c35 54%); filter:none; }
        .workspace-source-nav { margin-left:auto; margin-right:2rem; display:flex; align-items:center; gap:1rem; color:rgba(255,255,255,.72); font:600 .66rem/1 system-ui,sans-serif; letter-spacing:.2em; }.workspace-source-nav i { width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,.5); }
        .workspace-choices { z-index:2; min-height:100vh; gap:0; }
        .workspace-choice { min-height:100vh; padding:clamp(7rem,16vh,11rem) clamp(1.5rem,5vw,5.2rem) clamp(2.5rem,6vh,4rem); background:transparent; box-shadow:none; backdrop-filter:none; }
        .workspace-choice:hover { transform:none; box-shadow:none; background:transparent; }
        .workspace-work { background:transparent; border-right:1px solid rgba(255,255,255,.12); backdrop-filter:none; -webkit-backdrop-filter:none; }
        .workspace-work::after { content:""; position:absolute; z-index:0; inset:0; width:auto; height:auto; border-radius:0; transform:none; opacity:1; filter:none; background:rgba(60,60,60,.20); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cmask id='work-cutout'%3E%3Crect width='1000' height='1000' fill='white'/%3E%3Ctext x='50' y='430' font-family='Arial,sans-serif' font-size='280' font-weight='900' letter-spacing='-24' textLength='900' lengthAdjust='spacingAndGlyphs' fill='black'%3EWORK%3C/text%3E%3C/mask%3E%3C/defs%3E%3Crect width='1000' height='1000' fill='white' mask='url(%23work-cutout)'/%3E%3C/svg%3E"); mask-repeat:no-repeat; mask-size:100% 100%; mask-mode:alpha; -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cmask id='work-cutout'%3E%3Crect width='1000' height='1000' fill='white'/%3E%3Ctext x='50' y='430' font-family='Arial,sans-serif' font-size='280' font-weight='900' letter-spacing='-24' textLength='900' lengthAdjust='spacingAndGlyphs' fill='black'%3EWORK%3C/text%3E%3C/mask%3E%3C/defs%3E%3Crect width='1000' height='1000' fill='white' mask='url(%23work-cutout)'/%3E%3C/svg%3E"); -webkit-mask-repeat:no-repeat; -webkit-mask-size:100% 100%; }
        .workspace-personal { background:rgba(0,0,0,.04); }
        .workspace-choice + .workspace-choice { border-left:0; }
        .workspace-choice::before { top:clamp(9rem,21vh,14rem); color:rgba(255,255,255,.96); opacity:.94; font-size:clamp(4.5rem,13.5vw,13rem); letter-spacing:-.11em; text-shadow:0 1px rgba(255,255,255,.18); }
        .workspace-work::before { color:transparent; -webkit-text-stroke:0; text-shadow:none; }
        .workspace-personal::after { content:""; position:absolute; z-index:0; width:min(56vh,42vw); height:min(56vh,42vw); top:14vh; left:50%; border:1px solid rgba(255,255,255,.26); border-radius:50%; transform:translateX(-50%); box-shadow:0 min(42vh,360px) 0 -1px rgba(255,255,255,.22); filter:none; opacity:1; background:none; }
        .workspace-choice .workspace-icon { margin-bottom:auto; width:0; height:0; visibility:hidden; }
        .workspace-choice h1 { font-size:clamp(2.4rem,4.1vw,4.1rem); margin-bottom:.85rem; letter-spacing:-.07em; }.workspace-choice p { font-size:clamp(.9rem,1.15vw,1.05rem); }.workspace-enter { margin-top:1.5rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.18); width:min(100%,500px); }
        .workspace-visual,.workspace-pointer-beetle { display:none !important; }
        /* 入口页实时粒子与鼠标沉浸交互 */
        .workspace-particle-canvas { position:absolute; z-index:1; inset:0; width:100%; height:100%; pointer-events:none; opacity:.9; mix-blend-mode:screen; }
        .workspace-mouse-glow { position:absolute; z-index:1; left:0; top:0; width:44vmax; height:44vmax; pointer-events:none; opacity:0; transform:translate3d(-50%,-50%,0); background:radial-gradient(circle,rgba(255,128,70,.18) 0,rgba(103,177,255,.10) 25%,transparent 68%); transition:opacity .28s ease; filter:blur(4px); }
        .workspace-portal.is-motion-active .workspace-mouse-glow { opacity:1; }
        @media (hover:hover) and (pointer:fine) { .workspace-choice { transition:background .25s ease; }.workspace-portal.is-motion-active .workspace-work::after { background:rgba(60,60,60,.14); }.workspace-portal.is-motion-active .workspace-personal::after { border-color:rgba(255,255,255,.42); box-shadow:0 min(42vh,360px) 0 -1px rgba(255,255,255,.32),0 0 40px rgba(255,118,72,.18); } }
        @media (max-width:767.98px),(prefers-reduced-motion:reduce) { .workspace-particle-canvas { opacity:.42; }.workspace-mouse-glow { display:none; } }
        .workspace-performance-toggle { border:1px solid rgba(255,255,255,.24); border-radius:999px; padding:.36rem .64rem; color:rgba(255,255,255,.82); background:rgba(5,8,14,.24); font:700 .68rem/1 system-ui,sans-serif; letter-spacing:.04em; }.workspace-performance-toggle:hover{color:#fff;border-color:rgba(255,255,255,.55)}.workspace-performance-toggle.is-on{color:#ffd5c8;border-color:rgba(255,131,85,.62);background:rgba(198,67,28,.24)}.workspace-portal.is-performance-mode .workspace-background-video{opacity:.70}.workspace-portal.is-performance-mode .workspace-particle-canvas{opacity:.58}
        @media (max-width:767.98px) { .workspace-portal-title { padding:1rem; }.workspace-source-nav { display:none; }.workspace-choices { grid-template-columns:1fr; }.workspace-choice { min-height:50vh; padding:5.5rem 2rem 2.2rem; }.workspace-work { border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }.workspace-choice + .workspace-choice { border-top:0; }.workspace-choice::before { top:5.5rem; font-size:19vw; }.workspace-personal::after { width:54vw; height:54vw; top:12vh; box-shadow:0 35vh 0 -1px rgba(255,255,255,.18); }.workspace-background-video { opacity:.52; } }
        /* 场景 01：Automation Spaces。仅管理员打开空间选择器时加载 3D 场景。 */
        #workspace-portal-automation{display:none;isolation:isolate;min-height:100svh;overflow:hidden;background:#050505;color:#f7f7f7;font-family:"Space Grotesk","Microsoft YaHei",sans-serif}
        #workspace-portal-automation::before,#workspace-portal-automation::after,#workspace-portal-automation .workspace-background-video,#workspace-portal-automation .workspace-particle-canvas,#workspace-portal-automation .workspace-mouse-glow{display:none!important}
        .automation-grid{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.32;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse at 50% 40%,#000 0%,transparent 76%)}
        .automation-spline-layer{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 77% 45%,rgba(242,125,38,.18),transparent 23%),radial-gradient(circle at 58% 75%,rgba(80,98,255,.14),transparent 34%)}
        .automation-spline-layer spline-viewer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transform:perspective(1800px) translate3d(var(--automation-arm-shift-x,0px),var(--automation-arm-shift-y,0px),0) translateX(15%) scale(1.08) rotateX(var(--automation-arm-pitch,0deg)) rotateY(var(--automation-arm-yaw,0deg));transform-origin:72% 56%;opacity:.88;filter:contrast(1.06) saturate(.82);transition:transform .24s cubic-bezier(.22,1,.36,1);will-change:transform}
        .automation-scene-fallback{position:absolute;right:4vw;top:50%;width:min(54vw,820px);aspect-ratio:1;transform:translateY(-50%);border:1px solid rgba(255,255,255,.11);border-radius:50%;background:radial-gradient(circle at 35% 32%,rgba(255,255,255,.64) 0 1px,transparent 2px),radial-gradient(circle at 50% 50%,rgba(242,125,38,.15),transparent 11%,rgba(20,20,20,.18) 27%,transparent 52%);box-shadow:inset 0 0 120px rgba(255,255,255,.04),0 0 140px rgba(242,125,38,.11);animation:automation-orbit 12s linear infinite}
        .automation-scene-fallback::before,.automation-scene-fallback::after{position:absolute;inset:13%;border:1px solid rgba(255,255,255,.12);border-radius:50%;content:""}.automation-scene-fallback::before{transform:rotateX(66deg)}.automation-scene-fallback::after{inset:28%;border-color:rgba(242,125,38,.48);box-shadow:0 0 24px rgba(242,125,38,.2)}
        #workspace-portal-automation .workspace-portal-inner{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto;min-height:100svh;padding:clamp(1.25rem,3.2vw,3rem) clamp(1.25rem,5vw,5.25rem) 1.5rem;pointer-events:none}
        .automation-nav,.automation-main,.automation-footer{width:min(100%,1440px);margin:0 auto}.automation-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;pointer-events:auto}.automation-brand{display:flex;align-items:center;gap:.7rem;font:700 clamp(.78rem,1vw,.98rem)/1 "Orbitron",sans-serif;letter-spacing:.08em}.automation-brand-mark{width:24px;height:24px;background:linear-gradient(90deg,#f27d26 43%,transparent 43% 57%,#f27d26 57%),linear-gradient(90deg,#f27d26 43%,transparent 43% 57%,#f27d26 57%);background-size:100% 38%;background-position:top,bottom;background-repeat:no-repeat}.automation-brand small{padding-left:.72rem;border-left:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.45);font:500 .57rem/1 "JetBrains Mono",monospace;letter-spacing:.16em}.automation-nav-actions{display:flex;align-items:center;gap:.65rem}.automation-nav-status{display:inline-flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.6);font:500 .61rem/1 "JetBrains Mono",monospace;letter-spacing:.12em}.automation-nav-status i,.automation-kicker i{width:6px;height:6px;border-radius:50%;background:#f27d26;box-shadow:0 0 0 4px rgba(242,125,38,.14)}
        .workspace-performance-toggle,.automation-logout{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.48rem .72rem;color:rgba(255,255,255,.78);background:rgba(255,255,255,.04);font:600 .67rem/1 "Space Grotesk",sans-serif;transition:.2s}.workspace-performance-toggle:hover,.automation-logout:hover{border-color:rgba(255,255,255,.56);color:#fff;background:rgba(255,255,255,.1)}.workspace-performance-toggle.is-on{color:#ffd5bc;border-color:rgba(242,125,38,.62);background:rgba(242,125,38,.14)}
        .automation-main{display:grid;align-content:center;min-height:0;padding:clamp(2.5rem,7vh,6.5rem) 0;pointer-events:auto}.automation-hero{width:min(720px,57vw);animation:automation-reveal .76s cubic-bezier(.2,.8,.2,1) both}.automation-kicker{display:flex;align-items:center;gap:.55rem;margin:0 0 1.25rem;color:rgba(255,255,255,.55);font:500 .68rem/1 "JetBrains Mono",monospace;letter-spacing:.18em}.automation-hero h1{max-width:720px;margin:0;color:#fff;font:400 clamp(3.4rem,7.3vw,8.2rem)/.86 "Orbitron",sans-serif;letter-spacing:-.075em}.automation-hero h1 span{display:block;background:linear-gradient(90deg,rgba(255,255,255,.24),rgba(255,255,255,.98) 85%);-webkit-background-clip:text;background-clip:text;color:transparent}.automation-lead{max-width:480px;margin:1.5rem 0 0;color:rgba(255,255,255,.74);font-size:clamp(.84rem,1vw,1rem);line-height:1.7}
        .automation-space-choices{display:grid;grid-template-columns:repeat(2,minmax(0,285px));gap:.75rem;margin-top:clamp(2.25rem,7vh,5rem);animation:automation-reveal .82s .2s cubic-bezier(.2,.8,.2,1) both}.automation-space-card{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:.65rem;min-height:88px;border:1px solid rgba(255,255,255,.15);border-radius:15px;padding:.88rem .95rem;color:#fff;background:rgba(12,12,12,.47);text-align:left;backdrop-filter:blur(16px);transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.automation-space-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.64);background:rgba(255,255,255,.1);box-shadow:0 16px 34px rgba(0,0,0,.3)}.automation-card-index{align-self:start;color:rgba(255,255,255,.38);font:500 .58rem/1 "JetBrains Mono",monospace}.automation-card-icon{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#fff;background:rgba(255,255,255,.08)}.automation-card-content{display:grid;gap:.24rem}.automation-card-content strong{font-size:.88rem;letter-spacing:-.02em}.automation-card-content small{color:rgba(255,255,255,.52);font-size:.65rem;line-height:1.35}.automation-space-card>i{color:rgba(255,255,255,.7);font-size:1rem}.automation-personal-card:hover{border-color:rgba(242,125,38,.8);box-shadow:0 16px 34px rgba(242,125,38,.12)}
        .automation-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.13);pointer-events:auto;animation:automation-fade .75s .42s both}.automation-specs{display:flex;flex-wrap:wrap;gap:.55rem 1.3rem}.automation-specs span{display:grid;gap:.25rem;color:rgba(255,255,255,.42);font:500 .56rem/1 "JetBrains Mono",monospace;letter-spacing:.12em}.automation-specs b{color:rgba(255,255,255,.82);font-weight:500;letter-spacing:.04em}.automation-footer-note{color:rgba(255,255,255,.43);font-size:.66rem}#workspace-portal-automation.is-performance-mode .automation-spline-layer spline-viewer{display:none}#workspace-portal-automation.is-performance-mode .automation-scene-fallback{animation:none;opacity:.45}
        @keyframes automation-orbit{to{transform:translateY(-50%) rotate(360deg)}}@keyframes automation-reveal{from{opacity:0;transform:translate3d(-18px,12px,0)}to{opacity:1;transform:none}}@keyframes automation-fade{from{opacity:0}to{opacity:1}}
        @media (max-width:800px){#workspace-portal-automation .workspace-portal-inner{padding:1rem;grid-template-rows:auto 1fr auto}.automation-brand small,.automation-nav-status,.automation-footer-note{display:none}.automation-hero{width:min(100%,600px)}.automation-hero h1{font-size:clamp(3.25rem,14vw,5.75rem)}.automation-spline-layer{opacity:.38}.automation-space-choices{grid-template-columns:1fr;max-width:390px;margin-top:2rem}.automation-space-card{min-height:76px}.automation-footer{align-items:flex-start}.automation-specs{gap:.7rem}.automation-specs span:last-child{display:none}}
        @media (prefers-reduced-motion:reduce){.automation-scene-fallback,.automation-hero,.automation-space-choices,.automation-footer{animation:none}}
        /* 场景 02：保留原有双空间选择界面，独立于场景 01 的 3D 入口。 */
        .classic-space-portal{display:none;position:relative;min-height:100svh;overflow:hidden;background:#000;color:#fff;font-family:system-ui,"Microsoft YaHei",sans-serif}.classic-space-portal::before{position:absolute;z-index:1;inset:0;content:"";pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.06) 47%,rgba(0,0,0,.30))}.classic-space-background{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);opacity:.92}.classic-space-shell{position:relative;z-index:2;display:grid;min-height:100svh;grid-template-rows:auto 1fr}.classic-space-nav{display:flex;align-items:center;gap:.75rem;padding:clamp(1.25rem,3vw,2.5rem) clamp(1.25rem,5vw,4.5rem);pointer-events:none}.classic-space-nav>*{pointer-events:auto}.classic-space-brand{display:flex;align-items:center;gap:.8rem;color:#fff;font-size:clamp(1rem,1.5vw,1.22rem);font-weight:800;letter-spacing:-.04em}.classic-space-brand::before{display:inline-block;width:1.65rem;height:1.65rem;content:"";background:linear-gradient(90deg,#ff5c35 46%,transparent 46% 54%,#ff5c35 54%),linear-gradient(90deg,#ff5c35 46%,transparent 46% 54%,#ff5c35 54%);background-position:top,bottom;background-repeat:no-repeat;background-size:100% 42%}.classic-space-brand small{padding-left:.8rem;border-left:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.48);font:700 .62rem/1 monospace;letter-spacing:.16em}.classic-space-source{display:flex;align-items:center;gap:1rem;margin-left:auto;margin-right:1.25rem;color:rgba(255,255,255,.72);font:600 .66rem/1 system-ui,sans-serif;letter-spacing:.2em}.classic-space-source i{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.5)}.classic-space-logout{border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:.42rem .68rem;color:#fff;background:rgba(255,255,255,.06);font-size:.75rem;backdrop-filter:blur(8px)}.classic-space-logout:hover{background:rgba(255,255,255,.14)}.classic-space-grid{display:grid;min-height:0;grid-template-columns:1fr 1fr}.classic-space-card{position:relative;display:flex;min-height:0;flex-direction:column;justify-content:flex-end;overflow:hidden;border:0;padding:clamp(7rem,16vh,11rem) clamp(1.5rem,5vw,5.2rem) clamp(2.5rem,6vh,4rem);color:#fff;background:transparent;text-align:left}.classic-space-card+.classic-space-card{border-left:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.04)}.classic-space-card::before{position:absolute;z-index:0;top:clamp(9rem,21vh,14rem);left:0;width:100%;content:attr(data-word);color:rgba(255,255,255,.96);font:900 clamp(4.5rem,13.5vw,13rem)/.74 system-ui,sans-serif;letter-spacing:-.11em;text-align:center;text-shadow:0 1px rgba(255,255,255,.18)}.classic-space-work::after{position:absolute;z-index:0;inset:0;content:"";background:rgba(60,60,60,.20);backdrop-filter:blur(20px);mask-image:linear-gradient(#000,#000);opacity:.84}.classic-space-personal::after{position:absolute;z-index:0;top:14vh;left:50%;width:min(56vh,42vw);height:min(56vh,42vw);content:"";border:1px solid rgba(255,255,255,.26);border-radius:50%;transform:translateX(-50%);box-shadow:0 min(42vh,360px) 0 -1px rgba(255,255,255,.22)}.classic-space-card>*{position:relative;z-index:1}.classic-space-card h1{margin:0 0 .85rem;color:#fff;font-size:clamp(2.4rem,4.1vw,4.1rem);letter-spacing:-.07em}.classic-space-card p{max-width:360px;margin:0;color:rgba(255,255,255,.78);font-size:clamp(.9rem,1.15vw,1.05rem);line-height:1.6}.classic-space-enter{display:inline-flex;width:min(100%,500px);align-items:center;gap:.6rem;margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.18);padding-top:1.2rem;color:#fff;font-weight:700}.classic-space-card:hover .classic-space-enter{gap:.95rem}.classic-space-card:hover::before{color:#fff}.classic-space-portal.is-performance-mode .classic-space-background{opacity:.68}@media(max-width:767.98px){.classic-space-nav{padding:1rem}.classic-space-brand small,.classic-space-source{display:none}.classic-space-grid{grid-template-columns:1fr}.classic-space-card{min-height:50svh;padding:5.5rem 2rem 2.2rem}.classic-space-card+.classic-space-card{border-top:1px solid rgba(255,255,255,.12);border-left:0}.classic-space-card::before{top:5.5rem;font-size:19vw}.classic-space-personal::after{top:12vh;width:54vw;height:54vw;box-shadow:0 35vh 0 -1px rgba(255,255,255,.18)}.classic-space-background{opacity:.52}}
        /* 场景 02：改动前的原始视频分屏、文字镂空与鼠标粒子效果。 */
        #workspace-portal{display:none;isolation:auto;min-height:100vh;overflow:hidden;padding:0;cursor:auto;background:#000;color:#fff;font-family:system-ui,"Microsoft YaHei",sans-serif}#workspace-portal::before{position:absolute;z-index:1;inset:0;width:auto;height:auto;content:"";border-radius:0;pointer-events:none;filter:none;opacity:1;background:linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.06) 47%,rgba(0,0,0,.28))}#workspace-portal::after{display:none}.workspace-background-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);opacity:.92}.workspace-portal-inner{position:relative;z-index:2;display:flex;min-height:100vh;max-width:none;flex-direction:column;margin:auto}.workspace-portal-title{position:absolute;z-index:8;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;margin:0;padding:clamp(1.25rem,3vw,2.5rem) clamp(1.25rem,5vw,4.5rem);color:rgba(255,255,255,.78);letter-spacing:.04em;pointer-events:none}.workspace-portal-title>*{pointer-events:auto}.workspace-brand{display:flex;align-items:center;gap:.8rem;color:#fff;font:800 clamp(1rem,1.5vw,1.22rem)/1 system-ui,sans-serif;letter-spacing:-.04em}.workspace-brand::before{display:inline-block;width:1.65rem;height:1.65rem;content:"";background:linear-gradient(90deg,#ff5c35 46%,transparent 46% 54%,#ff5c35 54%),linear-gradient(90deg,#ff5c35 46%,transparent 46% 54%,#ff5c35 54%);background-position:top,bottom;background-repeat:no-repeat;background-size:100% 42%;filter:none}.workspace-brand small{padding-left:.8rem;border-left:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.48);font:700 .62rem/1 monospace;letter-spacing:.16em}.workspace-source-nav{display:flex;align-items:center;gap:1rem;margin-left:auto;margin-right:2rem;color:rgba(255,255,255,.72);font:600 .66rem/1 system-ui,sans-serif;letter-spacing:.2em}.workspace-source-nav i{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.5)}.workspace-portal-title .btn{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}.workspace-choices{position:relative;z-index:2;display:grid;min-height:100vh;flex:1;grid-template-columns:1fr 1fr;gap:0}.workspace-choice{position:relative;display:flex;min-height:100vh;flex-direction:column;justify-content:flex-end;overflow:hidden;border:0;border-radius:0;padding:clamp(7rem,16vh,11rem) clamp(1.5rem,5vw,5.2rem) clamp(2.5rem,6vh,4rem);color:#fff;background:transparent;box-shadow:none;text-align:left;backdrop-filter:none}.workspace-choice:hover{transform:none;border-color:transparent;background:transparent;box-shadow:none}.workspace-work{border-right:1px solid rgba(255,255,255,.12);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.workspace-work::after{position:absolute;z-index:0;inset:0;width:auto;height:auto;content:"";border-radius:0;transform:none;opacity:1;filter:none;background:rgba(60,60,60,.20);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cmask id='work-cutout'%3E%3Crect width='1000' height='1000' fill='white'/%3E%3Ctext x='50' y='430' font-family='Arial,sans-serif' font-size='280' font-weight='900' letter-spacing='-24' textLength='900' lengthAdjust='spacingAndGlyphs' fill='black'%3EWORK%3C/text%3E%3C/mask%3E%3C/defs%3E%3Crect width='1000' height='1000' fill='white' mask='url(%23work-cutout)'/%3E%3C/svg%3E");mask-repeat:no-repeat;mask-size:100% 100%;mask-mode:alpha;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cmask id='work-cutout'%3E%3Crect width='1000' height='1000' fill='white'/%3E%3Ctext x='50' y='430' font-family='Arial,sans-serif' font-size='280' font-weight='900' letter-spacing='-24' textLength='900' lengthAdjust='spacingAndGlyphs' fill='black'%3EWORK%3C/text%3E%3C/mask%3E%3C/defs%3E%3Crect width='1000' height='1000' fill='white' mask='url(%23work-cutout)'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%}.workspace-personal{background:rgba(0,0,0,.04)}.workspace-choice+.workspace-choice{border-left:0}.workspace-choice::before{position:absolute;z-index:0;top:clamp(9rem,21vh,14rem);left:0;width:100%;content:attr(data-word);color:rgba(255,255,255,.96);font:900 clamp(4.5rem,13.5vw,13rem)/.74 system-ui,sans-serif;letter-spacing:-.11em;text-align:center;text-shadow:0 1px rgba(255,255,255,.18)}.workspace-work::before{color:transparent;text-shadow:none}.workspace-personal::after{position:absolute;z-index:0;top:14vh;left:50%;width:min(56vh,42vw);height:min(56vh,42vw);content:"";border:1px solid rgba(255,255,255,.26);border-radius:50%;transform:translateX(-50%);box-shadow:0 min(42vh,360px) 0 -1px rgba(255,255,255,.22);filter:none;opacity:1;background:none}.workspace-choice>*{position:relative;z-index:1}.workspace-choice .workspace-icon{width:0;height:0;margin-bottom:auto;visibility:hidden}.workspace-choice h1{margin:0 0 .85rem;color:#fff;font-size:clamp(2.4rem,4.1vw,4.1rem);font-weight:800;letter-spacing:-.07em}.workspace-choice p{max-width:360px;color:rgba(255,255,255,.78);font-size:clamp(.9rem,1.15vw,1.05rem)}.workspace-enter{display:inline-flex;width:min(100%,500px);align-items:center;gap:.6rem;margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.18);padding-top:1.2rem;color:#fff;font-weight:700}.workspace-particle-canvas{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none;opacity:.9;mix-blend-mode:screen}.workspace-mouse-glow{position:absolute;z-index:1;top:0;left:0;width:44vmax;height:44vmax;pointer-events:none;opacity:0;transform:translate3d(-50%,-50%,0);background:radial-gradient(circle,rgba(255,128,70,.18) 0,rgba(103,177,255,.1) 25%,transparent 68%);filter:blur(4px);transition:opacity .28s ease}#workspace-portal.is-motion-active .workspace-mouse-glow{opacity:1}#workspace-portal.is-motion-active .workspace-work::after{background:rgba(60,60,60,.14)}#workspace-portal.is-motion-active .workspace-personal::after{border-color:rgba(255,255,255,.42);box-shadow:0 min(42vh,360px) 0 -1px rgba(255,255,255,.32),0 0 40px rgba(255,118,72,.18)}#workspace-portal.is-performance-mode .workspace-background-video{opacity:.70}#workspace-portal.is-performance-mode .workspace-particle-canvas{opacity:.58}@media(max-width:767.98px){#workspace-portal{cursor:auto}.workspace-portal-title{padding:1rem}.workspace-source-nav{display:none}.workspace-choices{grid-template-columns:1fr}.workspace-choice{min-height:50vh;padding:5.5rem 2rem 2.2rem}.workspace-work{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.workspace-choice+.workspace-choice{border-top:0}.workspace-choice::before{top:5.5rem;font-size:19vw}.workspace-personal::after{top:12vh;width:54vw;height:54vw;box-shadow:0 35vh 0 -1px rgba(255,255,255,.18)}.workspace-background-video{opacity:.52}}@media(max-width:767.98px),(prefers-reduced-motion:reduce){.workspace-particle-canvas{opacity:.42}.workspace-mouse-glow{display:none}}
        .classic-space-work::after{inset:0;width:auto;height:auto;border-radius:0;transform:none;opacity:1;filter:none;background:rgba(60,60,60,.20);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cmask id='work-cutout'%3E%3Crect width='1000' height='1000' fill='white'/%3E%3Ctext x='50' y='430' font-family='Arial,sans-serif' font-size='280' font-weight='900' letter-spacing='-24' textLength='900' lengthAdjust='spacingAndGlyphs' fill='black'%3EWORK%3C/text%3E%3C/mask%3E%3C/defs%3E%3Crect width='1000' height='1000' fill='white' mask='url(%23work-cutout)'/%3E%3C/svg%3E");mask-repeat:no-repeat;mask-size:100% 100%;mask-mode:alpha;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cmask id='work-cutout'%3E%3Crect width='1000' height='1000' fill='white'/%3E%3Ctext x='50' y='430' font-family='Arial,sans-serif' font-size='280' font-weight='900' letter-spacing='-24' textLength='900' lengthAdjust='spacingAndGlyphs' fill='black'%3EWORK%3C/text%3E%3C/mask%3E%3C/defs%3E%3Crect width='1000' height='1000' fill='white' mask='url(%23work-cutout)'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%}.classic-space-work::before{color:transparent;text-shadow:none}.classic-space-particle-canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none;opacity:.9;mix-blend-mode:screen}.classic-space-mouse-glow{position:absolute;z-index:2;top:0;left:0;width:44vmax;height:44vmax;pointer-events:none;opacity:0;transform:translate3d(-50%,-50%,0);background:radial-gradient(circle,rgba(255,128,70,.18) 0,rgba(103,177,255,.1) 25%,transparent 68%);filter:blur(4px);transition:opacity .28s ease}.classic-space-portal.is-motion-active .classic-space-mouse-glow{opacity:1}.classic-space-portal.is-motion-active .classic-space-work::after{background:rgba(60,60,60,.14)}.classic-space-portal.is-motion-active .classic-space-personal::after{border-color:rgba(255,255,255,.42);box-shadow:0 min(42vh,360px) 0 -1px rgba(255,255,255,.32),0 0 40px rgba(255,118,72,.18)}.classic-space-portal.is-performance-mode .classic-space-particle-canvas{opacity:.5}@media(max-width:767.98px),(prefers-reduced-motion:reduce){.classic-space-particle-canvas{opacity:.42}.classic-space-mouse-glow{display:none}}
        /* 场景 03：Bio-Age Dashboard 的氛围与布局，内容映射为双空间入口。 */
        .bio-space-portal{display:none;position:relative;min-height:100svh;overflow:hidden;background:#090909;color:#fff;font-family:"Geist","Microsoft YaHei",sans-serif}.bio-space-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease}.bio-space-portal.is-ready .bio-space-video{opacity:.82}.bio-space-shade{position:absolute;inset:0;background:linear-gradient(110deg,rgba(7,7,7,.6),rgba(7,7,7,.15) 55%,rgba(7,7,7,.55)),linear-gradient(0deg,rgba(7,7,7,.48),transparent 45%)}.bio-space-shell{position:relative;z-index:1;display:grid;min-height:100svh;grid-template-rows:auto 1fr;padding:clamp(1.25rem,3vw,3rem) clamp(1.25rem,5vw,4.5rem) clamp(1.25rem,3vw,3rem)}.bio-space-nav{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.bio-space-logo{width:160px;max-width:42vw;height:40px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.96}.bio-space-help{position:absolute;top:clamp(1.35rem,3vw,3rem);left:50%;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.22);backdrop-filter:blur(12px)}.bio-space-profile{display:flex;align-items:center;gap:1rem}.bio-space-profile-name{display:grid;gap:.25rem;text-align:right}.bio-space-profile-name strong{font-size:clamp(1.15rem,2.4vw,2.65rem);line-height:1;letter-spacing:-.055em}.bio-space-profile-name small{color:rgba(255,255,255,.58);font-size:.72rem}.bio-space-avatar{width:clamp(44px,5vw,72px);height:clamp(44px,5vw,72px);border:1px solid rgba(255,255,255,.35);border-radius:50%;object-fit:cover}.bio-space-main{display:flex;align-items:end;justify-content:space-between;gap:clamp(1.5rem,5vw,5rem);padding-top:2rem}.bio-space-left{display:grid;justify-items:center;width:min(620px,100%);gap:.75rem}.bio-space-orb{position:relative;display:grid;width:min(620px,88vw);height:clamp(390px,58vh,550px);place-items:center;overflow:hidden;border-radius:clamp(24px,4vw,40px);background:#171717;isolation:isolate;box-shadow:0 30px 90px rgba(0,0,0,.34)}.bio-space-orb::before{position:absolute;inset:-10%;z-index:-1;content:"";background:url('https://polo-pecan-73837341.figma.site/_assets/v11/d8d9bd498347ea96ca4d675a624c8d90e06786e7.png') center/cover;animation:bio-space-spin 30s linear infinite}.bio-space-orb::after{position:absolute;inset:0;z-index:-1;content:"";background:radial-gradient(circle at 50% 45%,transparent 0 24%,rgba(0,0,0,.18) 64%,rgba(0,0,0,.46))}.bio-space-orb-copy{display:grid;gap:.45rem;text-align:center}.bio-space-orb-copy span{color:rgba(255,255,255,.8);font-size:clamp(.95rem,1.5vw,1.35rem);font-weight:500}.bio-space-orb-copy strong{font-size:clamp(5.1rem,10vw,8.4rem);font-weight:600;line-height:.82;letter-spacing:-.085em;font-variant-numeric:tabular-nums}.bio-space-orb-copy small{color:rgba(255,255,255,.68);font-size:.8rem}.bio-space-pill{border:1px solid rgba(239,206,150,.5);border-radius:999px;padding:.52rem 1rem;color:#fff;background:rgba(239,206,150,.2);font-size:.78rem;font-weight:600;letter-spacing:.04em}.bio-space-ruler{position:relative;width:min(620px,88vw);height:40px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}.bio-space-ruler-track{display:flex;width:max-content;gap:8px;animation:bio-space-ticker 12s linear infinite}.bio-space-ruler-set{display:flex;align-items:center;gap:8px}.bio-space-tick{display:block;width:1px;height:18px;border-radius:2px;background:rgba(239,206,150,.5)}.bio-space-tick:nth-child(5n),.bio-space-tick:nth-child(10n){height:26px}.bio-space-ruler::after{position:absolute;top:0;bottom:0;left:50%;width:2px;content:"";background:#efce96;box-shadow:0 0 12px rgba(239,206,150,.55)}.bio-space-actions{display:grid;width:min(560px,100%);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.05rem}.bio-space-card{position:relative;display:flex;min-height:144px;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:1.2rem;color:#fff;background:rgba(47,47,47,.6);text-align:left;backdrop-filter:blur(30px);transition:transform .25s ease,background .25s ease,filter .25s ease}.bio-space-card:hover{transform:translateY(-5px);background:rgba(56,56,56,.76)}.bio-space-card--work{background:linear-gradient(135deg,rgba(22,22,22,.7),rgba(47,47,47,.54)),url('https://polo-pecan-73837341.figma.site/_assets/v11/94903fdf21e145cd4ba873c15fc03251c0600ee5.png') center/cover}.bio-space-card--personal{background:linear-gradient(135deg,rgba(22,22,22,.55),rgba(47,47,47,.42)),url('https://polo-pecan-73837341.figma.site/_assets/v11/0c38fdb8a933b0da384a5a3f8b0d9986bb919838.png') center/cover}.bio-space-card--light{color:#181818;background:#f4f2ed}.bio-space-card--light:hover{background:#fff}.bio-space-card-title{font-size:1.08rem;font-weight:650;letter-spacing:-.03em}.bio-space-card-copy{color:rgba(255,255,255,.64);font-size:.74rem;line-height:1.45}.bio-space-card--light .bio-space-card-copy{color:rgba(0,0,0,.58)}.bio-space-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.bio-space-card-foot span{border-radius:999px;padding:.35rem .6rem;color:#171717;background:#fff;font-size:.7rem;font-weight:600}.bio-space-card--light .bio-space-card-foot span{color:#fff;background:#191919}.bio-space-card-arrow{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#171717;background:#fff;font-size:.95rem}.bio-space-card--light .bio-space-card-arrow{color:#171717;background:#e8e8e8}.bio-space-portal.is-performance-mode .bio-space-orb::before,.bio-space-portal.is-performance-mode .bio-space-ruler-track{animation:none}.bio-space-portal.is-performance-mode .bio-space-video{opacity:.38}@keyframes bio-space-spin{to{transform:rotate(360deg)}}@keyframes bio-space-ticker{to{transform:translateX(-50%)}}@media(max-width:1100px){.bio-space-main{align-items:center;flex-direction:column;padding-top:2rem}.bio-space-actions{width:min(620px,100%)}.bio-space-orb{height:440px}}@media(max-width:680px){.bio-space-shell{padding:1rem}.bio-space-help{top:1rem}.bio-space-logo{width:120px}.bio-space-profile-name{display:none}.bio-space-main{padding-top:1.5rem}.bio-space-orb{height:390px}.bio-space-actions{grid-template-columns:1fr}.bio-space-card{min-height:118px}.bio-space-avatar{width:42px;height:42px}}@media(prefers-reduced-motion:reduce){.bio-space-orb::before,.bio-space-ruler-track{animation:none}.bio-space-video{transition:none}}
        /* 管理员专属：全站入口界面选择器。 */
        .portal-scene-admin{position:fixed;z-index:120;right:clamp(1rem,2.5vw,2.5rem);bottom:clamp(1rem,2.5vw,2.5rem);font-family:"Geist","Microsoft YaHei",sans-serif}.portal-scene-admin-trigger{display:inline-flex;align-items:center;gap:.55rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:.62rem .88rem;color:#fff;background:rgba(10,10,12,.62);font-size:.78rem;font-weight:650;box-shadow:0 14px 32px rgba(0,0,0,.28);backdrop-filter:blur(18px);transition:.2s}.portal-scene-admin-trigger:hover{border-color:rgba(239,206,150,.76);background:rgba(32,29,24,.82)}.portal-scene-admin-panel{position:absolute;right:0;bottom:calc(100% + .8rem);display:none;width:min(430px,calc(100vw - 2rem));border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:1rem;color:#f8f8f8;background:rgba(16,16,18,.9);box-shadow:0 24px 72px rgba(0,0,0,.48);backdrop-filter:blur(26px)}.portal-scene-admin.is-open .portal-scene-admin-panel{display:grid;gap:1rem;animation:portal-scene-pop .22s ease both}.portal-scene-admin-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.portal-scene-admin-panel header p{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.035em}.portal-scene-admin-panel header small{display:block;margin-top:.25rem;color:rgba(255,255,255,.54);font-size:.7rem;line-height:1.45}.portal-scene-admin-panel header button{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;color:rgba(255,255,255,.72);background:transparent;font-size:.7rem}.portal-scene-admin-options{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.portal-scene-admin-options button{display:grid;gap:.5rem;border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:.5rem;color:#fff;background:rgba(255,255,255,.035);text-align:left;transition:.18s}.portal-scene-admin-options button:hover{border-color:rgba(255,255,255,.48);transform:translateY(-2px)}.portal-scene-admin-options button.is-selected{border-color:#efce96;background:rgba(239,206,150,.13);box-shadow:inset 0 0 0 1px rgba(239,206,150,.16)}.portal-scene-preview{display:block;height:54px;overflow:hidden;border-radius:8px;background:#151515}.portal-scene-preview--automation{background:radial-gradient(circle at 75% 50%,rgba(242,125,38,.88) 0 3%,transparent 4% 10%,rgba(242,125,38,.2) 11%,transparent 32%),linear-gradient(135deg,#070707,#373737)}.portal-scene-preview--classic{background:linear-gradient(90deg,rgba(16,31,61,.72) 0 50%,rgba(63,19,51,.72) 50%),linear-gradient(135deg,#111,#777)}.portal-scene-preview--bio{background:radial-gradient(circle at 35% 50%,#d6b775 0 9%,transparent 10% 25%,rgba(239,206,150,.16) 26%,transparent 48%),linear-gradient(135deg,#1b1a17,#5e513b)}.portal-scene-admin-options strong{font-size:.69rem;line-height:1.25;letter-spacing:-.025em}.portal-scene-admin-options small{color:rgba(255,255,255,.48);font-size:.59rem;line-height:1.25}.portal-scene-admin-panel footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid rgba(255,255,255,.1);padding-top:.85rem}.portal-scene-admin-panel footer span{color:rgba(255,255,255,.55);font-size:.66rem;line-height:1.35}.portal-scene-admin-panel footer button{border:0;border-radius:9px;padding:.57rem .7rem;color:#1b1710;background:#efce96;font-size:.7rem;font-weight:750;white-space:nowrap}.portal-scene-admin-panel footer button:disabled{opacity:.55;cursor:wait}@keyframes portal-scene-pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:560px){.portal-scene-admin{right:1rem;bottom:1rem}.portal-scene-admin-trigger span{display:none}.portal-scene-admin-trigger{padding:.66rem}.portal-scene-admin-options{grid-template-columns:1fr}.portal-scene-preview{height:44px}.portal-scene-admin-options button{grid-template-columns:60px 1fr;align-items:center}.portal-scene-admin-options button small{grid-column:2}}
        /* 个人 AI 工作台 */
        .personal-system { padding:0; min-height:100vh; background:#080b16; color:#e8edff; overflow:hidden; }
        .personal-system::before { content:""; position:fixed; inset:-20%; pointer-events:none; background:radial-gradient(circle at 22% 15%,rgba(100,102,246,.24),transparent 28%),radial-gradient(circle at 84% 84%,rgba(37,99,235,.17),transparent 28%); filter:blur(18px); }
        .personal-system .personal-shell { position:relative; z-index:1; max-width:none; min-height:100vh; }
        .ai-shell { --ai-sidebar-width:280px; height:100vh; min-height:0; display:grid; grid-template-columns:var(--ai-sidebar-width) minmax(0,1fr); background:rgba(8,11,22,.70); backdrop-filter:blur(22px); }
        .ai-sidebar { position:relative; display:flex; min-height:0; flex-direction:column; padding:1.1rem; border-right:1px solid rgba(255,255,255,.09); background:rgba(8,12,27,.72); }
        .ai-resize-handle { position:absolute; z-index:12; top:0; right:-7px; width:14px; height:100%; cursor:col-resize; touch-action:none; }.ai-resize-handle::after { content:"⋮"; position:absolute; top:50%; left:1px; display:grid; width:12px; height:46px; place-items:center; border-radius:8px; color:rgba(199,210,254,.32); background:rgba(15,23,42,.35); font:700 1.15rem/1 sans-serif; transition:.16s; }.ai-resize-handle:hover::after,.ai-shell.is-resizing .ai-resize-handle::after{color:#eef2ff;background:#4f46e5;box-shadow:0 0 18px rgba(129,140,248,.8)}
        .ai-brand { display:flex; align-items:center; gap:.7rem; margin:.25rem .35rem 1.55rem; color:#fff; font-weight:800; letter-spacing:-.04em; }.ai-brand-mark { width:30px; height:30px; display:grid; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,#818cf8,#2563eb); box-shadow:0 8px 22px rgba(99,102,241,.45); }.ai-brand small { display:block; margin-top:.08rem; color:#8994b8; font-size:.63rem; font-weight:700; letter-spacing:.13em; }
        .ai-new-chat { width:100%; padding:.72rem .9rem; border:1px solid rgba(151,164,255,.5); border-radius:12px; color:#fff; background:linear-gradient(135deg,rgba(99,102,241,.92),rgba(37,99,235,.85)); box-shadow:0 10px 25px rgba(37,99,235,.22); font-weight:700; text-align:left; transition:.2s; }.ai-new-chat:hover { transform:translateY(-1px); filter:brightness(1.08); }
        .ai-ppt-entry { width:100%; margin-top:.55rem; padding:.66rem .9rem; border:1px solid rgba(45,212,191,.32); border-radius:12px; color:#c9fff4; background:linear-gradient(135deg,rgba(13,148,136,.28),rgba(14,116,144,.22)); font-weight:750; text-align:left; transition:.2s; }.ai-ppt-entry:hover{transform:translateY(-1px);border-color:rgba(94,234,212,.72);color:#fff;background:linear-gradient(135deg,rgba(13,148,136,.48),rgba(14,116,144,.38))}
        .ppt-workbench { position:fixed; z-index:45; inset:0; display:none; overflow:auto; padding:clamp(1rem,3vw,2.5rem); background:radial-gradient(circle at 8% 6%,rgba(20,184,166,.22),transparent 30%),radial-gradient(circle at 90% 18%,rgba(99,102,241,.27),transparent 33%),#090d1b; }.ppt-workbench.show{display:block}.ppt-workbench-inner{width:min(1180px,100%);margin:auto}.ppt-workbench-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.ppt-workbench-kicker{color:#5eead4;font-size:.73rem;font-weight:850;letter-spacing:.14em}.ppt-workbench-title{margin:.32rem 0;color:#fff;font-size:clamp(1.75rem,4vw,2.85rem);font-weight:850;letter-spacing:-.06em}.ppt-workbench-desc{max-width:650px;margin:0;color:#a9b6d5}.ppt-workbench-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:1rem}.ppt-card{border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:1.2rem;background:rgba(17,24,49,.72);box-shadow:0 20px 55px rgba(0,0,0,.2);backdrop-filter:blur(16px)}.ppt-card h3{margin:0 0 1rem;color:#fff;font-size:1rem;font-weight:800}.ppt-field{display:block;margin:.9rem 0;color:#c6d1ea;font-size:.78rem;font-weight:750}.ppt-field input,.ppt-field textarea,.ppt-field select{width:100%;margin-top:.38rem;padding:.72rem .78rem;border:1px solid rgba(255,255,255,.13);border-radius:11px;outline:0;color:#f8fbff;background:rgba(255,255,255,.055);font:inherit;font-size:.9rem}.ppt-field textarea{min-height:265px;resize:vertical;line-height:1.6}.ppt-field select{appearance:auto}.ppt-form-row{display:grid;grid-template-columns:1fr 150px;gap:.75rem}.ppt-generate{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;margin-top:.8rem;padding:.8rem 1rem;border:0;border-radius:12px;color:#06211d;background:linear-gradient(135deg,#5eead4,#67e8f9);font-weight:850;box-shadow:0 12px 28px rgba(45,212,191,.2)}.ppt-generate:disabled{opacity:.55}.ppt-note{margin:.8rem 0 0;color:#8fa0c7;font-size:.74rem;line-height:1.55}.ppt-jobs{display:flex;flex-direction:column;gap:.65rem;max-height:585px;overflow:auto}.ppt-job{padding:.86rem;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035)}.ppt-job-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.ppt-job-title{min-width:0;overflow:hidden;color:#f4f7ff;font-size:.9rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.ppt-job-meta{margin-top:.22rem;color:#8897bb;font-size:.72rem}.ppt-job-plan{max-height:280px;overflow:auto;margin:.7rem 0;padding:.78rem .84rem;border:1px solid rgba(125,211,252,.14);border-radius:10px;color:#dbeafe;background:rgba(2,6,23,.28);font-size:.78rem;line-height:1.62}.ppt-job-plan h3,.ppt-job-plan h4,.ppt-job-plan h5{margin:1rem 0 .38rem;color:#f8fafc;font-weight:850}.ppt-job-plan h3:first-child,.ppt-job-plan h4:first-child,.ppt-job-plan h5:first-child{margin-top:0}.ppt-job-plan p{margin:.3rem 0}.ppt-job-plan code{padding:.08rem .28rem;border-radius:4px;color:#cffafe;background:rgba(14,116,144,.23);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.ppt-job-status{padding:.22rem .42rem;border-radius:999px;color:#bffef1;background:rgba(20,184,166,.15);font-size:.68rem;font-weight:800;white-space:nowrap}.ppt-job-status.failed{color:#fecaca;background:rgba(239,68,68,.14)}.ppt-job-status.completed{color:#c7d2fe;background:rgba(99,102,241,.18)}.ppt-job-progress{height:5px;margin:.62rem 0;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.09)}.ppt-job-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2dd4bf,#818cf8)}.ppt-download{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(94,234,212,.35);border-radius:8px;padding:.33rem .48rem;color:#a7f3d0;background:rgba(20,184,166,.12);font-size:.73rem;font-weight:750}.ppt-empty{padding:2.6rem 1rem;color:#8fa0c7;text-align:center}.ppt-loading{color:#a5b4fc;font-size:.8rem}@media(max-width:820px){.ppt-workbench-grid{grid-template-columns:1fr}.ppt-form-row{grid-template-columns:1fr}.ppt-workbench{padding:1rem}.ppt-workbench-top{align-items:center}.ppt-workbench-title{font-size:1.8rem}}
        .ai-model-switch { display:grid; grid-template-columns:1fr 1fr; gap:.3rem; margin-top:.75rem; padding:.25rem; border:1px solid rgba(255,255,255,.1); border-radius:11px; background:rgba(255,255,255,.045); }.ai-model-switch button { border:0; border-radius:8px; padding:.42rem .35rem; color:#97a4c8; background:transparent; font-size:.71rem; font-weight:800; letter-spacing:.04em; transition:.18s; }.ai-model-switch button.active { color:#fff; background:rgba(99,102,241,.72); box-shadow:0 5px 12px rgba(0,0,0,.18); }.ai-model-switch button[data-tier="pro"].active { background:linear-gradient(135deg,#a855f7,#6366f1); }.ai-tool-btn.is-active{color:#ddd6fe!important;border-color:rgba(167,139,250,.68)!important;background:rgba(109,40,217,.24)!important}
        .ai-conversation-list { flex:1; overflow:auto; margin-top:1.3rem; padding:.05rem; }.ai-side-label { margin:.35rem .45rem .55rem; color:#7782a8; font-size:.7rem; font-weight:800; letter-spacing:.12em; }.ai-conversation { position:relative; display:flex; align-items:center; gap:.55rem; width:100%; margin:.18rem 0; padding:.62rem .65rem; border:0; border-radius:10px; color:#bfc8e6; background:transparent; text-align:left; transition:.18s; }.ai-conversation:hover,.ai-conversation.active { color:#fff; background:rgba(255,255,255,.09); }.ai-conversation-title { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.84rem; }.ai-conversation-delete { display:none; border:0; padding:.12rem .25rem; border-radius:6px; color:#92a0c5; background:transparent; }.ai-conversation:hover .ai-conversation-delete { display:block; }.ai-conversation-delete:hover { color:#fff; background:rgba(255,255,255,.12); }
        .ai-sidebar-footer { padding-top:.8rem; border-top:1px solid rgba(255,255,255,.08); }.ai-sidebar-footer button { width:100%; border:0; border-radius:10px; padding:.6rem .65rem; color:#aab5d4; background:transparent; text-align:left; font-size:.82rem; }.ai-sidebar-footer button:hover { color:#fff; background:rgba(255,255,255,.07); }
        .ai-main { min-width:0; min-height:0; height:100vh; display:flex; flex-direction:column; overflow:hidden; }.ai-topbar { flex:0 0 72px; height:72px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0 clamp(1rem,3vw,2.4rem); border-bottom:1px solid rgba(255,255,255,.08); }.ai-topbar h2 { margin:0; color:#fff; font-size:1rem; font-weight:750; }.ai-topbar p { margin:.1rem 0 0; color:#8490b4; font-size:.75rem; }.ai-status { display:inline-flex; align-items:center; gap:.45rem; padding:.35rem .6rem; border:1px solid rgba(255,255,255,.1); border-radius:999px; color:#aeb9d9; font-size:.72rem; background:rgba(255,255,255,.04); }.ai-status i { width:7px; height:7px; border-radius:50%; background:#f59e0b; }.ai-status.ready i { background:#34d399; box-shadow:0 0 0 4px rgba(52,211,153,.12); }
        .ai-message-list { min-height:0; flex:1 1 auto; overflow-x:hidden; overflow-y:auto; padding:clamp(1.2rem,4vh,3rem) max(1rem,calc((100vw - 980px)/2)); scroll-behavior:smooth; overscroll-behavior:contain; }.ai-empty { max-width:690px; margin:clamp(8vh,19vh,16rem) auto 0; text-align:center; }.ai-empty-orb { width:68px; height:68px; display:grid; place-items:center; margin:0 auto 1.4rem; border:1px solid rgba(165,180,252,.35); border-radius:24px; background:radial-gradient(circle at 30% 25%,#c7d2fe,#6366f1 46%,#172554); box-shadow:0 20px 60px rgba(79,70,229,.34); color:#fff; font-size:1.7rem; }.ai-empty h1 { color:#fff; font-size:clamp(1.8rem,3vw,2.6rem); font-weight:800; letter-spacing:-.06em; }.ai-empty p { max-width:480px; margin:.8rem auto 1.7rem; color:#9da8c7; }.ai-suggestions { display:flex; justify-content:center; flex-wrap:wrap; gap:.55rem; }.ai-suggestions button { border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:.48rem .75rem; color:#b9c4e3; background:rgba(255,255,255,.05); font-size:.78rem; }.ai-suggestions button:hover { border-color:rgba(165,180,252,.6); color:#fff; background:rgba(99,102,241,.16); }
        .ai-math-inline{display:inline-block;max-width:100%;vertical-align:middle}.ai-math-block{display:block;max-width:100%;overflow-x:auto;margin:.75rem 0;padding:.8rem .9rem;border:1px solid rgba(165,180,252,.14);border-radius:12px;background:rgba(15,23,42,.34);text-align:center;overscroll-behavior-x:contain}.ai-math-block>.katex-display{margin:0}.ai-math-error{color:#fda4af;font-family:"JetBrains Mono",monospace;white-space:pre-wrap}
        .ai-message { display:flex; gap:.85rem; max-width:900px; margin:0 auto 1.5rem; }.ai-avatar { flex:0 0 30px; height:30px; display:grid; place-items:center; border-radius:10px; font-size:.83rem; }.ai-message.user .ai-avatar { color:#dbeafe; background:#1e3a8a; }.ai-message.assistant .ai-avatar { color:#fff; background:linear-gradient(135deg,#818cf8,#4f46e5); }.ai-bubble { min-width:0; flex:1; color:#e7edff; line-height:1.75; font-size:.94rem; }.ai-message.user .ai-bubble { padding:.75rem 1rem; border:1px solid rgba(255,255,255,.1); border-radius:16px 16px 16px 4px; background:rgba(255,255,255,.06); }.ai-bubble pre { overflow:auto; margin:.8rem 0; padding:.85rem 1rem; border:1px solid rgba(255,255,255,.1); border-radius:12px; background:#060812; color:#dbeafe; font: .8rem/1.6 var(--bs-font-monospace); }.ai-bubble code { color:#c4b5fd; }.ai-thinking { margin:0 0 .7rem; padding:.55rem .75rem; border-left:2px solid #818cf8; color:#aab6d7; font-size:.78rem; white-space:pre-wrap; }.ai-pending { display:inline-flex; gap:.35rem; align-items:center; color:#aeb9d9; }.ai-pending span { width:5px; height:5px; border-radius:50%; background:#a5b4fc; animation:ai-dot 1s infinite alternate; }.ai-pending span:nth-child(2){animation-delay:.16s}.ai-pending span:nth-child(3){animation-delay:.32s}@keyframes ai-dot{to{opacity:.25;transform:translateY(-3px)}}
        .ai-composer-wrap { flex:0 0 auto; padding:0 max(1rem,calc((100vw - 980px)/2)) 1.5rem; background:linear-gradient(0deg,rgba(8,11,22,.98) 72%,rgba(8,11,22,0)); }.ai-composer { max-width:900px; margin:auto; padding:.7rem; border:1px solid rgba(165,180,252,.22); border-radius:18px; background:rgba(17,24,49,.82); box-shadow:0 18px 45px rgba(0,0,0,.22); }.ai-composer textarea { width:100%; min-height:58px; max-height:190px; resize:none; border:0; outline:0; color:#f4f7ff; background:transparent; font: .95rem/1.5 inherit; }.ai-composer textarea::placeholder{color:#7581a8}.ai-composer-bottom { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }.ai-composer-hint { color:#7683ab; font-size:.7rem; }.ai-send { width:34px; height:34px; border:0; border-radius:10px; color:#fff; background:#4f46e5; }.ai-send:disabled { opacity:.45; }.ai-stop { display:none; border:0; border-radius:10px; padding:.35rem .65rem; color:#fecaca; background:rgba(239,68,68,.15); font-size:.75rem; }.ai-stop.show { display:block; }
        .ai-settings { position:fixed; z-index:30; top:0; right:0; width:min(410px,100vw); height:100vh; padding:1.4rem; border-left:1px solid rgba(255,255,255,.11); background:rgba(10,14,30,.96); box-shadow:-28px 0 70px rgba(0,0,0,.32); transform:translateX(105%); transition:transform .25s ease; }.ai-settings.show{transform:translateX(0)}.ai-settings h3{color:#fff;font-size:1.25rem}.ai-setting-label{display:block;margin:1.3rem 0 .45rem;color:#aeb9d9;font-size:.78rem;font-weight:750}.ai-settings input,.ai-settings textarea{width:100%;padding:.7rem .75rem;border:1px solid rgba(255,255,255,.13);border-radius:10px;outline:0;color:#eef2ff;background:rgba(255,255,255,.055)}.ai-settings textarea{min-height:180px;resize:vertical}.ai-settings-note{margin-top:.8rem;color:#8290b4;font-size:.75rem;line-height:1.6}.ai-settings-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.2rem}
        @media (max-width:767.98px){.ai-shell{grid-template-columns:1fr}.ai-sidebar{display:none}.ai-topbar{flex-basis:62px;height:62px}.ai-topbar p{display:none}.ai-message-list{padding:1.2rem 1rem}.ai-composer-wrap{padding:0 .8rem 1rem}.ai-empty{margin-top:13vh}.ai-message{gap:.6rem}.ai-avatar{flex-basis:27px;height:27px}.ai-composer-hint{display:none}}
        .ai-bubble h3,.ai-bubble h4,.ai-bubble h5 { margin:1.15rem 0 .5rem; color:#fff; font-weight:780; letter-spacing:-.025em; }.ai-bubble h3{font-size:1.16rem}.ai-bubble h4{font-size:1.02rem}.ai-bubble h5{font-size:.94rem}.ai-bubble h3:first-child,.ai-bubble h4:first-child,.ai-bubble h5:first-child{margin-top:0}.ai-bubble p{margin:.35rem 0}.ai-bubble ul,.ai-bubble ol{margin:.45rem 0;padding-left:1.25rem}.ai-bubble li{margin:.2rem 0}.ai-code-block { position:relative; overflow:hidden; margin:.8rem 0; border:1px solid rgba(255,255,255,.11); border-radius:12px; background:#060812; }.ai-code-head { display:flex; align-items:center; justify-content:space-between; min-height:34px; padding:.35rem .55rem .35rem .75rem; border-bottom:1px solid rgba(255,255,255,.08); color:#9ca9cb; background:rgba(255,255,255,.035); font:700 .68rem/1 var(--bs-font-monospace); letter-spacing:.04em; }.ai-code-copy { border:1px solid rgba(255,255,255,.12); border-radius:7px; padding:.25rem .48rem; color:#c7d2fe; background:rgba(99,102,241,.14); font:700 .68rem/1 inherit; }.ai-code-copy:hover { color:#fff; background:#4f46e5; }.ai-code-block pre { overflow:auto; margin:0; padding:.85rem 1rem; color:#dbeafe; font: .8rem/1.6 var(--bs-font-monospace); }.ai-table-wrap{overflow:auto;margin:.85rem 0;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.025)}.ai-markdown-table{width:100%;min-width:580px;border-collapse:collapse;font-size:.82rem;line-height:1.5}.ai-markdown-table th,.ai-markdown-table td{padding:.58rem .7rem;border-right:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09);vertical-align:top}.ai-markdown-table th{color:#eef2ff;background:rgba(99,102,241,.18);font-weight:750;white-space:nowrap}.ai-markdown-table tr:last-child td{border-bottom:0}.ai-markdown-table th:last-child,.ai-markdown-table td:last-child{border-right:0}.ai-quote{margin:.7rem 0;padding:.45rem .8rem;border-left:3px solid #818cf8;color:#c4cde7;background:rgba(99,102,241,.08)}.ai-divider{border:0;border-top:1px solid rgba(255,255,255,.13);margin:1rem 0}.ai-numbered-line{padding-left:.15rem}
        .ai-tool-btn { border:0; border-radius:8px; padding:.35rem .45rem; color:#aeb9d9; background:transparent; font-size:.73rem; }.ai-tool-btn:hover{color:#fff;background:rgba(255,255,255,.09)}.ai-attachments{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 .15rem}.ai-attachment{display:inline-flex;align-items:center;gap:.35rem;max-width:280px;padding:.28rem .45rem;border:1px solid rgba(165,180,252,.2);border-radius:7px;color:#c7d2fe;background:rgba(99,102,241,.12);font-size:.7rem}.ai-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-attachment button{border:0;color:#c7d2fe;background:transparent}.ai-attachment .ai-attachment-preview{padding:0 .15rem;color:#a5b4fc}.ai-composer-hint{display:none}.ai-context-panel{display:none;gap:.75rem;align-items:center;flex-wrap:wrap;margin:.55rem .15rem 0;padding:.55rem .65rem;border-top:1px solid rgba(255,255,255,.08);color:#9eabd0;font-size:.73rem}.ai-context-panel.show{display:flex}.ai-context-panel label{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer}.ai-context-panel input{accent-color:#818cf8}.ai-markdown-preview{position:fixed;z-index:12000;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(1,4,13,.72);backdrop-filter:blur(8px)}.ai-markdown-preview[hidden]{display:none}.ai-markdown-preview-card{display:flex;flex-direction:column;width:min(920px,96vw);max-height:88vh;border:1px solid rgba(165,180,252,.32);border-radius:16px;overflow:hidden;background:#10162b;box-shadow:0 28px 80px rgba(0,0,0,.5)}.ai-markdown-preview-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.09);color:#e5e7ff}.ai-markdown-preview-head button{border:0;border-radius:8px;padding:.3rem .55rem;color:#dbe4ff;background:rgba(255,255,255,.08)}.ai-markdown-preview pre{flex:1;overflow:auto;min-height:260px;margin:0;padding:1rem;white-space:pre-wrap;word-break:break-word;color:#dbeafe;background:#0a0f20;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}
        .ai-topbar .ai-thinking-toggle{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(165,180,252,.2);border-radius:999px;padding:.34rem .55rem;color:#bfc9e7;background:rgba(99,102,241,.1);font-size:.72rem}.ai-topbar .ai-thinking-toggle.is-off{color:#8490b4;background:rgba(255,255,255,.04)}.ai-live-thinking{margin:0 0 .7rem;padding:.55rem .75rem;border-left:2px solid #818cf8;color:#aeb9d9;font-size:.78rem;white-space:pre-wrap}.ai-live-thinking[hidden]{display:none}
        .todo-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--m-border); border-left: 1px solid var(--m-border); }
        .todo-calendar-weekday, .todo-calendar-day { border-right: 1px solid var(--m-border); border-bottom: 1px solid var(--m-border); }
        .todo-calendar-weekday { padding: .45rem; text-align: center; font-size: .8rem; color: var(--m-text-muted); background: var(--m-fill); }
        .todo-calendar-day { min-height: 110px; padding: .45rem; cursor: pointer; transition: background .15s ease; }
        .todo-calendar-day:hover { background: var(--m-fill); }
        .todo-calendar-day.is-today { box-shadow: inset 0 0 0 2px var(--m-accent); }
        .todo-calendar-day.is-other-month { opacity: .42; }
        .todo-calendar-date { font-size: .82rem; font-weight: 700; }
        .todo-calendar-task { display: block; width: 100%; border: 0; border-radius: 4px; margin-top: .25rem; padding: .15rem .3rem; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .75rem; color: #fff; background: var(--bs-primary); }
        .todo-calendar-task.priority-high { background: var(--bs-danger); }
        .todo-calendar-task.priority-medium { background: #b7791f; }
        .todo-calendar-task.is-completed { opacity: .55; text-decoration: line-through; }
        .dashboard-calendar .todo-calendar-day { min-height: 58px; padding: .25rem; }
        .dashboard-calendar .todo-calendar-task { margin-top: .14rem; padding: .1rem .22rem; font-size: .64rem; }
        .dashboard-calendar .todo-calendar-date { font-size: .72rem; }
        @media (max-width: 576px) { .todo-calendar-day { min-height: 72px; padding: .25rem; } .todo-calendar-task { font-size: .65rem; } .todo-calendar-weekday { font-size: .7rem; padding: .3rem .1rem; } }
        @media (max-width: 767.98px) {
            .content { padding: 1rem .75rem !important; }
            .overview-banner { padding: 1rem !important; }
            .overview-banner h3 { font-size: 1.25rem; }
            .overview-banner .btn { margin-top: .25rem; }
            .card-header, .card-body { padding-left: .85rem; padding-right: .85rem; }
            #dashboard-quick-links .card-body { align-items: stretch; }
            #dashboard-quick-links .btn { flex: 1 0 calc(50% - .5rem); }
            .dashboard-calendar .todo-calendar-day { min-height: 54px; }
            .transfer-message-head { align-items: flex-start; }
            .file-manager-container .card-footer, #file-manager-container .card-footer { display: flex; flex-wrap: wrap; gap: .25rem; justify-content: center; }
            #file-manager-container .card-footer .btn { margin: 0 !important; }
            #file-manager-container .table { min-width: 760px; }
            .modal-dialog.modal-xl { margin: .5rem; }
        }
        /* 登录后的空间入口统一展示当前用户名和头像。 */
        .portal-user-profile {
            display: inline-flex;
            flex: 0 0 auto;
            align-items: center;
            gap: .7rem;
            color: #fff;
            font-family: "Geist", "Microsoft YaHei", sans-serif;
        }
        .portal-user-copy {
            display: grid;
            min-width: 0;
            gap: .18rem;
            text-align: right;
        }
        .portal-user-copy strong {
            max-width: 180px;
            overflow: hidden;
            color: #fff;
            font-size: .92rem;
            font-weight: 700;
            line-height: 1.1;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .portal-user-copy small {
            color: rgba(255,255,255,.56);
            font-size: .62rem;
            line-height: 1.2;
            letter-spacing: .02em;
            white-space: nowrap;
        }
        .portal-user-avatar {
            position: relative;
            display: grid;
            width: 52px;
            height: 52px;
            flex: 0 0 52px;
            place-items: center;
            overflow: hidden;
            border: 1px solid rgba(255,255,255,.38);
            border-radius: 50%;
            padding: 0;
            background: linear-gradient(145deg,#efce96,#8a552f 58%,#25160f);
            box-shadow: 0 8px 24px rgba(0,0,0,.24);
            cursor: pointer;
            transition: transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease, box-shadow .28s ease;
        }
        .portal-user-avatar:hover,
        .portal-user-avatar:focus-visible {
            border-color: rgba(255,255,255,.82);
            box-shadow: 0 10px 30px rgba(0,0,0,.32), 0 0 0 4px rgba(239,206,150,.14);
            outline: 0;
            transform: scale(1.08);
        }
        .portal-user-avatar img {
            position: absolute;
            inset: 0;
            z-index: 1;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .portal-user-avatar span {
            color: #fff;
            font-size: 1rem;
            font-weight: 700;
            text-transform: uppercase;
        }
        .workspace-portal-title .portal-user-profile { margin-right: .35rem; }
        .portal-user-profile--bio { gap: 1rem; }
        .portal-user-profile--bio .portal-user-copy strong {
            max-width: 260px;
            font-size: clamp(1.15rem,2.4vw,2.65rem);
            letter-spacing: -.055em;
        }
        .portal-user-profile--bio .portal-user-copy small { font-size: .72rem; }
        .portal-user-profile--bio .portal-user-avatar {
            width: clamp(54px,5.5vw,82px);
            height: clamp(54px,5.5vw,82px);
            flex-basis: clamp(54px,5.5vw,82px);
        }
        .portal-avatar-picker {
            position: fixed;
            z-index: 20000;
            inset: 0;
            display: grid;
            place-items: center;
            overflow-y: auto;
            padding: 1rem;
            background: rgba(3,4,7,.76);
            backdrop-filter: blur(18px);
        }
        .portal-avatar-picker[hidden] { display: none; }
        .portal-avatar-picker-card {
            width: min(760px,100%);
            overflow: hidden;
            border: 1px solid rgba(255,255,255,.15);
            border-radius: 26px;
            color: #fff;
            background: radial-gradient(circle at 100% 0,rgba(239,206,150,.16),transparent 34%),#111216;
            box-shadow: 0 32px 100px rgba(0,0,0,.56);
            font-family: "Geist", "Microsoft YaHei", sans-serif;
        }
        .portal-avatar-picker-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 1rem;
            padding: 1.3rem 1.4rem 1rem;
            border-bottom: 1px solid rgba(255,255,255,.09);
        }
        .portal-avatar-picker-head h2 { margin: 0; font-size: 1.25rem; font-weight: 720; letter-spacing: -.035em; }
        .portal-avatar-picker-head p { margin: .35rem 0 0; color: rgba(255,255,255,.56); font-size: .76rem; }
        .portal-avatar-close {
            display: grid;
            width: 34px;
            height: 34px;
            flex: 0 0 34px;
            place-items: center;
            border: 1px solid rgba(255,255,255,.13);
            border-radius: 50%;
            color: #fff;
            background: rgba(255,255,255,.04);
        }
        .portal-avatar-close:hover { background: rgba(255,255,255,.12); }
        .portal-avatar-picker-body { display: grid; max-height: min(72vh,720px); gap: 1.2rem; overflow-y: auto; padding: 1.25rem 1.4rem; }
        .portal-avatar-current { display: flex; align-items: center; gap: 1rem; }
        .portal-avatar-preview {
            position: relative;
            display: grid;
            width: 86px;
            height: 86px;
            flex: 0 0 86px;
            place-items: center;
            overflow: hidden;
            border: 1px solid rgba(255,255,255,.3);
            border-radius: 50%;
            background: linear-gradient(145deg,#efce96,#8a552f 58%,#25160f);
            box-shadow: 0 18px 38px rgba(0,0,0,.3);
        }
        .portal-avatar-preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
        .portal-avatar-preview span { color: #fff; font-size: 1.45rem; font-weight: 750; text-transform: uppercase; }
        .portal-avatar-current-copy { display: grid; gap: .35rem; }
        .portal-avatar-current-copy strong { font-size: 1rem; }
        .portal-avatar-current-copy span { color: rgba(255,255,255,.55); font-size: .74rem; line-height: 1.45; }
        .portal-avatar-section-title { margin: 0 0 .7rem; color: rgba(255,255,255,.76); font-size: .75rem; font-weight: 700; letter-spacing: .06em; }
        .portal-avatar-presets { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; }
        .portal-avatar-preset {
            display: grid;
            min-width: 0;
            gap: .48rem;
            justify-items: center;
            border: 1px solid rgba(255,255,255,.1);
            border-radius: 15px;
            padding: .62rem .45rem;
            color: rgba(255,255,255,.68);
            background: rgba(255,255,255,.035);
            font-size: .68rem;
            transition: transform .22s ease, border-color .22s ease, background .22s ease;
        }
        .portal-avatar-preset:hover { transform: translateY(-3px); border-color: rgba(239,206,150,.56); background: rgba(239,206,150,.08); }
        .portal-avatar-preset.is-selected { border-color: #efce96; color: #fff; background: rgba(239,206,150,.12); box-shadow: inset 0 0 0 1px rgba(239,206,150,.16); }
        .portal-avatar-preset img { width: 66px; height: 66px; border-radius: 50%; object-fit: cover; background: rgba(255,255,255,.08); }
        .portal-avatar-library-section { display: grid; gap: .72rem; }
        .portal-avatar-library-title { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
        .portal-avatar-library-title .portal-avatar-section-title { margin: 0; }
        .portal-avatar-library-title .portal-avatar-section-title span { color: rgba(255,255,255,.42); font-weight: 500; letter-spacing: 0; }
        .portal-avatar-library-refresh {
            display: grid;
            width: 30px;
            height: 30px;
            place-items: center;
            border: 1px solid rgba(255,255,255,.12);
            border-radius: 9px;
            color: rgba(255,255,255,.72);
            background: rgba(255,255,255,.04);
        }
        .portal-avatar-library-refresh:hover { color: #fff; background: rgba(255,255,255,.1); }
        .portal-avatar-library { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .65rem; }
        .portal-avatar-library-item { position: relative; min-width: 0; }
        .portal-avatar-library-item .portal-avatar-preset { width: 100%; height: 100%; }
        .portal-avatar-library-delete {
            position: absolute;
            z-index: 2;
            top: .35rem;
            right: .35rem;
            display: grid;
            width: 24px;
            height: 24px;
            place-items: center;
            border: 1px solid rgba(255,255,255,.18);
            border-radius: 50%;
            color: #fff;
            background: rgba(22,8,8,.78);
            opacity: 0;
            transition: opacity .18s ease,background .18s ease;
        }
        .portal-avatar-library-item:hover .portal-avatar-library-delete,
        .portal-avatar-library-delete:focus-visible { opacity: 1; }
        .portal-avatar-library-delete:hover { background: #b4232c; }
        .portal-avatar-library-empty { grid-column: 1/-1; border: 1px dashed rgba(255,255,255,.13); border-radius: 14px; padding: 1.1rem; color: rgba(255,255,255,.46); background: rgba(255,255,255,.025); text-align: center; font-size: .74rem; }
        .portal-avatar-library-admin { display: flex; align-items: center; gap: .75rem; }
        .portal-avatar-library-admin[hidden] { display: none; }
        .portal-avatar-library-upload {
            display: inline-flex;
            align-items: center;
            gap: .5rem;
            border: 1px dashed rgba(239,206,150,.46);
            border-radius: 12px;
            padding: .68rem .82rem;
            color: #f6dfb9;
            background: rgba(239,206,150,.06);
            cursor: pointer;
        }
        .portal-avatar-library-upload span { font-size: .75rem; font-weight: 700; }
        .portal-avatar-library-upload small { color: rgba(255,255,255,.44); font-size: .65rem; }
        .portal-avatar-library-upload:hover { border-color: #efce96; background: rgba(239,206,150,.12); }
        .portal-avatar-library-status { min-height: 1.1rem; color: rgba(255,255,255,.54); font-size: .7rem; }
        .portal-avatar-upload-row { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
        .portal-avatar-upload,
        .portal-avatar-reset {
            display: inline-flex;
            align-items: center;
            gap: .42rem;
            border: 1px solid rgba(255,255,255,.15);
            border-radius: 10px;
            padding: .62rem .8rem;
            color: #fff;
            background: rgba(255,255,255,.055);
            font-size: .75rem;
            font-weight: 650;
            cursor: pointer;
        }
        .portal-avatar-upload:hover,
        .portal-avatar-reset:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.11); }
        .portal-avatar-picker-status { min-height: 1.1rem; margin-left: auto; color: rgba(255,255,255,.52); font-size: .7rem; }
        .portal-avatar-picker-foot {
            display: flex;
            justify-content: flex-end;
            gap: .65rem;
            padding: 1rem 1.4rem 1.25rem;
            border-top: 1px solid rgba(255,255,255,.09);
        }
        .portal-avatar-picker-foot button { border-radius: 10px; padding: .64rem .92rem; font-size: .76rem; font-weight: 700; }
        .portal-avatar-cancel { border: 1px solid rgba(255,255,255,.14); color: #fff; background: transparent; }
        .portal-avatar-save { border: 0; color: #19140e; background: #efce96; }
        .portal-avatar-save:hover { background: #ffe1a9; }
        .portal-avatar-picker-note { margin: 0; color: rgba(255,255,255,.42); font-size: .66rem; line-height: 1.45; }
        }
        @media (max-width: 980px) {
            .automation-nav-status,
            .workspace-source-nav { display: none; }
        }
        @media (max-width: 680px) {
            .portal-user-copy small { display: none; }
            .portal-user-copy strong { max-width: 92px; font-size: .78rem; }
            .portal-user-avatar { width: 44px; height: 44px; flex-basis: 44px; }
            .automation-nav .workspace-performance-toggle,
            .workspace-portal-title .workspace-performance-toggle { display: none; }
            .portal-user-profile--bio .portal-user-copy { display: grid; }
            .portal-user-profile--bio .portal-user-copy strong { max-width: 110px; font-size: .95rem; }
            .portal-user-profile--bio .portal-user-avatar { width: 48px; height: 48px; flex-basis: 48px; }
            .portal-avatar-picker-card { border-radius: 20px; }
            .portal-avatar-picker-head,
            .portal-avatar-picker-body,
            .portal-avatar-picker-foot { padding-left: 1rem; padding-right: 1rem; }
            .portal-avatar-presets { grid-template-columns: repeat(2,minmax(0,1fr)); }
            .portal-avatar-library { grid-template-columns: repeat(2,minmax(0,1fr)); }
            .portal-avatar-library-admin { align-items: stretch; flex-direction: column; }
            .portal-avatar-library-upload { justify-content: center; }
            .portal-avatar-picker-status { width: 100%; margin-left: 0; }
        }
    


        /* 性能模式只降低粒子负载，不暂停或压暗场景 02 的原始视频。 */
        #workspace-portal.is-performance-mode .workspace-background-video { opacity: .92; }
    


        /* === 主题变量 + 全局字体与节奏 === */
        :root, [data-theme="default"] {
            --m-bg: #f5f3f0;
            --m-bg-card: #ffffff;
            --m-border: #e8e4de;
            --m-border-strong: #d6d0c8;
            --m-text: #1c1917;
            --m-text-muted: #57534e;
            --m-accent: #c2410c;
            --m-accent-hover: #9a3412;
            --m-fill: #faf8f5;
            --m-banner: #1e40af;
            --m-banner-text: #f8fafc;
            --m-table-head: #1e40af;
            --m-success-tint: #15803d;
            --m-danger-tint: #b91c1c;
            --m-radius: 12px;
            --m-radius-sm: 8px;
            --m-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
            --m-shadow-hover: 0 10px 25px -5px rgba(0,0,0,.08), 0 4px 10px -4px rgba(0,0,0,.06);
        }
        body { font-family: 'Microsoft YaHei', 'PingFang SC', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; -webkit-font-smoothing: antialiased; }
        /* ========== 登录页：全屏风景图 + 右侧玻璃面板滑入 + 左侧标题滑入 ========== */
        .login-container {
            min-height: 100vh;
            display: flex;
            flex-direction: row;
            overflow: hidden;
            background-color: #1e3a5f;
            background-image: url(../login-bg.jpg);
            background-size: cover;
            background-position: center;
        }
        .login-left {
            width: 50%;
            flex-shrink: 0;
            position: relative;
        }
        .login-left-inner {
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            padding: 3rem 4rem;
            min-height: 50vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            animation: login-title-in 0.7s cubic-bezier(0.34,1.56,0.64,1) 0.2s both;
        }
        @keyframes login-title-in {
            from { opacity: 0; transform: translateY(-50%) translateX(-48px); }
            to { opacity: 1; transform: translateY(-50%) translateX(0); }
        }
        .login-left-title {
            font-size: 4.5rem;
            font-weight: 700;
            color: #fff;
            text-shadow: 0 2px 24px rgba(0,0,0,.45);
            margin: 0 0 1rem;
            letter-spacing: 0.02em;
            line-height: 1.15;
        }
        .login-left-desc {
            font-size: 1.65rem;
            color: rgba(255,255,255,.92);
            text-shadow: 0 1px 12px rgba(0,0,0,.35);
            margin: 0;
            letter-spacing: 0.03em;
            line-height: 1.5;
        }
        .login-right {
            width: 50%;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 3rem;
            background: rgba(68, 75, 99, 0.13);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(12px);
            border-left: 1px solid rgba(255,255,255,.2);
            box-shadow: -10px 0 40px rgba(0,0,0,.12);
            animation: login-panel-in 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
        }
        @keyframes login-panel-in {
            from { transform: translateX(100%); }
            to { transform: translateX(0); }
        }
        .login-card-wrapper {
            width: 88%;
            max-width: 580px;
        }
        .login-card {
            background: transparent;
            padding: 0;
        }
        .login-form #heading {
            text-align: left;
            margin: 0 0 0.4em;
            font-size: 4rem;
            font-weight: 700;
            letter-spacing: -0.02em;
            color: rgba(255,255,255,.95);
        }
        .login-form .login-subtitle {
            text-align: left;
            margin: 0 0 2.5rem;
            font-size: 1.2rem;
            color: rgba(255,255,255,.82);
            font-weight: 500;
            line-height: 1.5;
        }
        .login-form .field {
            display: flex;
            align-items: center;
            gap: 0.9rem;
            border-radius: 12px;
            padding: 1.15rem 1.35rem;
            margin-bottom: 1.5rem;
            border: 1px solid rgba(255,255,255,.22);
            background: rgba(255,255,255,.06);
            transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
        }
        .login-form .field:focus-within {
            border-color: rgba(249,115,22,.9);
            box-shadow: 0 0 0 2px rgba(249,115,22,.2);
            background: rgba(255,255,255,.1);
        }
        .login-form .input-icon {
            height: 1.4rem;
            width: 1.4rem;
            flex-shrink: 0;
            color: rgba(255,255,255,.65);
            transition: color .2s ease;
        }
        .login-form .field:focus-within .input-icon { color: #f97316; }
        .login-form .input-field {
            flex: 1;
            background: none;
            border: none;
            outline: none;
            font-size: 1.2rem;
            color: #fff;
        }
        .login-form .input-field::placeholder { color: rgba(255,255,255,.5); }
        .login-form .login-options {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 2rem;
            flex-wrap: wrap;
            gap: 0.5rem;
        }
        .login-form .login-remember {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            color: rgba(255,255,255,.88);
            font-size: 1.1rem;
            cursor: pointer;
            font-weight: 500;
        }
        .login-form .login-remember input {
            width: 22px;
            height: 22px;
            accent-color: #f97316;
            cursor: pointer;
        }
        .login-form .btn-row { margin-top: 0.5rem; }
        .login-form .btn-login {
            width: 100%;
            padding: 1.2rem 1.5rem;
            border-radius: 12px;
            border: none;
            outline: none;
            cursor: pointer;
            font-size: 1.25rem;
            font-weight: 600;
            color: #fff;
            background: linear-gradient(135deg, #f97316 0%, #ea580c 50%, #c2410c 100%);
            background-size: 200% 200%;
            box-shadow: 0 4px 14px rgba(249,115,22,.4);
            transition: all .3s ease;
        }
        .login-form .btn-login:hover {
            background-position: 100% 0;
            box-shadow: 0 8px 24px rgba(249,115,22,.45);
            transform: translateY(-2px);
        }
        .login-form .btn-login:active { transform: translateY(0); }
        .login-form .btn-forgot {
            padding: 0.4em 0;
            border: none;
            background: none;
            color: rgba(255,255,255,.82);
            cursor: pointer;
            font-size: 1.1rem;
            font-weight: 500;
            transition: color .2s ease;
        }
        .login-form .btn-forgot:hover { color: #f97316; }
        .login-form .login-footer {
            text-align: left;
            margin-top: 2rem;
            font-size: 1.05rem;
            color: rgba(255,255,255,.75);
        }
        .login-form .login-footer a {
            color: rgba(255,255,255,.9);
            text-decoration: none;
            font-weight: 500;
            transition: color .2s ease;
        }
        .login-form .login-footer a:hover { color: #f97316; }
        .login-error {
            text-align: left;
            color: #fca5a5;
            font-size: 1.05rem;
            margin-top: 1.25rem;
            min-height: 1.25em;
            font-weight: 500;
        }
        @media (max-width: 991px) {
            .login-container { flex-direction: column; }
            .login-left { min-height: 35vh; }
            .login-left-inner { padding: 1.5rem 2rem; min-height: auto; }
            .login-left-title { font-size: 2.25rem; }
            .login-left-desc { font-size: 1.1rem; }
            .login-right {
                width: 100%;
                flex: 1;
                border-left: none;
                border-top: 1px solid rgba(255,255,255,.2);
            }
        }
        @media (max-width: 480px) {
            .login-right { padding: 2rem 1.5rem; }
            .login-card-wrapper { width: 95%; }
            .login-form #heading { font-size: 2rem; }
            .login-form .login-subtitle { font-size: 1rem; margin-bottom: 1.5rem; }
        }
        .content {
            padding: 1.75rem;
            min-height: 100vh;
            background: var(--m-bg);
        }
        .card {
            margin-bottom: 1.5rem;
            border: 1px solid var(--m-border);
            border-radius: var(--m-radius);
            box-shadow: var(--m-shadow);
            transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
        }
        .card:hover {
            box-shadow: var(--m-shadow-hover);
            border-color: var(--m-border-strong);
        }
        .sidebar {
            position: fixed;
            top: 0;
            left: 0;
            height: 100vh;
            width: 260px;
            background: var(--m-bg-card);
            border-right: 1px solid var(--m-border);
            padding: 1.25rem;
            overflow-y: auto;
            overflow-x: hidden;
            z-index: 1000;
            transition: width .25s ease;
            display: flex;
            flex-direction: column;
            box-shadow: 4px 0 24px -4px rgba(0,0,0,.06);
        }
        .sidebar::-webkit-scrollbar { width: 5px; }
        .sidebar::-webkit-scrollbar-track { background: transparent; }
        .sidebar::-webkit-scrollbar-thumb { background: var(--m-border-strong); border-radius: 2px; }
        .sidebar.collapsed { width: 96px; }
        .sidebar.collapsed .sidebar-title h4,
        .sidebar.collapsed .nav-link span:not(.nav-icon),
        .sidebar.collapsed .user-info { opacity: 0; width: 0; overflow: hidden; white-space: nowrap; }
        .sidebar.collapsed .sidebar-title { justify-content: center; }
        .sidebar.collapsed .sidebar-toggle-btn { margin: 0; }
        .sidebar.collapsed .nav-link { justify-content: center; padding-left: 0; padding-right: 0; }
        .sidebar.collapsed .nav-link i { margin-right: 0 !important; }
        .sidebar-title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 1.5rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid var(--m-border);
        }
        .sidebar-title h4 {
            margin: 0;
            font-size: 1.05rem;
            font-weight: 600;
            color: var(--m-text) !important;
            white-space: nowrap;
        }
        .sidebar-toggle-btn {
            background: transparent;
            border: none;
            color: var(--m-text-muted);
            cursor: pointer;
            padding: .5rem;
            border-radius: 4px;
            transition: color .25s ease, background .25s ease, transform .25s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
        }
        .sidebar-toggle-btn:hover {
            background: var(--m-fill);
            color: var(--m-accent);
            transform: scale(1.05);
        }
        /* 导航栏折叠按钮 - 汉堡菜单样式 (From Uiverse.io) */
        #sidebar-collapse-checkbox { display: none; }
        .sidebar-toggle-btn[for="sidebar-collapse-checkbox"] {
            width: 40px;
            height: 40px;
        }
        .sidebar-hamburger-toggle {
            position: relative;
            width: 100%;
            height: 100%;
            cursor: pointer;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 5px;
            transition-duration: .5s;
        }
        .sidebar-hamburger-toggle .hamburger-bar {
            width: 100%;
            height: 4px;
            background-color: #000;
            border-radius: 4px;
            transition-duration: .5s;
            filter: drop-shadow(0 1px 1px rgba(0,0,0,.2));
        }
        .sidebar-hamburger-toggle .hamburger-bar:nth-child(1),
        .sidebar-hamburger-toggle .hamburger-bar:nth-child(3) { width: 70%; margin-right: auto; }
        /* 展开状态(未勾选)：显示叉，表示点击可缩小 */
        #sidebar-collapse-checkbox:not(:checked) + .sidebar-toggle-btn .sidebar-hamburger-toggle .hamburger-bar { position: absolute; }
        #sidebar-collapse-checkbox:not(:checked) + .sidebar-toggle-btn .sidebar-hamburger-toggle .hamburger-bar:nth-child(2) {
            transform: scaleX(0);
            transition-duration: .5s;
        }
        #sidebar-collapse-checkbox:not(:checked) + .sidebar-toggle-btn .sidebar-hamburger-toggle .hamburger-bar:nth-child(1) {
            width: 100%;
            transform: rotate(45deg);
            transition-duration: .5s;
        }
        #sidebar-collapse-checkbox:not(:checked) + .sidebar-toggle-btn .sidebar-hamburger-toggle .hamburger-bar:nth-child(3) {
            width: 100%;
            transform: rotate(-45deg);
            transition-duration: .5s;
        }
        #sidebar-collapse-checkbox:not(:checked) + .sidebar-toggle-btn .sidebar-hamburger-toggle { transform: rotate(180deg); transition-duration: .5s; }
        
        /* GooeyNav 气泡粒子效果 - 仅展开时生效 */
        .sidebar.collapsed .gooey-nav-wrapper .gooey-effect { display: none !important; }
        .sidebar .gooey-nav-wrapper {
            position: relative;
            overflow: visible;
        }
        .sidebar .gooey-nav-wrapper .gooey-effect {
            position: absolute;
            left: 0;
            top: 0;
            width: 0;
            height: 0;
            opacity: 1;
            pointer-events: none;
            display: grid;
            place-items: center;
            z-index: 10;
            transition: left 0.25s ease, top 0.25s ease, width 0.25s ease, height 0.25s ease;
        }
        .sidebar .gooey-nav-wrapper .gooey-effect.gooey-text {
            color: var(--m-banner-text);
            font-size: 0.95rem;
            font-weight: 500;
            z-index: 11;
            padding: 0 1rem;
            white-space: nowrap;
        }
        .sidebar .gooey-nav-wrapper .gooey-effect.gooey-filter::after {
            content: '';
            position: absolute;
            inset: 0;
            background: var(--m-accent);
            transform: scale(0);
            opacity: 0;
            z-index: -1;
            border-radius: var(--m-radius-sm);
        }
        .sidebar .gooey-nav-wrapper .gooey-effect.gooey-filter.active::after {
            animation: gooey-pill 0.3s ease both;
        }
        @keyframes gooey-pill {
            to { transform: scale(1); opacity: 1; }
        }
        .sidebar .gooey-nav-wrapper .gooey-particle,
        .sidebar .gooey-nav-wrapper .gooey-point {
            display: block;
            width: 12px;
            height: 12px;
            border-radius: 100%;
            transform-origin: center;
        }
        .sidebar .gooey-nav-wrapper .gooey-particle {
            position: absolute;
            top: calc(50% - 6px);
            left: calc(50% - 6px);
            animation: gooey-particle var(--gtime, 0.8s) ease forwards;
        }
        .sidebar .gooey-nav-wrapper .gooey-point {
            background: var(--m-accent);
            opacity: 1;
            animation: gooey-point var(--gtime, 0.8s) ease forwards;
        }
        .sidebar-title h4 { font-weight: 700; letter-spacing: 0.02em; }
        @keyframes gooey-particle {
            0% {
                transform: rotate(0deg) translate(var(--gstart-x, 0), var(--gstart-y, 0));
                opacity: 1;
            }
            100% {
                transform: rotate(var(--grotate, 0)) translate(var(--gend-x, 0), var(--gend-y, 0));
                opacity: 1;
            }
        }
        @keyframes gooey-point {
            0% { transform: scale(0); opacity: 0; }
            38% { opacity: 1; }
            65% { transform: scale(var(--gscale, 1)); opacity: 1; }
            100% { transform: scale(0); opacity: 0; }
        }
        
        .sidebar .nav-link {
            display: flex;
            align-items: center;
            padding: .75rem 1rem;
            margin-bottom: 4px;
            border-radius: var(--m-radius-sm);
            color: var(--m-text);
            transition: background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
            position: relative;
        }
        .sidebar .nav-link::after {
            content: '';
            position: absolute;
            left: 1rem;
            right: 1rem;
            bottom: 0;
            height: 2px;
            background: var(--m-accent);
            transform: scaleX(0);
            transition: transform .25s ease;
            border-radius: 1px;
        }
        .sidebar .nav-link:hover {
            background: var(--m-fill);
            transform: translateX(4px);
            box-shadow: 0 2px 12px rgba(194,65,12,.12);
        }
        .sidebar .nav-link:hover::after { transform: scaleX(1); }
        .sidebar .nav-link.active {
            background: linear-gradient(135deg, rgba(194,65,12,.15) 0%, rgba(234,88,12,.12) 100%);
            color: var(--m-accent) !important;
            font-weight: 600;
            transform: translateX(4px);
            box-shadow: 0 2px 12px rgba(194,65,12,.2);
            border: 1px solid rgba(194,65,12,.25);
        }
        .sidebar .nav-link.active::after { display: none; }
        .sidebar .nav-link i {
            font-size: 1.1rem;
            margin-right: .75rem;
            min-width: 20px;
            text-align: center;
            transition: transform .25s ease;
        }
        .sidebar .nav-link:hover i { transform: scale(1.08); }
        .sidebar .nav-link.active i { transform: scale(1.08); }
        .nav-icon { display: inline-block; }
        .sidebar .user-info {
            transition: opacity .25s ease;
            margin-top: auto;
            padding-top: 1rem;
            border-top: 1px solid var(--m-border);
        }
        .sidebar.collapsed .user-info > * { opacity: 0; height: 0; overflow: hidden; }
        .sidebar .nav { flex: 1; overflow-y: auto; overflow-x: hidden; }
        .content {
            margin-left: 260px;
            width: calc(100% - 260px);
            transition: margin-left .25s ease, width .25s ease;
        }
        .sidebar.collapsed ~ .content { margin-left: 96px; width: calc(100% - 96px); }
        /* Markdown 编辑器：保持稳定内容宽度，避免超宽屏与负边距导致排版漂移 */
        #markdown-editor {
            max-width: 100%;
        }
        #markdown-editor .card {
            margin: 0;
            overflow: hidden;
        }
        #vditor-editor {
            width: 100% !important;
            height: clamp(520px, 72vh, 860px) !important;
        }
        #vditor-editor .vditor {
            width: 100% !important;
            max-width: 100% !important;
        }
        #vditor-editor .vditor-content {
            width: 100% !important;
            max-width: 100% !important;
        }
        #vditor-editor .vditor-wysiwyg {
            width: 100% !important;
            max-width: 100% !important;
            padding: 2rem max(1.25rem, calc((100% - 980px) / 2));
            overflow-wrap: anywhere;
        }
        #vditor-editor .vditor-sv {
            width: 100% !important;
            max-width: 100% !important;
        }
        #vditor-editor .vditor-toolbar { position: sticky; top: 0; z-index: 3; }
        /* 笔记模态框：只让编辑区自身滚动，避免双滚动条和隐藏初始化错位 */
        #note-modal .modal-dialog {
            max-width: min(1180px, 96vw);
            margin-left: auto;
            margin-right: auto;
        }
        #note-modal .modal-body {
            overflow: visible;
        }
        #note-editor-container {
            height: clamp(430px, 62vh, 700px) !important;
            overflow: hidden;
        }
        #note-editor-container .vditor {
            height: 100% !important;
        }
        #note-editor-container .vditor-wysiwyg {
            width: 100%;
            padding: 1.5rem max(1rem, calc((100% - 860px) / 2));
            box-sizing: border-box;
            word-break: normal;
            overflow-wrap: anywhere;
        }
        .note-card { border:1px solid rgba(111,129,168,.18); border-left:4px solid var(--note-color,#dbe2f1); border-radius:16px; transition:transform .15s ease,box-shadow .15s ease; }
        .note-card:hover { transform:translateY(-2px); box-shadow:var(--m-shadow-hover); }
        .note-preview { white-space: pre-line; line-height: 1.65; }
        .notes-workspace-card{border:1px solid rgba(111,129,168,.16);border-radius:20px;box-shadow:0 14px 36px rgba(37,54,91,.07)}
        .notes-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
        .notes-summary-item{padding:16px 18px;border:1px solid rgba(111,129,168,.16);border-radius:16px;background:linear-gradient(145deg,#fff,#f7f9fd)}
        .notes-summary-item strong{display:block;font-size:1.55rem;line-height:1;color:#24324b;margin-bottom:7px}.notes-summary-item span{font-size:.78rem;color:#78849a}
        .note-category-panel{position:sticky;top:20px}.note-category-list{display:grid;gap:8px}
        .note-category-chip{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;width:100%;border:0;border-radius:12px;padding:10px 12px;background:transparent;color:#526077;text-align:left}
        .note-category-chip:hover,.note-category-chip.active{background:#eef2ff;color:#273a7a}.note-category-chip.active{box-shadow:inset 0 0 0 1px rgba(91,124,250,.18)}
        .note-category-dot{width:10px;height:10px;border-radius:50%;background:var(--category-color,#aab4c7)}.note-category-count{font-size:.73rem;font-weight:700;color:#8893a7;background:#fff;border-radius:999px;padding:2px 7px}
        .note-category-manager-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f5}
        .kpi-chart { width: 100%; min-height: 320px; }
        .kpi-chart--large { min-height: 400px; }
        @media (max-width: 768px) {
            #vditor-editor .vditor-wysiwyg, #note-editor-container .vditor-wysiwyg { padding: 1rem; }
            #note-modal .modal-dialog { margin: .5rem; max-width: calc(100vw - 1rem); }
            #note-editor-container { height: calc(100vh - 280px) !important; min-height: 360px; }
            .kpi-chart { min-height: 300px; }
            .notes-summary-strip{grid-template-columns:1fr}.note-category-panel{position:static}.note-category-manager-row{grid-template-columns:40px minmax(0,1fr)}.note-category-manager-row .btn-group{grid-column:2}
        }
        .kpi-table {
            min-width: 1000px;
            border-collapse: collapse;
            border: 1px solid var(--m-border);
        }
        .kpi-table th, .kpi-table td {
            text-align: center;
            vertical-align: middle;
            padding: .75rem 1rem;
            border-bottom: 1px solid var(--m-border);
            transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
        }
        .kpi-table th {
            background: linear-gradient(180deg, var(--m-fill) 0%, #eeebe6 100%);
            color: var(--m-text);
            font-weight: 600;
            border-top: none;
            border-bottom: 2px solid var(--m-border-strong);
            position: sticky;
            top: 0;
            z-index: 10;
        }

        /* 资产表头排序与长备注展示 */
        .asset-sort-button { display:inline-flex; align-items:center; gap:.32rem; padding:0; border:0; color:inherit; background:transparent; font:inherit; font-weight:inherit; white-space:nowrap; }
        .asset-sort-button:hover, .asset-sort-button.is-active { color:var(--bs-primary, #0d6efd); }
        .asset-sort-button i { opacity:.62; font-size:.78em; }
        .asset-sort-button.is-active i { opacity:1; }
        .asset-sort-order { display:grid; place-items:center; width:17px; height:17px; border-radius:50%; color:#fff; background:var(--bs-primary,#0d6efd); font-size:.62rem; }
        .asset-remark-cell { max-width:260px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        .asset-query-panel { margin-bottom:1rem; padding:1rem; border:1px solid var(--m-border); border-radius:14px; background:color-mix(in srgb,var(--m-fill) 55%,transparent); }
        .asset-query-primary { display:grid; grid-template-columns:minmax(250px,1.7fr) repeat(4,minmax(145px,1fr)); gap:.75rem; align-items:end; }
        .asset-filter-field .form-label { margin-bottom:.35rem; color:var(--m-text-muted); font-size:.78rem; font-weight:650; }
        .asset-status-filter-menu { min-width:190px; }
        .asset-status-filter-menu label { display:block; padding:.42rem .55rem; border-radius:7px; cursor:pointer; }
        .asset-status-filter-menu label:hover { background:var(--m-fill); }
        .asset-query-actions { display:flex; align-items:center; gap:.5rem; margin-top:.8rem; flex-wrap:wrap; }
        .asset-filter-preset-select { width:auto; min-width:155px; }
        .asset-batch-toolbar { display:none; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.8rem; padding:.7rem .85rem; border:1px solid #b7cdf9; border-radius:12px; background:#edf4ff; }
        .asset-batch-toolbar.is-active { display:flex; }
        .asset-batch-actions { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; }
        .asset-batch-actions select { width:130px; }.asset-batch-actions input { width:210px; }
        #asset-table tbody tr:nth-child(even) td { background:color-mix(in srgb,var(--m-fill) 50%,transparent); }
        #asset-table tbody tr.table-primary td { background:#dceaff; }
        .asset-select-column { position:sticky!important; left:0; z-index:12!important; width:46px; min-width:46px; background:var(--m-bg-card,#fff)!important; }
        .asset-row-actions { position:sticky; right:0; min-width:126px; background:var(--m-bg-card,#fff)!important; box-shadow:-8px 0 12px -12px rgba(15,23,42,.5); }
        #asset-table th:last-child { right:0; z-index:13; }
        .asset-inline-cell { cursor:cell; }
        .asset-inline-cell:hover { outline:1px dashed var(--bs-primary,#0d6efd); outline-offset:-3px; background:#eef5ff!important; }
        .asset-inline-cell.is-editing { min-width:150px; padding:.3rem; overflow:visible; }
        .asset-inline-cell textarea { min-width:240px; resize:vertical; }
        .asset-table-state { padding:2.4rem!important; text-align:center!important; color:var(--m-text-muted); }
        .asset-pagination { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.5rem; padding-top:.9rem; }
        .asset-pagination-summary { margin-right:auto; color:var(--m-text-muted); font-size:.85rem; }
        .asset-pagination label,.asset-pagination span { display:flex; align-items:center; gap:.35rem; margin:0; white-space:nowrap; font-size:.83rem; }
        .asset-pagination select { width:74px; }.asset-pagination input { width:68px; text-align:center; }
        .asset-import-summary { padding:.58rem .75rem; border-radius:9px; color:var(--m-text-muted); background:var(--m-fill); }
        .asset-import-errors { max-height:230px; overflow:auto; }.asset-import-errors ul { margin:.5rem 0 0; padding-left:1.15rem; }
        .asset-row-created { animation:asset-row-created 2.6s ease both; }
        @keyframes asset-row-created { 0%,45% { box-shadow:inset 0 0 0 999px rgba(34,197,94,.18); } 100% { box-shadow:none; } }
        @media (max-width:1199.98px) { .asset-query-primary { grid-template-columns:repeat(3,minmax(160px,1fr)); }.asset-filter-field--search{grid-column:span 2}.asset-batch-toolbar{align-items:flex-start;flex-direction:column}.asset-batch-actions{width:100%} }
        @media (max-width:767.98px) { .asset-query-primary { grid-template-columns:1fr 1fr; }.asset-filter-field--search{grid-column:1/-1}.asset-query-actions .ms-auto{margin-left:0!important}.asset-filter-preset-select{width:100%}.asset-batch-actions input{width:100%}.asset-pagination{justify-content:center}.asset-pagination-summary{width:100%;margin:0;text-align:center} }
        .kpi-table tbody tr:hover {
            background: var(--m-fill);
            transform: translateY(-1px);
            box-shadow: 0 2px 6px rgba(0,0,0,.04);
        }
        .total-row {
            background: linear-gradient(180deg, rgba(194,65,12,.06) 0%, var(--m-fill) 100%);
            font-weight: 600;
            border-top: 2px solid var(--m-accent);
        }
        .total-row:hover {
            background: var(--m-fill) !important;
            transform: none !important;
            box-shadow: none !important;
        }
        .kpi-table td[contentEditable="true"] { cursor: text; }
        .kpi-table td[contentEditable="true"]:hover { background: rgba(224,77,53,.12); }
        .kpi-table td[contentEditable="true"]:focus {
            outline: 2px solid var(--m-accent);
            outline-offset: -2px;
            background: var(--m-bg-card);
            box-shadow: inset 0 0 0 1px var(--m-accent);
        }
        .col-sales { background: rgba(224,77,53,.12) !important; }
        .col-tech { background: rgba(22,163,74,.12) !important; }
        .col-hr { background: rgba(234,179,8,.15) !important; }
        .col-finance { background: rgba(220,38,38,.12) !important; }
        .col-operation { background: rgba(30,64,175,.12) !important; }
        .col-admin { background: rgba(5,150,105,.12) !important; }
        .kpi-value-cell.unqualified {
            background: rgba(234,88,12,.25) !important;
            border-left: 3px solid rgba(234,88,12,.85) !important;
            font-weight: 600;
        }
        .kpi-value-cell.unqualified-severe {
            background: rgba(220,38,38,.3) !important;
            border-left: 3px solid var(--m-danger-tint) !important;
            font-weight: 700;
            color: #b91c1c;
        }
        .total-row td.deducted { background: var(--m-fill) !important; font-weight: 600; }
        .kpi-category-toggle {
            cursor: pointer;
            user-select: none;
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }
        .kpi-category-toggle:hover { opacity: 0.85; }
        .kpi-category-toggle .bi { font-size: 0.9em; transition: transform 0.2s; }
        .kpi-category-collapsed-row .kpi-category-summary { color: var(--m-muted); font-size: 0.9em; }
        .table-responsive {
            border-radius: var(--m-radius);
            overflow: hidden;
            border: 1px solid var(--m-border);
            box-shadow: var(--m-shadow);
            transition: box-shadow .25s ease;
        }
        .table-responsive:hover { box-shadow: var(--m-shadow-hover); }
        .analysis-card {
            border-radius: var(--m-radius);
            border-top: 3px solid var(--m-accent);
            transition: box-shadow .25s ease, transform .25s ease;
        }
        .analysis-card:hover {
            box-shadow: var(--m-shadow-hover);
            transform: translateY(-2px);
        }
        .analysis-card-sales { border-top-color: var(--m-success-tint); }
        .analysis-card-finance { border-top-color: var(--m-danger-tint); }

        /* Magic Bento：KPI 可视化图表聚光灯 + 边框发光 */
        .kpi-viz-bento.bento-section {
            --bento-glow: 30, 64, 175;
            --bento-glow-radius: 300px;
            position: relative;
            user-select: none;
        }
        .kpi-viz-bento .magic-bento-card {
            --glow-x: 50%;
            --glow-y: 50%;
            --glow-intensity: 0;
            --glow-radius: var(--bento-glow-radius);
            position: relative;
            overflow: hidden;
            transition: box-shadow 0.3s ease;
            transform-origin: center center;
        }
        .kpi-viz-bento .magic-bento-card:hover {
            box-shadow: 0 8px 24px rgba(0,0,0,.08);
        }
        .kpi-viz-bento .magic-bento-card--border-glow::after {
            content: '';
            position: absolute;
            inset: 0;
            padding: 6px;
            background: radial-gradient(
                var(--glow-radius) circle at var(--glow-x) var(--glow-y),
                rgba(var(--bento-glow), calc(var(--glow-intensity) * 0.55)) 0%,
                rgba(var(--bento-glow), calc(var(--glow-intensity) * 0.3)) 30%,
                transparent 60%
            );
            border-radius: inherit;
            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: xor;
            mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            mask-composite: exclude;
            pointer-events: none;
            opacity: 1;
            transition: opacity 0.3s ease;
            z-index: 1;
        }
        .kpi-viz-bento .magic-bento-card--border-glow:hover::after { opacity: 1; }
        .kpi-viz-bento .magic-bento-card--border-glow:hover {
            box-shadow: 0 6px 20px rgba(30,64,175,.16), 0 0 28px rgba(var(--bento-glow), 0.28);
        }
        .kpi-viz-global-spotlight {
            position: fixed;
            width: 800px;
            height: 800px;
            border-radius: 50%;
            pointer-events: none;
            left: 0; top: 0;
            z-index: 9999;
            opacity: 0;
            transform: translate(-50%, -50%);
            will-change: left, top, opacity;
        }
        .kpi-viz-bento .bento-particle {
            position: absolute;
            width: 4px; height: 4px;
            border-radius: 50%;
            pointer-events: none;
            z-index: 10;
        }

        .overview-banner {
            background: linear-gradient(135deg, rgba(255,255,255,.95) 0%, var(--m-fill) 100%);
            color: var(--m-text);
            border-radius: var(--m-radius);
            padding: 1.35rem 1.75rem;
            margin-bottom: 1.5rem;
            border: 1px solid var(--m-border);
            box-shadow: var(--m-shadow);
            transition: box-shadow .25s ease, border-color .25s ease;
        }
        .overview-banner:hover { box-shadow: var(--m-shadow-hover); border-color: var(--m-border-strong); }
        .overview-banner h3 { font-weight: 700; letter-spacing: 0.02em; }
        .overview-banner p { color: var(--m-text-muted); margin-bottom: 0; }
        .update-hint {
            font-size: 0.875rem;
            color: var(--m-text-muted);
            margin-top: 0.5rem;
        }
        .kpi-rule-icon {
            cursor: pointer;
            color: var(--m-accent);
            margin-left: 5px;
            font-size: 0.8em;
        }
        /* 按钮：统一圆角与悬停 */
        .content .btn, .modal .btn, .overview-banner .btn {
            border-radius: var(--m-radius-sm);
            font-weight: 500;
            transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
        }
        .content .btn:hover, .modal .btn:hover { transform: translateY(-1px); }
        .content .btn:active, .modal .btn:active { transform: translateY(0); }
        .content .btn-primary {
            background: linear-gradient(135deg, #ea580c 0%, var(--m-accent) 100%);
            border: none;
            color: #fff;
            box-shadow: 0 2px 8px rgba(194,65,12,.3);
        }
        .content .btn-primary:hover {
            background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
            color: #fff;
            box-shadow: 0 4px 14px rgba(194,65,12,.35);
        }
        .content .btn-outline-primary { border: 2px solid var(--m-accent); color: var(--m-accent); }
        .content .btn-outline-primary:hover { background: var(--m-fill); border-color: var(--m-accent-hover); color: var(--m-accent-hover); }
        .content .btn-outline-secondary { border: 1px solid var(--m-border-strong); color: var(--m-text-muted); }
        .content .btn-outline-secondary:hover { background: var(--m-fill); border-color: var(--m-accent); color: var(--m-accent); }
        .content .btn-outline-success { border: 1px solid var(--m-success-tint); color: var(--m-success-tint); }
        .content .btn-outline-success:hover { background: rgba(21,128,61,.1); border-color: var(--m-success-tint); color: var(--m-success-tint); }
        .content .btn-outline-info { border: 1px solid var(--m-accent); color: var(--m-accent); }
        .content .btn-outline-info:hover { background: var(--m-fill); border-color: var(--m-accent-hover); color: var(--m-accent-hover); }
        .content .btn-light {
            background: var(--m-fill);
            border: 1px solid var(--m-border);
            color: var(--m-text);
        }
        .content .btn-light:hover { background: #eeebe6; border-color: var(--m-border-strong); color: var(--m-text); }
        .content .btn-success { background: var(--m-success-tint); border-color: var(--m-success-tint); }
        .content .btn-success:hover { background: #166534; border-color: #166534; }
        .content .btn-warning { background: var(--m-danger-tint); border-color: var(--m-danger-tint); color: #fff; }
        .content .btn-warning:hover { background: #991b1b; border-color: #991b1b; color: #fff; }
        .overview-banner .btn-light {
            background: var(--m-bg-card);
            border: 1px solid var(--m-border);
            color: var(--m-text);
        }
        .overview-banner .btn-light:hover {
            background: var(--m-fill);
            border-color: var(--m-accent);
            color: var(--m-accent);
            transform: translateY(-1px);
        }
        /* 表单控件 */
        /* 日期选择器上下按钮组 */
        .date-input-group {
            display: flex;
            align-items: stretch;
        }
        .date-input-group .form-control,
        .date-input-group .form-select {
            flex: 1;
            border-radius: 0;
        }
        .date-input-group .date-btn-prev,
        .date-input-group .date-btn-next {
            padding: 0.375rem 0.75rem;
            border: 1px solid var(--m-border);
            background: var(--m-bg-card);
            color: var(--m-text);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
            font-size: 0.875rem;
            user-select: none;
        }
        .date-input-group .date-btn-prev {
            border-right: none;
            border-radius: var(--m-radius-sm) 0 0 var(--m-radius-sm);
        }
        .date-input-group .date-btn-next {
            border-left: none;
            border-radius: 0 var(--m-radius-sm) var(--m-radius-sm) 0;
        }
        .date-input-group .form-control:not(:first-child):not(:last-child),
        .date-input-group .form-select:not(:first-child):not(:last-child) {
            border-left: none;
            border-right: none;
        }
        .date-input-group .date-btn-prev:hover,
        .date-input-group .date-btn-next:hover {
            background: var(--m-fill);
            color: var(--m-accent);
        }
        .date-input-group .date-btn-prev:active,
        .date-input-group .date-btn-next:active {
            background: var(--m-border);
        }
        .form-control, .form-select {
            border: 1px solid var(--m-border);
            border-radius: var(--m-radius-sm);
            transition: border-color .25s ease, box-shadow .25s ease;
        }
        .form-control:focus, .form-select:focus {
            border-color: var(--m-accent);
            box-shadow: 0 0 0 3px rgba(194,65,12,.15);
            outline: none;
        }
        .content .form-label, .modal .form-label { color: var(--m-text); font-weight: 500; }
        .card-header {
            background: var(--m-fill);
            border-bottom: 1px solid var(--m-border);
            font-weight: 600;
            color: var(--m-text);
            border-radius: var(--m-radius) var(--m-radius) 0 0;
            padding: 1rem 1.25rem;
        }
        .table-primary { background: var(--m-fill) !important; color: var(--m-text) !important; }
        .table thead tr.table-primary,
        .table thead tr.table-primary th,
        .table thead.table-primary th { background: linear-gradient(180deg, var(--m-fill) 0%, #eeebe6 100%) !important; color: var(--m-text) !important; border-bottom: 2px solid var(--m-border-strong) !important; }
        .badge.bg-white.text-primary { background: var(--m-banner-text) !important; color: var(--m-banner) !important; border: 1px solid var(--m-border); }
        .text-success { color: var(--m-success-tint) !important; }
        .text-danger { color: var(--m-danger-tint) !important; }
        .text-primary { color: var(--m-accent) !important; }
        .text-info { color: var(--m-accent) !important; }
        .text-muted { color: var(--m-text-muted) !important; }
        .table-bordered, .table-bordered th, .table-bordered td { border-color: var(--m-border) !important; }
        .table-light, .table-secondary { background: var(--m-fill) !important; color: var(--m-text) !important; }
        .table-hover tbody tr {
            transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
        }
        .table-hover tbody tr:hover {
            background: var(--m-fill);
            transform: translateY(-1px);
            box-shadow: 0 2px 6px rgba(0,0,0,.04);
        }
        .modal-header, .modal-footer { border-color: var(--m-border); background: var(--m-bg-card); }
        .modal-content { border: 1px solid var(--m-border); border-radius: var(--m-radius); box-shadow: 0 20px 40px -12px rgba(0,0,0,.15); }
        .btn-outline-danger { border-color: var(--m-danger-tint); color: var(--m-danger-tint); }
        .btn-outline-danger:hover { background: rgba(220,38,38,.16); border-color: var(--m-danger-tint); color: var(--m-danger-tint); }
        .btn-danger { background: var(--m-danger-tint); border-color: var(--m-danger-tint); }
        .btn-danger:hover { background: #9a4638; border-color: #9a4638; }
        .btn-secondary { background: var(--m-border-strong); border-color: var(--m-border-strong); color: var(--m-text); }
        .btn-secondary:hover { background: var(--m-accent); border-color: var(--m-accent); color: var(--m-banner-text); }
        .alert-info { background: rgba(30,64,175,.1); border: 1px solid rgba(30,64,175,.25); color: var(--m-text); }
        .alert-success { background: rgba(22,163,74,.12); border: 1px solid rgba(22,163,74,.3); color: var(--m-text); }
        .alert-danger { background: rgba(220,38,38,.12); border: 1px solid rgba(220,38,38,.3); color: var(--m-text); }
        .alert-warning { background: rgba(180,120,60,.14); border: 1px solid rgba(180,120,60,.32); color: var(--m-text); }
        .form-check-input {
            transition: box-shadow .25s ease, border-color .25s ease, background-color .25s ease;
        }
        .form-check-input:checked { background-color: var(--m-accent); border-color: var(--m-accent); }
        .form-check-input:focus { box-shadow: 0 0 0 3px rgba(194,65,12,.2); }
        body { background: var(--m-bg); color: var(--m-text); }
        @keyframes kpi-fadein {
            from { opacity: 0; transform: translateY(8px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .page-panel.active {
            display: block;
            animation: kpi-fadein .4s ease both;
        }
        .page-panel { scroll-margin-top: 1rem; }
        .file-drop-zone.file-drop-active { background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.08); border: 2px dashed rgba(var(--bs-primary-rgb, 13, 110, 253), 0.5); border-radius: 8px; }
        .mobile-header {
            display: none;
            align-items: center;
            padding: 0 1rem;
            position: fixed;
            top: 0; left: 0; right: 0;
            height: 56px;
            background: var(--m-bg-card);
            border-bottom: 1px solid var(--m-border);
            z-index: 1001;
            box-shadow: 0 2px 12px rgba(0,0,0,.06);
            font-weight: 600;
        }
        .sidebar-backdrop {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(44,50,54,.2);
            z-index: 999;
        }
        /* 手机端响应式：顶栏、侧栏抽屉、内容全宽、表格与横幅适配 */
        @media (max-width: 991px) {
            .mobile-header { display: flex !important; }
            .sidebar {
                top: 56px;
                height: calc(100vh - 56px);
                transform: translateX(-100%);
                transition: transform 0.25s ease;
                box-shadow: none;
                width: 250px !important;
            }
            .sidebar.open {
                transform: translateX(0);
                box-shadow: 2px 0 12px rgba(0,0,0,.08);
            }
            .sidebar.collapsed {
                width: 250px !important;
            }
            .sidebar.open + .sidebar-backdrop { display: block !important; }
            .content {
                margin-left: 0 !important;
                width: 100% !important;
                padding: 0.75rem !important;
                padding-top: 64px !important;
            }
            .sidebar.collapsed ~ .content {
                margin-left: 0 !important;
                width: 100% !important;
            }
            .desktop-sidebar-toggle {
                display: none;
            }
            .overview-banner {
                padding: 1rem;
            }
            .overview-banner .d-flex {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.5rem;
            }
            .overview-banner .d-flex > div:last-child {
                margin-top: 0.25rem;
                display: flex;
                flex-wrap: wrap;
                gap: 0.5rem;
            }
            .overview-banner .btn { touch-action: manipulation; }
            .table-responsive {
                -webkit-overflow-scrolling: touch;
                margin-left: -0.5rem;
                margin-right: -0.5rem;
                padding: 0 0.5rem;
            }
            .kpi-table th, .kpi-table td,
            .table th, .table td {
                padding: 0.5rem 0.4rem;
                font-size: 0.875rem;
            }
            .kpi-table { min-width: 800px; }
            .analysis-card { margin-bottom: 1rem; }
            .card-body .row .col-md-6.text-md-end,
            .card-body .row .col-md-4.d-flex {
                justify-content: flex-start;
                flex-wrap: wrap;
                gap: 0.5rem;
            }
            .content .btn { touch-action: manipulation; }
            #kpi-deduct-chart, #kpi-rank-chart { height: 240px !important; }
            #kpi-trend-chart { height: 280px !important; }
            #core-items-filter-10-btn.active {
                background-color: var(--m-accent, #c2410c);
                border-color: var(--m-accent, #c2410c);
                color: white;
            }
        }
        @media (max-width: 576px) {
            .overview-banner h3 { font-size: 1.1rem; }
            .overview-banner p { font-size: 0.8rem; }
            .kpi-table { min-width: 700px; }
        }
        .disabled-input {
            background: var(--m-fill) !important;
            cursor: not-allowed !important;
        }
        .user-info {
            margin-top: auto;
            padding-top: 1rem;
            border-top: 1px solid var(--m-border);
        }
        .page-panel { display: none; }
        /* 标准件类别统计：五类一行自适应等宽，内容垂直水平居中 */
        #spm-category-stats.flex-nowrap { flex-wrap: nowrap; }
        #spm-category-stats .spm-category-stat-col {
            flex: 1 1 0;
            min-width: 0;
        }
        #spm-category-stats .spm-category-stat-col .card {
            display: flex;
            flex-direction: column;
        }
        #spm-category-stats .spm-category-stat-col .card-body {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            flex: 1;
            text-align: center;
        }
        .divide-formula-cell { cursor: pointer; }
        .divide-formula-cell:hover { background-color: rgba(224, 77, 53, 0.15); }
        .ete-formula-cell { cursor: pointer; }
        .ete-formula-cell:hover { background-color: rgba(224, 77, 53, 0.15); }
        /* Ctrl+Shift+K 彩蛋 */
        .easter-egg-toast {
            position: fixed; left: 50%; top: 50%;
            transform: translate(-50%, -50%) scale(0);
            z-index: 10000;
            background: linear-gradient(135deg, #ea580c, var(--m-banner));
            color: #fff;
            padding: 1.5rem 2.5rem;
            border-radius: var(--m-radius);
            font-size: 1.2rem;
            font-weight: 600;
            box-shadow: 0 20px 50px -12px rgba(0,0,0,.3);
            animation: egg-pop 0.6s ease forwards;
            pointer-events: none;
        }
        .easter-egg-toast .egg-emoji { font-size: 2rem; display: block; margin-bottom: 0.5rem; }
        @keyframes egg-pop {
            0% { transform: translate(-50%, -50%) scale(0); opacity: 0; }
            50% { transform: translate(-50%, -50%) scale(1.15); }
            70% { transform: translate(-50%, -50%) scale(0.95); }
            100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
        }
        .easter-egg-particle {
            position: fixed; pointer-events: none; z-index: 10001;
            width: 8px; height: 8px; border-radius: 50%;
            animation: egg-particle 1.2s ease-out forwards;
        }
        @keyframes egg-particle {
            0% { opacity: 1; transform: translate(-50%,-50%) scale(1); }
            100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(0); }
        }
        /* 主题切换 */
        .theme-selector { padding: 0.5rem 1rem; border-radius: 8px; font-size: 0.85rem; }
        .theme-option-fun { font-style: italic; }
        [data-theme="dark"] {
            --m-bg: #1a1a1a; --m-bg-card: #252525; --m-border: #404040; --m-border-strong: #525252;
            --m-text: #e5e5e5; --m-text-muted: #a3a3a3; --m-accent: #f87171; --m-accent-hover: #ef4444;
            --m-fill: #262626; --m-banner: #3b82f6; --m-banner-text: #f8fafc; --m-table-head: #3b82f6;
            --m-success-tint: #22c55e; --m-danger-tint: #ef4444;
        }
        [data-theme="dark"] .sidebar .nav-link,
        [data-theme="dark"] .sidebar .sidebar-title,
        [data-theme="dark"] .sidebar .sidebar-title *,
        [data-theme="dark"] .sidebar .user-info,
        [data-theme="dark"] .sidebar .user-info *,
        [data-theme="dark"] .sidebar .form-label,
        [data-theme="dark"] .sidebar .text-primary { color: #fff !important; }
        [data-theme="dark"] .sidebar .text-muted { color: rgba(255,255,255,.7) !important; }
        [data-theme="ocean"] {
            --m-bg: #f0f9ff; --m-bg-card: #fff; --m-border: #bae6fd; --m-border-strong: #7dd3fc;
            --m-text: #0c4a6e; --m-text-muted: #0369a1; --m-accent: #0284c7; --m-accent-hover: #0369a1;
            --m-fill: #e0f2fe; --m-banner: #0ea5e9; --m-banner-text: #fff; --m-table-head: #0284c7;
            --m-success-tint: #0d9488; --m-danger-tint: #dc2626;
        }
        [data-theme="forest"] {
            --m-bg: #f0fdf4; --m-bg-card: #fff; --m-border: #bbf7d0; --m-border-strong: #86efac;
            --m-text: #14532d; --m-text-muted: #15803d; --m-accent: #16a34a; --m-accent-hover: #15803d;
            --m-fill: #dcfce7; --m-banner: #22c55e; --m-banner-text: #fff; --m-table-head: #16a34a;
            --m-success-tint: #15803d; --m-danger-tint: #dc2626;
        }
        [data-theme="sunset"] {
            --m-bg: #fff7ed; --m-bg-card: #fff; --m-border: #fed7aa; --m-border-strong: #fdba74;
            --m-text: #431407; --m-text-muted: #9a3412; --m-accent: #ea580c; --m-accent-hover: #c2410c;
            --m-fill: #ffedd5; --m-banner: #f97316; --m-banner-text: #fff; --m-table-head: #ea580c;
            --m-success-tint: #16a34a; --m-danger-tint: #dc2626;
        }
        [data-theme="rainbow"] {
            --m-bg: #faf5ff; --m-bg-card: #fff; --m-border: #e9d5ff; --m-border-strong: #c084fc;
            --m-text: #1e1b4b; --m-text-muted: #6d28d9; --m-accent: #a855f7; --m-accent-hover: #7c3aed;
            --m-fill: #f5f3ff; --m-banner: #8b5cf6; --m-banner-text: #fff; --m-table-head: #7c3aed;
            --m-success-tint: #10b981; --m-danger-tint: #f43f5e;
        }
        [data-theme="cyber"] {
            --m-bg: #0f172a; --m-bg-card: #1e293b; --m-border: #334155; --m-border-strong: #64748b;
            --m-text: #e2e8f0; --m-text-muted: #94a3b8; --m-accent: #22d3ee; --m-accent-hover: #06b6d4;
            --m-fill: #0f172a; --m-banner: #06b6d4; --m-banner-text: #0f172a; --m-table-head: #22d3ee;
            --m-success-tint: #10b981; --m-danger-tint: #f43f5e;
        }
        [data-theme="cyber"] .sidebar .nav-link,
        [data-theme="cyber"] .sidebar .sidebar-title,
        [data-theme="cyber"] .sidebar .sidebar-title *,
        [data-theme="cyber"] .sidebar .user-info,
        [data-theme="cyber"] .sidebar .user-info *,
        [data-theme="cyber"] .sidebar .form-label,
        [data-theme="cyber"] .sidebar .text-primary { color: #fff !important; }
        [data-theme="cyber"] .sidebar .text-muted { color: rgba(255,255,255,.7) !important; }
        [data-theme="retro"] {
            --m-bg: #fefce8; --m-bg-card: #fffbeb; --m-border: #fde68a; --m-border-strong: #f59e0b;
            --m-text: #422006; --m-text-muted: #92400e; --m-accent: #ca8a04; --m-accent-hover: #a16207;
            --m-fill: #fef9c3; --m-banner: #d97706; --m-banner-text: #fffbeb; --m-table-head: #b45309;
            --m-success-tint: #059669; --m-danger-tint: #b91c1c;
        }
        
        .ppt-visual-progress{position:fixed;z-index:56;inset:0;display:none;overflow:auto;padding:clamp(1rem,3vw,2rem);background:rgba(3,7,18,.78);backdrop-filter:blur(10px)}.ppt-visual-progress.show{display:block}.ppt-visual-dialog{width:min(1120px,100%);min-height:calc(100vh - 4rem);margin:auto;padding:clamp(1rem,2.4vw,1.8rem);border:1px solid rgba(255,255,255,.13);border-radius:22px;background:linear-gradient(145deg,rgba(17,28,57,.98),rgba(9,14,30,.98));box-shadow:0 24px 80px rgba(0,0,0,.45)}.ppt-visual-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.ppt-visual-top h2{margin:.3rem 0;color:#fff;font-size:1.55rem;font-weight:850}.ppt-visual-top p{margin:0;color:#aab8d8;font-size:.86rem}.ppt-visual-stages{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.15rem 0}.ppt-visual-stage{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .56rem;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:#8190b2;background:rgba(255,255,255,.035);font-size:.74rem;font-weight:750}.ppt-visual-stage.ready{color:#baf6df;border-color:rgba(45,212,191,.32);background:rgba(20,184,166,.13)}.ppt-visual-activity{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.45rem;margin:0 0 1.1rem}.ppt-visual-activity-item{display:flex;align-items:center;gap:.48rem;min-width:0;padding:.5rem .62rem;border:1px solid rgba(125,211,252,.16);border-radius:10px;color:#c8d7f5;background:rgba(14,116,144,.1);font-size:.75rem}.ppt-visual-activity-item i{flex:0 0 auto;color:#7dd3fc}.ppt-visual-activity-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ppt-visual-activity-time{margin-left:auto;color:#7f8fb2;font-variant-numeric:tabular-nums;white-space:nowrap}.ppt-visual-pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:1rem}.ppt-visual-page{overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.24)}.ppt-visual-page iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#fff;pointer-events:none}.ppt-visual-page figcaption{padding:.48rem .64rem;color:#17203a;background:#f8fafc;font-size:.76rem;font-weight:750}.ppt-visual-note{margin:1rem 0 0;color:#8fa0c7;font-size:.75rem}@media(max-width:640px){.ppt-visual-progress{padding:.65rem}.ppt-visual-dialog{min-height:calc(100vh - 1.3rem);padding:1rem;border-radius:16px}.ppt-visual-top{align-items:center}.ppt-visual-pages{grid-template-columns:1fr}.ppt-visual-top h2{font-size:1.3rem}}
    


        .ppt-reference-help{display:block;margin-top:.42rem;color:#8fa0c7;font-size:.72rem;font-weight:600;line-height:1.45}.ppt-reference-list{display:flex;flex-wrap:wrap;gap:.42rem;margin:-.35rem 0 .65rem}.ppt-reference-item{display:inline-flex;align-items:center;gap:.32rem;max-width:100%;padding:.33rem .5rem;border:1px solid rgba(125,211,252,.28);border-radius:9px;color:#d7f1ff;background:rgba(14,116,144,.14);font-size:.72rem;overflow-wrap:anywhere}.ppt-field input[type=file]{padding:.52rem}.ppt-field input[type=file]::file-selector-button{margin-right:.65rem;border:0;border-radius:7px;padding:.35rem .5rem;color:#08212c;background:#a5f3fc;font:inherit;font-weight:800}
    


        .ai-live-continuation{display:flex;align-items:center;gap:.45rem;margin-top:.75rem;padding:.58rem .7rem;border:1px solid rgba(125,211,252,.2);border-radius:10px;color:#bae6fd;background:rgba(14,116,144,.12);font-size:.74rem;font-weight:750}.ai-live-continuation[hidden]{display:none}.ai-incomplete-recovery{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-top:.9rem;padding:.65rem .72rem;border:1px solid rgba(251,191,36,.28);border-radius:11px;color:#fde68a;background:rgba(146,64,14,.14);font-size:.73rem;font-weight:750}.ai-incomplete-recovery span,.ai-incomplete-recovery button{display:inline-flex;align-items:center;gap:.35rem}.ai-incomplete-recovery button{border:1px solid rgba(253,230,138,.3);border-radius:8px;padding:.34rem .52rem;color:#fff7cc;background:rgba(180,83,9,.22);font-weight:800}.ai-incomplete-recovery button:hover{background:rgba(217,119,6,.34)}
        .ppt-plan-head{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.65rem;color:#f8fafc}.ppt-plan-head strong{font-size:.78rem;letter-spacing:.02em}.ppt-plan-edited{display:inline-flex;align-items:center;gap:.18rem;padding:.2rem .42rem;border:1px solid rgba(94,234,212,.26);border-radius:999px;color:#99f6e4;background:rgba(13,148,136,.16);font-size:.65rem;font-weight:800}.ppt-plan-content{max-height:235px;overflow:auto;padding-right:.2rem}.ppt-job-plan.is-editing{max-height:none;overflow:visible;border-color:rgba(103,232,249,.42);background:linear-gradient(145deg,rgba(4,16,37,.72),rgba(15,23,42,.62))}.ppt-plan-edit-note{margin:0 0 .55rem!important;color:#a5b4fc;font-size:.72rem;line-height:1.5}.ppt-plan-editor{display:block;width:100%;min-height:360px;padding:.82rem;border:1px solid rgba(125,211,252,.3);border-radius:10px;outline:0;color:#eaf4ff;background:rgba(2,6,23,.66);font:500 .76rem/1.68 ui-monospace,SFMono-Regular,Consolas,"Microsoft YaHei",monospace;resize:vertical;tab-size:2}.ppt-plan-editor:focus{border-color:#67e8f9;box-shadow:0 0 0 3px rgba(34,211,238,.1)}.ppt-plan-count{display:block;margin-top:.36rem;color:#7586ad;font-size:.66rem;text-align:right}.ppt-plan-actions{display:flex;align-items:center;justify-content:flex-end;gap:.42rem;flex-wrap:wrap;margin-top:.7rem;padding-top:.65rem;border-top:1px solid rgba(148,163,184,.12)}.ppt-plan-button{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;border:1px solid transparent;border-radius:8px;padding:.38rem .58rem;font-size:.7rem;font-weight:800;transition:border-color .18s ease,background .18s ease,transform .18s ease}.ppt-plan-button:hover{transform:translateY(-1px)}.ppt-plan-button.primary{color:#06211d;border-color:rgba(94,234,212,.7);background:linear-gradient(135deg,#5eead4,#67e8f9)}.ppt-plan-button.secondary{color:#dbeafe;border-color:rgba(129,140,248,.42);background:rgba(79,70,229,.2)}.ppt-plan-button.ghost{color:#aebbdd;border-color:rgba(148,163,184,.22);background:rgba(255,255,255,.035)}@media(max-width:560px){.ppt-plan-actions.is-editor{display:grid;grid-template-columns:1fr 1fr}.ppt-plan-button{width:100%}.ppt-plan-editor{min-height:310px}}
        .ppt-workbench-grid{align-items:start}.ppt-field select option{color:#17203a;background:#fff}.ppt-reference-remove{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin-left:.12rem;border:0;border-radius:50%;color:#d7f1ff;background:rgba(255,255,255,.13);font-size:.62rem}.ppt-reference-remove:hover{color:#fff;background:rgba(239,68,68,.65)}

        .ppt-workbench-actions,.ppt-library-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.ppt-template-library{min-height:65vh}.ppt-library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.1rem 1.2rem;border:1px solid rgba(157,184,255,.16);border-radius:20px;background:linear-gradient(145deg,rgba(27,39,78,.82),rgba(17,25,53,.8))}.ppt-library-head h2{margin:.25rem 0;color:#fff;font-size:1.55rem}.ppt-library-head p{margin:0;color:#9eaccb}.ppt-library-status{margin:.75rem 0;color:#a5b4fc;font-size:.82rem}.ppt-library-list{display:flex;flex-direction:column;gap:1rem}.ppt-library-deck{overflow:hidden;border:1px solid rgba(157,184,255,.16);border-radius:20px;background:rgba(17,25,53,.8);box-shadow:0 18px 48px rgba(0,0,0,.17)}.ppt-library-deck-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid rgba(157,184,255,.12)}.ppt-library-deck-title{min-width:0}.ppt-library-deck-title h3{overflow:hidden;margin:0;color:#f7f9ff;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.ppt-library-deck-title p{margin:.28rem 0 0;color:#8999bd;font-size:.74rem}.ppt-library-deck-actions{display:flex;gap:.42rem;flex-shrink:0}.ppt-library-deck-actions button{border:1px solid rgba(148,163,184,.3);border-radius:8px;padding:.36rem .55rem;color:#dbeafe;background:rgba(255,255,255,.05);font-size:.74rem}.ppt-library-deck-actions .danger{color:#fecaca;border-color:rgba(248,113,113,.35)}.ppt-library-slides{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;padding:1rem}.ppt-library-slide{position:relative;overflow:hidden;aspect-ratio:16/9;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:0;background:#070b17}.ppt-library-slide img{width:100%;height:100%;object-fit:contain;transition:transform .2s ease}.ppt-library-slide:hover img{transform:scale(1.025)}.ppt-library-slide span{position:absolute;right:.35rem;bottom:.3rem;padding:.12rem .35rem;border-radius:999px;color:#fff;background:rgba(0,0,0,.68);font-size:.66rem}.ppt-library-pending{padding:2rem;color:#9eaccb;text-align:center}.ppt-library-pending.failed{color:#fecaca}.ppt-library-more{display:block;margin:1rem auto 0;border:1px solid rgba(94,234,212,.35);border-radius:10px;padding:.55rem 1.1rem;color:#a7f3d0;background:rgba(20,184,166,.12)}.ppt-template-preview-dialog{position:fixed;z-index:120;inset:0;display:none;align-items:center;justify-content:center;padding:1.2rem;background:rgba(2,6,23,.9);backdrop-filter:blur(12px)}.ppt-template-preview-dialog.show{display:flex}.ppt-template-preview-shell{width:min(1200px,96vw);overflow:hidden;border:1px solid rgba(255,255,255,.17);border-radius:18px;background:#0b1124;box-shadow:0 30px 90px rgba(0,0,0,.55)}.ppt-template-preview-shell header,.ppt-template-preview-shell footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;color:#fff}.ppt-template-preview-shell header button,.ppt-template-preview-shell footer button{border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:.4rem .65rem;color:#e5e7eb;background:rgba(255,255,255,.06)}.ppt-template-preview-shell img{display:block;width:100%;max-height:76vh;aspect-ratio:16/9;object-fit:contain;background:#020617}@media(max-width:1050px){.ppt-library-slides{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.ppt-workbench-top,.ppt-library-head,.ppt-library-deck-head{flex-direction:column}.ppt-workbench-actions,.ppt-library-actions{width:100%}.ppt-library-slides{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.7rem}.ppt-library-deck-actions{flex-wrap:wrap}.ppt-template-preview-dialog{padding:.45rem}}
        .ppt-library-slide-loading{grid-column:1/-1;display:flex;align-items:center;gap:1rem;min-height:145px;color:#a8b5d4}.ppt-library-slide-loading img{width:220px;max-width:36%;aspect-ratio:16/9;border-radius:10px;object-fit:cover;background:#070b17;filter:saturate(.82)}.ppt-library-slide-failed{grid-column:1/-1;border:1px dashed rgba(248,113,113,.42);border-radius:12px;padding:1.2rem;color:#fecaca;background:rgba(127,29,29,.14)}.ppt-library-slide.is-error::before{content:'预览加载失败';position:absolute;inset:0;display:grid;place-items:center;color:#fca5a5;font-size:.72rem}.ppt-library-slide.is-error img{display:none}
    


        .ppt-jobs{max-height:min(720px,calc(100vh - 210px))}
        .ppt-jobs-heading{display:flex;align-items:center;gap:.65rem}.ppt-jobs-updated{color:#8796b8;font-size:.68rem;font-weight:500}.ppt-jobs-refresh{display:inline-flex;align-items:center;gap:.38rem;min-width:76px;justify-content:center}.ppt-jobs-refresh.is-loading i{animation:ppt-refresh-spin .8s linear infinite}.ppt-jobs-refresh:disabled{opacity:.72;cursor:wait}@keyframes ppt-refresh-spin{to{transform:rotate(360deg)}}
    


        .ppt-job-worker-note{display:flex;align-items:flex-start;gap:.42rem;margin-top:.58rem;padding:.5rem .58rem;border:1px solid rgba(103,232,249,.2);border-radius:9px;color:#bae6fd;background:rgba(8,145,178,.1);font-size:.69rem;line-height:1.45}.ppt-job-worker-note i{flex:0 0 auto;margin-top:.04rem}.ppt-job-worker-note.is-offline{border-color:rgba(251,191,36,.28);color:#fde68a;background:rgba(146,64,14,.16)}.ppt-job-status.worker-offline{border-color:rgba(251,191,36,.38);color:#fde68a;background:rgba(146,64,14,.23)}.ppt-job-status.worker-queue{border-color:rgba(125,211,252,.34);color:#bae6fd;background:rgba(3,105,161,.2)}
    


        .ppt-image-studio{margin:1rem 0 .9rem;padding:.88rem;border:1px solid rgba(125,211,252,.19);border-radius:14px;background:linear-gradient(135deg,rgba(8,47,73,.32),rgba(49,46,129,.16))}.ppt-image-studio-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.72rem}.ppt-image-studio-title{margin:0;color:#eaf6ff;font-size:.83rem;font-weight:830}.ppt-image-studio-title i{color:#7dd3fc}.ppt-image-studio-copy{margin:.22rem 0 0;color:#9eb5d5;font-size:.7rem;line-height:1.48}.ppt-image-status{flex:0 0 auto;max-width:12rem;color:#a5f3fc;font-size:.67rem;line-height:1.38;text-align:right}.ppt-image-controls{display:grid;grid-template-columns:minmax(0,1fr) 126px 138px;gap:.58rem}.ppt-image-controls .ppt-field{margin:0}.ppt-image-controls .ppt-field input,.ppt-image-controls .ppt-field select{min-height:38px;padding:.58rem .64rem}.ppt-image-actions{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-top:.72rem}.ppt-image-generate{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;border:1px solid rgba(103,232,249,.33);border-radius:9px;padding:.52rem .72rem;color:#05212b;background:linear-gradient(135deg,#a5f3fc,#c4b5fd);font-size:.76rem;font-weight:830;transition:transform .16s ease,filter .16s ease}.ppt-image-generate:hover{filter:brightness(1.04);transform:translateY(-1px)}.ppt-image-generate:disabled{opacity:.56;cursor:not-allowed;transform:none}.ppt-image-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.78rem}.ppt-image-empty{grid-column:1/-1;padding:.82rem;border:1px dashed rgba(148,163,184,.2);border-radius:10px;color:#8fa4c6;font-size:.71rem;line-height:1.48;text-align:center}.ppt-image-card{position:relative;overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(2,6,23,.34)}.ppt-image-card.is-selected{border-color:rgba(94,234,212,.86);box-shadow:0 0 0 2px rgba(94,234,212,.18)}.ppt-image-thumb{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg,#16263f,#25234b)}.ppt-image-pending{display:grid;place-items:center;width:100%;aspect-ratio:16/9;color:#b7d7f9;background:linear-gradient(110deg,rgba(17,24,39,.68),rgba(55,48,163,.25),rgba(17,24,39,.68));background-size:220% 100%;animation:ppt-image-scan 1.7s linear infinite}.ppt-image-pending span{display:inline-flex;align-items:center;gap:.36rem;padding:.35rem .48rem;border-radius:999px;color:#dbeafe;background:rgba(8,15,35,.58);font-size:.67rem}.ppt-image-card-body{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.44rem .48rem}.ppt-image-card-meta{min-width:0;color:#a9b9d4;font-size:.61rem}.ppt-image-card-meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ppt-image-card-actions{display:flex;gap:.28rem}.ppt-image-download,.ppt-image-use,.ppt-image-delete{display:inline-flex;align-items:center;justify-content:center;width:1.72rem;height:1.72rem;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:rgba(255,255,255,.06);font-size:.69rem}.ppt-image-download{color:#bae6fd}.ppt-image-download:hover{border-color:rgba(125,211,252,.62);color:#fff;background:rgba(2,132,199,.28)}.ppt-image-use{color:#a7f3d0}.ppt-image-use:hover{border-color:rgba(94,234,212,.6);color:#fff;background:rgba(20,184,166,.25)}.ppt-image-delete{color:#fda4af}.ppt-image-delete:hover{border-color:rgba(251,113,133,.6);color:#fff;background:rgba(190,24,93,.3)}.ppt-image-error{display:flex;align-items:center;justify-content:center;min-height:112px;padding:.65rem;color:#fda4af;font-size:.68rem;line-height:1.45;text-align:center}.ppt-image-selected-note{color:#99f6e4;font-size:.67rem;font-weight:700}@keyframes ppt-image-scan{0%{background-position:100% 0}100%{background-position:-120% 0}}@media(max-width:820px){.ppt-image-controls{grid-template-columns:1fr 1fr}.ppt-image-controls .ppt-field:first-child{grid-column:1/-1}.ppt-image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.ppt-image-studio-head,.ppt-image-actions{align-items:flex-start;flex-direction:column}.ppt-image-status{text-align:left}.ppt-image-controls{grid-template-columns:1fr}.ppt-image-controls .ppt-field:first-child{grid-column:auto}.ppt-image-gallery{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.ppt-image-pending{animation:none}.ppt-image-generate{transition:none}}
    


        .ai-shell{--ai-sidebar-width:288px;--ai-reading-width:900px;grid-template-columns:var(--ai-sidebar-width) minmax(0,1fr)}.ai-sidebar{min-width:0}.ai-main{min-width:0;background:radial-gradient(circle at 50% -18%,rgba(99,102,241,.1),transparent 34%),rgba(8,11,22,.7)}.ai-topbar{padding:0 clamp(1rem,2.25vw,2rem)}.ai-message-list{padding:clamp(1.25rem,3vh,2.25rem) clamp(1rem,2.25vw,2rem)}.ai-message{width:min(var(--ai-reading-width),100%);max-width:none}.ai-composer-wrap{padding:0 clamp(1rem,2.25vw,2rem) 1.25rem}.ai-composer{width:min(var(--ai-reading-width),100%);max-width:none}.ai-main.ai-empty-state .ai-message-list{padding-left:clamp(1rem,2.25vw,2rem);padding-right:clamp(1rem,2.25vw,2rem)}.ai-main.ai-empty-state .ai-composer-wrap{width:min(760px,100%)}.ai-conversation-list{padding:.25rem .05rem .55rem}.ai-conversation{gap:.25rem;margin:.12rem 0;padding:.18rem;border:1px solid transparent;border-radius:12px;background:transparent}.ai-conversation:hover,.ai-conversation.active{border-color:rgba(165,180,252,.16);background:rgba(255,255,255,.065)}.ai-conversation>.ai-conversation{min-width:0;flex:1;margin:0;padding:.54rem .52rem;border:0;color:inherit;background:transparent}.ai-conversation>.ai-conversation:hover{background:transparent}.ai-conversation-delete{display:grid!important;place-items:center;width:30px;height:30px;flex:0 0 auto;margin-right:.1rem;padding:0;border:1px solid transparent;border-radius:8px;opacity:0;pointer-events:none;color:#aeb9d9;background:transparent;transition:opacity .15s ease,color .15s ease,background .15s ease,border-color .15s ease}.ai-conversation:hover .ai-conversation-delete,.ai-conversation.active .ai-conversation-delete{opacity:1;pointer-events:auto}.ai-conversation-delete:hover{border-color:rgba(251,113,133,.4);color:#fecdd3;background:rgba(190,24,93,.22)}.ai-conversation-menu{position:fixed;z-index:14000;min-width:184px;padding:.38rem;border:1px solid rgba(165,180,252,.28);border-radius:12px;color:#e7edff;background:rgba(13,18,39,.97);box-shadow:0 18px 46px rgba(0,0,0,.42);backdrop-filter:blur(14px)}.ai-conversation-menu[hidden]{display:none}.ai-conversation-menu-title{display:block;overflow:hidden;padding:.38rem .5rem .5rem;color:#97a5c8;font-size:.69rem;text-overflow:ellipsis;white-space:nowrap}.ai-conversation-menu button{display:flex;align-items:center;gap:.48rem;width:100%;border:0;border-radius:8px;padding:.5rem;color:#fecdd3;background:transparent;font-size:.76rem;text-align:left}.ai-conversation-menu button:hover{color:#fff;background:rgba(190,24,93,.32)}@media(max-width:767.98px){.ai-message-list{padding:1.1rem .9rem}.ai-composer-wrap{padding:0 .8rem 1rem}.ai-conversation-delete{opacity:1;pointer-events:auto}}@media(prefers-reduced-motion:reduce){.ai-conversation-delete{transition:none}}
    


        .ppt-workbench{scroll-padding:1.1rem}.ppt-workbench-inner{width:min(1500px,100%)}.ppt-workbench-top{margin-bottom:1.1rem}.ppt-workbench-grid{grid-template-columns:minmax(0,1.03fr) minmax(440px,.97fr);gap:1.25rem}.ppt-card{border-color:rgba(157,184,255,.16);border-radius:20px;padding:1.05rem;background:linear-gradient(145deg,rgba(27,39,78,.8),rgba(17,25,53,.78));box-shadow:0 18px 48px rgba(0,0,0,.18)}.ppt-card h3{margin-bottom:.78rem}.ppt-card:first-child{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.72rem .88rem;align-items:start}.ppt-card:first-child>h3,.ppt-card:first-child>.ppt-field:nth-of-type(1),.ppt-card:first-child>.ppt-field:nth-of-type(5),.ppt-card:first-child>.ppt-template-studio,.ppt-card:first-child>.ppt-image-studio,.ppt-card:first-child>.ppt-generate,.ppt-card:first-child>.ppt-note{grid-column:1/-1}.ppt-card:first-child>.ppt-form-row,.ppt-card:first-child>.ppt-field:nth-of-type(2),.ppt-card:first-child>.ppt-field:nth-of-type(3),.ppt-card:first-child>.ppt-field:nth-of-type(4){grid-column:span 6}.ppt-card:first-child>.ppt-field:nth-of-type(6),.ppt-card:first-child>#ppt-job-reference-list{grid-column:span 6}.ppt-card:first-child>.ppt-field{margin:0}.ppt-card:first-child>.ppt-form-row{gap:.62rem}.ppt-card:first-child>.ppt-field textarea{min-height:164px}.ppt-card:first-child>.ppt-reference-list{align-self:end;min-height:42px;margin:0}.ppt-card:first-child>.ppt-template-studio,.ppt-card:first-child>.ppt-image-studio{margin:0}.ppt-card:first-child>.ppt-note{margin:.05rem 0 0}.ppt-workbench-grid>.ppt-card:nth-child(2){position:sticky;top:1.1rem;display:flex;min-height:min(760px,calc(100vh - 2.2rem));max-height:calc(100vh - 2.2rem);flex-direction:column}.ppt-workbench-grid>.ppt-card:nth-child(2)>.d-flex{padding-bottom:.68rem;border-bottom:1px solid rgba(157,184,255,.12)}.ppt-workbench-grid>.ppt-card:nth-child(2) .ppt-jobs{min-height:0;max-height:none;flex:1;margin-top:.72rem;padding-right:.15rem}.ppt-job{padding:.76rem .8rem;border-color:rgba(157,184,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.022));transition:border-color .18s ease,transform .18s ease,background .18s ease}.ppt-job:hover{border-color:rgba(103,232,249,.48);background:rgba(37,55,107,.42);transform:translateY(-1px)}.ppt-job-title{font-family:Satoshi,"Microsoft YaHei",sans-serif;font-size:.86rem}.ppt-job-meta{line-height:1.4}.ppt-download{padding:.34rem .5rem}.ppt-image-studio{padding:.78rem}.ppt-template-studio{padding:.76rem}.ppt-image-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.ppt-image-card-body{padding:.4rem}.ppt-template-copy{max-width:100%}@media(max-width:1190px){.ppt-workbench-inner{width:min(1180px,100%)}.ppt-workbench-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.88fr)}.ppt-image-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.ppt-workbench-grid{grid-template-columns:1fr}.ppt-workbench-grid>.ppt-card:nth-child(2){position:static;min-height:0;max-height:none}.ppt-workbench-grid>.ppt-card:nth-child(2) .ppt-jobs{max-height:620px}.ppt-card:first-child>.ppt-form-row,.ppt-card:first-child>.ppt-field:nth-of-type(2),.ppt-card:first-child>.ppt-field:nth-of-type(3),.ppt-card:first-child>.ppt-field:nth-of-type(4),.ppt-card:first-child>.ppt-field:nth-of-type(6),.ppt-card:first-child>#ppt-job-reference-list{grid-column:1/-1}}@media(max-width:560px){.ppt-card:first-child{grid-template-columns:1fr;gap:.72rem}.ppt-card:first-child>*{grid-column:1/-1!important}.ppt-card:first-child>.ppt-field textarea{min-height:150px}.ppt-image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.ppt-job{transition:none}.ppt-job:hover{transform:none}}
    


        .ai-main.ai-empty-state .ai-message-list{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow-y:auto;padding:clamp(2rem,7vh,6rem) clamp(1rem,2.25vw,2rem) 2.5rem}.ai-main.ai-empty-state .ai-empty{width:min(690px,100%);margin:0 auto 1.55rem;text-align:center}.ai-main.ai-empty-state .ai-empty-orb{width:58px;height:58px;margin-bottom:1.05rem;border-radius:19px}.ai-main.ai-empty-state .ai-empty h1{margin:0;color:#f7f8ff;font-size:clamp(1.75rem,3.4vw,2.55rem)}.ai-main.ai-empty-state .ai-empty p{margin:.65rem auto 1.3rem}.ai-main.ai-empty-state .ai-composer-wrap{width:min(760px,100%);flex:0 0 auto;padding:0;background:none}.ai-main.ai-empty-state .ai-composer{max-width:none;border-color:rgba(165,180,252,.3);box-shadow:0 20px 55px rgba(0,0,0,.28)}.ai-voice{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(165,180,252,.22);border-radius:10px;color:#c7d2fe;background:rgba(99,102,241,.1);transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease}.ai-voice:hover:not(:disabled){border-color:rgba(165,180,252,.72);color:#fff;background:rgba(99,102,241,.28);transform:translateY(-1px)}.ai-voice.is-listening{border-color:rgba(251,113,133,.78);color:#fff;background:rgba(225,29,72,.4);box-shadow:0 0 0 4px rgba(251,113,133,.13);animation:ai-voice-pulse 1.15s ease-in-out infinite}.ai-voice:disabled{cursor:not-allowed;opacity:.42}@keyframes ai-voice-pulse{50%{box-shadow:0 0 0 8px rgba(251,113,133,0)}}@media(max-width:767.98px){.ai-main.ai-empty-state .ai-message-list{padding-top:clamp(1.5rem,9vh,4rem)}.ai-main.ai-empty-state .ai-empty{margin-bottom:1rem}.ai-main.ai-empty-state .ai-empty-orb{display:none}.ai-main.ai-empty-state .ai-empty p{margin-bottom:1rem}.ai-main.ai-empty-state .ai-composer-wrap{width:100%}}@media(prefers-reduced-motion:reduce){.ai-voice{transition:none}.ai-voice.is-listening{animation:none}}
    


        /* 固定背景 / 指定模板：工作台内的紧凑工具区，优先说明真实导出能力。 */
        .ppt-template-studio{margin:.82rem 0 .95rem;padding:.84rem;border:1px solid rgba(110,231,183,.19);border-radius:14px;background:linear-gradient(135deg,rgba(6,78,59,.22),rgba(30,41,59,.2))}.ppt-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}.ppt-template-title{margin:0;color:#ecfdf5;font-size:.83rem;font-weight:830}.ppt-template-title i{color:#6ee7b7}.ppt-template-copy{margin:.22rem 0 0;max-width:48rem;color:#a7c8bc;font-size:.7rem;line-height:1.5}.ppt-template-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.62fr);gap:.62rem;align-items:stretch}.ppt-template-upload{display:flex;align-items:center;justify-content:center;gap:.48rem;min-height:42px;padding:.62rem .72rem;border:1px dashed rgba(110,231,183,.38);border-radius:10px;color:#d1fae5;background:rgba(6,78,59,.18);font-size:.75rem;font-weight:780;cursor:pointer;transition:border-color .16s ease,background .16s ease}.ppt-template-upload:hover{border-color:rgba(110,231,183,.78);background:rgba(6,95,70,.32)}.ppt-template-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.ppt-template-preview{display:flex;align-items:center;gap:.6rem;min-height:42px;padding:.38rem .45rem;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:rgba(2,6,23,.25);color:#9bb3ac;font-size:.69rem;line-height:1.38}.ppt-template-preview img{width:58px;height:33px;flex:0 0 auto;border-radius:5px;object-fit:cover;background:#172554}.ppt-template-preview i{color:#6ee7b7;font-size:1rem}.ppt-template-preview strong{display:block;max-width:15rem;overflow:hidden;color:#e5fff2;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.ppt-template-preview span{display:block;margin-top:.1rem}.ppt-template-remove{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:1.76rem;height:1.76rem;flex:0 0 auto;border:1px solid rgba(253,164,175,.28);border-radius:7px;color:#fecdd3;background:rgba(127,29,29,.16)}.ppt-template-remove:hover{border-color:rgba(253,164,175,.68);color:#fff;background:rgba(190,24,93,.26)}@media(max-width:560px){.ppt-template-head{flex-direction:column}.ppt-template-picker{grid-template-columns:1fr}.ppt-template-preview strong{max-width:calc(100vw - 185px)}}@media(prefers-reduced-motion:reduce){.ppt-template-upload{transition:none}}
    


        /* 工作空间：以高频操作与信息辨识为先，避免营销化大动效。 */
        #main-system .workspace-content{margin-left:272px;width:calc(100% - 272px);padding:1.85rem 2rem 3.25rem;background:radial-gradient(circle at 92% 0,rgba(194,65,12,.055),transparent 24rem),linear-gradient(180deg,#faf9f7 0,var(--m-bg) 18rem)}
        #main-system .sidebar.collapsed~.workspace-content{margin-left:96px;width:calc(100% - 96px)}
        #main-system .workspace-content>.container-fluid{max-width:1720px;margin:0 auto}
        #main-system .sidebar{width:272px;padding:1rem .85rem;background:linear-gradient(180deg,var(--m-bg-card) 0,rgba(250,248,245,.92) 100%);box-shadow:10px 0 34px -26px rgba(46,31,18,.38)}
        #main-system .sidebar::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--m-accent),transparent 26%,transparent 74%,var(--m-accent));opacity:.82}
        #main-system .sidebar.collapsed{width:96px}
        #main-system .sidebar-title{margin:0 .35rem 1rem;padding:.78rem .65rem;border:1px solid var(--m-border);border-radius:14px;background:linear-gradient(135deg,var(--m-bg-card),var(--m-fill));box-shadow:0 8px 20px -18px rgba(48,31,15,.5)}
        #main-system .sidebar-title h4{font-weight:760;letter-spacing:-.025em}
        #main-system .side-nav-section{margin:1.2rem .7rem .38rem;color:var(--m-text-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;list-style:none;text-transform:uppercase}
        #main-system .sidebar .nav-link{min-height:42px;margin-bottom:2px;padding:.63rem .72rem;border:1px solid transparent;border-radius:10px;font-size:.88rem;font-weight:620;color:var(--m-text)!important}
        #main-system .sidebar .nav-link::after{display:none}
        #main-system .sidebar .nav-link:hover{background:var(--m-fill);transform:translateX(2px);box-shadow:none}
        #main-system .sidebar .nav-link.active{background:linear-gradient(135deg,color-mix(in srgb,var(--m-accent) 15%,transparent),color-mix(in srgb,var(--m-accent) 7%,var(--m-bg-card)));border-color:color-mix(in srgb,var(--m-accent) 24%,var(--m-border));box-shadow:inset 3px 0 0 var(--m-accent);transform:none}
        #main-system .sidebar .nav-link i{font-size:1rem;opacity:.84}
        #main-system .sidebar.collapsed .side-nav-section{height:0;margin:0;overflow:hidden;opacity:0}
        #main-system .overview-banner{position:relative;overflow:hidden;padding:1.35rem 1.45rem;border:1px solid var(--m-border);border-radius:18px;background:linear-gradient(112deg,var(--m-bg-card) 0,var(--m-fill) 100%);box-shadow:0 14px 34px -30px rgba(53,35,14,.62)}
        #main-system .overview-banner::after{content:"";position:absolute;inset:auto -4.5rem -6rem auto;width:15rem;height:15rem;border-radius:50%;background:color-mix(in srgb,var(--m-accent) 14%,transparent);filter:blur(4px);pointer-events:none}
        #main-system .overview-banner>*{position:relative;z-index:1}
        #main-system .overview-banner h3{font-size:clamp(1.32rem,2vw,1.72rem);font-weight:780;letter-spacing:-.035em}
        #main-system .overview-banner p{max-width:48rem;line-height:1.55}
        #main-system .workspace-stat-card{position:relative;overflow:hidden;min-height:148px;margin:0;border-radius:16px;background:var(--m-bg-card);box-shadow:0 12px 26px -25px rgba(38,25,12,.6)}
        #main-system .workspace-stat-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--m-accent)}
        #main-system .workspace-stat-card .card-body{display:flex;flex-direction:column;justify-content:center;padding:1.15rem 1.15rem 1.1rem 1.3rem}
        #main-system .workspace-stat-card .display-6{margin:.12rem 0 .16rem;font-size:clamp(2rem,3vw,2.65rem);font-weight:780;letter-spacing:-.055em;line-height:1;color:var(--m-text)}
        #main-system .workspace-stat-slot:nth-child(2) .workspace-stat-card::before{background:#15803d}
        #main-system .workspace-stat-slot:nth-child(3) .workspace-stat-card::before{background:#2563eb}
        #main-system .workspace-stat-slot:nth-child(4) .workspace-stat-card::before{background:#7c3aed}
        #main-system .workspace-focus-card,#main-system .workspace-calendar-card,#main-system .workspace-recent-card{margin:0;border-radius:16px;overflow:hidden}
        #main-system .workspace-focus-card .card-header,#main-system .workspace-calendar-card .card-header,#main-system .workspace-recent-card .card-header{padding:.92rem 1.05rem;background:linear-gradient(180deg,var(--m-bg-card),var(--m-fill));font-size:.93rem}
        #main-system .workspace-focus-card .card-header h5,#main-system .workspace-calendar-card .card-header h5,#main-system .workspace-recent-card .card-header h5{font-weight:740;letter-spacing:-.015em}
        #main-system #dashboard-quick-links{margin-bottom:1rem!important;border-radius:14px;background:color-mix(in srgb,var(--m-bg-card) 92%,var(--m-fill))}
        #main-system #dashboard-quick-links .card-body{padding:.75rem .9rem!important}
        #main-system #dashboard-quick-links .btn{border-radius:9px;padding:.38rem .58rem;font-size:.78rem}
        #main-system .workspace-calendar-card .todo-calendar-weekday{font-size:.68rem;font-weight:760;letter-spacing:.04em}
        #main-system .workspace-calendar-card .todo-calendar-day{background:color-mix(in srgb,var(--m-bg-card) 92%,var(--m-fill));transition:background-color .16s ease,box-shadow .16s ease}
        #main-system .workspace-calendar-card .todo-calendar-day:hover{background:var(--m-bg-card);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--m-accent) 25%,transparent)}
        #main-system .workspace-calendar-card .todo-calendar-task{border-radius:5px;font-weight:650}
        #main-system .workspace-content .table-responsive{overflow:auto;border:1px solid var(--m-border);border-radius:14px;background:var(--m-bg-card);box-shadow:0 8px 20px -22px rgba(46,31,18,.45)}
        #main-system .workspace-content .table{margin:0}
        #main-system .workspace-content .table thead th{position:sticky;top:0;z-index:2;padding:.78rem .7rem;font-size:.76rem;letter-spacing:.015em;white-space:nowrap}
        #main-system .workspace-content .table tbody td{padding:.68rem .7rem;vertical-align:middle}
        #main-system .workspace-content .table tbody tr{transition:background-color .14s ease}
        #main-system .workspace-content .table tbody tr:hover{background:color-mix(in srgb,var(--m-accent) 5%,var(--m-bg-card))}
        #main-system .workspace-content .form-control,#main-system .workspace-content .form-select{min-height:40px;background:var(--m-bg-card)}
        #main-system .workspace-content .form-control:focus,#main-system .workspace-content .form-select:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--m-accent) 16%,transparent)}
        #main-system .workspace-content .file-drop-zone{min-height:180px;border:1.5px dashed color-mix(in srgb,var(--m-border-strong) 78%,var(--m-accent));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--m-fill) 72%,transparent),var(--m-bg-card));transition:border-color .16s ease,background-color .16s ease}
        #main-system .workspace-content .file-drop-zone.file-drop-active{border-color:var(--m-accent);background:color-mix(in srgb,var(--m-accent) 8%,var(--m-bg-card))}
        #main-system .workspace-content .list-group-item{border-color:var(--m-border);padding:.78rem 1rem}
        #main-system .workspace-content .card{box-shadow:0 10px 24px -24px rgba(46,31,18,.55)}
        #main-system .workspace-content .workspace-stat-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--m-accent) 32%,var(--m-border));box-shadow:0 18px 32px -25px rgba(46,31,18,.65)}
        /* 月度 KPI 报表：暗色数据指挥舱，强调真实数据和管理层决策信息。 */
        #monthly-kpi .kpi-report-visual{position:relative;overflow:hidden;border:1px solid #243252;border-radius:20px;background:radial-gradient(circle at 88% 5%,rgba(39,211,255,.16),transparent 19rem),radial-gradient(circle at 12% 100%,rgba(111,104,255,.15),transparent 21rem),#0b1220;color:#e7f2ff;box-shadow:0 24px 50px -32px rgba(6,14,29,.92)}
        #monthly-kpi .kpi-report-visual::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;background-image:linear-gradient(rgba(132,173,219,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(132,173,219,.07) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(180deg,#000,transparent 88%)}
        #monthly-kpi .kpi-report-header,#monthly-kpi .kpi-report-toolbar,#monthly-kpi .kpi-report-summary-grid,#monthly-kpi .kpi-report-chart-card,#monthly-kpi .kpi-report-trace{position:relative;z-index:1}
        #monthly-kpi .kpi-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.35rem 1.4rem 1.05rem;border-bottom:1px solid rgba(142,181,224,.16)}
        #monthly-kpi .kpi-report-kicker{margin-bottom:.3rem;color:#6bdcff;font-size:.64rem;font-weight:800;letter-spacing:.12em}
        #monthly-kpi .kpi-report-header h5{margin:0;color:#f4f8ff;font-size:1.12rem;font-weight:760;letter-spacing:-.02em}
        #monthly-kpi .kpi-report-header p{margin:.38rem 0 0;color:#8fa4bf;font-size:.78rem}
        #monthly-kpi .kpi-report-source{display:flex;align-items:center;gap:.42rem;max-width:17rem;padding:.46rem .66rem;border:1px solid rgba(107,220,255,.26);border-radius:9px;background:rgba(12,29,50,.62);color:#b7dfff;font-size:.72rem;line-height:1.35}
        #monthly-kpi .kpi-report-live-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#3ee0a3;box-shadow:0 0 0 4px rgba(62,224,163,.11)}
        #monthly-kpi .kpi-report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.76rem 1.4rem;border-bottom:1px solid rgba(142,181,224,.12);background:rgba(6,16,31,.43);color:#8fa4bf;font-size:.74rem}
        #monthly-kpi .kpi-report-toolbar strong{margin-right:.65rem;color:#d9e8fb;font-size:.84rem}
        #monthly-kpi #kpi-report-save-state{color:#9fb4cf;text-align:right}
        #monthly-kpi .kpi-report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.72rem;padding:1.05rem 1.4rem}
        #monthly-kpi .kpi-report-summary-grid article{min-height:104px;padding:.78rem .86rem;border:1px solid rgba(142,181,224,.16);border-radius:12px;background:linear-gradient(135deg,rgba(25,46,73,.72),rgba(11,25,44,.73))}
        #monthly-kpi .kpi-report-summary-grid span{display:block;color:#8ea6c4;font-size:.69rem;font-weight:690}
        #monthly-kpi .kpi-report-summary-grid strong{display:block;overflow:hidden;margin:.38rem 0 .25rem;color:#f5f9ff;font-size:1.68rem;font-weight:780;letter-spacing:-.055em;text-overflow:ellipsis;white-space:nowrap}
        #monthly-kpi .kpi-report-summary-grid small{display:block;overflow:hidden;color:#9eb2cb;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
        #monthly-kpi .kpi-report-summary-grid article:nth-child(2) strong{color:#76e9c4}
        #monthly-kpi .kpi-report-summary-grid article:nth-child(2) strong.is-negative{color:#ff9d93}
        #monthly-kpi .kpi-report-summary-grid article:nth-child(3) strong{color:#ffc66e;font-size:1.13rem;letter-spacing:-.025em;margin-top:.62rem}
        #monthly-kpi .kpi-report-summary-grid article:nth-child(4) strong{color:#6bdcff}
        #monthly-kpi .kpi-report-chart-card{margin:0 1.4rem 1rem;padding:1rem;border:1px solid rgba(142,181,224,.16);border-radius:14px;background:linear-gradient(145deg,rgba(15,33,57,.88),rgba(8,20,37,.9))}
        #monthly-kpi .kpi-report-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.55rem}
        #monthly-kpi .kpi-report-chart-head span{display:block;margin-bottom:.12rem;color:#6bdcff;font-size:.65rem;font-weight:780;letter-spacing:.085em}
        #monthly-kpi .kpi-report-chart-head h6{margin:0;color:#edf5ff;font-size:.92rem;font-weight:720}
        #monthly-kpi .kpi-report-chart-head small{max-width:20rem;color:#8fa4bf;font-size:.67rem;line-height:1.45;text-align:right}
        #monthly-kpi .kpi-report-chart{height:268px;width:100%}
        #monthly-kpi .kpi-report-chart--hero-canvas{height:318px}
        #monthly-kpi .kpi-report-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0 1.4rem 1rem}
        #monthly-kpi .kpi-report-chart-grid .kpi-report-chart-card{margin:0}
        #monthly-kpi .kpi-report-trace{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.4rem 1.15rem;border-top:1px solid rgba(142,181,224,.12)}
        #monthly-kpi .kpi-report-trace>div:first-child{display:flex;flex-direction:column;gap:.22rem;color:#8fa4bf;font-size:.68rem}
        #monthly-kpi .kpi-report-trace-title{color:#dbeaff;font-size:.74rem;font-weight:720}
        #monthly-kpi .kpi-report-month-trace{display:flex;align-items:center;justify-content:flex-end;gap:.38rem;min-width:0;overflow:auto;padding:.18rem 0}
        #monthly-kpi .kpi-report-month-node{min-width:48px;padding:.38rem .42rem;border:1px solid rgba(142,181,224,.16);border-radius:8px;background:rgba(8,20,37,.74);color:#768da9;font-size:.63rem;text-align:center}
        #monthly-kpi .kpi-report-month-node.is-saved{border-color:rgba(107,220,255,.5);background:rgba(24,75,109,.42);color:#bceaff}
        #monthly-kpi .kpi-report-month-node.is-selected{box-shadow:0 0 0 2px rgba(118,233,196,.45);color:#e5fff6}
        #monthly-kpi .kpi-report-month-node small{display:block;margin-top:.14rem;font-size:.58rem}
        @media (max-width:991.98px){#monthly-kpi .kpi-report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#monthly-kpi .kpi-report-chart-grid{grid-template-columns:1fr}}
        @media (max-width:575.98px){#monthly-kpi .kpi-report-header,#monthly-kpi .kpi-report-toolbar,#monthly-kpi .kpi-report-trace{align-items:flex-start;flex-direction:column;padding-left:1rem;padding-right:1rem}#monthly-kpi .kpi-report-source{max-width:none}#monthly-kpi #kpi-report-save-state{text-align:left}#monthly-kpi .kpi-report-summary-grid{grid-template-columns:1fr 1fr;padding:1rem}#monthly-kpi .kpi-report-chart-card{margin-left:1rem;margin-right:1rem;padding:.78rem}#monthly-kpi .kpi-report-chart-grid{padding-left:1rem;padding-right:1rem}#monthly-kpi .kpi-report-chart-head small{text-align:left}#monthly-kpi .kpi-report-chart{height:240px}#monthly-kpi .kpi-report-chart--hero-canvas{height:270px}#monthly-kpi .kpi-report-trace{padding-bottom:1rem}#monthly-kpi .kpi-report-month-trace{width:100%;justify-content:flex-start}}
        @media (max-width:991.98px){#main-system .workspace-content{padding:1.15rem 1rem 2rem}#main-system .workspace-stat-card{min-height:128px}#main-system .sidebar{width:272px}}
        @media (max-width:767.98px){#main-system .workspace-content{margin-left:0!important;width:100%!important;padding:.85rem .75rem 1.5rem}#main-system .overview-banner{padding:1rem;border-radius:14px}#main-system .workspace-stat-card{min-height:116px;border-radius:13px}#main-system .workspace-stat-card .display-6{font-size:1.95rem}#main-system .workspace-content .table-responsive{border-radius:10px}}
        @media (prefers-reduced-motion:reduce){#main-system .workspace-content *,#main-system .sidebar *{transition-duration:0.01ms!important;animation-duration:0.01ms!important}}

        /* 工作空间统一视觉系统：冷静的深靛导航 + 高对比内容层；不改变任何数据或交互逻辑。 */
        #main-system{
            --m-bg:#f5f7fb;
            --m-bg-card:#ffffff;
            --m-border:#e5e9f2;
            --m-border-strong:#cbd3e1;
            --m-text:#182033;
            --m-text-muted:#697386;
            --m-accent:#635bff;
            --m-accent-hover:#5148e5;
            --m-fill:#f8f9fd;
            --m-banner:#172554;
            --m-banner-text:#f8fbff;
            --m-table-head:#eef2ff;
            --m-success-tint:#138a63;
            --m-danger-tint:#c2415e;
            --m-radius:14px;
            --m-radius-sm:10px;
            --m-shadow:0 1px 2px rgba(17,24,39,.025),0 6px 16px rgba(17,24,39,.035);
            --m-shadow-hover:0 2px 4px rgba(17,24,39,.035),0 18px 38px rgba(17,24,39,.085);
            color:var(--m-text);
            font-family:Outfit,"Microsoft YaHei","PingFang SC","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
        }
        [data-theme="ocean"] #main-system{--m-accent:#0276aa;--m-accent-hover:#05638d;--m-fill:#f2f9fc;--m-bg:#f3f8fb;--m-banner:#073b5c;--m-table-head:#e3f3fa}
        [data-theme="forest"] #main-system{--m-accent:#0f8b66;--m-accent-hover:#087655;--m-fill:#f3faf7;--m-bg:#f4f8f6;--m-banner:#113b31;--m-table-head:#e4f3ed}
        [data-theme="sunset"] #main-system{--m-accent:#b65e24;--m-accent-hover:#9b4d19;--m-fill:#fdf8f4;--m-bg:#faf7f4;--m-banner:#542816;--m-table-head:#faecdf}
        [data-theme="rainbow"] #main-system{--m-accent:#6d55d9;--m-accent-hover:#5843bb;--m-fill:#f8f7ff;--m-bg:#f7f7fc;--m-banner:#242452;--m-table-head:#efedff}
        [data-theme="cyber"] #main-system{--m-accent:#00a6c8;--m-accent-hover:#0084a3;--m-fill:#f2fbfd;--m-bg:#f4fafb;--m-banner:#092937;--m-table-head:#e3f5f8}
        [data-theme="retro"] #main-system{--m-accent:#a84b5f;--m-accent-hover:#8d394c;--m-fill:#fcf6f6;--m-bg:#f9f6f4;--m-banner:#482c35;--m-table-head:#f8e9eb}
        [data-theme="dark"] #main-system{--m-bg:#111725;--m-bg-card:#171f30;--m-border:#273247;--m-border-strong:#3a4961;--m-text:#edf3ff;--m-text-muted:#9eabc1;--m-accent:#8b86ff;--m-accent-hover:#a4a0ff;--m-fill:#1b2538;--m-banner:#1c2c58;--m-banner-text:#f7f9ff;--m-table-head:#222d46;--m-success-tint:#49c59c;--m-danger-tint:#ff8395;--m-shadow:0 1px 2px rgba(0,0,0,.16),0 8px 20px rgba(0,0,0,.14);--m-shadow-hover:0 2px 4px rgba(0,0,0,.18),0 22px 42px rgba(0,0,0,.28)}
        #main-system .workspace-content{
            margin-left:248px;
            width:calc(100% - 248px);
            min-height:100vh;
            padding:1.55rem clamp(1rem,2.4vw,2.65rem) 3.5rem;
            background:
                radial-gradient(circle at 88% -8%,rgba(99,91,255,.105),transparent 27rem),
                linear-gradient(180deg,#fafbff 0,var(--m-bg) 18rem);
        }
        [data-theme="dark"] #main-system .workspace-content{background:radial-gradient(circle at 88% -8%,rgba(139,134,255,.13),transparent 28rem),linear-gradient(180deg,#141b2a 0,var(--m-bg) 20rem)}
        #main-system .sidebar.collapsed~.workspace-content{margin-left:82px;width:calc(100% - 82px)}
        #main-system .workspace-content>.container-fluid{max-width:1660px}
        #main-system .sidebar{
            width:248px;
            padding:.9rem .72rem 1rem;
            color:#d6ddef;
            border-right:1px solid rgba(157,174,209,.12);
            background:linear-gradient(180deg,#10182a 0%,#111827 52%,#0d1423 100%);
            box-shadow:10px 0 34px -25px rgba(15,23,42,.65);
        }
        #main-system .sidebar::before{width:1px;background:linear-gradient(180deg,transparent,rgba(129,140,248,.78) 18%,rgba(82,203,242,.34) 54%,transparent)}
        #main-system .sidebar.collapsed{width:82px}
        #main-system .sidebar-title{
            min-height:54px;
            margin:0 .18rem 1rem;
            padding:.58rem .62rem;
            border:1px solid rgba(183,198,232,.12);
            border-radius:12px;
            background:linear-gradient(135deg,rgba(94,92,230,.24),rgba(22,32,54,.34));
            box-shadow:none;
        }
        #main-system .sidebar-title h4{color:#f4f7ff!important;font-size:.94rem;font-weight:760;letter-spacing:-.025em}
        #main-system .sidebar-title h4 i{color:#a5b4fc}
        #main-system .sidebar-toggle-btn{color:#aebbd4}
        #main-system .sidebar-toggle-btn:hover{color:#fff;background:rgba(255,255,255,.08);transform:none}
        #main-system .sidebar-hamburger-toggle .hamburger-bar{background:#c9d4e8;filter:none}
        #main-system .side-nav-section{margin:1.15rem .68rem .42rem;color:#75839f;font-size:.62rem;font-weight:800;letter-spacing:.105em}
        #main-system .sidebar .nav-link{
            min-height:38px;
            margin:1px 0;
            padding:.52rem .65rem;
            border:1px solid transparent;
            border-radius:9px;
            color:#b6c0d5!important;
            font-size:.84rem;
            font-weight:590;
            transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
        }
        #main-system .sidebar .nav-link i{width:1.2rem;color:#8b9bb8;font-size:.95rem;opacity:1;transition:color .16s ease,transform .16s ease}
        #main-system .sidebar .nav-link:hover{background:rgba(255,255,255,.06);color:#f4f7ff!important;transform:translateX(2px)}
        #main-system .sidebar .nav-link:hover i{color:#c7d2fe;transform:none}
        #main-system .sidebar .nav-link.active{border-color:rgba(146,155,255,.28);background:linear-gradient(90deg,rgba(99,91,255,.38),rgba(99,91,255,.14));box-shadow:inset 2px 0 0 #a5b4fc;color:#fff!important}
        #main-system .sidebar .nav-link.active i{color:#e0e7ff;transform:none}
        #main-system .sidebar .theme-selector{border-color:rgba(175,190,222,.15);color:#bac6dc;background:rgba(255,255,255,.055)}
        #main-system .sidebar .theme-selector:focus{border-color:rgba(165,180,252,.65);box-shadow:0 0 0 3px rgba(129,140,248,.16)}
        #main-system .sidebar .theme-selector option{color:#182033;background:#fff}
        #main-system .sidebar .form-label,#main-system .sidebar .user-info small{color:#74819b!important;font-size:.66rem;font-weight:720;letter-spacing:.04em}
        #main-system .sidebar .user-info{margin-top:auto!important;padding:1rem .66rem 0!important;border-top:1px solid rgba(175,190,222,.1)}
        #main-system .sidebar .user-info span{color:#dce5f7!important;font-size:.8rem}
        #main-system .sidebar .user-info .btn-outline-danger{border-color:rgba(255,160,177,.25);color:#f5b5c0;background:transparent}
        #main-system .sidebar .user-info .btn-outline-danger:hover{border-color:#ef7187;color:#fff;background:#c94a62}
        #main-system .overview-banner{
            min-height:118px;
            padding:1.45rem 1.55rem;
            border:1px solid color-mix(in srgb,var(--m-border) 92%,#fff);
            border-radius:18px;
            background:linear-gradient(112deg,var(--m-bg-card),color-mix(in srgb,var(--m-fill) 72%,var(--m-bg-card)));
            box-shadow:var(--m-shadow);
        }
        #main-system .overview-banner::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#8b86ff,#5b8def);opacity:.94}
        #main-system .overview-banner::after{width:18rem;height:18rem;right:-7rem;bottom:-10rem;background:radial-gradient(circle,rgba(99,91,255,.16),rgba(83,156,255,.035) 42%,transparent 68%);filter:none}
        #main-system .overview-banner h3{color:var(--m-text);font-size:clamp(1.35rem,2vw,1.78rem);font-weight:790;letter-spacing:-.045em}
        #main-system .overview-banner p{color:var(--m-text-muted);font-size:.86rem;opacity:1!important}
        #main-system .overview-banner .badge{border:1px solid color-mix(in srgb,var(--m-accent) 20%,var(--m-border));color:var(--m-accent)!important;background:color-mix(in srgb,var(--m-accent) 7%,var(--m-bg-card))!important;font-weight:720}
        #main-system .workspace-content .card{
            overflow:hidden;
            border:1px solid var(--m-border);
            border-radius:14px;
            background:var(--m-bg-card);
            box-shadow:var(--m-shadow);
            transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
        }
        #main-system .workspace-content .card:hover{border-color:color-mix(in srgb,var(--m-accent) 18%,var(--m-border));box-shadow:var(--m-shadow-hover);transform:translateY(-1px)}
        #main-system .workspace-content .card-header{min-height:54px;padding:.88rem 1.1rem;border-bottom:1px solid var(--m-border);color:var(--m-text);background:linear-gradient(180deg,color-mix(in srgb,var(--m-bg-card) 94%,#fff),var(--m-fill));}
        #main-system .workspace-content .card-header h5,#main-system .workspace-content .card-header h6{font-size:.92rem;font-weight:740;letter-spacing:-.018em}
        #main-system .workspace-content .card-header i{color:var(--m-accent)}
        #main-system .workspace-content .card-body{color:var(--m-text)}
        #main-system .workspace-stat-card{min-height:142px;border-radius:14px}
        #main-system .workspace-stat-card::before{width:3px;background:linear-gradient(180deg,#766ff4,#4f91f5)}
        #main-system .workspace-stat-card .card-body{padding:1.1rem 1.1rem 1.05rem 1.25rem}
        #main-system .workspace-stat-card .text-muted{font-size:.72rem!important;color:var(--m-text-muted)!important;font-weight:650}
        #main-system .workspace-stat-card .display-6{color:var(--m-text);font-size:clamp(2rem,3vw,2.45rem);font-weight:790;letter-spacing:-.065em}
        #main-system .workspace-stat-slot:nth-child(2) .workspace-stat-card::before{background:linear-gradient(180deg,#23a879,#14b8a6)}
        #main-system .workspace-stat-slot:nth-child(3) .workspace-stat-card::before{background:linear-gradient(180deg,#4f91f5,#51b8ed)}
        #main-system .workspace-stat-slot:nth-child(4) .workspace-stat-card::before{background:linear-gradient(180deg,#a878e8,#766ff4)}
        #main-system #dashboard-quick-links{border-style:dashed;background:linear-gradient(90deg,color-mix(in srgb,var(--m-fill) 88%,var(--m-bg-card)),var(--m-bg-card))}
        #main-system #dashboard-quick-links .card-body{padding:.68rem .85rem!important}
        #main-system #dashboard-quick-links .btn{border-color:transparent;border-radius:8px;color:var(--m-text-muted);background:transparent;font-size:.76rem;font-weight:650}
        #main-system #dashboard-quick-links .btn:hover{border-color:color-mix(in srgb,var(--m-accent) 20%,var(--m-border));color:var(--m-accent);background:color-mix(in srgb,var(--m-accent) 7%,var(--m-bg-card))}
        #main-system .list-group-item{border-color:var(--m-border);background:transparent;color:var(--m-text)}
        #main-system .list-group-item:hover{background:var(--m-fill)}
        #main-system .workspace-calendar-card .todo-calendar-day{background:transparent;border-color:var(--m-border)}
        #main-system .workspace-calendar-card .todo-calendar-day:hover{background:color-mix(in srgb,var(--m-accent) 5%,var(--m-bg-card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--m-accent) 17%,transparent)}
        #main-system .workspace-calendar-card .todo-calendar-weekday{color:var(--m-text-muted);font-size:.66rem;font-weight:770}
        #main-system .btn{border-radius:9px;font-weight:660;letter-spacing:-.005em;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}
        #main-system .btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--m-accent) 23%,transparent)}
        #main-system .btn:hover{transform:translateY(-1px)}
        #main-system .btn-primary{border-color:var(--m-accent);background:linear-gradient(135deg,var(--m-accent),color-mix(in srgb,var(--m-accent) 78%,#4268e8));box-shadow:0 8px 16px -10px color-mix(in srgb,var(--m-accent) 75%,transparent)}
        #main-system .btn-primary:hover{border-color:var(--m-accent-hover);background:var(--m-accent-hover)}
        #main-system .btn-outline-primary{border-color:color-mix(in srgb,var(--m-accent) 30%,var(--m-border));color:var(--m-accent)}
        #main-system .btn-outline-primary:hover{border-color:var(--m-accent);color:#fff;background:var(--m-accent)}
        #main-system .btn-light{border-color:var(--m-border);color:var(--m-text);background:var(--m-bg-card)}
        #main-system .btn-light:hover{border-color:color-mix(in srgb,var(--m-accent) 28%,var(--m-border));color:var(--m-accent);background:var(--m-fill)}
        #main-system .form-control,#main-system .form-select,#main-system textarea{min-height:40px;border-color:var(--m-border-strong);border-radius:9px;color:var(--m-text);background:var(--m-bg-card)}
        #main-system .form-control::placeholder,#main-system textarea::placeholder{color:color-mix(in srgb,var(--m-text-muted) 70%,transparent)}
        #main-system .form-control:focus,#main-system .form-select:focus,#main-system textarea:focus{border-color:color-mix(in srgb,var(--m-accent) 60%,var(--m-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--m-accent) 14%,transparent);background:var(--m-bg-card)}
        #main-system .form-check-input:checked{border-color:var(--m-accent);background-color:var(--m-accent)}
        #main-system .nav-pills .nav-link,#main-system .nav-tabs .nav-link{border-radius:8px;color:var(--m-text-muted);font-weight:650}
        #main-system .nav-pills .nav-link.active,#main-system .nav-tabs .nav-link.active{border-color:transparent;color:#fff;background:var(--m-accent)}
        #main-system .workspace-content .table-responsive{border-color:var(--m-border);border-radius:12px;box-shadow:none}
        #main-system .workspace-content .table{color:var(--m-text)}
        #main-system .workspace-content .table thead th{border-bottom-color:var(--m-border-strong);color:color-mix(in srgb,var(--m-text) 78%,var(--m-text-muted));background:var(--m-table-head);font-size:.73rem;font-weight:760}
        #main-system .workspace-content .table tbody td{border-color:var(--m-border);font-size:.82rem}
        #main-system .workspace-content .table tbody tr:hover{background:color-mix(in srgb,var(--m-accent) 4%,var(--m-bg-card))}
        #main-system .modal-content{border:1px solid var(--m-border);border-radius:16px;color:var(--m-text);background:var(--m-bg-card);box-shadow:0 24px 64px rgba(15,23,42,.18)}
        #main-system .modal-header,#main-system .modal-footer{border-color:var(--m-border)}
        #main-system .dropdown-menu{padding:.35rem;border-color:var(--m-border);border-radius:11px;box-shadow:0 18px 34px rgba(15,23,42,.13)}
        #main-system .dropdown-item{border-radius:7px;color:var(--m-text);font-size:.84rem}
        #main-system .dropdown-item:hover{color:var(--m-accent);background:color-mix(in srgb,var(--m-accent) 7%,var(--m-bg-card))}
        #main-system .file-drop-zone{border-color:color-mix(in srgb,var(--m-accent) 38%,var(--m-border-strong));background:linear-gradient(135deg,color-mix(in srgb,var(--m-accent) 4%,var(--m-bg-card)),var(--m-bg-card))}
        #main-system .file-drop-zone.file-drop-active{border-color:var(--m-accent);background:color-mix(in srgb,var(--m-accent) 8%,var(--m-bg-card))}
        #main-system .page-panel{scroll-margin-top:1.25rem}
        #main-system .page-panel:not(.active){animation:none}
        #main-system .mobile-header{border-bottom:1px solid var(--m-border);color:var(--m-text);background:var(--m-bg-card);box-shadow:0 8px 20px -18px rgba(15,23,42,.18)}
        @media (max-width:991.98px){#main-system .workspace-content{margin-left:248px;width:calc(100% - 248px);padding:1.1rem 1rem 2.4rem}#main-system .sidebar.collapsed~.workspace-content{margin-left:82px;width:calc(100% - 82px)}}
        @media (max-width:767.98px){#main-system .workspace-content,#main-system .sidebar.collapsed~.workspace-content{margin-left:0!important;width:100%!important;padding:.78rem .72rem 1.6rem}#main-system .workspace-content .overview-banner{min-height:104px;padding:1.1rem 1.1rem 1.05rem;border-radius:14px}#main-system .workspace-content .card-header{padding:.78rem .9rem}#main-system .workspace-stat-card{min-height:118px}#main-system .workspace-stat-card .display-6{font-size:1.95rem}}
        @media (prefers-reduced-motion:reduce){#main-system .workspace-content *,#main-system .sidebar *{animation:none!important;transition:none!important}}
    


        /* 年度 KPI 统一视觉：深靛导航、冷白数据面板、克制的语义状态色。 */
        #main-system .sidebar{
            background:linear-gradient(180deg,#111b34 0%,#0b1427 100%);
            box-shadow:12px 0 34px -22px rgba(15,23,42,.54);
        }
        #main-system .sidebar::before{background:linear-gradient(180deg,#7c84ff 0%,rgba(124,132,255,.08) 34%,rgba(124,132,255,.08) 68%,#4d8ff7 100%)}
        #main-system .sidebar .nav-link.active{
            border-color:rgba(157,166,255,.34);
            background:linear-gradient(90deg,rgba(99,102,241,.54),rgba(99,102,241,.18));
            box-shadow:inset 3px 0 0 #c7d2fe,0 8px 18px -15px rgba(70,78,235,.95);
        }
        #main-system .workspace-content{
            background:
                radial-gradient(circle at 88% 0%,rgba(132,151,255,.15),transparent 23rem),
                radial-gradient(circle at 42% 100%,rgba(96,165,250,.08),transparent 30rem),
                #f4f7fc;
        }
        #yearly-kpi-summary{--yearly-ink:#24314f;--yearly-muted:#72809a;--yearly-line:#dce4f2;--yearly-indigo:#5561d9;--yearly-indigo-soft:#edf0ff}
        #yearly-kpi-summary .overview-banner{
            border-color:#dce3f6;
            background:linear-gradient(112deg,#ffffff 0%,#f5f7ff 100%);
            box-shadow:0 18px 38px -30px rgba(37,51,94,.62);
        }
        #yearly-kpi-summary .overview-banner::before{background:linear-gradient(180deg,#7784ff,#4b9af5)}
        #yearly-kpi-summary .overview-banner h3{color:var(--yearly-ink)}
        #yearly-kpi-summary .overview-banner p{color:var(--yearly-muted)}
        #yearly-kpi-summary .overview-banner .btn-light{
            border-color:#dbe3f3;
            color:#3b4967;
            background:#fff;
            box-shadow:0 4px 10px -9px rgba(31,42,72,.46);
        }
        #yearly-kpi-summary .overview-banner .btn-light:hover{border-color:#aab8e8;color:#4050c2;background:#f4f6ff}
        #yearly-kpi-summary .overview-banner .btn-success{
            border-color:#198a67;
            background:linear-gradient(135deg,#188a68,#177b63);
            box-shadow:0 9px 16px -12px rgba(17,111,82,.8);
        }
        #yearly-kpi-summary .overview-banner .btn-success:hover{border-color:#126c56;background:#126c56}
        #yearly-kpi-summary .card{
            border-color:#dfe6f3;
            background:rgba(255,255,255,.94);
            box-shadow:0 16px 34px -31px rgba(29,42,77,.72);
        }
        #yearly-kpi-summary .card-header{
            border-bottom-color:#e1e8f4;
            color:#30405f;
            background:linear-gradient(180deg,#ffffff,#f8faff);
        }
        #yearly-kpi-summary .card-header i{color:var(--yearly-indigo)}
        #yearly-kpi-summary .form-label{color:#55627d;font-size:.76rem;font-weight:740}
        #yearly-kpi-summary .form-select,
        #yearly-kpi-summary .date-input-group{
            border-color:#d7e0ef;
            color:#34415e;
            background:#fbfcff;
        }
        #yearly-kpi-summary .alert-info{
            border-color:#cbd8f4;
            color:#53627d;
            background:linear-gradient(90deg,#f4f7ff,#edf3ff);
        }
        #yearly-kpi-summary .alert-info .badge{border:1px solid transparent;font-weight:710}
        #yearly-kpi-summary .alert-info .bg-primary{border-color:#c5cffb;background:#e9edff!important;color:#4657c6!important}
        #yearly-kpi-summary .alert-info .bg-success{border-color:#b9e7d4;background:#e8f8f0!important;color:#167a5b!important}
        #yearly-kpi-summary .alert-info .bg-danger{border-color:#f3c3cd;background:#fff0f2!important;color:#bd3f57!important}
        #yearly-kpi-summary .table-responsive{border:1px solid #dfe6f3;border-radius:11px;background:#fff}
        #yearly-summary-table{margin-bottom:0;color:#33415c}
        #yearly-summary-table thead th{
            border-color:#dbe3f0;
            color:#46536f;
            background:#eef2fb!important;
            font-size:.74rem;
            font-weight:760;
        }
        #yearly-summary-table tbody td{
            border-color:#e4eaf4;
            color:#43506a;
            background:#fff;
            font-variant-numeric:tabular-nums;
        }
        #yearly-summary-table tbody tr:nth-child(even) td{background:#fbfcff}
        #yearly-summary-table tbody tr:hover td{background:#f4f6ff!important}
        #yearly-summary-table tbody td:first-child{color:#2e3d5a;font-weight:730}
        #yearly-summary-table .text-muted{color:#9aa6bb!important;background:#f6f8fc!important}
        #yearly-summary-table .bg-success{
            color:#147b5b!important;
            background:#e6f7ef!important;
            box-shadow:inset 0 0 0 1px #bce7d5;
        }
        #yearly-summary-table .bg-danger{
            color:#c03e56!important;
            background:#fff0f2!important;
            box-shadow:inset 0 0 0 1px #f2c5ce;
        }
        #yearly-summary-table .btn-outline-primary{
            border-color:#bdc8f7;
            color:#5262cf;
            background:#f8f9ff;
            font-size:.73rem;
        }
        #yearly-summary-table .btn-outline-primary:hover{border-color:#5866d6;color:#fff;background:#5866d6}
        #yearly-summary-table tfoot td{
            border-color:#d7e0ef;
            color:#3b4963;
            background:#e9eef7;
            font-variant-numeric:tabular-nums;
        }
        #yearly-summary-table tfoot .bg-secondary{
            color:#334463!important;
            background:#e2e9f5!important;
            box-shadow:inset 0 0 0 1px #c8d4e8;
        }
        #yearly-summary-table tfoot .bg-success{color:#147b5b!important;background:#e0f5eb!important;box-shadow:inset 0 0 0 1px #b7e4d1}
        #yearly-summary-table tfoot .bg-danger{color:#be3f55!important;background:#ffeaee!important;box-shadow:inset 0 0 0 1px #f2c0cb}
        #yearly-kpi-summary .workspace-stat-card{border-color:#e0e7f3;background:linear-gradient(145deg,#fff,#f9fbff)}
        #yearly-kpi-summary .workspace-stat-card::before{background:linear-gradient(180deg,#7784ff,#4d96ef)}
        #yearly-kpi-summary .workspace-stat-slot:nth-child(2) .workspace-stat-card::before{background:linear-gradient(180deg,#27a981,#20a078)}
        #yearly-kpi-summary .workspace-stat-slot:nth-child(3) .workspace-stat-card::before{background:linear-gradient(180deg,#ef7e91,#dd5f76)}
        #yearly-kpi-summary .workspace-stat-slot:nth-child(4) .workspace-stat-card::before{background:linear-gradient(180deg,#6e88f1,#5b70dc)}
        #yearly-kpi-summary #yearly-avg-score,#yearly-kpi-summary #yearly-data-completeness{color:#5362d4!important}
        #yearly-kpi-summary #yearly-full-score-count{color:#168665!important}
        #yearly-kpi-summary #yearly-fail-count{color:#ca4a60!important}
        @media (max-width:767.98px){
            #yearly-kpi-summary .overview-banner .d-flex{gap:.65rem}
            #yearly-kpi-summary .alert-info{font-size:.75rem;line-height:1.8}
        }
    


        /* Global UI refresh: shared tokens and component treatment. */
        #main-system{
            --ui-canvas:#f4f6fb;
            --ui-surface:#ffffff;
            --ui-surface-subtle:#f8faff;
            --ui-line:#e2e8f2;
            --ui-line-strong:#cbd5e4;
            --ui-ink:#17233a;
            --ui-muted:#6b7890;
            --ui-accent:#5162d6;
            --ui-accent-strong:#3f4ec0;
            --ui-accent-soft:#edf0ff;
            --ui-success:#178567;
            --ui-success-soft:#e9f8f1;
            --ui-warning:#a96816;
            --ui-warning-soft:#fff7e9;
            --ui-danger:#c54861;
            --ui-danger-soft:#fff0f3;
            --ui-sidebar:#111b2e;
            --ui-sidebar-deep:#0c1424;
            --ui-sidebar-text:#c5d0e3;
            --ui-sidebar-muted:#7e8da8;
            --ui-sidebar-active:rgba(100,112,244,.28);
            --ui-shadow:0 8px 24px rgba(30,42,72,.055);
            --ui-shadow-raised:0 18px 42px rgba(30,42,72,.105);
            color:var(--ui-ink);
            font-family:"Satoshi","Microsoft YaHei","PingFang SC","Noto Sans SC",system-ui,sans-serif;
        }
        [data-theme="default"] #main-system{--ui-accent:#5162d6;--ui-accent-strong:#3f4ec0;--ui-accent-soft:#edf0ff}
        [data-theme="ocean"] #main-system{--ui-canvas:#f2f7fb;--ui-surface-subtle:#f5fbfe;--ui-line:#d9e8f0;--ui-line-strong:#bdd7e4;--ui-ink:#173347;--ui-muted:#648194;--ui-accent:#1678ad;--ui-accent-strong:#0b6292;--ui-accent-soft:#e7f4fb;--ui-sidebar:#102637;--ui-sidebar-deep:#0c1c29;--ui-sidebar-active:rgba(38,148,201,.25)}
        [data-theme="forest"] #main-system{--ui-canvas:#f3f8f5;--ui-surface-subtle:#f7fbf9;--ui-line:#dbe9e2;--ui-line-strong:#bdd7ca;--ui-ink:#17392f;--ui-muted:#648278;--ui-accent:#178160;--ui-accent-strong:#0e684d;--ui-accent-soft:#e7f6ef;--ui-sidebar:#112b26;--ui-sidebar-deep:#0b1d19;--ui-sidebar-active:rgba(36,157,113,.25)}
        [data-theme="sunset"] #main-system{--ui-canvas:#fbf6f2;--ui-surface-subtle:#fffaf7;--ui-line:#eee1d8;--ui-line-strong:#dec8b9;--ui-ink:#40302c;--ui-muted:#88716a;--ui-accent:#ae5d3f;--ui-accent-strong:#8f472f;--ui-accent-soft:#fbeee8;--ui-sidebar:#30201e;--ui-sidebar-deep:#211615;--ui-sidebar-active:rgba(201,111,76,.25)}
        [data-theme="rainbow"] #main-system{--ui-canvas:#f7f6fc;--ui-surface-subtle:#fbfaff;--ui-line:#e4e1f0;--ui-line-strong:#ccc5e6;--ui-ink:#292343;--ui-muted:#766f91;--ui-accent:#7057c9;--ui-accent-strong:#5942ae;--ui-accent-soft:#f0edff;--ui-sidebar:#231d3d;--ui-sidebar-deep:#171329;--ui-sidebar-active:rgba(136,105,225,.26)}
        [data-theme="retro"] #main-system{--ui-canvas:#faf6f3;--ui-surface-subtle:#fffaf8;--ui-line:#ecdfdf;--ui-line-strong:#dcc6c9;--ui-ink:#402d35;--ui-muted:#866c75;--ui-accent:#aa5368;--ui-accent-strong:#8c3f52;--ui-accent-soft:#fbedf0;--ui-sidebar:#34202a;--ui-sidebar-deep:#25151e;--ui-sidebar-active:rgba(193,96,125,.25)}
        [data-theme="dark"] #main-system,[data-theme="cyber"] #main-system{
            --ui-canvas:#101827;--ui-surface:#172235;--ui-surface-subtle:#1a293f;--ui-line:#2b3b54;--ui-line-strong:#40516d;--ui-ink:#edf3ff;--ui-muted:#aab8cc;--ui-shadow:0 10px 28px rgba(0,0,0,.16);--ui-shadow-raised:0 20px 48px rgba(0,0,0,.3)
        }
        [data-theme="dark"] #main-system{--ui-accent:#8b86ff;--ui-accent-strong:#716be8;--ui-accent-soft:#29284f;--ui-sidebar:#101827;--ui-sidebar-deep:#0b111c;--ui-sidebar-active:rgba(139,134,255,.25);color-scheme:dark}
        [data-theme="cyber"] #main-system{--ui-accent:#28bfd9;--ui-accent-strong:#12a5c0;--ui-accent-soft:#123846;--ui-sidebar:#091923;--ui-sidebar-deep:#071018;--ui-sidebar-active:rgba(40,191,217,.22);color-scheme:dark}
        #main-system .workspace-content{
            background:radial-gradient(circle at 92% -12%,color-mix(in srgb,var(--ui-accent) 11%,transparent),transparent 26rem),linear-gradient(180deg,var(--ui-surface-subtle),var(--ui-canvas) 19rem)!important;
        }
        [data-theme="dark"] #main-system .workspace-content,[data-theme="cyber"] #main-system .workspace-content{background:radial-gradient(circle at 90% -10%,color-mix(in srgb,var(--ui-accent) 14%,transparent),transparent 28rem),linear-gradient(180deg,#121d2f,var(--ui-canvas) 23rem)!important}
        #main-system .sidebar{background:linear-gradient(180deg,var(--ui-sidebar),var(--ui-sidebar-deep))!important;border-right-color:rgba(176,195,225,.12)!important}
        #main-system .sidebar::before{background:linear-gradient(180deg,transparent,var(--ui-accent) 22%,color-mix(in srgb,var(--ui-accent) 32%,transparent) 58%,transparent)!important}
        #main-system .sidebar-title{background:linear-gradient(135deg,color-mix(in srgb,var(--ui-accent) 21%,transparent),rgba(255,255,255,.03))!important;border-color:rgba(190,205,236,.12)!important}
        #main-system .sidebar .nav-link{color:var(--ui-sidebar-text)!important}
        #main-system .sidebar .nav-link i,#main-system .sidebar .form-label,#main-system .sidebar .user-info small{color:var(--ui-sidebar-muted)!important}
        #main-system .sidebar .nav-link:hover{background:rgba(255,255,255,.065)!important;transform:none!important}
        #main-system .sidebar .nav-link.active{background:linear-gradient(90deg,var(--ui-sidebar-active),rgba(255,255,255,.035))!important;border-color:color-mix(in srgb,var(--ui-accent) 45%,transparent)!important;box-shadow:inset 3px 0 0 var(--ui-accent)!important}
        #main-system .sidebar .nav-link.active i{color:color-mix(in srgb,var(--ui-accent) 45%,#fff)!important}
        #main-system .sidebar .theme-selector{background:rgba(255,255,255,.06)!important;color:var(--ui-sidebar-text)!important}
        #main-system .sidebar .theme-selector option{color:#1b2738;background:#fff}
        #main-system .overview-banner,#main-system .workspace-content .card{border-color:var(--ui-line)!important;background:var(--ui-surface)!important;box-shadow:var(--ui-shadow)!important}
        #main-system .overview-banner{background:linear-gradient(112deg,var(--ui-surface),var(--ui-surface-subtle))!important}
        #main-system .overview-banner::before,#main-system .workspace-stat-card::before{background:linear-gradient(180deg,var(--ui-accent),color-mix(in srgb,var(--ui-accent) 65%,#5c8cf0))!important}
        #main-system .overview-banner h1,#main-system .overview-banner h2,#main-system .overview-banner h3,#main-system .workspace-content h1,#main-system .workspace-content h2,#main-system .workspace-content h3,#main-system .workspace-content h4,#main-system .workspace-content h5,#main-system .workspace-content h6{color:var(--ui-ink)}
        #main-system .overview-banner p,#main-system .workspace-content .text-muted,#main-system .workspace-content .form-text{color:var(--ui-muted)!important}
        #main-system .workspace-content .card:hover{border-color:color-mix(in srgb,var(--ui-accent) 26%,var(--ui-line))!important;box-shadow:var(--ui-shadow-raised)!important;transform:translateY(-1px)}
        #main-system .workspace-content .card-header{border-bottom-color:var(--ui-line)!important;color:var(--ui-ink)!important;background:linear-gradient(180deg,var(--ui-surface),var(--ui-surface-subtle))!important}
        #main-system .form-control,#main-system .form-select,#main-system textarea,#main-system .input-group-text{border-color:var(--ui-line-strong)!important;color:var(--ui-ink)!important;background:var(--ui-surface)!important}
        #main-system .form-control:focus,#main-system .form-select:focus,#main-system textarea:focus{border-color:var(--ui-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-accent) 16%,transparent)!important}
        #main-system .btn-primary{border-color:var(--ui-accent)!important;background:linear-gradient(135deg,var(--ui-accent),var(--ui-accent-strong))!important}
        #main-system .btn-outline-primary{border-color:color-mix(in srgb,var(--ui-accent) 48%,var(--ui-line))!important;color:var(--ui-accent)!important}
        #main-system .btn-outline-primary:hover{color:#fff!important;background:var(--ui-accent)!important}
        #main-system .btn-success{border-color:var(--ui-success)!important;background:var(--ui-success)!important}
        #main-system .btn-danger{border-color:var(--ui-danger)!important;background:var(--ui-danger)!important}
        #main-system .btn-light,#main-system .btn-outline-secondary{border-color:var(--ui-line)!important;color:var(--ui-ink)!important;background:var(--ui-surface)!important}
        #main-system .badge.bg-primary,#main-system .bg-primary{background-color:var(--ui-accent)!important}
        #main-system .badge.bg-success{color:var(--ui-success)!important;background:var(--ui-success-soft)!important}
        #main-system .badge.bg-danger{color:var(--ui-danger)!important;background:var(--ui-danger-soft)!important}
        #main-system .workspace-content .table{--bs-table-bg:transparent;--bs-table-color:var(--ui-ink);--bs-table-border-color:var(--ui-line)}
        #main-system .workspace-content .table thead th{color:var(--ui-muted)!important;background:var(--ui-surface-subtle)!important;border-bottom-color:var(--ui-line-strong)!important}
        #main-system .workspace-content .table tbody td{border-color:var(--ui-line)!important}
        #main-system .workspace-content .table tbody tr:hover>*{--bs-table-accent-bg:color-mix(in srgb,var(--ui-accent) 5%,var(--ui-surface))}
        #main-system .alert-info{border-color:color-mix(in srgb,var(--ui-accent) 23%,var(--ui-line))!important;color:var(--ui-ink)!important;background:var(--ui-accent-soft)!important}
        #main-system .alert-success{border-color:color-mix(in srgb,var(--ui-success) 28%,var(--ui-line))!important;color:var(--ui-success)!important;background:var(--ui-success-soft)!important}
        #main-system .alert-warning{border-color:color-mix(in srgb,var(--ui-warning) 28%,var(--ui-line))!important;color:var(--ui-warning)!important;background:var(--ui-warning-soft)!important}
        #main-system .alert-danger{border-color:color-mix(in srgb,var(--ui-danger) 28%,var(--ui-line))!important;color:var(--ui-danger)!important;background:var(--ui-danger-soft)!important}
        #main-system .modal-content,#main-system .dropdown-menu,#main-system .popover{border-color:var(--ui-line)!important;color:var(--ui-ink)!important;background:var(--ui-surface)!important;box-shadow:var(--ui-shadow-raised)!important}
        #main-system .modal-header,#main-system .modal-footer{border-color:var(--ui-line)!important}
        #main-system .dropdown-item{color:var(--ui-ink)!important}
        #main-system .dropdown-item:hover,#main-system .dropdown-item:focus{color:var(--ui-accent)!important;background:var(--ui-accent-soft)!important}
        #main-system .text-primary{color:var(--ui-accent)!important}#main-system .text-success{color:var(--ui-success)!important}#main-system .text-danger{color:var(--ui-danger)!important}
        #main-system *:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-accent) 28%,transparent)!important}
        #main-system ::-webkit-scrollbar{width:10px;height:10px}#main-system ::-webkit-scrollbar-track{background:transparent}#main-system ::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--ui-muted) 48%,transparent);background-clip:padding-box}
        [data-theme="dark"] #main-system #yearly-kpi-summary .card,[data-theme="cyber"] #main-system #yearly-kpi-summary .card{background:var(--ui-surface)!important;border-color:var(--ui-line)!important}
        [data-theme="dark"] #main-system #yearly-kpi-summary .overview-banner,[data-theme="cyber"] #main-system #yearly-kpi-summary .overview-banner{background:linear-gradient(112deg,var(--ui-surface),var(--ui-surface-subtle))!important;border-color:var(--ui-line)!important}

        /* 文件资料库：文件夹 + 元数据 + 常用视图 */
        #file-manager .file-library-shell{display:grid;grid-template-columns:248px minmax(0,1fr);gap:1rem;align-items:start}
        #file-manager .file-library-sidebar{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto}
        #file-manager .file-library-main{min-width:0}
        #file-manager .file-nav-title{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-muted,var(--m-text-muted));padding:.2rem .45rem}
        #file-manager .file-smart-nav{display:grid;gap:.2rem;margin-top:.35rem}
        #file-manager .file-smart-nav button{width:100%;display:flex;align-items:center;gap:.65rem;border:0;border-radius:10px;padding:.58rem .68rem;color:var(--ui-ink,var(--m-text));background:transparent;text-align:left;font-size:.88rem;transition:.16s ease}
        #file-manager .file-smart-nav button:hover{background:color-mix(in srgb,var(--ui-accent,var(--m-accent)) 7%,transparent)}
        #file-manager .file-smart-nav button.active{color:var(--ui-accent,var(--m-accent));background:color-mix(in srgb,var(--ui-accent,var(--m-accent)) 11%,transparent);font-weight:750}
        #file-manager .file-folder-tree,#file-manager .file-saved-views{display:grid;gap:.18rem;margin-top:.35rem}
        #file-manager .file-tree-item,#file-manager .file-saved-view{display:flex;align-items:center;gap:.45rem;width:100%;min-width:0;border:0;border-radius:9px;padding:.45rem .55rem;background:transparent;color:var(--ui-ink,var(--m-text));font-size:.82rem;text-align:left}
        #file-manager .file-tree-item:hover,#file-manager .file-saved-view:hover{background:var(--ui-surface-subtle,var(--m-fill))}
        #file-manager .file-tree-item span,#file-manager .file-saved-view span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        #file-manager .file-location-bar,#file-manager .file-search-row,#file-manager .file-result-summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem}
        #file-manager .file-upload-destination{font-size:.78rem;color:var(--ui-muted,var(--m-text-muted));white-space:nowrap}
        #file-manager .file-search-row .file-global-search{min-width:0;flex:1}
        #file-manager #file-view-mode{width:140px;flex:0 0 140px}
        #file-manager .file-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto auto;gap:.65rem;padding:.8rem;border:1px solid var(--ui-line,var(--m-border));border-radius:12px;background:var(--ui-surface-subtle,var(--m-fill))}
        #file-manager .file-filter-panel label{display:block;margin-bottom:.25rem;font-size:.7rem;font-weight:700;color:var(--ui-muted,var(--m-text-muted))}
        #file-manager .file-batch-bar{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:.65rem .75rem;border:1px solid color-mix(in srgb,var(--ui-accent,var(--m-accent)) 24%,var(--ui-line,var(--m-border)));border-radius:11px;background:color-mix(in srgb,var(--ui-accent,var(--m-accent)) 6%,var(--ui-surface,var(--m-bg-card)))}
        #file-manager .file-result-summary{font-size:.78rem;color:var(--ui-muted,var(--m-text-muted))}
        #file-manager .file-naming-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        #file-manager .file-library-table{margin:0;min-width:980px}
        #file-manager .file-library-table th{font-size:.72rem;text-transform:none;white-space:nowrap;color:var(--ui-muted,var(--m-text-muted));background:var(--ui-surface-subtle,var(--m-fill));position:sticky;top:0;z-index:2}
        #file-manager .file-library-table td{font-size:.82rem;vertical-align:middle}
        #file-manager .file-name-cell{display:flex;align-items:center;gap:.52rem;min-width:220px}
        #file-manager .file-name-cell .file-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        #file-manager .file-tag{display:inline-block;max-width:110px;margin:.08rem .15rem .08rem 0;padding:.12rem .38rem;border-radius:999px;background:color-mix(in srgb,var(--ui-accent,var(--m-accent)) 9%,var(--ui-surface,var(--m-bg-card)));color:var(--ui-accent,var(--m-accent));font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
        #file-manager .file-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.8rem;padding:.85rem}
        #file-manager .file-library-card{position:relative;border:1px solid var(--ui-line,var(--m-border));border-radius:13px;background:var(--ui-surface,var(--m-bg-card));padding:.85rem;min-width:0}
        #file-manager .file-library-card:hover{border-color:color-mix(in srgb,var(--ui-accent,var(--m-accent)) 35%,var(--ui-line,var(--m-border)));box-shadow:0 10px 24px -22px rgba(20,30,60,.7)}
        #file-manager .file-card-check{position:absolute;top:.65rem;left:.65rem}
        #file-manager .file-card-icon{font-size:2.3rem;margin:.65rem 0 .35rem;text-align:center}
        #file-manager .file-card-name{font-size:.85rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
        #file-manager .file-card-meta{min-height:34px;font-size:.72rem;color:var(--ui-muted,var(--m-text-muted));text-align:center;margin:.25rem 0 .6rem}
        #file-manager .file-card-actions{display:flex;gap:.3rem;justify-content:center;flex-wrap:wrap}
        #file-manager .file-empty-state{display:grid;place-items:center;text-align:center;min-height:260px;padding:2rem;color:var(--ui-muted,var(--m-text-muted))}
        #file-manager .file-empty-state i{font-size:2.5rem;color:color-mix(in srgb,var(--ui-accent,var(--m-accent)) 55%,var(--ui-muted,var(--m-text-muted)))}
        @media(max-width:991.98px){#file-manager .file-library-shell{grid-template-columns:1fr}#file-manager .file-library-sidebar{position:static;max-height:none}#file-manager .file-smart-nav{grid-template-columns:repeat(4,minmax(0,1fr))}#file-manager .file-smart-nav button{justify-content:center}#file-manager .file-smart-nav button span{display:none}#file-manager .file-folder-tree{grid-template-columns:repeat(2,minmax(0,1fr))}#file-manager .file-filter-panel{grid-template-columns:repeat(2,minmax(120px,1fr)) auto auto}}
        @media(max-width:575.98px){#file-manager .file-location-bar,#file-manager .file-search-row,#file-manager .file-result-summary{align-items:stretch;flex-direction:column}#file-manager #file-view-mode{width:100%;flex-basis:auto}#file-manager .file-filter-panel{grid-template-columns:1fr}#file-manager .file-folder-tree{grid-template-columns:1fr}#file-manager .file-naming-hint{white-space:normal}}

        /* Personal AI 空白页背景：使用用户提供的鲸鱼原图，并以深色层保证对话内容可读。 */
        .ai-shell{position:relative;background:#061526}
        .ai-sidebar{background:rgba(3,18,31,.68);backdrop-filter:blur(18px)}
        .ai-main{background:linear-gradient(180deg,rgba(3,17,30,.20),rgba(2,12,23,.50))}
        .ai-topbar{background:rgba(4,19,32,.24);backdrop-filter:blur(10px)}
        .ai-composer-wrap{background:linear-gradient(0deg,rgba(2,12,23,.93) 68%,rgba(2,12,23,0))}
        .ai-main.ai-empty-state .ai-composer-wrap{background:transparent}
        @media(max-width:767.98px){.ai-shell{background-attachment:scroll;background-position:center top}.ai-sidebar{background:rgba(3,18,31,.82)}}

        /* Personal AI 新对话主视觉与输入框内的模型档位。 */
        .ai-main.ai-empty-state .ai-empty--horizon{display:flex;align-items:center;justify-content:center;gap:.78rem;width:auto;margin:clamp(9vh,19vh,15rem) auto 0;text-align:left}
        .ai-empty-horizon-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(191,232,255,.33);border-radius:50%;color:#e5f6ff;background:rgba(24,124,178,.16);box-shadow:0 10px 30px rgba(24,156,220,.18);font-size:1.2rem}
        .ai-main.ai-empty-state .ai-empty--horizon h1{margin:0;color:#f5fbff;font-size:clamp(1.8rem,3.15vw,2.7rem);font-weight:780;letter-spacing:-.055em;text-shadow:0 3px 28px rgba(1,20,38,.44)}
        .ai-composer-model-switch{display:flex;grid-template-columns:none;align-items:center;gap:2px;margin:0;padding:2px;border-color:rgba(165,220,255,.22);border-radius:9px;background:rgba(3,24,43,.62)}
        .ai-composer-model-switch button{display:inline-flex;align-items:center;gap:.28rem;padding:.38rem .5rem;white-space:nowrap;font-size:.68rem;letter-spacing:0}
        .ai-composer-model-switch button.active{background:rgba(37,99,235,.74)}
        @media(max-width:575.98px){.ai-main.ai-empty-state .ai-empty--horizon{gap:.55rem;margin-top:clamp(7vh,13vh,10rem)}.ai-empty-horizon-mark{width:33px;height:33px;font-size:1rem}.ai-main.ai-empty-state .ai-empty--horizon h1{font-size:clamp(1.55rem,7.3vw,2rem)}.ai-composer-bottom{align-items:flex-end}.ai-composer-model-switch button{padding:.38rem}.ai-composer-model-switch button[data-tier="chat"]{font-size:0}.ai-composer-model-switch button[data-tier="chat"] i{margin:0;font-size:.82rem}.ai-composer-model-switch button[data-tier="pro"]{font-size:.65rem}}

        /* Personal AI 深海玻璃层：让背景、导航与输入区使用同一套材质语言。 */
        .ai-sidebar{border-right-color:rgba(185,230,255,.15);background:linear-gradient(180deg,rgba(2,21,36,.40),rgba(2,17,31,.18));box-shadow:18px 0 50px rgba(1,14,27,.12);backdrop-filter:blur(14px) saturate(118%)}
        .ai-sidebar::before{position:absolute;inset:0;z-index:-1;content:"";pointer-events:none;background:linear-gradient(110deg,rgba(111,207,255,.08),transparent 38%,rgba(5,33,54,.10))}
        .ai-main{background:linear-gradient(180deg,rgba(3,18,31,.05),rgba(2,11,22,.27))}
        .ai-topbar{border-bottom-color:rgba(185,230,255,.13);background:linear-gradient(90deg,rgba(2,17,31,.22),rgba(5,28,43,.10));backdrop-filter:blur(16px) saturate(116%)}
        .ai-topbar h2{font-weight:720;letter-spacing:-.03em}.ai-topbar p{color:rgba(208,230,245,.62)}
        .ai-status,.ai-topbar .ai-thinking-toggle{border-color:rgba(177,223,251,.16);background:rgba(3,29,47,.32);box-shadow:inset 0 1px rgba(255,255,255,.04)}
        .ai-new-chat{border-color:rgba(186,228,255,.28);background:linear-gradient(135deg,rgba(61,138,222,.48),rgba(39,103,177,.34));box-shadow:inset 0 1px rgba(255,255,255,.14),0 12px 26px rgba(1,20,39,.17)}
        .ai-new-chat:hover{border-color:rgba(216,243,255,.54);background:linear-gradient(135deg,rgba(75,156,239,.62),rgba(42,111,190,.49));box-shadow:inset 0 1px rgba(255,255,255,.20),0 17px 34px rgba(1,20,39,.26)}
        .ai-ppt-entry{border-color:rgba(128,222,232,.23);color:#d4f7f7;background:linear-gradient(135deg,rgba(24,140,156,.23),rgba(19,103,135,.14));box-shadow:inset 0 1px rgba(255,255,255,.06)}
        .ai-ppt-entry:hover{border-color:rgba(183,245,244,.48);background:linear-gradient(135deg,rgba(29,158,176,.38),rgba(23,115,150,.27))}
        .ai-conversation-search{border-color:rgba(180,225,250,.16);background:rgba(3,24,41,.30);box-shadow:inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(10px)}
        .ai-conversation{color:rgba(221,237,248,.77)}.ai-conversation:hover,.ai-conversation.active{border-color:rgba(169,223,249,.16);background:rgba(189,231,255,.075)}
        .ai-sidebar-footer{border-top-color:rgba(185,230,255,.12)}.ai-sidebar-footer button{color:rgba(215,235,247,.72)}.ai-sidebar-footer button:hover{background:rgba(181,227,250,.09)}
        .ai-composer{border-color:rgba(177,225,253,.28);background:linear-gradient(145deg,rgba(5,31,54,.72),rgba(5,21,42,.64));box-shadow:inset 0 1px rgba(255,255,255,.09),0 22px 54px rgba(1,12,27,.31);backdrop-filter:blur(18px) saturate(120%)}
        .ai-composer:focus-within{border-color:rgba(162,223,255,.54);box-shadow:inset 0 1px rgba(255,255,255,.12),0 0 0 3px rgba(63,160,221,.10),0 24px 60px rgba(1,12,27,.38)}
        .ai-tool-btn{color:rgba(213,231,244,.66)}.ai-tool-btn:hover{color:#f6fdff;background:rgba(186,229,253,.10)}
        .ai-composer-model-switch{border-color:rgba(165,220,248,.23);background:rgba(2,23,41,.52)}.ai-composer-model-switch button.active{background:linear-gradient(135deg,rgba(45,132,216,.88),rgba(48,100,205,.78));box-shadow:0 5px 14px rgba(0,21,44,.28)}
        .ai-main.ai-empty-state .ai-empty--horizon{margin:clamp(7vh,14vh,12rem) auto clamp(4.5rem,8vh,7.5rem);filter:drop-shadow(0 12px 24px rgba(1,16,31,.24))}
        .ai-empty-horizon-mark{border-color:rgba(186,235,255,.38);background:rgba(35,132,181,.18);box-shadow:inset 0 1px rgba(255,255,255,.10),0 12px 32px rgba(0,46,78,.25)}
        .ai-main.ai-empty-state .ai-empty--horizon h1{font-weight:740;letter-spacing:-.065em;text-shadow:0 4px 30px rgba(1,16,31,.52)}
        .ai-sidebar,.ai-conversation-list,.ai-message-list{scrollbar-color:rgba(181,224,244,.36) transparent;scrollbar-width:thin}
        .ai-sidebar::-webkit-scrollbar,.ai-conversation-list::-webkit-scrollbar,.ai-message-list::-webkit-scrollbar{width:7px}.ai-sidebar::-webkit-scrollbar-thumb,.ai-conversation-list::-webkit-scrollbar-thumb,.ai-message-list::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:rgba(177,222,243,.34);background-clip:padding-box}
        @media(max-width:575.98px){.ai-sidebar{background:rgba(2,18,32,.54)}.ai-main.ai-empty-state .ai-empty--horizon{margin:clamp(6vh,11vh,9rem) auto 3.6rem}}

        /* 左侧真正透出背景；对话操作在悬停或当前选中时显示。 */
        .ai-sidebar{background:linear-gradient(180deg,rgba(1,19,33,.15),rgba(1,15,29,.08))!important;box-shadow:14px 0 42px rgba(0,12,25,.08);backdrop-filter:blur(9px) saturate(110%)}
        .ai-sidebar::before{display:none}
        .ai-conversation-rename,.ai-conversation-delete{display:grid!important;place-items:center;width:28px;height:28px;flex:0 0 auto;margin-right:.05rem;padding:0;border:1px solid transparent;border-radius:8px;opacity:0;pointer-events:none;color:rgba(213,236,248,.66);background:transparent;transition:opacity .15s ease,color .15s ease,background .15s ease,border-color .15s ease}
        .ai-conversation:hover .ai-conversation-rename,.ai-conversation.active .ai-conversation-rename,.ai-conversation:hover .ai-conversation-delete,.ai-conversation.active .ai-conversation-delete{opacity:1;pointer-events:auto}
        .ai-conversation-rename:hover{border-color:rgba(164,221,250,.34);color:#fff;background:rgba(157,219,249,.13)}
        .ai-conversation-delete:hover{border-color:rgba(251,113,133,.4);color:#fecdd3;background:rgba(190,24,93,.22)}
        .ai-conversation-menu-rename{display:flex;align-items:center;gap:.48rem;width:100%;border:0;border-radius:8px;padding:.5rem;color:#d8effb;background:transparent;font-size:.76rem;text-align:left}.ai-conversation-menu-rename:hover{color:#fff;background:rgba(157,219,249,.14)}
        @media(max-width:767.98px){.ai-conversation-rename,.ai-conversation-delete{opacity:1;pointer-events:auto}}

        /* Personal AI 深海玻璃主题：无图片壁纸，以流体色层、玻璃材质和粒子鲸鱼构成。 */
        .ai-shell{--ai-aqua-blur:18px;--ai-aqua-frost:.34;--ai-aqua-brightness:.38;isolation:isolate;overflow:hidden}
        .ai-aqua-fluid,.ai-aqua-whale,.ai-aqua-edge{display:none;pointer-events:none}
        .ai-shell.is-aqua{background:linear-gradient(132deg,#03101c 0%,#062a40 44%,#07162e 100%)}
        .ai-shell.is-aqua .ai-aqua-fluid{position:absolute;z-index:-2;inset:-22%;display:block;background:radial-gradient(ellipse at 24% 18%,rgba(41,188,221,var(--ai-aqua-brightness)),transparent 31%),radial-gradient(ellipse at 80% 32%,rgba(53,102,234,calc(var(--ai-aqua-brightness) * .80)),transparent 36%),radial-gradient(ellipse at 49% 82%,rgba(7,123,174,calc(var(--ai-aqua-brightness) * .76)),transparent 38%),linear-gradient(128deg,#020c17,#062943 48%,#081127);filter:blur(22px) saturate(118%);transform:scale(1.08);animation:ai-aqua-flow 22s ease-in-out infinite alternate}
        .ai-shell.is-aqua .ai-aqua-whale{position:absolute;z-index:-1;inset:0;display:block;width:100%;height:100%;opacity:.76;mix-blend-mode:screen}
        .ai-shell.is-aqua .ai-aqua-edge{position:absolute;z-index:5;right:0;left:0;display:block;height:86px;opacity:.82}
        .ai-shell.is-aqua .ai-aqua-edge-top{top:0;background:linear-gradient(180deg,rgba(2,11,23,.64),transparent)}
        .ai-shell.is-aqua .ai-aqua-edge-bottom{bottom:0;background:linear-gradient(0deg,rgba(2,11,23,.68),transparent)}
        .ai-shell.is-aqua .ai-sidebar,.ai-shell.is-aqua .ai-main,.ai-shell.is-aqua .ai-settings{position:relative;z-index:1}
        .ai-shell.is-aqua .ai-sidebar{border:1px solid rgba(199,238,255,.17);background:linear-gradient(155deg,rgba(6,29,48,calc(var(--ai-aqua-frost) * .86)),rgba(3,17,34,calc(var(--ai-aqua-frost) * .54)))!important;box-shadow:inset 0 1px rgba(255,255,255,.08),0 22px 60px rgba(0,10,24,.23);backdrop-filter:blur(var(--ai-aqua-blur)) saturate(145%)}
        .ai-shell.is-aqua .ai-main{border:1px solid rgba(199,238,255,.12);background:linear-gradient(142deg,rgba(4,24,43,calc(var(--ai-aqua-frost) * .45)),rgba(3,14,30,calc(var(--ai-aqua-frost) * .22)));box-shadow:inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(calc(var(--ai-aqua-blur) * .42)) saturate(125%)}
        .ai-shell.is-aqua .ai-topbar{background:linear-gradient(100deg,rgba(4,25,45,calc(var(--ai-aqua-frost) * .65)),rgba(8,30,48,calc(var(--ai-aqua-frost) * .28)));backdrop-filter:blur(var(--ai-aqua-blur)) saturate(140%)}
        .ai-shell.is-aqua .ai-composer-wrap{background:linear-gradient(0deg,rgba(2,12,25,calc(var(--ai-aqua-frost) * .72)) 55%,transparent)}
        .ai-shell.is-aqua .ai-main.ai-empty-state .ai-composer-wrap{background:transparent}
        .ai-shell.is-aqua .ai-composer{border-color:rgba(196,238,255,.27);background:linear-gradient(140deg,rgba(13,52,79,calc(var(--ai-aqua-frost) * 1.3)),rgba(4,20,43,calc(var(--ai-aqua-frost) * 1.12)));box-shadow:inset 0 1px rgba(255,255,255,.13),0 24px 60px rgba(0,10,28,.32);backdrop-filter:blur(var(--ai-aqua-blur)) saturate(145%)}
        .ai-shell.is-aqua.aqua-mica .ai-sidebar{height:calc(100vh - 24px);margin:12px;border-radius:20px}.ai-shell.is-aqua.aqua-mica .ai-main{height:calc(100vh - 24px);margin:12px 12px 12px 0;border-radius:20px;overflow:hidden}.ai-shell.is-aqua.aqua-mica .ai-topbar{border-radius:20px 20px 0 0}
        .ai-shell.is-aqua.aqua-compat .ai-sidebar,.ai-shell.is-aqua.aqua-compat .ai-main{border-width:0;border-radius:0;margin:0}.ai-shell.is-aqua.aqua-compat .ai-sidebar{border-right:1px solid rgba(199,238,255,.14)}
        .ai-aqua-settings{margin:1rem 0 1.2rem;padding:1rem;border:1px solid rgba(157,219,249,.23);border-radius:14px;background:linear-gradient(145deg,rgba(24,124,171,.16),rgba(27,38,87,.14));box-shadow:inset 0 1px rgba(255,255,255,.06)}.ai-aqua-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.ai-aqua-settings h4{margin:0;color:#e9f8ff;font-size:.94rem}.ai-aqua-settings p{margin:.26rem 0 0;color:#94b7ca;font-size:.7rem;line-height:1.45}.ai-aqua-settings-heading button{border:0;border-radius:8px;padding:.34rem .48rem;color:#c7efff;background:rgba(156,219,249,.11);font-size:.68rem}.ai-aqua-settings select{width:100%;padding:.6rem .68rem;border:1px solid rgba(179,227,250,.2);border-radius:9px;color:#e8f7ff;background:rgba(1,20,37,.44)}.ai-aqua-toggle{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:.92rem;color:#d5eefb;font-size:.78rem;font-weight:700;cursor:pointer}.ai-aqua-toggle input{position:absolute;opacity:0;pointer-events:none}.ai-aqua-toggle i{position:relative;width:37px;height:21px;border-radius:99px;background:rgba(156,198,223,.25);transition:.18s}.ai-aqua-toggle i::after{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;content:"";background:#dbeefe;transition:.18s}.ai-aqua-toggle input:checked+i{background:#268fd0;box-shadow:0 0 15px rgba(57,172,234,.35)}.ai-aqua-toggle input:checked+i::after{transform:translateX(16px);background:#fff}.ai-aqua-range{display:block;margin-top:.9rem;color:#c7e5f4;font-size:.72rem}.ai-aqua-range span{display:flex;justify-content:space-between;margin-bottom:.28rem}.ai-aqua-range output{color:#77d5ff;font-weight:800}.ai-aqua-range input{width:100%;padding:0;accent-color:#39b8ef}
        @keyframes ai-aqua-flow{0%{transform:scale(1.08) translate3d(-2%,-1%,0) rotate(0deg)}100%{transform:scale(1.15) translate3d(2%,2%,0) rotate(4deg)}}
        @media(max-width:767.98px){.ai-shell.is-aqua.aqua-mica .ai-main{height:100vh;margin:0;border-radius:0}.ai-shell.is-aqua .ai-aqua-whale{opacity:.48}.ai-shell.is-aqua .ai-aqua-edge{height:58px}}
        @media(prefers-reduced-motion:reduce){.ai-shell.is-aqua .ai-aqua-fluid{animation:none}}

        /* Aqua 复刻层：中性玻璃、流体/壁纸双背景和 5px 边缘融化效果。 */
        .ai-shell.is-aqua{--ai-aqua-hue:215;--ai-aqua-wallpaper-blur:0px;--ai-aqua-wallpaper-frost:.35;background:#09101a}
        .ai-shell.is-aqua .ai-aqua-fluid{inset:-26px;filter:blur(0) saturate(104%);transform:none;background:radial-gradient(760px 420px at 50% -8%,hsl(var(--ai-aqua-hue) 74% 73% / .20),transparent 70%),linear-gradient(180deg,hsl(var(--ai-aqua-hue) 62% 61% / .15) 0%,transparent 46%),radial-gradient(900px 420px at 50% 108%,hsl(var(--ai-aqua-hue) 72% 52% / .15),transparent 70%),linear-gradient(140deg,hsl(var(--ai-aqua-hue) 38% 8%),hsl(var(--ai-aqua-hue) 48% 13%) 48%,hsl(calc(var(--ai-aqua-hue) + 19) 44% 8%));animation:ai-aqua-breathe 9s ease-in-out infinite alternate}
        .ai-shell.is-aqua.aqua-wallpaper .ai-aqua-fluid{inset:calc(-1 * var(--ai-aqua-wallpaper-blur));background-image:var(--ai-aqua-wallpaper);background-position:center;background-size:cover;filter:blur(var(--ai-aqua-wallpaper-blur))}.ai-shell.is-aqua.aqua-wallpaper .ai-aqua-fluid::after{position:absolute;inset:0;content:"";background:rgb(8 14 23 / var(--ai-aqua-wallpaper-frost))}
        .ai-shell.is-aqua .ai-aqua-fluid::before{position:absolute;inset:0;content:"";background:rgb(0 0 0 / calc((.5 - var(--ai-aqua-brightness)) * 1.4));pointer-events:none}
        .ai-shell.is-aqua .ai-aqua-edge{z-index:20;height:5px;opacity:1;backdrop-filter:blur(5px)}.ai-shell.is-aqua .ai-aqua-edge-top{background:linear-gradient(180deg,rgb(8 13 20 / .30),transparent)}.ai-shell.is-aqua .ai-aqua-edge-bottom{background:linear-gradient(0deg,rgb(8 13 20 / .30),transparent)}
        .ai-shell.is-aqua .ai-sidebar{border-color:rgb(255 255 255 / .12);background:rgb(34 38 47 / calc(.50 * var(--ai-aqua-frost)))!important;box-shadow:inset 0 1px rgb(255 255 255 / .07),0 14px 42px rgb(0 0 0 / .17);backdrop-filter:blur(var(--ai-aqua-blur)) saturate(112%)}
        .ai-shell.is-aqua .ai-main{border-color:rgb(255 255 255 / .10);background:rgb(34 38 47 / calc(.31 * var(--ai-aqua-frost)));box-shadow:inset 0 1px rgb(255 255 255 / .06);backdrop-filter:blur(calc(var(--ai-aqua-blur) * .5)) saturate(108%)}
        .ai-shell.is-aqua .ai-topbar{border-color:rgb(255 255 255 / .10);background:rgb(34 38 47 / calc(.39 * var(--ai-aqua-frost)));backdrop-filter:blur(var(--ai-aqua-blur)) saturate(112%)}
        .ai-shell.is-aqua .ai-composer-wrap{background:transparent}.ai-shell.is-aqua .ai-composer{border-color:rgb(255 255 255 / .15);background:rgb(34 38 47 / calc(.48 * var(--ai-aqua-frost)));box-shadow:inset 0 1px rgb(255 255 255 / .09),0 20px 42px rgb(0 0 0 / .22);backdrop-filter:blur(var(--ai-aqua-blur)) saturate(112%)}
        .ai-shell.is-aqua .ai-brand small{display:inline-flex;align-items:center;margin:.18rem 0 0;padding:.12rem .36rem;border:1px solid rgb(255 255 255 / .20);border-radius:999px;color:#dcecff;background:linear-gradient(135deg,rgb(159 202 255 / .36),rgb(112 95 247 / .32));box-shadow:0 0 12px rgb(110 159 255 / .24);font-size:.55rem;letter-spacing:.10em}
        .ai-shell.is-aqua.aqua-mica .ai-sidebar{height:calc(100vh - 16px);margin:8px;border-radius:14px}.ai-shell.is-aqua.aqua-mica .ai-main{height:calc(100vh - 16px);margin:8px 8px 8px 0;border-radius:14px;overflow:hidden}.ai-shell.is-aqua.aqua-mica .ai-topbar{border-radius:14px 14px 0 0}.ai-shell.is-aqua.aqua-compat .ai-sidebar,.ai-shell.is-aqua.aqua-compat .ai-main{border-radius:0;margin:0}.ai-shell.is-aqua.aqua-compat .ai-sidebar{border-right:1px solid rgb(255 255 255 / .12)}
        .ai-aqua-plugin-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:1rem 0;padding:16px;border:1px solid rgb(255 255 255 / .13);border-radius:12px;background:rgb(255 255 255 / .035)}.ai-aqua-plugin-card h4,.ai-aqua-settings h4{margin:0;color:#edf4fb;font-size:14px;font-weight:600;line-height:22px}.ai-aqua-plugin-card p{margin:2px 0 0;color:#90a3b7;font-size:12px;line-height:18px}.ai-aqua-master,.ai-aqua-mini-toggle{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 6px;border:1px solid rgb(255 255 255 / .15);border-radius:14px;color:#dce8f4;background:transparent;font-size:12px;line-height:18px}.ai-aqua-master i,.ai-aqua-mini-toggle i{display:inline-grid;place-items:center;width:16px;height:16px}.ai-aqua-master[aria-pressed="true"],.ai-aqua-mini-toggle[aria-pressed="true"]{border-color:transparent;color:#79cbff;background:rgb(31 128 205 / .26)}
        .ai-aqua-settings{display:flex;flex-direction:column;gap:14px;margin:0 0 1.2rem;padding:8px 0 16px;border:0;border-radius:0;background:transparent;box-shadow:none}.ai-aqua-settings[hidden]{display:none}.ai-aqua-group{display:flex;flex-direction:column;gap:8px;padding:0 0 16px;border-bottom:1px solid rgb(255 255 255 / .10)}.ai-aqua-group>p{margin:-4px 0 0;color:#7f91a5;font-size:12px;line-height:18px}.ai-aqua-row{display:flex;align-items:center;gap:10px;min-height:28px}.ai-aqua-row>span,.ai-aqua-knob>span:first-child{width:92px;flex:none;color:#aab8c7;font-size:12px;line-height:18px}.ai-aqua-segmented{display:inline-flex;overflow:hidden;border:1px solid rgb(255 255 255 / .15);border-radius:8px}.ai-aqua-segmented button{height:26px;padding:0 12px;border:0;color:#aab8c7;background:transparent;font-size:12px}.ai-aqua-segmented button+button{border-left:1px solid rgb(255 255 255 / .15)}.ai-aqua-segmented button.active{color:#72c9ff;background:rgb(31 128 205 / .24)}.ai-aqua-knob{display:flex;align-items:center;gap:10px}.ai-aqua-knob>input{min-width:0;flex:1;padding:0;accent-color:#4ebaf0}.ai-aqua-knob>span:last-child{display:inline-flex;align-items:center;gap:4px}.ai-aqua-knob input[type="number"]{width:56px;height:26px;padding:0 6px;border:1px solid rgb(255 255 255 / .15);border-radius:8px;color:#e8f1fa;background:rgb(255 255 255 / .06);font-size:12px;text-align:right}.ai-aqua-knob em{width:18px;color:#8395a8;font-size:12px;font-style:normal}.ai-aqua-wallpaper-only[hidden],.ai-aqua-fluid-only[hidden],.ai-aqua-mica-only[hidden]{display:none}.ai-aqua-ghost,.ai-aqua-delete,.ai-aqua-reset{height:26px;padding:0 12px;border:1px solid rgb(255 255 255 / .15);border-radius:8px;color:#dce8f4;background:transparent;font-size:12px}.ai-aqua-delete{margin-left:6px;color:#ff9ea7}.ai-aqua-reset{align-self:flex-start;color:#aab8c7}.ai-aqua-ghost:hover,.ai-aqua-reset:hover,.ai-aqua-master:hover,.ai-aqua-mini-toggle:hover{background:rgb(255 255 255 / .08)}
        @keyframes ai-aqua-breathe{from{opacity:.86}to{opacity:1}}@media(max-width:767.98px){.ai-shell.is-aqua.aqua-mica .ai-main{height:100vh;margin:0;border-radius:0}.ai-aqua-plugin-card{margin-top:.7rem}}
        /* 右侧设置抽屉独立形成滚动容器，避免长主题设置被视口裁切。 */
        .ai-settings{box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scrollbar-color:rgba(163,204,229,.48) transparent;scrollbar-width:thin}
        .ai-settings::-webkit-scrollbar{width:8px}.ai-settings::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:rgba(163,204,229,.42);background-clip:padding-box}.ai-settings::-webkit-scrollbar-thumb:hover{background:rgba(191,231,252,.68);background-clip:padding-box}
        @media(max-width:575.98px){.ai-settings{width:100vw;padding:1rem}}
        /* DeepSeek Harness 主入口与旧版 AI/PPT 回退入口。 */
        .legacy-personal-entry{position:absolute;z-index:30;right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,24px);display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:rgba(245,250,255,.82);background:rgba(8,16,28,.48);box-shadow:0 10px 30px rgba(0,0,0,.2);backdrop-filter:blur(14px);font-size:.72rem;font-weight:700;letter-spacing:.015em;transition:.18s}.legacy-personal-entry:hover{border-color:rgba(255,255,255,.46);color:#fff;background:rgba(20,35,55,.68);transform:translateY(-1px)}.automation-main,.workspace-portal-inner,.bio-space-main{position:relative}@media(max-width:767.98px){.legacy-personal-entry{position:fixed;right:12px;bottom:12px;padding:.48rem .65rem;font-size:.66rem}}
        [data-theme="dark"] #main-system #yearly-summary-table tbody td,[data-theme="cyber"] #main-system #yearly-summary-table tbody td{color:var(--ui-ink)!important;background:var(--ui-surface)!important;border-color:var(--ui-line)!important}
        [data-theme="dark"] #main-system #yearly-summary-table tbody tr:nth-child(even) td,[data-theme="cyber"] #main-system #yearly-summary-table tbody tr:nth-child(even) td{background:var(--ui-surface-subtle)!important}
        @media (prefers-reduced-motion:reduce){#main-system *,#main-system *::before,#main-system *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
    


        #automation-library .automation-library-banner{margin-bottom:1rem}
        .automation-library-shell{border:1px solid var(--ui-line,var(--m-border));border-radius:16px;background:var(--ui-surface,var(--m-bg-card));box-shadow:var(--ui-shadow,var(--m-shadow));overflow:hidden}
        .automation-library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--ui-line,var(--m-border));background:var(--ui-surface-subtle,var(--m-fill))}
        .automation-library-toolbar .form-select{width:130px}.automation-library-toolbar .form-control{width:250px}
        .automation-library-count{color:var(--ui-muted,var(--m-text-muted));font-size:.82rem;font-weight:650}.automation-library-count span{color:var(--ui-accent,var(--m-accent));font-size:1.02rem;font-weight:780}
        .automation-library-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.35fr);min-height:570px}.automation-asset-list{padding:.72rem;border-right:1px solid var(--ui-line,var(--m-border));max-height:680px;overflow:auto}
        .automation-asset-card{position:relative;width:100%;display:block;text-align:left;margin:0 0 .58rem;padding:1rem;border:1px solid transparent;border-radius:12px;color:var(--ui-ink,var(--m-text));background:transparent;transition:border-color .16s ease,background .16s ease,transform .16s ease}.automation-asset-card:hover{border-color:color-mix(in srgb,var(--ui-accent,var(--m-accent)) 25%,var(--ui-line,var(--m-border)));background:var(--ui-accent-soft,var(--m-fill));transform:translateY(-1px)}.automation-asset-card.active{border-color:color-mix(in srgb,var(--ui-accent,var(--m-accent)) 42%,var(--ui-line,var(--m-border)));background:var(--ui-accent-soft,var(--m-fill));box-shadow:inset 3px 0 0 var(--ui-accent,var(--m-accent))}
        .automation-asset-card-title{display:flex;align-items:flex-start;gap:.65rem;font-weight:760;letter-spacing:-.018em}.automation-asset-card-title i{margin-top:.08rem;color:var(--ui-accent,var(--m-accent))}.automation-asset-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:.5rem 0 0;color:var(--ui-muted,var(--m-text-muted));font-size:.79rem;line-height:1.55}.automation-asset-card-meta{display:flex;align-items:center;gap:.4rem;margin-top:.7rem;color:var(--ui-muted,var(--m-text-muted));font-size:.7rem}.automation-asset-card-meta .badge{font-weight:680}
        .automation-asset-detail{padding:1.3rem;min-width:0}.automation-asset-empty{min-height:460px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;text-align:center;color:var(--ui-muted,var(--m-text-muted))}.automation-asset-empty i{font-size:2.4rem;color:var(--ui-accent,var(--m-accent));opacity:.5}.automation-asset-empty strong{color:var(--ui-ink,var(--m-text))}.automation-asset-empty span{max-width:270px;font-size:.82rem;line-height:1.6}
        .automation-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--ui-line,var(--m-border))}.automation-detail-head h4{margin:0;color:var(--ui-ink,var(--m-text));font-weight:790;letter-spacing:-.03em}.automation-detail-head .small{color:var(--ui-muted,var(--m-text-muted))}.automation-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.automation-folder-callout{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:.9rem 1rem;border:1px solid color-mix(in srgb,var(--ui-accent,var(--m-accent)) 24%,var(--ui-line,var(--m-border)));border-radius:12px;background:linear-gradient(110deg,var(--ui-accent-soft,var(--m-fill)),var(--ui-surface,var(--m-bg-card)))}.automation-folder-callout small{display:block;color:var(--ui-muted,var(--m-text-muted));margin-bottom:.15rem}.automation-folder-callout strong{color:var(--ui-ink,var(--m-text));word-break:break-word}.automation-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}.automation-detail-block{padding:1rem;border:1px solid var(--ui-line,var(--m-border));border-radius:12px;background:var(--ui-surface-subtle,var(--m-fill))}.automation-detail-block.wide{grid-column:1/-1}.automation-detail-block h6{margin:0 0 .55rem;color:var(--ui-muted,var(--m-text-muted));font-size:.72rem;font-weight:780;letter-spacing:.045em}.automation-detail-block p{white-space:pre-wrap;margin:0;color:var(--ui-ink,var(--m-text));font-size:.84rem;line-height:1.65}.automation-detail-block p.empty{color:var(--ui-muted,var(--m-text-muted));font-style:italic}.automation-library-no-results{padding:3rem 1rem;text-align:center;color:var(--ui-muted,var(--m-text-muted));font-size:.84rem}
        @media(max-width:991.98px){.automation-library-grid{grid-template-columns:1fr}.automation-asset-list{border-right:0;border-bottom:1px solid var(--ui-line,var(--m-border));max-height:360px}.automation-library-toolbar{align-items:flex-start;flex-direction:column}.automation-library-toolbar .form-control{width:min(100%,280px)}}
        @media(max-width:575.98px){.automation-library-toolbar .d-flex{width:100%}.automation-library-toolbar .form-select,.automation-library-toolbar .form-control{flex:1;width:auto}.automation-asset-detail{padding:.9rem}.automation-detail-head,.automation-folder-callout{align-items:stretch;flex-direction:column}.automation-detail-actions{justify-content:flex-start}.automation-detail-grid{grid-template-columns:1fr}.automation-detail-block.wide{grid-column:auto}}
    


        /* 个人 AI：让历史对话、长消息和草稿更容易管理。 */
        .ai-conversation-search { display:flex; align-items:center; gap:8px; margin:10px 14px 4px; padding:8px 10px; border:1px solid color-mix(in srgb, var(--ai-line, #334155) 82%, transparent); border-radius:10px; background:color-mix(in srgb, var(--ai-panel, #101827) 88%, #ffffff); color:var(--ai-muted, #94a3b8); }
        .ai-conversation-search:focus-within { border-color:var(--ai-accent, #7c6cff); box-shadow:0 0 0 3px color-mix(in srgb, var(--ai-accent, #7c6cff) 18%, transparent); }
        .ai-conversation-search input { min-width:0; width:100%; border:0; outline:0; color:inherit; background:transparent; font:inherit; font-size:.82rem; }
        .ai-conversation-search input::placeholder { color:var(--ai-muted, #94a3b8); opacity:.8; }
        .ai-conversation-search-empty { margin:12px 16px; color:var(--ai-muted, #94a3b8); font-size:.8rem; text-align:center; }
        .ai-side-label-meta { margin-left:auto; color:var(--ai-muted, #94a3b8); font-size:.7rem; font-weight:500; }
        .ai-scroll-latest { position:absolute; right:28px; bottom:116px; z-index:4; display:none; align-items:center; gap:7px; padding:8px 12px; border:1px solid color-mix(in srgb, var(--ai-line, #334155) 80%, transparent); border-radius:999px; color:var(--ai-text, #f8fafc); background:color-mix(in srgb, var(--ai-panel, #101827) 92%, #000000); box-shadow:0 10px 26px rgba(0,0,0,.24); font-size:.78rem; }
        .ai-scroll-latest.show { display:inline-flex; }
        .ai-scroll-latest:hover { border-color:var(--ai-accent, #7c6cff); transform:translateY(-1px); }
        .ai-composer-draft { color:var(--ai-muted, #94a3b8); font-size:.72rem; white-space:nowrap; }
        .ai-main { position:relative; }
        .ai-message-list { scroll-behavior:smooth; }
        .ai-preset-section { margin:1rem 0 1.15rem; padding:1rem; border:1px solid rgba(165,180,252,.18); border-radius:14px; background:linear-gradient(145deg,rgba(99,102,241,.12),rgba(15,23,42,.18)); }
        .ai-preset-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; margin-bottom:.75rem; }
        .ai-preset-heading h4 { margin:0; color:#f8fafc; font-size:.86rem; font-weight:760; letter-spacing:-.02em; }
        .ai-preset-heading p { margin:.22rem 0 0; color:#aab5d2; font-size:.72rem; line-height:1.5; }
        .ai-preset-reset { border:0; padding:.28rem .42rem; color:#c7d2fe; background:transparent; font-size:.7rem; white-space:nowrap; }
        .ai-preset-reset:hover { color:#fff; text-decoration:underline; }
        .ai-preset-list { display:grid; gap:.45rem; }.ai-preset-row{display:flex;align-items:center;gap:.3rem}
        .ai-preset-item { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:.6rem; width:100%; min-height:50px; padding:.55rem .6rem; border:1px solid rgba(255,255,255,.08); border-radius:10px; color:#e5e7eb; background:rgba(5,8,20,.24); text-align:left; transition:border-color .16s ease,background .16s ease,transform .16s ease; }
        .ai-preset-item:hover,.ai-preset-item.is-active { border-color:rgba(129,140,248,.6); background:rgba(99,102,241,.16); transform:translateY(-1px); }
        .ai-preset-icon { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; color:#c7d2fe; background:rgba(129,140,248,.16); }
        .ai-preset-copy { min-width:0; }.ai-preset-copy strong,.ai-preset-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-preset-copy strong{font-size:.76rem;font-weight:720}.ai-preset-copy small{margin-top:.12rem;color:#9eaaca;font-size:.66rem}.ai-preset-item > i{color:#a5b4fc;font-size:.85rem}
        .ai-preset-row .ai-preset-item{flex:1}.ai-preset-delete { width:26px; height:26px; margin-left:-.2rem; border:0; border-radius:7px; color:#fda4af; background:transparent; }.ai-preset-delete:hover{background:rgba(244,63,94,.16)}
        .ai-preset-save { display:flex; gap:.45rem; margin-top:.7rem; }.ai-preset-save input{min-width:0; flex:1; border:1px solid rgba(165,180,252,.18); border-radius:8px; padding:.45rem .55rem; color:#e5e7eb; background:rgba(2,6,23,.42); font-size:.72rem; outline:0}.ai-preset-save input:focus{border-color:#818cf8}.ai-preset-save button{border:1px solid rgba(129,140,248,.42);border-radius:8px;padding:.42rem .56rem;color:#e0e7ff;background:rgba(99,102,241,.18);font-size:.71rem;white-space:nowrap}.ai-preset-save button:hover{background:#4f46e5}.ai-preset-status{display:block;margin-top:.55rem;color:#94a3b8;font-size:.66rem;line-height:1.45}

        /* 工作空间：让高密度页面在小屏幕仍保持清晰的点击目标。 */
        .page-panel .card .btn, .page-panel .card .form-control, .page-panel .card .form-select { min-height:36px; }
        .page-panel .table-responsive { scrollbar-color:color-mix(in srgb, var(--accent, #6366f1) 55%, transparent) transparent; }
        .workspace-focus-ring :focus-visible { outline:3px solid color-mix(in srgb, var(--accent, #6366f1) 42%, transparent); outline-offset:2px; }
        @media (max-width: 760px) {
            .ai-conversation-search { margin-inline:10px; }
            .ai-scroll-latest { right:16px; bottom:104px; }
            .ai-scroll-latest span { display:none; }
            .page-panel .card-body { padding:14px; }
        }
        @media (prefers-reduced-motion: reduce) { .ai-message-list { scroll-behavior:auto; } .ai-scroll-latest:hover { transform:none; } }

        /* 当日 KPI 明细：让报告预览、复制入口和对比表在桌面与手机上都清晰可用。 */
        .kpi-daily-report-modal-content { border:0; border-radius:22px; overflow:hidden; box-shadow:0 28px 80px rgba(15,23,42,.24); }
        .kpi-daily-report-modal-content .modal-header { padding:1.2rem 1.4rem; border-bottom:1px solid #e7ecf3; background:linear-gradient(135deg,#f8fbff,#eef4ff); }
        .kpi-daily-modal-kicker { display:block; margin-bottom:.18rem; color:#4f46e5; font-size:.68rem; font-weight:800; letter-spacing:.16em; }
        .kpi-daily-report-section { padding:1.15rem; border:1px solid #e4e9f2; border-radius:18px; background:#f8fafc; }
        .kpi-daily-report-section + .kpi-daily-report-section { margin-top:1rem; }
        .kpi-daily-report-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.9rem; }
        .kpi-daily-report-section-head > div:first-child > span { display:block; margin-bottom:.18rem; color:#667085; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
        .kpi-daily-report-section-head h6 { margin:0 0 .22rem; color:#172033; font-size:1rem; font-weight:800; }
        .kpi-daily-report-section-head p { margin:0; color:#667085; font-size:.78rem; }
        .kpi-daily-report-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem; }
        .kpi-daily-report-actions .btn { white-space:nowrap; }
        .kpi-daily-report-preview { max-height:680px; overflow:auto; padding:1rem; border:1px solid #dce3ee; border-radius:14px; background:#e8edf5; }
        .kpi-daily-report-preview img { display:block; width:100%; min-width:880px; height:auto; margin:auto; border-radius:8px; box-shadow:0 12px 30px rgba(15,23,42,.14); }
        .kpi-daily-report-preview--comparison { max-height:540px; }
        .kpi-daily-comparison-table-wrap { max-height:360px; margin-top:1rem; overflow:auto; border:1px solid #dfe5ee; border-radius:12px; background:#fff; }
        .kpi-daily-comparison-table-wrap table { margin:0; font-size:.78rem; }
        .kpi-daily-comparison-table-wrap thead { position:sticky; top:0; z-index:1; background:#f1f5f9; }
        .kpi-daily-comparison-table-wrap th { color:#344054; font-weight:750; white-space:nowrap; }
        .kpi-daily-comparison-table-wrap td { vertical-align:middle; }
        @media (max-width:767.98px) {
            .kpi-daily-report-section { padding:.8rem; }
            .kpi-daily-report-section-head { flex-direction:column; }
            .kpi-daily-report-actions { justify-content:flex-start; }
            .kpi-daily-report-preview { padding:.55rem; }
            .kpi-daily-report-preview img { min-width:760px; }
        }

        /* 绩效记录：高密度查询、批量操作、行内编辑与稳定分页。 */
        .record-query-panel{margin-bottom:1rem;padding:1rem;border:1px solid var(--ui-line,#dfe5ee);border-radius:14px;background:var(--ui-surface-subtle,#f8fafc)}
        .record-query-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.75rem}.record-filter-search{grid-column:span 2}.record-filter-field{min-width:0}.record-filter-field .form-label{margin-bottom:.32rem;color:var(--ui-muted,#667085);font-size:.73rem;font-weight:700}.record-query-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--ui-line,#dfe5ee)}.record-preset-select{width:170px}
        .record-batch-toolbar{display:none;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem;padding:.7rem .85rem;border:1px solid #b7cdf9;border-radius:12px;background:#edf4ff}.record-batch-toolbar.is-active{display:flex}.record-batch-actions{display:flex;align-items:center;gap:.5rem}.record-batch-actions .form-select{width:110px}.record-batch-actions .form-control{width:180px}
        #performance-records-table{min-width:1020px;margin-bottom:0}#performance-records-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--ui-surface-subtle,#f8fafc) 75%,transparent)}#performance-records-table tbody tr:hover td{background:var(--ui-accent-soft,#eef2ff)}
        .record-sort-button{display:inline-flex;align-items:center;gap:.3rem;padding:0;border:0;color:inherit;background:transparent;font:inherit;font-weight:750;white-space:nowrap}.record-sort-button i{color:var(--ui-muted,#98a2b3);font-size:.72rem}.record-sort-button.is-active,.record-sort-button.is-active i{color:var(--ui-accent,#4f46e5)}.record-sort-order{display:inline-grid;place-items:center;min-width:16px;height:16px;border-radius:999px;color:#fff;background:var(--ui-accent,#4f46e5);font-size:.6rem}
        .record-select-column{position:sticky;left:0;z-index:2;width:42px;min-width:42px;text-align:center;background:var(--ui-surface,#fff)!important}.record-action-column,.record-row-actions{position:sticky;right:0;z-index:2;min-width:150px;background:var(--ui-surface,#fff)!important;white-space:nowrap}.record-event-cell{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-inline-cell{cursor:cell}.record-inline-cell.is-editing{padding:.28rem!important;background:var(--ui-accent-soft,#eef2ff)!important}.record-inline-cell.is-editing textarea{min-width:280px;resize:vertical}.record-table-state{padding:2.5rem!important;text-align:center;color:var(--ui-muted,#667085)}
        .record-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem;color:var(--ui-muted,#667085);font-size:.78rem}.record-pagination-controls{display:flex;align-items:center;gap:.42rem}.record-pagination-controls>label{display:flex;align-items:center;gap:.35rem;white-space:nowrap}.record-pagination-controls select{width:72px}.record-page-jump input{width:66px;text-align:center}.record-import-summary{width:100%;padding:.65rem .8rem;border-radius:10px;background:var(--ui-surface-subtle,#f8fafc);color:var(--ui-muted,#667085);font-size:.8rem}.record-import-errors{max-height:240px;overflow:auto}.record-import-errors ul{margin:.45rem 0 0;padding-left:1.2rem;font-size:.78rem}
        @media(max-width:1199.98px){.record-query-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.record-filter-search{grid-column:span 2}.record-query-actions,.record-batch-toolbar{align-items:flex-start;flex-direction:column}.record-batch-actions{width:100%;flex-wrap:wrap}}
        @media(max-width:767.98px){.record-query-grid{grid-template-columns:1fr 1fr}.record-filter-search{grid-column:1/-1}.record-query-actions>div{width:100%}.record-preset-select{flex:1;width:auto}.record-pagination{align-items:flex-start;flex-direction:column}.record-pagination-controls{width:100%;overflow-x:auto;padding-bottom:.25rem}.record-batch-actions .form-control{flex:1;width:auto}}
        @media(max-width:479.98px){.record-query-grid{grid-template-columns:1fr}.record-filter-search{grid-column:auto}}
    
