html,body,#root{min-height:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,PingFang SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif}body{background:#f5f7fb}.ql-container{box-sizing:border-box;height:100%;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;position:absolute;top:50%;left:-100000px;overflow-y:hidden}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;outline:none;height:100%;padding:12px 15px;line-height:1.42;overflow-y:auto}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{padding-left:1.5em;list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{text-align:right;white-space:nowrap;width:1.2em;margin-left:-1.5em;margin-right:.3em;display:inline-block}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0, decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9, decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{text-align:left;margin-left:.3em;margin-right:-1.5em}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{max-width:100%;display:block}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{text-align:inherit;direction:rtl}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);pointer-events:none;font-style:italic;position:absolute;left:15px;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{cursor:pointer;float:left;background:0 0;border:none;width:28px;height:24px;padding:3px 5px;display:inline-block}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{vertical-align:middle;display:inline-block}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2px}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1px}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-top:5px;margin-bottom:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-top:5px;margin-bottom:5px;padding:5px 10px}.ql-snow .ql-editor code{padding:2px 4px;font-size:85%}.ql-snow .ql-editor .ql-code-block-container{color:#f8f8f2;background-color:#23241f;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;float:left;vertical-align:middle;height:24px;font-size:14px;font-weight:500;display:inline-block;position:relative}.ql-snow .ql-picker-label{cursor:pointer;width:100%;height:100%;padding-left:8px;padding-right:2px;display:inline-block;position:relative}.ql-snow .ql-picker-label:before{line-height:22px;display:inline-block}.ql-snow .ql-picker-options{white-space:nowrap;background-color:#fff;min-width:100%;padding:4px 8px;display:none;position:absolute}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;padding-top:5px;padding-bottom:5px;display:block}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:1;margin-top:-1px;display:block;top:100%}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{width:24px;height:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{width:152px;padding:3px 5px}.ql-snow .ql-color-picker .ql-picker-item{float:left;border:1px solid #0000;width:16px;height:16px;margin:2px;padding:0}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{width:18px;margin-top:-9px;position:absolute;top:50%;right:0}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{top:5px;right:5px}.ql-toolbar.ql-snow{box-sizing:border-box;border:1px solid #ccc;padding:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{color:#444;white-space:nowrap;background-color:#fff;border:1px solid #ccc;padding:5px 12px;box-shadow:0 0 5px #ddd}.ql-snow .ql-tooltip:before{content:"Visit URL:";margin-right:8px;line-height:26px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;width:170px;height:26px;margin:0;padding:3px 5px;font-size:13px;display:none}.ql-snow .ql-tooltip a.ql-preview{text-overflow:ellipsis;vertical-align:top;max-width:200px;display:inline-block;overflow-x:hidden}.ql-snow .ql-tooltip a.ql-action:after{content:"Edit";border-right:1px solid #ccc;margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{content:"Save";border-right:0;padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}:root{--bg-obsidian:#0a0a0b;--panel-bg:#0e151e8a;--panel-border:#00f2ff47;--text-main:#d8f5ff;--text-sub:#8aa6b8;--cyber-blue:#00f2ff;--electric-cyan:#57e7ff;--neon-violet:#b04dff;--line:#00f2ff29;--danger:#ff5f8f}html,body,#root{min-height:100%;color:var(--text-main);background:radial-gradient(circle at 20% 0,#0d1520 0%,#090a0f 48%,#060607 100%);margin:0;font-family:Orbitron,Space Mono,IBM Plex Sans,SF Mono,monospace,sans-serif}button,select,input,textarea{font:inherit}.page{z-index:1;max-width:1700px;min-height:100vh;margin:0 auto;padding:18px;position:relative}.page:before{content:"";pointer-events:none;opacity:.24;z-index:-2;background-image:linear-gradient(#00f2ff0d .5px,#0000 .5px),linear-gradient(90deg,#00f2ff0d .5px,#0000 .5px);background-size:32px 32px;position:fixed;inset:0}.page:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 80% 20%,#57e7ff14,#0000 42%);position:fixed;inset:0}.bg-glow{filter:blur(120px);pointer-events:none;z-index:0;border-radius:50%;width:460px;height:460px;position:fixed}.bg-glow-a{background:#00f2ff2e;top:-120px;left:-140px}.bg-glow-b{background:#b04dff24;top:200px;right:-120px}.card-shell,.board{z-index:1;position:relative}.card-shell{border:.5px solid var(--panel-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(155deg,#0f1924c2,#070b12b8);border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px #00f2ff0f,0 14px 30px #0000006b,0 0 28px #00f2ff14}.card-shell:after{content:"";pointer-events:none;opacity:.6;background:linear-gradient(120deg,#0000 0%,#00f2ff0a 45%,#0000 100%);position:absolute;inset:0}.header{flex-direction:column;gap:12px;margin-bottom:12px;padding:16px;display:flex}.header-row{justify-content:space-between;gap:16px;display:flex}.header-main{flex:1;min-width:0}.header h1{letter-spacing:.08em;text-transform:uppercase;color:#e9fcff;text-shadow:0 0 18px #00f2ff47;margin:0;font-size:24px}.header p{color:var(--text-sub);letter-spacing:.04em;margin:6px 0 0;font-size:12px}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.header-user{background:#08101c8f;border:.5px solid #57e7ff57;border-radius:999px;align-items:center;gap:8px;min-height:36px;padding:0 12px;display:inline-flex;box-shadow:inset 0 0 0 1px #00f2ff0f}.header-user span{color:#8cb0c0;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.header-user strong{color:#d2f9ff;font-size:13px}button.header-logout{color:#c7f2ff;background:#09131e8f;border-color:#57e7ff57;border-radius:999px;min-height:36px;padding:0 14px}button.header-logout:hover{background:#0a1622b3;border-color:#57e7ff8f;box-shadow:0 0 12px #57e7ff33}.manual-entry{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:14px 16px;display:flex}.manual-entry h2{letter-spacing:.06em;margin:0;font-size:15px}.manual-entry p{color:var(--text-sub);margin:6px 0 0;font-size:12px}.hud-topline{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px;padding:10px;display:grid}.header-topline{margin-top:0;margin-bottom:0;padding:0}.header-topline .hud-node{background:#050d166b;gap:2px;padding:7px 10px}.header-topline .hud-node small{opacity:.8}.hud-node{background:#050d169e;border:.5px solid #00f2ff33;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.hud-node span{color:#7c98aa;letter-spacing:.12em;text-transform:uppercase;font-size:10px}.hud-node strong{color:#d5fbff;font-size:14px}.hud-node strong.violet{color:#ddb4ff;text-shadow:0 0 12px #b04dff8c}.hud-node small{color:#62869a;letter-spacing:.08em;font-size:10px}.hud-visuals{grid-template-columns:1.2fr 1.8fr 1.2fr;gap:10px;margin-bottom:12px;padding:10px;display:grid}.hud-title{letter-spacing:.14em;color:#9ac5db;text-transform:uppercase;margin-bottom:8px;font-size:11px}.waveform-panel,.map-core,.globe-panel{background:#060c148f;border:.5px solid #00f2ff29;border-radius:10px;min-height:190px;padding:10px;position:relative;overflow:hidden}.waveform-track{border-bottom:.5px solid #00f2ff3d;align-items:flex-end;gap:3px;height:118px;padding-bottom:8px;display:flex}.customer-manage-panel{cursor:pointer;flex-direction:column;display:flex}.customer-manage-panel:focus-visible{outline-offset:2px;outline:1px solid #57e7ffb8}.panel-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-link-btn{color:#c7f2ff;background:#09131e8f;border:.5px solid #57e7ff57;border-radius:999px;min-height:28px;padding:0 10px;font-size:11px}.panel-link-btn:hover{background:#0a1622b3;border-color:#57e7ff8f;box-shadow:0 0 12px #57e7ff33}.wave-cell{cursor:pointer;background:0 0;border:0;align-items:flex-end;width:4px;height:100%;padding:0;display:flex}.dual-waveform-track{flex:1;justify-content:space-between;gap:2px;height:auto;min-height:110px;margin-top:16px}.dual-waveform-track .wave-cell{width:auto;min-width:0;cursor:inherit;flex:1 1 0;justify-content:center;gap:2px}.wave-bar{transform-origin:bottom;width:4px;animation:2.8s ease-in-out infinite wave-breathe;animation-delay:var(--wave-delay,0s);background:linear-gradient(#00f2fff2,#00f2ff26);border-radius:3px 3px 0 0;flex:none;transition:height .25s,box-shadow .2s;display:block;box-shadow:0 0 10px #00f2ff59}.wave-bar-followed{background:linear-gradient(#4ade80f5,#4ade8029);box-shadow:0 0 10px #4ade8052}.wave-cell.active .wave-bar,.wave-cell:hover .wave-bar{box-shadow:0 0 12px #6fefffcc}.dual-waveform-track .wave-cell:hover .wave-bar-followed{box-shadow:0 0 12px #86efacb8}.waveform-panel small,.map-core small{color:#688ba1;letter-spacing:.08em;margin-top:8px;font-size:10px;display:block}.customer-manage-panel small{margin-top:6px}.map-core{background:radial-gradient(circle,#00f2ff1a,#0000 56%),#060c148f}.map-grid{background-image:linear-gradient(#00f2ff24 .5px,#0000 .5px),linear-gradient(90deg,#00f2ff24 .5px,#0000 .5px);background-size:22px 22px;border:.5px solid #00f2ff33;border-radius:8px;position:absolute;inset:36px 14px 34px}.map-sweep{border:1px solid #00f2ff59;border-radius:50%;width:180px;height:180px;position:absolute;top:40px;left:50%;transform:translate(-50%)}.map-sweep:after{content:"";transform-origin:bottom;background:linear-gradient(#00f2ffe6,#0000);width:2px;height:88px;animation:5.5s linear infinite rotate-sweep;position:absolute;top:2px;left:50%}.map-blips{pointer-events:none;position:absolute;inset:36px 14px 34px}.map-blips .blip{width:8px;height:8px;left:var(--blip-left,50%);top:var(--blip-top,50%);background:var(--electric-cyan);animation:1.8s ease-in-out infinite pulse;animation-delay:var(--blip-delay,0s);border-radius:50%;position:absolute;box-shadow:0 0 12px #57e7ffcc}.map-blips .blip.overdue{background:#ff546a;box-shadow:0 0 12px #ff546ae0}.globe-panel{flex-direction:column;gap:10px;display:flex}.wire-globe{background:radial-gradient(circle,#00f2ff17,#03080e14 62%,#0000 70%),radial-gradient(circle,#00f2ff08,#0000 72%);border-radius:50%;width:112px;height:112px;margin:0 auto;position:relative;box-shadow:inset 0 0 26px #00f2ff1f,0 0 22px #00f2ff33}.wire-globe .orbit{border:1px solid #57e7ff57;border-radius:50%;position:absolute;inset:18px;box-shadow:0 0 10px #00f2ff29}.wire-globe .orbit-a{animation:7.2s linear infinite orbit-ring-a;transform:rotate(18deg)}.wire-globe .orbit-b{animation:6.1s linear infinite reverse orbit-ring-b;transform:rotate(-26deg)scaleY(.72)}.wire-globe .orbit-c{animation:5.4s linear infinite orbit-ring-c;transform:rotate(68deg)scaleX(.72)}.wire-globe .nucleus{background:radial-gradient(circle at 35% 35%,#d8fbff,#57e7ff 62%,#57e7ff38 100%);border-radius:50%;width:14px;height:14px;animation:1.9s ease-in-out infinite nucleus-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 14px #57e7ffe6,0 0 24px #00f2ff80}.wire-globe .electron{background:#aef6ff;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:50%;box-shadow:0 0 8px #aef6ffe6,0 0 14px #00f2ff73}.wire-globe .electron-a{animation:2.7s linear infinite electron-orbit-a}.wire-globe .electron-b{opacity:.86;animation:3.4s linear infinite electron-orbit-b}.ring-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.status-ring{--pct:35;--ring-color:var(--cyber-blue);background:#050a109e;border:.5px solid #00f2ff38;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:88px;display:flex;position:relative;overflow:hidden}.status-ring:before{content:"";background:conic-gradient(var(--ring-color) calc(var(--pct) * 1%), #0000 0%);opacity:.9;border-radius:50%;position:absolute;inset:8px}.status-ring:after{content:"";background:#060c14f2;border:.5px solid #00f2ff1f;border-radius:50%;position:absolute;inset:16px}.status-ring span,.status-ring strong{z-index:1;position:relative}.status-ring span{color:#8ab8cc;letter-spacing:.06em;font-size:10px}.status-ring strong{color:#e0feff;font-size:14px}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:10px;display:flex}.filter-bar-extended{align-items:center}.filter-block{flex-wrap:wrap;gap:8px;display:flex}.filter-actions-right{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.filter-create-btn{color:#d7fbff;letter-spacing:.06em;background:#07101bc7;border:.5px solid #00f2ff73;border-radius:999px;margin-left:auto;padding:7px 14px;box-shadow:inset 0 0 0 1px #00f2ff14}.filter-create-btn:hover{background:#091522e0;border-color:#57e7ffb8;box-shadow:0 0 14px #00f2ff33}.chip{color:#aed2e3;letter-spacing:.06em;background:#060e1694;border:.5px solid #00f2ff40;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:inline-flex}.chip span{text-align:center;color:#e2fdff;background:#00f2ff29;border-radius:12px;min-width:20px;padding:1px 6px;font-size:11px}.chip.active{color:azure;border-color:#57e7ffbf;box-shadow:0 0 16px #00f2ff33}.ai-ops{margin-top:12px;margin-bottom:12px;padding:12px}.ai-ops-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ai-ops-head h2{letter-spacing:.08em;margin:0;font-size:14px}.ai-ops-head span{color:#7ea6ba;font-size:11px}.ai-ops-list{flex-direction:column;gap:8px;display:flex}.ai-ops-scroll{max-height:300px;padding-right:4px;overflow-y:auto}.ai-ops-loading{text-align:center;color:#7ea0b3;padding:4px 0 2px;font-size:11px}.ai-op-item{background:#060d158c;border:.5px solid #00f2ff29;border-radius:10px;justify-content:space-between;gap:10px;padding:9px;display:flex}.ai-op-main strong{color:#d2f9ff;font-size:12px;display:block}.ai-op-main span,.ai-op-meta{color:#7ea0b3;font-size:11px}.ai-op-meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.op-status{background:#07101899;border:.5px solid #00f2ff59;border-radius:99px;padding:2px 8px}.op-pending_confirm,.op-rejected{color:#e1b8ff;border-color:#b04dff8c}.board{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.archive-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.archive-section{margin-top:0;padding:12px}.archive-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.archive-head h2{letter-spacing:.08em;margin:0;font-size:14px}.archive-head span{color:#89acbe;font-size:11px}.archive-list{flex-direction:column;gap:8px;display:flex}.archive-scroll{max-height:300px;padding-right:4px;overflow-y:auto}.archive-loading{text-align:center;color:#7ea0b3;padding:4px 0 2px;font-size:11px}.archive-item{background:#060d158c;border:.5px solid #00f2ff2e;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px;display:flex}.archive-item[role=button]{cursor:pointer}.archive-item[role=button]:focus-visible{outline-offset:3px;outline:2px solid #5affc4b8}.archive-item strong{color:#d8fbff;font-size:13px}.archive-item p{color:#7f9eb0;margin:4px 0 0;font-size:11px}.column{background:#070e16a3;border:.5px solid #00f2ff38;border-radius:12px;flex-direction:column;min-height:540px;transition:box-shadow .2s;display:flex;overflow:hidden}.column.drop-target{background:linear-gradient(#00f2ff1f,#070e16a3);box-shadow:inset 0 0 0 1px #00f2ff80,0 0 0 1px #00f2ff14}.card[draggable=true]{cursor:grab}.card[draggable=true]:active{cursor:grabbing}.column-head{background:linear-gradient(90deg,#00f2ff1a,#00f2ff00);border-bottom:.5px solid #00f2ff24;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.column-head h2{letter-spacing:.08em;margin:0;font-size:14px}.column-head span{text-align:center;background:#00f2ff2e;border-radius:10px;min-width:22px;padding:2px 7px;font-size:11px}.column.status-doing{background:#061220ad;border-color:#00a8ff57}.column.status-doing .column-head{background:linear-gradient(90deg,#00a8ff38,#00a8ff00);border-bottom-color:#00a8ff33}.column.status-doing .column-head span{color:#bfe9ff;background:#00a8ff3d}.column.status-done{background:#071610a8;border-color:#50ff8c52}.column.status-done .column-head{background:linear-gradient(90deg,#50ff8c2e,#50ff8c00);border-bottom-color:#50ff8c33}.column.status-done .column-head span{color:#d5ffe6;background:#50ff8c3d}.cards{flex-direction:column;gap:8px;padding:9px;display:flex}.card{background:#080e17b3;border:.5px solid #00f2ff2e;border-radius:10px;padding:10px;transition:all .2s}.card.card-dragging{opacity:.66;transform:scale(.98)}.card-overdue{border-color:#b04dffa6;box-shadow:0 0 20px #b04dff33}.card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card-top h3{color:#dcfbff;margin:0;font-size:13px}.priority{color:#b2d8ea;border:.5px solid #00f2ff33;border-radius:10px;padding:2px 6px;font-size:10px}.priority.p0{color:#ffb8d2;border-color:#ff5f8f8c}.priority.p1{color:#b9ebff}.priority.p2{color:#9ce8ff}.priority.p3{color:#90aac2}.desc{color:#89a5b8;white-space:pre-wrap;margin:8px 0;font-size:12px}.assignment-card-tag{color:#ffd89b;background:#ffcf5f14;border:.5px solid #ffcf5f52;border-radius:999px;margin:0 0 6px;padding:3px 8px;font-size:10px;display:inline-flex}.meta{color:#7995a8;flex-direction:column;gap:3px;font-size:11px;display:flex}.overdue{color:#e2b5ff}.actions{gap:8px;margin-top:10px;display:flex}.card-actions{flex-wrap:wrap;align-items:center}.card[role=button]{cursor:pointer}.card[role=button]:focus-visible{outline-offset:3px;outline:2px solid #5affc4b8}.drag-tip{color:#68879b;letter-spacing:.06em;font-size:10px}button,select,input,textarea{color:var(--text-main);background:#08101ad1;border:.5px solid #00f2ff4d;border-radius:9px;padding:7px 10px}input,textarea,select{width:100%}button{cursor:pointer;transition:all .18s}button:hover{box-shadow:0 0 16px #00f2ff2e}button.primary{color:#03131b;background:linear-gradient(135deg,#00f2ff,#57e7ff);border-color:#00f2ffb8;box-shadow:0 0 18px #00f2ff42}button.danger{color:#f6c6ff;background:#260e34b8;border-color:#b04dff8c}.empty{color:#6f8fa4;text-align:center;padding:18px 0;font-size:12px}.login-page{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080e18c2;border:.5px solid #00f2ff59;border-radius:14px;flex-direction:column;gap:10px;width:min(430px,100%);padding:18px;display:flex;box-shadow:0 0 26px #00f2ff2e}.login-card h1{letter-spacing:.08em;margin:0;font-size:22px}.login-card p{color:#83a5bb;margin:0;font-size:12px}.login-card label{color:#8fb3c7;flex-direction:column;gap:6px;font-size:12px;display:flex}.login-error,.manual-error{font-size:12px;color:#e8bdff!important}.modal-mask{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:99;background:#04080cc7;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.modal{background:#070e18f2;border:.5px solid #00f2ff57;border-radius:14px;flex-direction:column;width:min(760px,100%);max-height:min(88vh,920px);padding:0;display:flex;overflow:hidden;box-shadow:0 0 34px #00f2ff3d}.modal-head{background:linear-gradient(#08111dfa,#070e18eb);border-bottom:.5px solid #00f2ff1f;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex}.modal-head.compact{padding-bottom:10px}.modal h3{letter-spacing:.06em;margin:0;font-size:16px}.modal-subtitle{color:#7fa4b8;margin-top:6px;font-size:11px;display:block}.modal-body-scroll{flex:1;min-height:0;padding:14px 16px 0;overflow-y:auto}.manual-form-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.manual-form-grid label{color:#8fb0c3;flex-direction:column;gap:6px;font-size:12px;display:flex}.manual-form-grid .full{grid-column:1/-1}.assignment-editor{border-top:.5px solid #00f2ff24;margin-top:16px;padding-top:14px}.assignment-editor-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.assignment-editor-head-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.assignment-editor-head strong{color:#e7fcff;letter-spacing:.04em;font-size:14px;display:block}.assignment-count-badge{color:#89acc0;background:#00f2ff14;border:.5px solid #00f2ff33;border-radius:999px;padding:4px 9px;font-size:11px}.assignment-add-btn{color:#dffaff;background:#00f2ff14;border-color:#00f2ff3d;box-shadow:0 0 12px #00f2ff1f}.assignment-summary-row{color:#89acc0;flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:11px;display:flex}.assignment-summary-row span,.assignment-mode-badge{background:#00f2ff14;border:.5px solid #00f2ff33;border-radius:999px;padding:4px 9px}.assignment-feedback{color:#b8ffe6!important;background:#5affc41a!important;border-color:#5affc459!important}.assignment-mode-badge.multi{color:#ffd89b;background:#ffcf5f1a;border-color:#ffcf5f59}.assignment-editor-list{flex-direction:column;gap:12px;padding-bottom:8px;display:flex}.assignment-editor-card{background:linear-gradient(#0a1522e6,#08111dd1);border:.5px solid #00f2ff29;border-radius:14px;padding:14px;box-shadow:inset 0 1px #ffffff08}.assignment-editor-card-head,.assignment-editor-card-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.assignment-editor-card-head{margin-bottom:12px}.assignment-editor-card-title{align-items:center;gap:10px;display:flex}.assignment-index{color:#04131b;background:linear-gradient(135deg,#7af7ff,#00f2ff);border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 0 12px #00f2ff38}.assignment-editor-card-head strong{color:#f0feff;font-size:13px}.assignment-remove-btn{min-width:66px}.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.assignment-grid label{color:#8fb0c3;flex-direction:column;gap:6px;font-size:12px;display:flex}.assignment-content-panel{color:#8fb0c3;flex-direction:column;gap:6px;display:flex}.assignment-field-label{color:#b8d8e8;letter-spacing:.02em;font-size:11px;font-weight:600}.assignment-grid input,.assignment-grid select{background:#ffffff0a;border-color:#00f2ff1f}.ghost-danger{color:#ffc7d8;background:#ff5f8f14;border-color:#ff5f8f61}.assignment-preview-list{flex-direction:column;gap:6px;margin-top:10px;display:flex}.assignment-preview-item,.assignment-preview-more{color:#84a4b7;background:#ffffff08;border-radius:8px;align-items:flex-start;gap:10px;padding:6px 8px;font-size:11px;display:flex}.assignment-preview-index{color:#04131b;background:#7af7ffe6;border-radius:999px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:inline-flex}.assignment-preview-content{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;line-height:1.6;overflow:hidden}.card-multi{border-color:#ffcf5f47}.modal-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;display:flex}.modal-actions-sticky{z-index:1;background:linear-gradient(#070e18eb,#070e18);border-top:.5px solid #00f2ff1f;margin-top:0;padding:12px 16px 16px;position:sticky;bottom:0}.modal-add-requirement-btn{min-width:118px;box-shadow:inset 0 0 0 1px #00f2ff0d}.modal-assignee-picker{width:min(420px,100%);max-height:min(72vh,640px)}.assignee-picker-list{flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex;overflow-y:auto}.assignee-picker-item{text-align:left;color:#dffaff;background:#09121ed1;border:.5px solid #00f2ff2e;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.assignee-picker-item strong{font-size:13px}.assignee-picker-item span{color:#8fb0c3;font-size:11px}.assignee-picker-item.active{background:#0a1826eb;border-color:#57e7ffbf;box-shadow:0 0 16px #00f2ff29}.modal-save-btn,.modal-quick-status-btn{letter-spacing:.04em;border-radius:999px;min-width:118px;font-weight:700}button.modal-cancel-btn{color:#d6f9ff;background:#08121ed1;border-color:#57e7ff4d;border-radius:999px;min-width:88px;box-shadow:inset 0 0 0 1px #00f2ff0d}button.modal-close-btn{color:#d6f9ff;background:#08121ed1;border-color:#57e7ff4d;border-radius:999px;width:34px;min-width:34px;height:34px;padding:0;box-shadow:inset 0 0 0 1px #00f2ff0d}button.modal-close-btn:hover{background:#0a1622f5;border-color:#57e7ff8f;box-shadow:0 0 12px #57e7ff33}button.modal-save-btn{color:#03131b;background:linear-gradient(135deg,#00d6ff,#5ef0ff);border-color:#00d6ffb8;box-shadow:0 0 20px #00d6ff38,inset 0 0 0 1px #ffffff0a}button.modal-quick-status-btn{box-shadow:0 0 20px #5affc433,inset 0 0 0 1px #ffffff0a}button.modal-quick-status-start{color:#05211b;background:linear-gradient(135deg,#28e6c0,#76ffd2);border-color:#5affc4b8}button.modal-quick-status-done{color:#04130f;background:linear-gradient(135deg,#4dffc3,#8dffd9);border-color:#5affc4d1;box-shadow:0 0 22px #4dffc347,inset 0 0 0 1px #ffffff0d}@keyframes orbit-ring-a{0%{transform:rotate(18deg)}to{transform:rotate(378deg)}}@keyframes orbit-ring-b{0%{transform:rotate(-26deg)scaleY(.72)}to{transform:rotate(334deg)scaleY(.72)}}@keyframes orbit-ring-c{0%{transform:rotate(68deg)scaleX(.72)}to{transform:rotate(428deg)scaleX(.72)}}@keyframes electron-orbit-a{0%{transform:translate(-50%,-50%)rotate(0)translate(34px)}to{transform:translate(-50%,-50%)rotate(360deg)translate(34px)}}@keyframes electron-orbit-b{0%{transform:translate(-50%,-50%)rotate(180deg)translate(27px)}to{transform:translate(-50%,-50%)rotate(-180deg)translate(27px)}}@keyframes nucleus-pulse{0%,to{transform:translate(-50%,-50%)scale(.92)}50%{transform:translate(-50%,-50%)scale(1.06)}}@keyframes rotate-sweep{0%{transform:translate(-50%)rotate(0)}to{transform:translate(-50%)rotate(360deg)}}@keyframes pulse{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@keyframes wave-breathe{0%,to{opacity:.72;filter:brightness(.92);transform:scaleY(.9)}50%{opacity:1;filter:brightness(1.08);transform:scaleY(1.08)}}@media (width<=1240px){.hud-visuals{grid-template-columns:1fr}.ring-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1024px){.header-row{flex-direction:column}.header-actions{justify-content:flex-start}.header-topline{grid-template-columns:repeat(2,minmax(0,1fr))}.board,.archive-grid{grid-template-columns:1fr}.column{min-height:0}.column.is-filtered-out{display:none}.manual-entry{flex-direction:column;align-items:stretch}.manual-form-grid,.assignment-grid{grid-template-columns:1fr}.modal{max-height:calc(100vh - 20px)}.assignment-editor-head,.assignment-editor-card-head,.assignment-editor-card-actions,.modal-actions-sticky{flex-direction:column;align-items:stretch}}@media (width<=640px){.page{padding:12px}.header h1{font-size:18px}.header-topline{grid-template-columns:1fr}.chip{flex:calc(50% - 8px);justify-content:center}.filter-create-btn{flex:calc(50% - 8px);justify-content:center;margin-left:0}}.header-nav-btn{color:#c7f2ff;background:#09131e8f;border:.5px solid #57e7ff57;border-radius:999px;min-height:36px;padding:0 14px}.header-nav-btn:hover{background:#0a1622b3;border-color:#57e7ff8f;box-shadow:0 0 12px #57e7ff33}.customer-toolbar{grid-template-columns:1.8fr 1fr 1fr auto;align-items:center;gap:10px;margin-bottom:12px;padding:12px;display:grid}.customer-search{width:100%}.customer-list-wrap{padding:14px}.customer-list-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.customer-list-head h2{margin:0;font-size:16px}.customer-list-head span{color:var(--text-sub);font-size:12px}.customer-list{flex-direction:column;gap:10px;display:flex}.customer-item{background:#080e188f;border:.5px solid #00f2ff33;border-radius:12px;grid-template-columns:1fr auto;gap:12px;padding:12px;display:grid}.customer-main h3{margin:0}.customer-main p{color:#b8d8e8;margin:4px 0 0;font-size:12px}.customer-title-row{align-items:center;gap:8px;display:flex}.customer-status{color:#bff6ff;border:.5px solid #57e7ff57;border-radius:999px;padding:2px 8px;font-size:11px}.customer-status.status-new{border-color:#57e7ff57}.customer-status.status-following{color:#9df5ff;border-color:#00f2ff99}.customer-status.status-won{color:#a7f3d0;border-color:#4ade8080}.customer-status.status-lost{color:#f9a8d4;border-color:#f472b680}.customer-side{flex-direction:column;align-items:flex-end;gap:10px;min-width:160px;display:flex}.customer-side span{color:var(--text-sub);font-size:11px}@media (width<=980px){.customer-toolbar,.customer-item{grid-template-columns:1fr}.customer-side{align-items:flex-start;min-width:0}}.modal-mask-nested{z-index:120;background:#03070ca8}.modal-task-detail{width:min(720px,100%)}.task-detail-body{padding-bottom:10px}.task-detail-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.task-detail-meta-grid div{background:#ffffff09;border:.5px solid #00f2ff29;border-radius:12px;min-width:0;padding:10px}.task-detail-meta-grid span{color:#7fa4b8;margin-bottom:6px;font-size:11px;display:block}.task-detail-meta-grid strong{color:#e8fcff;white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.detail-requirement-list{gap:10px}.detail-requirement-item{background:#ffffff09;border:.5px solid #00f2ff24;border-radius:12px;padding:12px}.detail-requirement-head{color:#93b8cb;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;display:flex}.detail-requirement-head strong{color:#e8fcff;font-size:12px}.task-detail-actions{flex-wrap:wrap}.rich-text-editor{background:#ffffff09;border:.5px solid #00f2ff24;border-radius:12px;overflow:hidden}.rich-text-editor.disabled{opacity:.72}.rich-text-toolbar{background:#00f2ff0b;border-bottom:.5px solid #00f2ff1f;flex-wrap:wrap;gap:6px;padding:8px;display:flex}.rich-text-toolbar button{border-radius:999px;min-height:26px;padding:4px 9px;font-size:11px}.rich-text-input{color:#e8fcff;outline:none;min-height:118px;padding:10px 12px;line-height:1.7;overflow-y:auto}.rich-text-input:empty:before{content:attr(data-placeholder);color:#5e7f91}.rich-text-input ul,.rich-text-input ol,.rich-text-preview ul,.rich-text-preview ol{margin:6px 0 6px 20px;padding:0}.rich-text-input p,.rich-text-input div,.rich-text-preview p,.rich-text-preview div{margin:4px 0}.rich-text-preview{color:#d6f9ff;overflow-wrap:anywhere;font-size:12px;line-height:1.7}.muted{color:#6f91a3}.assignment-participants{flex-direction:column;gap:8px;display:flex}.assignment-participants-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.participant-add-btn{border-radius:999px;min-height:28px;padding:4px 10px}.participant-chip-list{flex-wrap:wrap;gap:8px;display:flex}.participant-chip{color:#dffaff;background:#00f2ff14;border:.5px solid #00f2ff38;border-radius:999px;align-items:center;gap:6px;padding:5px 8px 5px 10px;font-size:11px;display:inline-flex}.participant-chip button{color:#ffc7d8;background:#ff5f8f14;border-color:#ff5f8f47;border-radius:999px;width:18px;height:18px;min-height:18px;padding:0;line-height:1}.participant-empty{color:#6f91a3;margin:0;font-size:11px}.modal-participant-picker{width:min(430px,100%);max-height:min(72vh,640px)}.participant-picker-list{flex-direction:column;gap:10px;padding:12px 16px;display:flex;overflow-y:auto}.participant-picker-item{text-align:left;color:#dffaff;background:#09121ed1;border:.5px solid #00f2ff2e;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.participant-picker-item span{color:#8fb0c3;font-size:11px}.participant-picker-item.active{background:#0a201eeb;border-color:#5affc4b3;box-shadow:0 0 16px #5affc424}.modal-actions-compact{padding:0 16px 16px}@media (width<=760px){.task-detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.card-inline-meta{color:#7f9caf;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:7px;font-size:10px;line-height:1.3;display:flex}.card-inline-meta span{white-space:nowrap;text-overflow:ellipsis;background:#ffffff06;border:.5px solid #00f2ff1f;border-radius:999px;max-width:100%;padding:2px 6px;overflow:hidden}.card-inline-meta span.overdue{background:#b04dff1a;border-color:#b04dff57}.modal-danger-btn{letter-spacing:.04em;color:#ffe6ef;background:linear-gradient(135deg,#ff5f8f47,#b04dff3d);border-color:#ff5f8f94;border-radius:999px;min-width:96px;font-weight:700;box-shadow:0 0 18px #ff5f8f29,inset 0 0 0 1px #ffffff0a}.detail-requirement-required{color:#d6f9ff}.detail-requirement-required p{color:#8fb0c3;margin:8px 0 0;font-size:12px}.tiptap-editor .rich-text-input{padding:0}.tiptap-editor .ProseMirror{color:#e8fcff;outline:none;min-height:126px;padding:10px 12px;line-height:1.7}.tiptap-editor .ProseMirror p.is-editor-empty:first-child:before{content:"填写这条需求的具体内容，支持加粗、列表等格式";color:#5e7f91;float:left;pointer-events:none;height:0}.rich-text-toolbar button.active{color:#03131b;background:linear-gradient(135deg,#5affc4,#8dffd9);border-color:#5affc4bf}.assignment-grid .assignment-participants{background:#ffffff06;border:.5px solid #00f2ff1f;border-radius:12px;align-self:start;min-width:0;padding:8px}.assignment-grid .assignment-participants .participant-chip-list{max-height:72px;overflow-y:auto}.assignment-grid-editor{grid-template-columns:1fr;gap:12px}.assignment-content-panel{grid-column:1/-1}.assignment-footer-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.assignment-participants-inline{background:#ffffff06;border:.5px solid #00f2ff1f;border-radius:12px;padding:8px 10px}.assignment-participants-inline .assignment-field-label{flex:none;min-width:40px;padding-top:2px}.assignment-participants-inline-content{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.assignment-participants-inline-content .participant-chip-list{flex:1;min-width:0;max-height:none;overflow:visible}.assignment-participants-inline-content .participant-empty{flex:1}.assignment-footer-row .participant-add-btn{flex:none}.quill-editor{background:#ffffff09;border:.5px solid #00f2ff24;border-radius:12px;overflow:hidden}.quill-editor .ql-toolbar.ql-snow{color:#dffaff;background:#00f2ff0b;border:0;border-bottom:.5px solid #00f2ff1f}.quill-editor .ql-container.ql-snow{border:0;font-family:inherit}.quill-editor .ql-editor{color:#e8fcff;min-height:180px;max-height:48vh;padding:12px 14px;font-size:13px;line-height:1.7;overflow-y:auto}.quill-editor .ql-editor.ql-blank:before{color:#5e7f91;font-style:normal;left:14px;right:14px}.quill-editor .ql-toolbar button:hover,.quill-editor .ql-toolbar button.ql-active,.quill-editor .ql-toolbar .ql-picker-label.ql-active,.quill-editor .ql-toolbar .ql-picker-item.ql-selected{color:#03131b;filter:none}.quill-editor .ql-toolbar button:hover .ql-stroke,.quill-editor .ql-toolbar button.ql-active .ql-stroke,.quill-editor .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.quill-editor .ql-toolbar .ql-picker-item.ql-selected .ql-stroke{stroke:#03131b}.quill-editor .ql-toolbar button:hover .ql-fill,.quill-editor .ql-toolbar button.ql-active .ql-fill,.quill-editor .ql-toolbar .ql-picker-label.ql-active .ql-fill,.quill-editor .ql-toolbar .ql-picker-item.ql-selected .ql-fill{fill:#03131b}@media (width<=760px){.assignment-footer-row{flex-direction:column;align-items:stretch}.assignment-participants-inline-content{width:100%}.assignment-footer-row .participant-add-btn{align-self:flex-end}}.login-security-hint{text-align:center;color:#688da2!important;font-size:11px!important}:root{color:#20242b;font-synthesis:none;text-rendering:optimizelegibility;--brand:#f62b49;--brand-hover:#d91f3c;--border:#dfe3e8;--border-light:#eaedf0;--text-regular:#555e6a;--text-secondary:#7a8491;--success:#348a45;--success-bg:#edf8ef;--warning:#a86916;--warning-bg:#fff7e8;--danger:#c43d43;--danger-bg:#fff0f1;--info:#2468b4;--info-bg:#eef5fd;background:#f2f4f6;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:#f2f4f6;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed}.boot-screen,.login-shell{place-items:center;min-height:100vh;display:grid}.spinner{border:3px solid #d8dde3;border-top-color:var(--brand);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{background:#eef1f4;padding:24px}.login-panel{border:1px solid var(--border);background:#fff;border-radius:8px;gap:20px;width:min(400px,100%);padding:32px;display:grid;box-shadow:0 12px 30px #1f283414}.login-panel h1{letter-spacing:0;margin:0;font-size:22px;line-height:30px}.login-panel>div:nth-child(2) p{color:var(--text-secondary);margin:3px 0 0;font-size:13px}.login-panel label{color:var(--text-regular);gap:8px;font-size:13px;font-weight:600;display:grid}.brand-mark{background:var(--brand);color:#fff;border-radius:8px;place-items:center;width:48px;height:48px;font-size:16px;font-weight:700;display:grid}.input-with-icon{border:1px solid var(--border);height:44px;color:var(--text-secondary);border-radius:8px;align-items:center;gap:9px;padding:0 12px;display:flex}.input-with-icon:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #f62b491a}.input-with-icon input{color:#20242b;background:0 0;border:0;outline:0;flex:1;min-width:0}.input-with-icon input::placeholder{color:#a0a8b2}.primary-button{background:var(--brand);color:#fff;border:0;border-radius:8px;height:44px;font-weight:600}.primary-button:hover:not(:disabled){background:var(--brand-hover)}.primary-button:disabled{color:#8a929c;background:#d7dbe0}.form-error,.action-error{color:var(--danger);margin:-6px 0 0;font-size:13px}.app-shell{grid-template-rows:auto minmax(0,1fr);min-height:100vh;display:grid}.debug-toolbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 16px;display:flex}.debug-toolbar>div{gap:2px;min-width:0;display:grid}.debug-toolbar strong{font-size:13px}.debug-toolbar span{color:var(--text-secondary);font-size:11px}.debug-toolbar button{border:1px solid;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.debug-start-button{color:#226f9f;background:#edf7fd;border-color:#9cc3df}.debug-start-button:hover:not(:disabled){background:#e4f2fb;border-color:#62a5cf}.debug-stop-button{color:#a43b45;background:#fff7f8;border-color:#e5b2b7}.debug-stop-button:hover:not(:disabled){background:#fff0f2;border-color:#d67882}.debug-toolbar button:disabled{border-color:var(--border);color:#8a929c;background:#f4f5f6}.debug-error{background:var(--danger-bg);border-bottom:1px solid #f1c2c6;margin:0;padding:7px 16px}.topbar{z-index:10;border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;padding:0 18px;display:flex;position:sticky;top:0}.product-name,.topbar-actions{align-items:center;display:flex}.product-name{gap:10px}.brand-mark-small{border-radius:6px;width:34px;height:34px;font-size:12px}.product-name>div{gap:1px;display:grid}.product-name strong{font-size:15px;line-height:20px}.product-name span:not(.brand-mark){color:var(--text-secondary);font-size:11px}.topbar-actions{gap:12px}.broker-state{border:1px solid;border-radius:6px;align-items:center;gap:6px;height:28px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.broker-state.is-online{color:var(--success);background:var(--success-bg);border-color:#bfe2c6}.broker-state.is-offline{color:var(--danger);background:var(--danger-bg);border-color:#f0c6c8}.username{color:var(--text-regular);font-size:13px}.icon-button{border:1px solid var(--border);width:34px;height:34px;color:var(--text-regular);background:#fff;border-radius:6px;place-items:center;display:grid}.icon-button:hover{color:#20242b;background:#f7f8fa;border-color:#c5cbd2}.workspace{grid-template-columns:286px minmax(0,1fr);min-width:0;min-height:0;display:grid}.device-sidebar{border-right:1px solid var(--border);background:#fff;min-width:0;min-height:calc(100vh - 58px)}.sidebar-heading{border-bottom:1px solid var(--border-light);gap:12px;padding:16px 14px 12px;display:grid}.sidebar-heading>div:first-child{justify-content:space-between;align-items:center;display:flex}.sidebar-heading strong{font-size:14px}.sidebar-heading span{color:var(--text-secondary);font-size:12px}.search-field{border:1px solid var(--border);height:36px;color:var(--text-secondary);background:#fafbfc;border-radius:6px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-field:focus-within{background:#fff;border-color:#b9c0c8}.search-field input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.device-list{gap:3px;padding:7px;display:grid}.device-row{width:100%;min-height:58px;color:inherit;text-align:left;background:#fff;border:1px solid #0000;border-radius:6px;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.device-row:hover{background:#f7f8fa}.device-row.is-selected{background:#fff4f6;border-color:#f3b7c0}.status-dot{background:#a1a8b1;border-radius:50%;width:8px;height:8px}.status-dot.is-online{background:#4aaa5a;box-shadow:0 0 0 3px #4aaa5a1f}.status-dot.is-stale{background:#d9922e}.device-row-copy{gap:3px;min-width:0;display:grid}.device-row-copy strong,.device-row-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-row-copy strong{font-size:13px;line-height:18px}.device-row-copy span{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px}.device-state{color:var(--text-secondary);font-size:11px}.device-state.is-online{color:var(--success)}.device-state.is-stale{color:var(--warning)}.empty-sidebar{color:#a0a8b2;place-content:center;justify-items:center;gap:8px;min-height:160px;font-size:13px;display:grid}.control-main{align-content:start;gap:12px;min-width:0;padding:16px;display:grid}.device-context,.apps-section,.remote-install-section,.file-browser-section,.recent-commands-section,.detail-content,.app-operations{border:1px solid var(--border);background:#fff;border-radius:8px}.device-context{grid-template-columns:minmax(180px,1fr) auto minmax(190px,auto);align-items:center;gap:24px;min-height:88px;padding:12px 16px;display:grid}.device-identity{gap:7px;min-width:0;display:grid}.context-title{align-items:center;gap:10px;display:flex}.context-title h1{letter-spacing:0;margin:0;font-size:19px;line-height:28px}.device-details-trigger{color:var(--brand);background:0 0;border:0;align-items:center;gap:1px;margin-left:2px;padding:0 2px;font-size:11px;font-weight:600;display:inline-flex}.device-details-trigger:hover{color:var(--brand-hover)}.device-context p{color:var(--text-secondary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:3px 0 0;font-size:12px}.device-remark{text-overflow:ellipsis;white-space:nowrap;max-width:420px;overflow:hidden}.state-badge,.command-state{white-space:nowrap;border-radius:4px;align-items:center;min-height:23px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.state-badge.is-online,.command-state.is-success{color:var(--success);background:var(--success-bg)}.state-badge.is-stale,.command-state.is-timed_out{color:var(--warning);background:var(--warning-bg)}.state-badge.is-offline,.command-state.is-failed{color:var(--danger);background:var(--danger-bg)}.command-state.is-sent,.command-state.is-accepted{color:var(--info);background:var(--info-bg)}.device-metadata{justify-self:end;gap:28px;margin:0;display:flex}.device-metadata div{gap:4px;display:grid}.device-metadata dt{color:var(--text-secondary);font-size:11px}.device-metadata dd{font-variant-numeric:tabular-nums;margin:0;font-size:12px;font-weight:600}.empty-selection{width:100%;color:var(--text-secondary);justify-content:center;align-items:center;gap:9px;font-size:13px;display:flex}.header-actions{grid-template-columns:repeat(4,66px);gap:6px;display:grid}.header-actions button{color:#343a43;background:#f6f7f9;border:1px solid #0000;border-radius:6px;align-content:center;place-items:center;gap:4px;height:56px;padding:4px;font-size:10px;font-weight:600;display:grid}.header-actions button:hover:not(:disabled){color:var(--brand-hover);background:#fff5f7;border-color:#ef9eaa}.header-actions button:disabled{color:#a1a8b1;background:#f5f6f7}.page-action-error{margin:-4px 2px 0}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;min-height:28px;margin-bottom:12px;display:flex}.section-heading>div{align-items:center;gap:9px;display:flex}.section-heading h2{letter-spacing:0;margin:0;font-size:15px;line-height:24px}.section-heading span{color:var(--text-secondary);font-size:11px}.inline-warning{align-items:center;gap:5px;display:inline-flex;color:var(--danger)!important}.workspace-tabs{border-bottom:1px solid #cfd5dc;align-items:flex-end;gap:20px;min-height:42px;padding:0 4px;display:flex}.workspace-tabs button{height:42px;color:var(--text-secondary);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 4px;font-size:13px;font-weight:600;display:inline-flex}.workspace-tabs button:hover{color:#343a43}.workspace-tabs button.is-active{border-bottom-color:var(--brand);color:#20242b}.workspace-tabs button:disabled{color:#a8afb8;cursor:not-allowed}.device-workbench{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:12px;min-width:0;display:grid}.apps-section{min-width:0;overflow:hidden}.apps-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 14px;display:flex}.apps-toolbar .section-heading{min-height:auto;margin:0}.app-search-field{border:1px solid var(--border);width:min(260px,46%);height:34px;color:var(--text-secondary);background:#fafbfc;border-radius:6px;align-items:center;gap:7px;padding:0 9px;display:flex}.app-search-field:focus-within{background:#fff;border-color:#b9c0c8}.app-search-field input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:12px}.app-filter-tabs{border-top:1px solid var(--border-light);background:#fafbfc;align-items:center;gap:2px;height:42px;padding:5px 12px;display:flex}.app-filter-tabs button{height:30px;color:var(--text-regular);background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:600;display:inline-flex}.app-filter-tabs button:hover{background:#f0f2f4}.app-filter-tabs button.is-active{color:var(--brand-hover);background:#fff0f3}.app-filter-tabs button span{color:var(--text-secondary);font-size:10px;font-weight:500}.app-list{border-top:1px solid var(--border-light);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:246px;max-height:min(590px,100vh - 260px);display:grid;overflow-y:auto}.app-row{border-bottom:1px solid var(--border-light);width:100%;min-width:0;min-height:68px;color:inherit;text-align:left;background:#fff;border-top:0;border-left:0;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 13px;display:grid}.app-row:nth-child(odd){border-right:1px solid var(--border-light)}.app-row:hover{background:#fafbfc}.app-icon{border-radius:7px;place-items:center;width:38px;height:38px;display:grid}.app-icon-0{color:#326d84;background:#eaf4f7}.app-icon-1{color:#526a45;background:#eff5eb}.app-icon-2{color:#8a6322;background:#faf2e3}.app-icon-3{color:#955261;background:#faedf0}.app-copy{gap:3px;min-width:0;display:grid}.app-copy strong,.app-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-copy strong{color:#2b3139;font-size:13px;line-height:18px}.app-copy span{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:10px}.app-row-meta{justify-items:end;gap:4px;max-width:80px;display:grid}.app-row-meta>span{color:#5d6c77;background:#eef1f4;border-radius:4px;padding:2px 5px;font-size:9px}.app-row-meta small{max-width:80px;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:400;overflow:hidden}.empty-apps{color:#a0a8b2;grid-column:1/-1;place-content:center;justify-items:center;gap:8px;min-height:245px;font-size:13px;display:grid}.remote-install-section,.file-browser-section{min-width:0;overflow:hidden}.file-browser-toolbar{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:8px 10px;display:flex}.file-browser-location{align-items:center;gap:7px;min-width:0;display:flex}.file-browser-location>strong{padding-left:4px;font-size:13px}.file-browser-location>button,.file-refresh-button,.file-pagination button,.file-entry-action button,.file-entry-action a{border:1px solid var(--border);width:34px;height:34px;color:var(--text-regular);background:#fff;border-radius:5px;flex:none;place-items:center;text-decoration:none;display:grid}.file-browser-location>button:hover,.file-refresh-button:hover:not(:disabled),.file-pagination button:hover:not(:disabled),.file-entry-action button:hover:not(:disabled),.file-entry-action a:hover{color:#262c34;background:#f7f8fa;border-color:#aeb6bf}.file-refresh-button:disabled,.file-pagination button:disabled,.file-entry-action button:disabled{color:#b0b6be;background:#f4f5f6}.file-breadcrumb{scrollbar-width:thin;align-items:center;min-width:0;display:flex;overflow-x:auto}.file-breadcrumb>button,.file-breadcrumb span>button{color:#343a43;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:none;max-width:180px;padding:6px 4px;font-size:12px;font-weight:600;overflow:hidden}.file-breadcrumb span{color:#a0a7b0;align-items:center;display:flex}.file-breadcrumb button:hover{color:var(--brand-hover)}.file-browser-error{background:var(--danger-bg);color:var(--danger);overflow-wrap:anywhere;border-bottom:1px solid #f1c2c6;padding:8px 12px;font-size:11px}.file-browser-empty{color:#9da5af;place-content:center;justify-items:center;gap:9px;min-height:285px;font-size:12px;display:grid}.file-browser-empty .spinner{border-width:2px;width:22px;height:22px}.storage-root-list{align-content:start;min-height:285px;display:grid}.storage-root-list>button{border:0;border-bottom:1px solid var(--border-light);min-width:0;min-height:68px;color:inherit;text-align:left;background:#fff;grid-template-columns:38px minmax(0,1fr) auto 20px;align-items:center;gap:10px;padding:10px 14px;display:grid}.storage-root-list>button:hover:not(:disabled){background:#fafbfc}.storage-root-list>button:disabled{color:#9ea6b0}.storage-root-icon{background:var(--info-bg);width:38px;height:38px;color:var(--info);border-radius:6px;place-items:center;display:grid}.storage-root-list>button>span:nth-child(2){gap:3px;min-width:0;display:grid}.storage-root-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.storage-root-list small,.storage-root-capacity{color:var(--text-secondary);font-size:10px}.storage-root-capacity{text-align:right;white-space:nowrap}.file-entry-list{min-height:285px;max-height:min(590px,100vh - 300px);overflow:auto}.file-entry-heading,.file-entry-row{grid-template-columns:minmax(180px,1fr) 76px 148px 174px;align-items:center;gap:10px;min-width:720px;padding:0 10px 0 13px;display:grid}.file-entry-heading{z-index:1;border-bottom:1px solid var(--border);height:34px;color:var(--text-secondary);background:#fafbfc;font-size:10px;font-weight:600;position:sticky;top:0}.file-entry-row{border-bottom:1px solid var(--border-light);min-height:48px;color:var(--text-secondary);font-size:10px}.file-entry-row:hover{background:#fafbfc}.file-name-button,.file-name-static{align-items:center;gap:8px;min-width:0;display:flex}.file-name-cell{gap:3px;min-width:0;display:grid}.file-name-button{color:#2f6e9d;text-align:left;background:0 0;border:0;height:47px;padding:0}.file-name-button:disabled{color:#9ba4ad}.file-name-button svg,.file-name-static svg{flex:none}.file-name-static{color:#3d454f}.file-name-button span,.file-name-static>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.file-name-static small{color:var(--text-secondary);background:#eef1f4;border-radius:3px;flex:none;padding:2px 4px;font-size:8px}.file-transfer-error{color:var(--danger);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.file-entry-action{grid-template-columns:82px 82px;justify-content:end;justify-items:stretch;gap:5px;min-width:0;display:grid}.file-entry-action button{white-space:nowrap;justify-content:center;align-items:center;gap:5px;width:82px;height:30px;padding:0 7px;font-size:10px;font-weight:600;display:inline-flex}.file-entry-action button.is-upload{color:#596570;background:#fff;border-color:#c8ced5}.file-entry-action button.is-upload:hover:not(:disabled){color:#343c44;background:#f7f8fa;border-color:#8d99a5}.file-entry-action button.is-download{color:#226f9f;background:#edf7fd;border-color:#9cc3df}.file-entry-action button.is-download:hover:not(:disabled){color:#155d8a;background:#e4f2fb;border-color:#62a5cf}.file-entry-action button.is-delete{color:#a43b45;background:#fff7f8;border-color:#e5b2b7}.file-entry-action button.is-delete:hover:not(:disabled){color:#862832;background:#fff0f2;border-color:#d67882}.file-entry-action button:disabled{color:#87929d;text-overflow:ellipsis;overflow:hidden}.file-transfer-summary{color:var(--text-secondary);text-align:center;white-space:nowrap;grid-column:1/-1;font-size:8px}.mini-spinner{border:2px solid #cdd4db;border-top-color:var(--info);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.file-pagination{border-top:1px solid var(--border-light);min-height:46px;color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:12px;padding:6px 10px;font-size:10px;display:flex}.file-pagination>div{gap:5px;display:flex}.remote-install-header{justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 14px;display:flex}.remote-install-header .section-heading{min-height:auto;margin:0}.install-target{max-width:50%;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;background:#eef1f4;border-radius:4px;padding:4px 7px;font-size:10px;font-weight:600;overflow:hidden}.install-target.is-online{color:var(--success);background:var(--success-bg)}.install-method{border-top:1px solid var(--border-light);gap:13px;padding:18px;display:grid}.install-method-heading{align-items:center;gap:11px;display:flex}.install-method-icon{width:38px;height:38px;color:var(--info);background:var(--info-bg);border-radius:7px;flex:none;place-items:center;display:grid}.install-method-heading h3{margin:0;font-size:13px;line-height:19px}.install-method-heading p{color:var(--text-secondary);margin:2px 0 0;font-size:10px}.install-url-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;display:grid}.install-url-row input{border:1px solid var(--border);color:#20242b;background:#fafbfc;border-radius:6px;outline:0;width:100%;min-width:0;height:40px;padding:0 11px;font-size:12px}.install-url-row input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #f62b491a}.install-url-row input:disabled{color:#8a929c;background:#f2f3f5}.install-url-row button,.install-file-actions button{background:var(--brand);color:#fff;white-space:nowrap;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;height:40px;padding:0 15px;font-size:12px;font-weight:600;display:inline-flex}.install-url-row button:hover:not(:disabled),.install-file-actions button:hover:not(:disabled){background:var(--brand-hover)}.install-url-row button:disabled,.install-file-actions button:disabled{color:#8a929c;background:#d7dbe0}.install-history{border-top:1px solid var(--border-light)}.install-history-heading{justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:12px 18px;display:flex}.install-history-heading h3{margin:0;font-size:13px;line-height:19px}.install-history-heading p{color:var(--text-secondary);margin:2px 0 0;font-size:10px}.install-history-heading>span{min-width:24px;color:var(--text-secondary);text-align:center;background:#eef1f4;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:700}.install-history-list{border-top:1px solid var(--border-light);max-height:330px;overflow-y:auto}.install-history-row{border-bottom:1px solid var(--border-light);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:58px;padding:8px 12px 8px 18px;display:grid}.install-history-row:last-child{border-bottom:0}.install-history-row:hover{background:#fafbfc}.install-history-icon{background:var(--info-bg);width:34px;height:34px;color:var(--info);border-radius:6px;place-items:center;display:grid}.install-history-copy{gap:3px;min-width:0;display:grid}.install-history-copy strong{color:#2b3139;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.install-history-copy small{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:9px}.install-history-actions{gap:6px;display:flex}.install-history-actions button{border:1px solid var(--border);width:32px;height:32px;color:var(--info);background:#fff;border-radius:5px;place-items:center;display:grid}.install-history-actions button:hover:not(:disabled){background:var(--info-bg);border-color:#9fb8cf}.install-history-actions button.is-danger{color:var(--danger)}.install-history-actions button.is-danger:hover:not(:disabled){background:var(--danger-bg);border-color:#edb8bc}.install-history-actions button:disabled{color:#a1a8b1;background:#f4f5f6}.install-history-empty{border-top:1px solid var(--border-light);color:#9da5af;justify-content:center;align-items:center;gap:8px;min-height:92px;font-size:11px;display:flex}.install-history-error{background:var(--danger-bg);color:var(--danger);overflow-wrap:anywhere;border-top:1px solid #f1c2c6;margin:0;padding:8px 18px;font-size:10px}.apk-dropzone{min-height:144px;color:var(--text-secondary);cursor:pointer;text-align:center;background:#fafbfc;border:1px dashed #bfc6ce;border-radius:7px;place-content:center;justify-items:center;gap:8px;padding:18px;display:grid}.apk-dropzone:hover,.apk-dropzone.is-dragging{border-color:var(--brand);color:var(--brand-hover);background:#fff5f7}.apk-dropzone.has-file{background:var(--info-bg);color:var(--info);border-style:solid;border-color:#b9d1eb}.apk-dropzone input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.apk-dropzone>span{gap:3px;min-width:0;display:grid}.apk-dropzone strong{overflow-wrap:anywhere;color:#343a43;max-width:100%;font-size:12px}.apk-dropzone small{color:var(--text-secondary);font-size:10px}.install-file-error{color:var(--danger);margin:-4px 0 0;font-size:11px}.install-file-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.install-file-actions>span{min-width:0;color:var(--text-secondary);font-size:10px}.action-error{margin-top:10px}.recent-commands-section{min-width:0;overflow:hidden}.recent-commands-section>.section-heading{margin:0;padding:14px 14px 10px}.command-feed{border-top:1px solid var(--border-light);max-height:min(632px,100vh - 218px);overflow-y:auto}.command-feed-item{border:0;border-bottom:1px solid var(--border-light);width:100%;color:inherit;text-align:left;background:#fff;gap:7px;padding:10px 12px;display:grid}.command-feed-item:hover{background:#fafbfc}.command-feed-head,.command-feed-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.command-feed-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.command-feed-meta{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:10px}.command-feed-detail{color:var(--text-regular);overflow-wrap:anywhere;background:#f5f6f8;border-radius:5px;gap:4px;padding:7px;font-size:10px;display:grid}.empty-command-feed{color:#a0a8b2;place-items:center;min-height:180px;font-size:12px;display:grid}.app-detail-view{min-width:0}.detail-nav{margin-bottom:8px}.back-button{height:34px;color:var(--text-regular);background:0 0;border:0;align-items:center;gap:7px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.back-button:hover{color:#20242b}.detail-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:12px;display:grid}.detail-content{min-width:0;overflow:hidden}.app-detail-header{border-bottom:1px solid var(--border-light);grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:14px 16px;display:grid}.app-detail-header .app-icon{width:46px;height:46px}.app-detail-header h2{margin:0;font-size:18px;line-height:26px}.app-detail-header p{color:var(--text-secondary);overflow-wrap:anywhere;margin:2px 0 0;font-size:11px}.app-kind{color:#5d6670;background:#eef1f4;border-radius:4px;padding:4px 7px;font-size:10px;font-weight:600}.detail-loading,.detail-error{min-height:260px;color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.detail-loading .spinner{border-width:2px;width:22px;height:22px}.detail-error{color:var(--danger)}.details-stack{display:grid}.detail-section{border-bottom:1px solid var(--border-light);padding:16px}.detail-section h3{margin:0 0 12px;font-size:13px;line-height:20px}.details-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;margin:0;display:grid}.details-grid div,.path-list div{gap:4px;min-width:0;display:grid}.details-grid dt,.path-list dt{color:var(--text-secondary);font-size:10px}.details-grid dd,.path-list dd{color:#343a43;overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:600}.path-list{gap:10px;margin:0;display:grid}.path-list div{grid-template-columns:110px minmax(0,1fr);gap:12px}.path-list dd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:400}.detail-collection{border-bottom:1px solid var(--border-light)}.detail-collection summary{cursor:pointer;align-items:center;gap:8px;min-height:46px;padding:0 16px;font-size:12px;font-weight:600;display:flex}.detail-collection summary small{color:var(--text-secondary);font-size:10px;font-weight:400}.detail-collection>div{gap:1px;max-height:300px;padding:0 16px 14px 32px;display:grid;overflow-y:auto}.detail-collection code{color:#4b535d;overflow-wrap:anywhere;white-space:normal;background:#f6f7f9;padding:5px 7px;font-size:10px}.detail-collection>div>span{color:var(--text-secondary);font-size:11px}.app-operations{gap:8px;padding:14px;display:grid}.app-operations>.section-heading{margin-bottom:4px}.open-app-button,.close-app-button,.extract-app-button,.download-app-button,.uninstall-app-button{border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.open-app-button{background:var(--brand);color:#fff;border:0}.open-app-button:hover:not(:disabled){background:var(--brand-hover)}.open-app-button:disabled{color:#8a929c;background:#d7dbe0}.close-app-button{color:#4f5863;background:#fff;border:1px solid #cfd5dc}.close-app-button:hover:not(:disabled){color:#252b32;background:#f2f4f6;border-color:#9ea7b1}.close-app-button:disabled{border-color:var(--border);color:#a1a8b1;background:#f4f5f6}.extract-app-button,.download-app-button{color:#343a43;background:#fff;border:1px solid #cfd5dc}.extract-app-button:hover:not(:disabled),.download-app-button:hover{background:#f7f8fa;border-color:#9ea7b1}.extract-app-button:disabled,.uninstall-app-button:disabled{border-color:var(--border);color:#a1a8b1;background:#f4f5f6}.download-app-button{color:var(--info);background:var(--info-bg);border-color:#b9d1eb}.uninstall-app-button{color:var(--danger);background:#fff;border:1px solid #edb8bc}.uninstall-app-button:hover:not(:disabled){border-color:var(--danger);background:var(--danger-bg)}.operation-status{color:var(--text-secondary);overflow-wrap:anywhere;background:#f5f6f8;border-radius:5px;margin:2px 0 0;padding:7px 8px;font-size:10px}.operation-status.is-failed,.operation-status.is-timed_out{color:var(--danger);background:var(--danger-bg)}.operation-status.is-success{color:var(--success);background:var(--success-bg)}.app-operations>p:not(.operation-status){color:var(--text-secondary);text-align:center;margin:1px 0 0;font-size:10px}.remote-screen-panel{grid-template-rows:auto auto minmax(360px,1fr);gap:12px;min-width:0;padding:16px;display:grid}.remote-screen-panel>header{justify-content:space-between;align-items:center;gap:14px;display:flex}.remote-screen-panel h2{margin:0;font-size:14px;line-height:20px}.remote-screen-panel header span{color:var(--text-secondary);margin-top:2px;font-size:10px;display:block}.remote-screen-panel header span.is-running{color:var(--success)}.screen-session-actions{gap:8px;display:flex}.screen-session-actions button{border:1px solid var(--border);height:34px;color:var(--text-regular);background:#fff;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:600;display:inline-flex}.screen-session-actions button:first-child{border-color:var(--brand);background:var(--brand);color:#fff}.screen-session-actions button:disabled{border-color:var(--border);color:#9aa1aa;background:#f2f4f6}.screen-session-actions .screen-size-button{padding:0 10px}.screen-error{color:var(--danger);align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.remote-screen-stage{background:#171a1f;border-radius:6px;place-items:center;min-height:360px;display:grid;position:relative;overflow:hidden}.remote-screen-stage>div:not(.screen-quick-actions){color:#9fa6ae;justify-items:center;gap:9px;font-size:11px;display:grid}.remote-screen-stage img{object-fit:contain;-webkit-user-select:none;user-select:none;touch-action:none;cursor:crosshair;width:100%;height:100%;max-height:68vh}.screen-quick-actions{background:#15191fe0;border:1px solid #ffffff38;border-radius:6px;align-items:stretch;display:flex;position:absolute;bottom:12px;right:12px;overflow:hidden;box-shadow:0 5px 16px #0000003d}.screen-quick-actions button{color:#f3f5f7;background:0 0;border:0;border-right:1px solid #ffffff24;align-content:center;place-items:center;gap:3px;width:58px;min-height:48px;padding:5px 3px;font-size:10px;font-weight:600;display:grid}.screen-quick-actions button:last-child{border-right:0}.screen-quick-actions button:hover:not(:disabled){background:#f62b49eb}.screen-quick-actions button:disabled{color:#737b85}.screen-quick-actions span{white-space:nowrap}.remote-screen-panel.is-expanded{z-index:60;background:#f2f4f6;grid-template-rows:auto auto minmax(0,1fr);padding:18px;position:fixed;inset:0}.remote-screen-panel.is-expanded .remote-screen-stage{border-radius:8px;min-height:0}.remote-screen-panel.is-expanded .remote-screen-stage img{max-height:none}.remote-screen-panel.is-expanded .screen-quick-actions{bottom:20px;right:20px}.modal-backdrop{z-index:50;background:#1419207a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirmation-dialog{background:#fff;border-radius:8px;grid-template-columns:42px minmax(0,1fr);gap:12px;width:min(420px,100%);padding:20px;display:grid;box-shadow:0 18px 48px #0f141c3d}.confirmation-icon{width:42px;height:42px;color:var(--danger);background:var(--danger-bg);border-radius:7px;place-items:center;display:grid}.confirmation-dialog h2{margin:1px 0 5px;font-size:17px;line-height:24px}.confirmation-dialog p{color:var(--text-regular);margin:0;font-size:12px;line-height:20px}.confirmation-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.confirmation-actions button{border:1px solid var(--border);min-width:76px;height:36px;color:var(--text-regular);background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:12px;font-weight:600;display:inline-flex}.confirmation-actions button:hover{background:#f7f8fa}.confirmation-actions button.is-danger{border-color:var(--danger);background:var(--danger);color:#fff}.confirmation-actions button.is-danger:hover{background:#a93238}.device-info-dialog{background:#fff;border-radius:9px;grid-template-rows:auto auto auto minmax(0,1fr);width:min(820px,100%);max-height:min(820px,100vh - 40px);display:grid;overflow:hidden;box-shadow:0 18px 48px #0f141c3d}.device-info-dialog-header{border-bottom:1px solid var(--border);background:#fbfcfd;justify-content:space-between;align-items:center;gap:16px;min-height:82px;padding:17px 20px 15px;display:flex}.device-info-dialog-header>div{min-width:0}.device-info-dialog-header>div>span{color:var(--brand);letter-spacing:.04em;font-size:10px;font-weight:700}.device-info-dialog-header h2{margin:3px 0 0;font-size:18px;line-height:25px}.device-info-dialog-header p{color:var(--text-secondary);overflow-wrap:anywhere;margin:2px 0 0;font-size:11px}.device-info-dialog-header button{width:34px;height:34px;color:var(--text-secondary);background:0 0;border:0;border-radius:5px;flex:none;place-items:center;display:grid}.device-info-dialog-header button:hover{color:var(--text-primary);background:#f3f4f6}.device-remark-editor{border-bottom:1px solid var(--border-light);grid-template-columns:auto minmax(0,1fr) 34px;align-items:center;gap:9px;padding:10px 20px;display:grid}.device-remark-editor label{color:var(--text-secondary);font-size:12px;font-weight:600}.device-remark-editor input{border:1px solid var(--border);color:#20242b;border-radius:5px;outline:0;min-width:0;height:32px;padding:0 9px;font-size:12px}.device-remark-editor input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #f62b491a}.device-remark-editor button{border:1px solid var(--border);width:34px;height:32px;color:var(--text-regular);background:#fff;border-radius:5px;place-items:center;display:grid}.device-remark-editor button:hover:not(:disabled){color:#20242b;background:#f7f8fa;border-color:#c5cbd2}.device-info-overview{border-bottom:1px solid var(--border);background:#fff;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.device-info-overview>div{border-right:1px solid var(--border-light);gap:4px;min-width:0;padding:13px 20px;display:grid}.device-info-overview>div:last-child{border-right:0}.device-info-overview dt,.device-info-sections dt{color:var(--text-secondary);font-size:10px}.device-info-overview dd,.device-info-sections dd{color:#343a43;overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:600}.device-info-sections{min-height:0;overflow-y:auto}.device-info-sections>section{border-bottom:1px solid var(--border-light);padding:17px 20px 19px}.device-info-sections>section:last-child{border-bottom:0}.device-info-sections h3{margin:0 0 12px;font-size:13px;line-height:20px}.device-info-sections dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 22px;margin:0;display:grid}.device-info-sections dl>div{gap:4px;min-width:0;display:grid}.device-info-sections dl>div.is-wide{grid-column:span 2}.device-info-empty{min-height:180px;color:var(--text-secondary);place-content:center;justify-items:center;gap:8px;font-size:12px;display:grid}@media (width<=820px){.app-shell{grid-template-rows:auto minmax(0,1fr)}.debug-toolbar{padding:8px 12px}.product-name span:not(.brand-mark),.username{display:none}.broker-state{white-space:nowrap;max-width:148px;overflow:hidden}.workspace{grid-template-columns:minmax(0,1fr)}.device-sidebar{border-right:0;border-bottom:1px solid var(--border);min-height:auto}.sidebar-heading{grid-template-columns:auto minmax(150px,1fr);align-items:center;padding:10px 12px}.device-list{gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.device-row{min-width:230px}.empty-sidebar{width:100%;min-height:70px}.control-main{padding:12px}.device-context{grid-template-columns:minmax(0,1fr) auto;gap:12px}.header-actions{grid-area:2/1/auto/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.device-metadata{gap:24px}.device-workbench{grid-template-columns:1fr}.command-feed{max-height:360px}.detail-layout{grid-template-columns:1fr}.app-operations{grid-row:1}}@media (width<=420px){.broker-state{max-width:126px}.sidebar-heading{grid-template-columns:1fr;gap:7px}.device-row{min-width:210px}.context-title{flex-direction:column;align-items:flex-start;gap:5px}.context-title h1{font-size:17px}.device-context{grid-template-columns:1fr}.device-metadata{grid-row:2}.header-actions{grid-row:3}.device-metadata{justify-content:space-between;width:100%}.device-info-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.device-info-overview>div:nth-child(2n){border-right:0}.device-info-overview>div:nth-child(-n+2){border-bottom:1px solid var(--border-light)}.device-info-sections dl{grid-template-columns:repeat(2,minmax(0,1fr))}.device-info-sections dl>div.is-wide{grid-column:span 2}.apps-toolbar{flex-direction:column;align-items:stretch;gap:7px}.app-search-field{width:100%}.app-filter-tabs{overflow-x:auto}.app-filter-tabs button{flex:none}.app-list{grid-template-columns:1fr;max-height:520px}.app-row:nth-child(odd){border-right:0}.section-heading{margin-bottom:9px}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.path-list div{grid-template-columns:1fr;gap:4px}.install-url-row{grid-template-columns:1fr}.install-url-row button{width:100%}.install-file-actions{flex-direction:column;align-items:stretch}.install-file-actions button{width:100%}.workspace-tabs{gap:14px;overflow-x:auto}.workspace-tabs button{flex:none}.storage-root-list>button{grid-template-columns:38px minmax(0,1fr) 18px}.storage-root-capacity{text-align:left;grid-column:2}.remote-screen-panel{grid-template-rows:auto auto minmax(300px,1fr);padding:12px}.remote-screen-panel>header{flex-direction:column;align-items:flex-start}.screen-session-actions{width:100%}.screen-session-actions button{flex:1}.remote-screen-stage{min-height:300px}}.platform-shell,.platform-home{color:#14202b;background:#f5f7fb;min-height:100vh}.platform-nav{z-index:10;background:#fff;border-bottom:1px solid #e4e9ef;align-items:center;gap:28px;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.platform-brand{color:#14202b;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.platform-brand img{object-fit:contain;width:32px;height:32px}.platform-nav nav{flex:1;gap:4px;display:flex}.platform-nav nav button{color:#5b6875;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px 13px}.platform-content{min-height:calc(100vh - 65px)}.platform-home-main{max-width:1100px;margin:0 auto;padding:72px 32px}.platform-eyebrow{color:#3979d4;letter-spacing:.12em;margin:0 0 12px;font-size:12px;font-weight:700}.platform-home h1{margin:0;font-size:38px}.platform-subtitle{color:#687684;margin:12px 0 42px}.platform-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.platform-module{text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e6ed;border-radius:8px;flex-direction:column;min-height:170px;padding:22px;display:flex}.platform-module span{color:#687684;margin-top:12px;font-size:13px;line-height:1.6}.platform-module b{color:#1f6feb;margin-top:auto;font-size:13px}.platform-loading{color:#687684;background:#f5f7fb;place-items:center;min-height:100vh;display:grid}.platform-login{background:#f5f7fb;place-items:center;min-height:100vh;display:grid}.platform-login form{background:#fff;border:1px solid #e0e6ed;border-radius:8px;width:min(360px,100% - 40px);padding:36px;box-shadow:0 12px 32px #19467814}.platform-login form>img{object-fit:contain;width:58px;height:58px;margin:0 auto 18px;display:block}.platform-login h1{text-align:center;margin:0 0 26px;font-size:26px}.platform-login label{color:#4d5d6c;margin-top:14px;font-size:13px;display:block}.platform-login input{box-sizing:border-box;width:100%;font:inherit;border:1px solid #ced8e2;border-radius:5px;margin-top:7px;padding:11px 12px;display:block}.platform-login button{color:#fff;cursor:pointer;background:#1f6feb;border:0;border-radius:5px;width:100%;margin-top:24px;padding:11px}.platform-login button:disabled{opacity:.55;cursor:not-allowed}.platform-login-error{color:#c53b43;font-size:13px}.device-module{min-height:calc(100vh - 65px)}@media (width<=800px){.platform-nav{gap:12px;padding:0 14px}.platform-brand strong{display:none}.platform-nav nav{overflow:auto}.platform-nav nav button{white-space:nowrap;padding:8px}.platform-home-main{padding:44px 20px}.platform-home h1{font-size:30px}.platform-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.platform-module-grid{grid-template-columns:1fr}}.platform-login{color:#172638;background:#f4f7fb;position:relative;overflow:hidden}.platform-login:before{content:"";pointer-events:none;background-image:linear-gradient(#1f6feb0e 1px,#0000 1px),linear-gradient(90deg,#1f6feb0e 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.platform-login form{background:#fff;border:1px solid #d7e1eb;border-radius:10px;width:min(390px,100% - 40px);padding:42px 40px 36px;position:relative;box-shadow:0 24px 70px #27476924}.platform-login form:before{content:"";background:#1f6feb;height:2px;position:absolute;top:-1px;left:28px;right:28px}.platform-login form>img{filter:drop-shadow(0 4px 8px #1f6feb1f);width:52px;height:52px;margin:0 0 26px}.platform-login .platform-eyebrow{color:#2774c7;letter-spacing:.18em;margin-bottom:10px;font-size:11px}.platform-login h1{text-align:left;color:#172638;letter-spacing:0;margin:0 0 30px;font-size:28px;font-weight:650}.platform-login label{color:#506579;letter-spacing:.04em;margin-top:18px;font-size:12px}.platform-login input{color:#172638;background:#fbfdff;border:1px solid #c9d6e2;border-radius:5px;outline:none;margin-top:8px;padding:12px 13px;transition:border-color .16s,box-shadow .16s}.platform-login input::placeholder{color:#8ea0b1}.platform-login button{color:#fff;letter-spacing:.04em;background:#1f6feb;margin-top:28px;padding:12px;font-weight:700;transition:background .16s,transform .16s}.platform-login button:hover:not(:disabled){background:#145dcc;transform:translateY(-1px)}.platform-login button:disabled{color:#fff;background:#a9bfd8}.platform-login-error{color:#c53b43;margin:16px 0 0;font-size:12px}@media (width<=480px){.platform-login form{padding:34px 24px 28px}.platform-login form>img{margin-bottom:22px}.platform-login h1{margin-bottom:26px;font-size:25px}}:root{--ui-bg:#f6f8fb;--ui-surface:#fff;--ui-line:#e2e8f0;--ui-line-strong:#cbd7e5;--ui-text:#172638;--ui-muted:#68798b;--ui-primary:#2168c7;--ui-primary-soft:#edf4ff;--ui-danger:#c44852;--ui-success:#2d8a58;color:var(--ui-text);background:var(--ui-bg);font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}html,body,#root{background:var(--ui-bg);min-width:320px;color:var(--ui-text)}button,input,select,textarea{letter-spacing:0;font-family:inherit}button{border-radius:6px}.platform-home,.platform-shell{background:var(--ui-bg);color:var(--ui-text)}.platform-nav{border-color:var(--ui-line);height:60px;padding:0 24px;box-shadow:0 1px #17263805}.platform-brand{font-size:14px}.platform-nav nav button{color:#647487;font-size:13px}.platform-home-main{padding:58px 28px 72px}.platform-home h1{font-size:32px;font-weight:650}.platform-eyebrow{color:var(--ui-primary)}.platform-subtitle{display:none}.platform-module{border-color:var(--ui-line);min-height:148px;box-shadow:none;border-radius:7px;padding:18px}.platform-module strong{font-size:16px}.platform-module span{color:var(--ui-muted);margin-top:9px;font-size:12px}.platform-module b{color:var(--ui-primary);font-size:12px}.platform-loading{background:var(--ui-bg);color:var(--ui-muted)}.page{background:var(--ui-bg);max-width:1440px;padding:18px 22px}.page:before,.page:after,.bg-glow{display:none}.card-shell,.board,.column,.archive-section,.ai-ops,.hud-visuals{background:var(--ui-surface);border:1px solid var(--ui-line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:8px}.card-shell:after{display:none}.header{margin-bottom:10px;padding:14px 16px}.header h1{letter-spacing:0;text-transform:none;text-shadow:none;color:var(--ui-text);font-size:22px}.header p,.manual-entry p,.drag-tip,.modal-subtitle,.login-security-hint{display:none}.header-user{border:1px solid var(--ui-line);box-shadow:none;background:#f8fafc;border-radius:6px}.header-user span{color:var(--ui-muted)}.header-user strong{color:var(--ui-text)}button.header-logout{border:1px solid var(--ui-line);color:#53677a;background:#fff;border-radius:6px}button.header-logout:hover{background:var(--ui-primary-soft);box-shadow:none;border-color:#a9c4e7}.hud-topline{gap:8px;margin-bottom:10px;padding:0}.hud-node{border:1px solid var(--ui-line);background:#fff;border-radius:7px}.hud-node span,.hud-node small{color:var(--ui-muted)}.hud-node strong{color:var(--ui-text)}.hud-visuals{padding:12px}.hud-title{color:var(--ui-text);text-shadow:none}.filter-bar,.manual-entry{border:1px solid var(--ui-line);background:#fff;border-radius:8px}.chip,.filter-create-btn{border-radius:6px}.chip.active,.filter-create-btn{background:var(--ui-primary);border-color:var(--ui-primary);color:#fff}.column{overflow:hidden}.column-head{border-bottom:1px solid var(--ui-line)}.column-head h2{letter-spacing:0;color:var(--ui-text);font-size:15px}.column.status-doing{border-color:#b8d1ef}.column.status-doing .column-head{background:#f1f6fd}.column.status-done .column-head{background:#f4faf7}.card{border:1px solid var(--ui-line);background:#fff;border-radius:7px;box-shadow:0 2px 8px #223d5a0d}.card:hover{border-color:#a8c2e2;box-shadow:0 5px 14px #223d5a14}.priority{border-radius:4px}.ai-op-item,.archive-item{border-color:var(--ui-line);background:#fff;border-radius:6px}.op-executed{color:var(--ui-success)}.customer-app,.customer-workspace-page,.dashboard-home,.um-app{background:var(--ui-bg);color:var(--ui-text)}.customer-app .topbar{border-color:var(--ui-line);height:60px;box-shadow:none;padding:0 24px}.customer-app .topbar h1{font-size:19px;font-weight:650}.customer-app .topbar .eyebrow,.um-eyebrow{display:none}.customer-main,.detail-page{padding-top:20px}.summary-total{background:var(--ui-primary);border-color:var(--ui-primary)}.summary-item,.table-panel,.upcoming-panel,.config-card,.workspace-sidebar,.workspace-detail,.workspace-card,.um-panel,.um-stats>div{border-color:var(--ui-line);box-shadow:none;border-radius:8px}.summary-item:hover,.summary-item.active{box-shadow:none;border-color:#9dbce1}.primary-button,.um-btn.primary{background:var(--ui-primary);border-color:var(--ui-primary)}.primary-button:hover:not(:disabled),.um-btn.primary:hover{background:#1958ab}.secondary-button,.ghost-button,.um-btn.secondary{border-color:var(--ui-line-strong);color:#53677a;background:#fff}.search-box,.toolbar select,.workspace-filters select{border-color:var(--ui-line-strong);background:#fff}.customer-login{background:var(--ui-bg)}.um-sidebar{display:none}.um-app{display:block}.um-main{width:min(1180px,100%);padding:28px 32px 46px}.um-page-head h1{font-size:24px}.um-page-head p:last-child{display:none}.um-panel-head{padding:15px 18px}.um-stats strong,.um-role.admin{color:var(--ui-primary)}.um-nav,.um-note{display:none}.device-module .page{background:var(--ui-bg)}.device-module .card-shell,.device-module .device-context,.device-module .apps-section,.device-module .remote-install-section,.device-module .file-browser-section,.device-module .recent-commands-section,.device-module .detail-content,.device-module .app-operations{border-color:var(--ui-line);box-shadow:none;border-radius:8px}.device-module .header{background:#fff}.device-module .header h1{color:var(--ui-text)}.device-module .header p{display:none}.device-module .header-user{background:#f8fafc}.device-module .device-row.is-selected{background:var(--ui-primary-soft);border-color:#a8c6ea}.device-module .workspace-tabs button.active{color:var(--ui-primary);border-color:var(--ui-primary)}@media (width<=800px){.platform-nav{padding:0 14px}.platform-home-main{padding:40px 18px}.page{padding:12px}.customer-app .topbar{padding:0 14px}.um-main{padding:22px 14px 35px}}:root{--ui-bg:#f7f8fa;--ui-surface:#fff;--ui-line:#e1e5ea;--ui-line-strong:#cbd2da;--ui-text:#202a35;--ui-muted:#697684;--ui-primary:#e23b55;--ui-primary-soft:#fff1f3;--ui-danger:#c93349;--ui-success:#278456}.platform-home-main{padding-top:46px}.platform-home h1{font-size:28px}.platform-module{min-height:110px}.platform-module:hover{border-color:#e7a8b2;box-shadow:0 5px 16px #4e2c3412}.platform-module b{color:var(--ui-primary)}.platform-login:before{display:none}.platform-login form{border-color:var(--ui-line);box-shadow:0 20px 55px #242d381c}.platform-login form:before{background:var(--ui-primary)}.platform-login button{background:var(--ui-primary)}.platform-login button:hover:not(:disabled){background:#c92f48}.page{color:var(--ui-text)}.page .header-topline,.page .hud-visuals{display:none}.page .header{background:#fff}.page .header h1{color:var(--ui-text)}.page .header-user{background:#f8f9fb}.page button,.page select,.page input,.page textarea{border:1px solid var(--ui-line-strong);color:var(--ui-text);box-shadow:none;background:#fff;border-radius:6px}.page button:hover{box-shadow:none;background:#f8f9fb;border-color:#abb6c2}.page button.primary,.page .filter-create-btn,.page .chip.active{border-color:var(--ui-primary);background:var(--ui-primary);color:#fff;box-shadow:none}.page button.primary:hover,.page .filter-create-btn:hover{background:#c92f48;border-color:#c92f48}.page .filter-bar{padding:10px 12px}.page .chip{color:#536170}.page .chip span{color:inherit}.page .column{border-color:var(--ui-line);background:#fff;min-height:480px}.page .column-head{border-color:var(--ui-line);background:#fafbfc}.page .column-head h2{color:var(--ui-text)}.page .column-head span{color:#536170;background:#eef1f4}.page .column.status-doing .column-head{background:#f3f7fc;border-color:#dce7f3}.page .column.status-done .column-head{background:#f3f9f6;border-color:#dcebe3}.page .card{border-color:var(--ui-line);background:#fff;box-shadow:0 2px 7px #202a350a}.page .card-top h3,.page .archive-item strong,.page .assignment-editor-card-head strong{color:var(--ui-text)}.page .desc,.page .meta,.page .archive-item p,.page .ai-op-main span,.page .ai-op-meta,.page .empty{color:var(--ui-muted)}.page .priority{color:#596675;background:#f4f6f8;border-color:#dce1e6}.page .priority.p2{color:#315f96;background:#eef5fd;border-color:#c8daee}.page .overdue{color:#c93349}.page .archive-item,.page .ai-op-item{border-color:var(--ui-line);background:#fff}.page .op-status{color:#596675;background:#f4f6f8;border-color:#dce1e6}.page .modal-mask{-webkit-backdrop-filter:none;backdrop-filter:none;background:#1f293461}.page .modal,.page .modal-head,.page .modal-actions-sticky,.page .assignment-editor-card,.page .assignee-picker-item{border-color:var(--ui-line);box-shadow:none;color:var(--ui-text);background:#fff}.page .modal-head,.page .modal-actions-sticky{border-color:var(--ui-line)}.page .manual-form-grid label,.page .assignment-grid label,.page .assignment-content-panel,.page .assignment-field-label,.page .assignee-picker-item span{color:var(--ui-muted)}.page .assignment-index{background:var(--ui-primary);color:#fff;box-shadow:none}.page .assignment-summary-row span,.page .assignment-mode-badge,.page .assignment-count-badge{color:#596675;background:#f4f6f8;border-color:#dce1e6}.page .assignee-picker-item.active{background:var(--ui-primary-soft);box-shadow:none;border-color:#e7a8b2}.page .quill,.page .ql-toolbar,.page .ql-container,.page .ql-editor{color:var(--ui-text);border-color:var(--ui-line-strong);background:#fff}.page{--task-bg:#f5f6f7;--task-surface:#fff;--task-subtle:#f8f9fa;--task-text:#20242a;--task-muted:#66717d;--task-line:#dfe3e8;--task-line-strong:#c9ced5;--task-dark:#20242a;--task-blue:#3978c8;--task-green:#2f8b5a;--task-red:#d64555;background:var(--task-bg);color:var(--task-text)}.page .filter-bar,.page .archive-section,.page .ai-ops{background:var(--task-surface);border-color:var(--task-line)}.page .chip,.page .filter-create-btn,.page button.primary{border-color:var(--task-line-strong);background:var(--task-surface);color:var(--task-text)}.page .chip:hover,.page .filter-create-btn:hover,.page button.primary:hover{border-color:var(--task-dark);background:var(--task-subtle);color:var(--task-dark)}.page .chip.active,.page .filter-create-btn,.page button.primary,.page .modal-save-btn{border-color:var(--task-dark);background:var(--task-dark);color:#fff}.page .chip.active:hover,.page .filter-create-btn:hover,.page button.primary:hover,.page .modal-save-btn:hover{color:#fff;background:#000;border-color:#000}.page .chip span{color:var(--task-muted);background:#eef0f2}.page .chip.active span{color:#fff;background:#ffffff29}.page .board{background:0 0;border:0}.page .column,.page .column.status-doing,.page .column.status-done{background:var(--task-subtle);border-color:var(--task-line);box-shadow:none}.page .column-head,.page .column.status-doing .column-head,.page .column.status-done .column-head{background:var(--task-surface);border-color:var(--task-line);position:relative}.page .column-head:before{content:"";background:#8b939c;width:3px;position:absolute;top:0;bottom:0;left:0}.page .column-head h2,.page .column.status-doing .column-head h2,.page .column.status-done .column-head h2{color:var(--task-text)}.page .column-head span,.page .column.status-doing .column-head span,.page .column.status-done .column-head span{color:#515b66;background:#eceff2}.page .column.drop-target,.page .column.status-doing.drop-target,.page .column.status-done.drop-target{background:#f1f3f5;border-color:#8f98a2;box-shadow:inset 0 0 0 2px #20242a1f}.page .card{background:var(--task-surface);border-color:var(--task-line);box-shadow:0 1px 3px #20242a0f}.page .card:hover{border-color:#aeb5bd;box-shadow:0 4px 12px #20242a14}.page .card[role=button]:focus-visible{outline-color:var(--task-blue)}.page .card-top h3,.page .card-inline-meta span,.page .assignment-preview-content{color:var(--task-text)}.page .card-inline-meta span{background:#f2f4f6;border-color:#e5e8eb}.page .priority,.page .priority.p2,.page .priority.p3{color:#58626d;background:#f1f3f5;border-color:#d9dde2}.page .priority.p0{color:#b92e40;background:#fff1f3;border-color:#efbbc2}.page .priority.p1{color:#8b611d;background:#fff7e8;border-color:#ead3a5}.page .assignment-card-tag{color:#515b66;background:#f2f4f6;border-color:#d9dde2}.page .assignment-preview-item,.page .assignment-preview-more{background:#f7f8f9;border-color:#e4e7ea}.page .assignment-preview-index,.page .assignment-index{background:var(--task-dark);color:#fff}.page .archive-item,.page .ai-op-item{background:var(--task-subtle);border-color:var(--task-line)}.page .modal-mask{background:#14171b6b}.page .modal,.page .modal-head,.page .modal-body-scroll,.page .modal-actions-sticky,.page .assignment-editor-card,.page .assignee-picker-item{background:var(--task-surface);border-color:var(--task-line);color:var(--task-text)}.page .modal-task-editor{box-shadow:0 20px 56px #14171b38}.page .modal-head h3,.page .assignment-editor-head strong,.page .assignment-editor-card-head strong{color:var(--task-text)}.page .modal-close-btn,.page .modal-cancel-btn{color:#444d57;background:#f2f4f6;border-color:#d7dce1}.page .modal-close-btn:hover,.page .modal-cancel-btn:hover{color:#16191d;background:#e7eaed;border-color:#bfc5cc}.page input:focus,.page select:focus,.page textarea:focus,.page .ql-container:focus-within{border-color:#727b85;outline:none;box-shadow:0 0 0 3px #20242a14}.page .assignee-picker-item.active{color:var(--task-text);background:#f0f2f4;border-color:#8f98a2}.page .assignment-summary-row span,.page .assignment-mode-badge,.page .assignment-count-badge,.page .op-status{color:#58626d;background:#f1f3f5;border-color:#d9dde2}.page .op-executed{color:#27774d;background:#edf7f1;border-color:#bcdcc9}.page .assignment-add-btn,.page .modal-add-requirement-btn{border-color:var(--task-line-strong);color:var(--task-text);box-shadow:none;background:#fff}.page .assignment-add-btn:hover,.page .modal-add-requirement-btn:hover{color:var(--task-text);background:#f1f3f5;border-color:#9ca5af}.page .modal-quick-status-btn{box-shadow:none;color:var(--task-text);background:#f4f6f8;border-color:#cbd2da}.page .modal-quick-status-start{color:#2e68ad;background:#edf4fc;border-color:#b9d1ed}.page .modal-quick-status-done{color:#27774d;background:#edf7f1;border-color:#bcdcc9}.page .modal-quick-status-start:hover{color:#285e9b;background:#e2edf9}.page .modal-quick-status-done:hover{color:#216b45;background:#e2f2e9}.page .modal-danger-btn,.page .ghost-danger{color:#b92e40;box-shadow:none;background:#fff1f3;border-color:#efbbc2}.page .modal-danger-btn:hover,.page .ghost-danger:hover{color:#a32638;background:#ffe5e9;border-color:#df8f9b}.page .participant-chip{color:#4d5863;background:#f1f3f5;border-color:#d9dde2}.page .participant-chip button{color:#b92e40;background:#fff1f3;border-color:#efbbc2}.page .participant-picker-item,.page .participant-picker-item.active{background:var(--task-surface);border-color:var(--task-line);color:var(--task-text);box-shadow:none}.page .participant-picker-item.active{background:#edf7f1;border-color:#bcdcc9}.page .task-detail-meta-grid div,.page .detail-requirement-item,.page .rich-text-editor{border-color:var(--task-line);background:#f8f9fa}.page .task-detail-meta-grid span,.page .detail-requirement-head,.page .muted,.page .participant-empty{color:var(--task-muted)}.page .task-detail-meta-grid strong,.page .detail-requirement-head strong,.page .rich-text-preview{color:var(--task-text)}.page .rich-text-toolbar{border-color:var(--task-line);background:#f1f3f5}.page .rich-text-input{color:var(--task-text)}:root{--ui-primary:#d92f4a;--ui-primary-soft:#fff0f3;--ui-danger:#c6283d;--ui-success:#238b57}.platform-nav{background:#fff;border-bottom-color:#d7dde4}.platform-nav nav button.active,.platform-nav nav button:hover{color:#c6283d;background:#fff0f3}.platform-brand img{filter:saturate(1.25)}.platform-account-trigger{color:#20242a;cursor:pointer;background:#fff;border:1px solid #d4dae1;border-radius:7px;align-items:center;gap:8px;min-height:38px;margin-left:auto;padding:4px 10px 4px 6px;font-size:13px;font-weight:600;display:inline-flex}.platform-account-trigger:hover{background:#fff7f8;border-color:#c6283d}.platform-account-trigger img{object-fit:contain;width:25px;height:25px}.platform-account-chevron{color:#697684;font-size:15px;line-height:1}.platform-account-mask{z-index:80;background:#14181d47;justify-content:flex-end;align-items:flex-start;padding:72px 24px 24px;display:flex;position:fixed;inset:0}.platform-account-modal{background:#fff;border:1px solid #d9dee4;border-radius:9px;width:min(320px,100vw - 32px);padding:18px;box-shadow:0 16px 42px #14181d2e}.platform-account-modal-head{border-bottom:1px solid #e6e9ed;align-items:center;gap:11px;padding-bottom:15px;display:flex}.platform-account-avatar{color:#c6283d;background:#fff0f3;border-radius:7px;place-items:center;width:38px;height:38px;font-weight:750;display:grid}.platform-account-modal h2{color:#20242a;margin:0;font-size:17px}.platform-account-modal p{color:#697684;margin:3px 0 0;font-size:12px}.platform-account-close{color:#697684;cursor:pointer;background:#fff;border:1px solid #d9dee4;border-radius:6px;width:28px;height:28px;margin-left:auto;font-size:18px;line-height:1}.platform-account-close:hover{color:#20242a;background:#f1f3f5}.platform-account-info{gap:10px;padding:15px 0;display:grid}.platform-account-info div{justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.platform-account-info span{color:#697684}.platform-account-info strong{color:#20242a}.platform-account-logout{color:#c6283d;cursor:pointer;background:#fff0f3;border:1px solid #efb4be;border-radius:6px;width:100%;height:36px;font-weight:650}.platform-account-logout:hover{background:#ffe3e8;border-color:#d87584}.page .header-actions{display:none}.page .filter-actions-right{gap:6px}.page .board-utility-btn{color:#4c5864;cursor:pointer;background:#fff;border:1px solid #cbd2da;border-radius:6px;align-items:center;gap:5px;padding:7px 9px;font-size:12px;display:inline-flex}.page .board-utility-btn:hover{color:#245fa9;background:#edf4fc;border-color:#3978c8}.page .board-utility-btn span{text-align:center;color:#697684;background:#eef0f2;border-radius:8px;min-width:16px;padding:1px 4px;font-size:10px}.page .board-utility-btn svg{color:#697684}.page .board-utility-btn:hover svg{color:#245fa9}.page .column.status-todo .column-head span{color:#4d5863;background:#e5e8eb}.page .column.status-doing .column-head span{color:#245fa9;background:#dceafa}.page .column.status-done .column-head span{color:#247149;background:#dcefe3}.page .utility-modal-mask{z-index:95}.page .utility-modal{width:min(720px,100%);max-height:min(82vh,760px)}.page .utility-modal-section{box-shadow:none;border:0;border-radius:0;max-height:calc(82vh - 70px);margin:0;padding:14px 16px 16px;overflow:auto}.page .utility-modal-section .archive-list,.page .utility-modal-section .ai-ops-list{max-height:none}.utility-modal-title{align-items:center;gap:8px;display:flex}.utility-modal-title h3{margin:0}.utility-modal-title>span{color:#697684;text-align:center;background:#eef0f2;border-radius:8px;min-width:20px;padding:2px 6px;font-size:11px}@media (width<=800px){.platform-account-trigger{padding-right:7px}.platform-account-trigger span:not(.platform-account-chevron){text-overflow:ellipsis;white-space:nowrap;max-width:90px;overflow:hidden}.platform-account-mask{padding:68px 12px 20px}.page .filter-actions-right{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-left:0;display:grid}.page .filter-actions-right>button{white-space:nowrap;justify-content:center;width:100%;margin:0}.page .board-utility-btn:last-child{grid-column:1/-1}.page .utility-modal{max-height:86vh}.page .utility-modal-section{max-height:calc(86vh - 70px)}}:root{--g-blue:#0b57d0;--g-blue-bright:#1a73e8;--g-blue-soft:#e8f0fe;--g-red:#d93025;--g-red-soft:#fce8e6;--g-yellow:#f9ab00;--g-yellow-soft:#fef7e0;--g-green:#188038;--g-green-soft:#e6f4ea;--g-ink:#1f1f1f;--g-muted:#5f6368;--g-bg:#f7f9fc;--g-surface:#fff;--g-line:#d9dfe7;--g-line-strong:#bdc5d0;--g-radius:12px;--g-radius-control:8px;--g-shadow:0 2px 8px #3c404314,0 1px 2px #3c40430f;--g-shadow-raised:0 8px 24px #3c404324,0 2px 6px #3c404314;--ui-bg:var(--g-bg);--ui-surface:var(--g-surface);--ui-line:var(--g-line);--ui-line-strong:var(--g-line-strong);--ui-text:var(--g-ink);--ui-muted:var(--g-muted);--ui-primary:var(--g-blue);--ui-primary-soft:var(--g-blue-soft);--ui-danger:var(--g-red);--ui-success:var(--g-green);font-family:Google Sans,Roboto,PingFang SC,Microsoft YaHei,Arial,sans-serif}html,body,#root,.platform-home,.platform-shell{background:var(--g-bg);color:var(--g-ink)}button,input,select,textarea{font-family:inherit}button{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;outline:3px solid #1a73e833}.platform-nav{border-bottom:1px solid var(--g-line);background:#fffffff5;height:64px;padding:0 24px;box-shadow:0 1px 4px #3c404314}.platform-nav:after{content:"";background:linear-gradient(90deg,var(--g-blue-bright) 0 40%,var(--g-red) 40% 60%,var(--g-yellow) 60% 78%,var(--g-green) 78%);height:2px;position:absolute;bottom:-1px;left:0;right:0}.platform-brand{color:var(--g-ink);font-size:15px}.platform-brand img{width:32px;height:32px}.platform-nav nav{gap:6px}.platform-nav nav button{border-radius:var(--g-radius-control);color:var(--g-muted);padding:9px 14px;font-weight:600}.platform-nav nav button.active,.platform-nav nav button:hover{background:var(--g-blue-soft);color:var(--g-blue)}.platform-account-trigger{border-color:var(--g-line);border-radius:var(--g-radius-control);min-height:40px;box-shadow:0 1px 2px #3c40430f}.platform-account-trigger:hover{border-color:var(--g-blue-bright);background:var(--g-blue-soft);color:var(--g-blue)}.platform-home-main{max-width:1160px;padding:52px 28px 72px}.platform-home h1{color:var(--g-ink);font-size:30px}.platform-module-grid{gap:16px}.platform-module{border:1px solid var(--g-line);border-radius:var(--g-radius);min-height:128px;box-shadow:var(--g-shadow);padding:20px;position:relative;overflow:hidden}.platform-module:before{content:"";background:var(--module-accent,var(--g-blue-bright));height:4px;position:absolute;top:0;left:0;right:0}.platform-module:nth-child(2){--module-accent:var(--g-red)}.platform-module:nth-child(3){--module-accent:var(--g-yellow)}.platform-module:nth-child(4){--module-accent:var(--g-green)}.platform-module:hover{border-color:var(--module-accent);box-shadow:var(--g-shadow-raised);transform:translateY(-2px)}.platform-module strong{color:var(--g-ink);font-size:17px}.platform-module b{color:var(--module-accent);font-weight:700}.platform-login{background:var(--g-bg)}.platform-login form{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow-raised);padding:40px}.platform-login form:before{background:linear-gradient(90deg,var(--g-blue-bright) 0 40%,var(--g-red) 40% 60%,var(--g-yellow) 60% 78%,var(--g-green) 78%);height:4px;top:0;left:0;right:0}.platform-login h1{color:var(--g-ink)}.platform-login label{color:var(--g-muted);font-weight:600}.platform-login input{border-color:var(--g-line-strong);border-radius:var(--g-radius-control);background:#fff}.platform-login input:focus{border-color:var(--g-blue-bright);box-shadow:0 0 0 3px #1a73e829}.platform-login button{border-radius:var(--g-radius-control);background:var(--g-blue);box-shadow:0 2px 5px #0b57d03d}.platform-login button:hover:not(:disabled){background:#0842a0;box-shadow:0 4px 9px #0b57d042}.platform-account-mask{background:#2021244d}.platform-account-modal{border-color:var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow-raised);position:relative;overflow:hidden}.platform-account-modal:before{content:"";background:linear-gradient(90deg,var(--g-blue-bright) 0 42%,var(--g-red) 42% 62%,var(--g-yellow) 62% 80%,var(--g-green) 80%);height:3px;position:absolute;top:0;left:0;right:0}.platform-account-avatar{border-radius:var(--g-radius-control);background:var(--g-blue-soft);color:var(--g-blue)}.platform-account-close{border-radius:var(--g-radius-control)}.platform-account-logout{border-radius:var(--g-radius-control);background:var(--g-red-soft);color:var(--g-red);border-color:#f3b7b1}.page{--task-bg:var(--g-bg);--task-surface:#fff;--task-subtle:#f8fafc;--task-text:var(--g-ink);--task-muted:var(--g-muted);--task-line:var(--g-line);--task-line-strong:var(--g-line-strong);--task-dark:var(--g-blue);--task-blue:var(--g-blue-bright);--task-green:var(--g-green);--task-red:var(--g-red);max-width:1500px;padding:20px 24px}.page .header,.page .filter-bar{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow)}.page .header{padding:17px 18px;position:relative;overflow:hidden}.page .header:before{content:"";background:var(--g-blue-bright);width:4px;position:absolute;top:0;bottom:0;left:0}.page .header h1{color:var(--g-ink);font-size:23px}.page .filter-bar{gap:10px;padding:12px 14px}.page .chip,.page .board-utility-btn{border:1px solid var(--g-line);border-radius:var(--g-radius-control);min-height:36px;color:var(--g-muted);background:#fff;font-weight:600}.page .chip:hover,.page .board-utility-btn:hover{border-color:var(--g-blue-bright);background:var(--g-blue-soft);color:var(--g-blue)}.page .chip.active{border-color:var(--g-blue);background:var(--g-blue);color:#fff}.page .filter-create-btn,.page button.primary,.page .modal-save-btn{border-color:var(--g-blue);border-radius:var(--g-radius-control);background:var(--g-blue);color:#fff;box-shadow:0 2px 5px #0b57d033}.page .filter-create-btn:hover,.page button.primary:hover,.page .modal-save-btn:hover{color:#fff;background:#0842a0;border-color:#0842a0}.page .board{gap:14px}.page .column,.page .column.status-todo,.page .column.status-doing,.page .column.status-done{border-radius:var(--g-radius);box-shadow:var(--g-shadow);border-width:2px}.page .column.status-todo{background:#f8f9fa;border-color:#aeb4ba}.page .column.status-todo .column-head{background:#edf0f2;border-bottom-color:#c9ced3}.page .column.status-todo .column-head:before{background:#5f6368}.page .column.status-doing{background:#f3f7ff;border-color:#78a7ed}.page .column.status-doing .column-head{background:var(--g-blue-soft);border-bottom-color:#aecbfa}.page .column.status-doing .column-head:before{background:var(--g-blue-bright)}.page .column.status-done{background:#f1f9f3;border-color:#78bd8b}.page .column.status-done .column-head{background:var(--g-green-soft);border-bottom-color:#a8dab5}.page .column.status-done .column-head:before{background:var(--g-green)}.page .column-head{min-height:46px;padding:11px 14px}.page .column-head:before{width:4px}.page .column-head h2{font-size:15px;font-weight:750}.page .card{border:1px solid var(--g-line);border-radius:10px;padding:12px;box-shadow:0 1px 3px #3c404317}.page .card:hover{border-color:var(--g-blue-bright);box-shadow:var(--g-shadow);transform:translateY(-1px)}.page .card-overdue{box-shadow:inset 4px 0 0 var(--g-red),0 1px 3px #3c404314;border-color:#ee8c83}.page .priority.p0,.page .card-inline-meta span.overdue,.page .overdue{background:var(--g-red-soft);color:var(--g-red);border-color:#f3b7b1}.page .priority.p1{background:var(--g-yellow-soft);color:#8a5700;border-color:#f6d67a}.page .priority.p2{background:var(--g-blue-soft);color:var(--g-blue);border-color:#aecbfa}.page .assignment-preview-index,.page .assignment-index{background:var(--g-blue);box-shadow:none}.page .modal{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow-raised)}.page .modal-head{border-bottom-color:var(--g-line);padding:17px 18px;position:relative}.page .modal-head:after{content:"";background:linear-gradient(90deg,var(--g-blue-bright) 0 45%,var(--g-red) 45% 64%,var(--g-yellow) 64% 81%,var(--g-green) 81%);height:2px;position:absolute;bottom:-1px;left:0;right:0}.page .assignment-editor-card,.page .archive-item,.page .ai-op-item{border-radius:10px;box-shadow:0 1px 2px #3c40430d}.page input:focus,.page select:focus,.page textarea:focus,.page .ql-container:focus-within{border-color:var(--g-blue-bright);box-shadow:0 0 0 3px #1a73e829}.customer-app,.customer-workspace-page,.dashboard-home,.customer-ios-page{background:var(--g-bg);color:var(--g-ink)}.customer-app .topbar{border-bottom:1px solid var(--g-line);background:#fff;height:64px;box-shadow:0 1px 4px #3c404314}.customer-app .topbar:after{content:"";background:linear-gradient(90deg,var(--g-blue-bright) 0 45%,var(--g-red) 45% 62%,var(--g-yellow) 62% 80%,var(--g-green) 80%);height:2px;position:absolute;bottom:0;left:0;right:0}.customer-main,.detail-page,.list-page-main{padding-top:26px}.summary-item,.table-panel,.upcoming-panel,.config-card,.workspace-sidebar,.workspace-detail,.workspace-card,.dashboard-section,.overview-bento{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow);background:#fff}.summary-total{background:var(--g-blue);border-color:var(--g-blue);color:#fff}.summary-item:nth-child(2){border-top:3px solid var(--g-red)}.summary-item:nth-child(3){border-top:3px solid var(--g-yellow)}.summary-item:nth-child(4){border-top:3px solid var(--g-green)}.summary-item:hover,.summary-item.active{border-color:var(--g-blue-bright);box-shadow:var(--g-shadow-raised);transform:translateY(-1px)}.primary-button,.customer-app .primary-button,.um-btn.primary{border-color:var(--g-blue);border-radius:var(--g-radius-control);background:var(--g-blue);color:#fff;box-shadow:0 2px 5px #0b57d033}.primary-button:hover:not(:disabled),.customer-app .primary-button:hover:not(:disabled),.um-btn.primary:hover{background:#0842a0;border-color:#0842a0}.secondary-button,.ghost-button,.um-btn.secondary{border-color:var(--g-line-strong);border-radius:var(--g-radius-control);color:var(--g-blue);background:#fff}.search-box,.toolbar select,.workspace-filters select,.customer-list-page .search-box,.customer-list-page .list-toolbar select{border:1px solid var(--g-line);border-radius:var(--g-radius-control);background:#f8fafd}.search-box:focus-within,.toolbar select:focus,.workspace-filters select:focus{border-color:var(--g-blue-bright);box-shadow:0 0 0 3px #1a73e824}.customer-row:hover,.workspace-customer-item:hover{background:var(--g-blue-soft)}.workspace-customer-item.is-selected{background:var(--g-blue-soft);border-color:var(--g-blue-bright)}.customer-list-page .table-panel,.customer-detail-page .config-card,.customer-list-page .list-toolbar{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow)}.customer-list-page .list-avatar,.customer-detail-page .device-icon{border-radius:var(--g-radius-control);background:var(--g-blue-soft);color:var(--g-blue)}.customer-detail-page .detail-avatar{border-radius:var(--g-radius);background:var(--g-blue);box-shadow:0 5px 15px #0b57d038}.customer-list-page .status-lead{background:var(--g-blue-soft);color:var(--g-blue)}.customer-list-page .status-following,.customer-list-page .status-won{background:var(--g-green-soft);color:var(--g-green)}.customer-list-page .status-proposal{background:var(--g-yellow-soft);color:#8a5700}.customer-list-page .status-lost{background:var(--g-red-soft);color:var(--g-red)}.customer-ios-page .quick-editor,.customer-detail-page .device-editor,.customer-app .editor-modal{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow-raised)}.customer-ios-page .quick-editor .modal-head,.customer-detail-page .device-editor .modal-head{border-bottom:2px solid var(--g-blue-bright)}.customer-ios-page .quick-editor .form-grid input:focus,.customer-ios-page .quick-editor .form-grid select:focus,.customer-ios-page .quick-editor .form-grid textarea:focus,.customer-detail-page .config-grid input:focus,.customer-detail-page .config-grid select:focus{border-color:var(--g-blue-bright);box-shadow:0 0 0 3px #1a73e824}.um-app,.um-login{--um-bg:var(--g-bg);--um-line:var(--g-line);--um-green:var(--g-blue);--um-dark:var(--g-ink);--um-red:var(--g-red);background:var(--g-bg);color:var(--g-ink)}.um-main{padding-top:30px}.um-page-head{margin-bottom:22px}.um-page-head h1{color:var(--g-ink);font-size:28px}.um-stats{gap:14px}.um-stats>div{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow);position:relative;overflow:hidden}.um-stats>div:before{content:"";background:var(--stat-color,var(--g-blue-bright));height:3px;position:absolute;top:0;left:0;right:0}.um-stats>div:nth-child(2){--stat-color:var(--g-red)}.um-stats>div:nth-child(3){--stat-color:var(--g-green)}.um-stats strong{color:var(--stat-color,var(--g-blue))}.um-panel{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow)}.um-panel-head{border-bottom-color:var(--g-line)}.um-search{border-color:var(--g-line);border-radius:var(--g-radius-control);background:#f8fafd}.um-search:focus-within{border-color:var(--g-blue-bright);box-shadow:0 0 0 3px #1a73e824}.um-row-avatar{background:var(--g-blue-soft);color:var(--g-blue)}.um-row-avatar.admin{background:var(--g-red-soft);color:var(--g-red)}.um-role.admin{color:var(--g-red)}.um-role.user{color:var(--g-blue)}.um-modal-mask{background:#20212452}.um-modal{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow-raised);position:relative;overflow:hidden}.um-modal:before{content:"";background:linear-gradient(90deg,var(--g-blue-bright) 0 45%,var(--g-red) 45% 64%,var(--g-yellow) 64% 81%,var(--g-green) 81%);height:3px;position:absolute;top:0;left:0;right:0}.um-field input,.um-role-field{border-color:var(--g-line);border-radius:var(--g-radius-control)}.um-field input:focus{border-color:var(--g-blue-bright);box-shadow:0 0 0 3px #1a73e824}.um-role-options label.selected{border-color:var(--g-blue-bright);background:var(--g-blue-soft)}.device-module,.device-module .app-shell{--brand:var(--g-blue);--brand-hover:#0842a0;--border:var(--g-line);--border-light:#e8ebf0;--text-regular:#3c4043;--text-secondary:var(--g-muted);--success:var(--g-green);--success-bg:var(--g-green-soft);--warning:#8a5700;--warning-bg:var(--g-yellow-soft);--danger:var(--g-red);--danger-bg:var(--g-red-soft);--info:var(--g-blue);--info-bg:var(--g-blue-soft);background:var(--g-bg);color:var(--g-ink)}.device-module .topbar{border-bottom:1px solid var(--g-line);height:62px;box-shadow:0 1px 4px #3c404312}.device-module .topbar:after{content:"";background:linear-gradient(90deg,var(--g-blue-bright) 0 45%,var(--g-red) 45% 62%,var(--g-yellow) 62% 80%,var(--g-green) 80%);height:2px;position:absolute;bottom:0;left:0;right:0}.device-module .brand-mark{border-radius:var(--g-radius-control);background:var(--g-blue)}.device-module .broker-state{border-radius:var(--g-radius-control)}.device-module .device-sidebar{border-right-color:var(--g-line);box-shadow:1px 0 4px #3c40430d}.device-module .search-field{border-color:var(--g-line);border-radius:var(--g-radius-control);background:#f8fafd}.device-module .search-field:focus-within{border-color:var(--g-blue-bright);box-shadow:0 0 0 3px #1a73e821}.device-module .device-row{border-radius:var(--g-radius-control)}.device-module .device-row:hover{background:#f3f6fb}.device-module .device-row.is-selected{border-color:var(--g-blue-bright);background:var(--g-blue-soft);box-shadow:inset 3px 0 0 var(--g-blue-bright)}.device-module .device-context,.device-module .apps-section,.device-module .remote-install-section,.device-module .file-browser-section,.device-module .recent-commands-section,.device-module .detail-content,.device-module .app-operations{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow);position:relative;overflow:hidden}.device-module .device-context:before,.device-module .apps-section:before,.device-module .remote-install-section:before,.device-module .file-browser-section:before,.device-module .recent-commands-section:before{content:"";background:var(--section-accent,var(--g-blue-bright));width:3px;position:absolute;top:0;bottom:0;left:0}.device-module .remote-install-section{--section-accent:var(--g-red)}.device-module .file-browser-section{--section-accent:var(--g-yellow)}.device-module .recent-commands-section{--section-accent:var(--g-green)}.device-module .workspace-tabs button{border-radius:var(--g-radius-control)}.device-module .workspace-tabs button.active{border-color:var(--g-blue-bright);background:var(--g-blue-soft);color:var(--g-blue)}.device-module .app-row,.device-module .command-feed-item,.device-module .file-entry-row,.device-module .install-history-row{border-radius:var(--g-radius-control)}.device-module .app-row:hover,.device-module .file-entry-row:hover{background:var(--g-blue-soft)}.device-module .modal-backdrop{background:#20212452}.device-module .confirmation-dialog,.device-module .device-info-dialog{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow-raised);overflow:hidden}.device-module .confirmation-dialog:before,.device-module .device-info-dialog:before{content:"";background:linear-gradient(90deg,var(--g-blue-bright) 0 45%,var(--g-red) 45% 64%,var(--g-yellow) 64% 81%,var(--g-green) 81%);height:3px;display:block}@media (width<=800px){.platform-nav{gap:10px;padding:0 12px}.platform-nav nav{gap:3px}.platform-nav nav button{padding:8px 9px}.platform-home-main{padding:36px 16px 52px}.platform-module-grid{gap:12px}.page{padding:14px 12px}.page .board{gap:12px}.customer-main,.detail-page,.list-page-main,.um-main{padding-left:14px;padding-right:14px}}:root{--g-blue:#004fd8;--g-blue-bright:#0057ff;--g-blue-soft:#e7efff;--g-red:#f5204b;--g-red-soft:#ffe7ed;--g-yellow:#f5a900;--g-yellow-soft:#fff3cf;--g-green:#009b58;--g-green-soft:#dff7e9;--g-spectrum:linear-gradient(90deg,#0057ff 0%,#7048ff 25%,#f5204b 50%,#ffb800 75%,#00a968 100%)}.platform-nav:after,.platform-login form:before{background:var(--g-spectrum)}.platform-account-modal:before,.page .modal-head:after,.um-modal:before,.device-module .confirmation-dialog:before,.device-module .device-info-dialog:before,.platform-module:before,.page .header:before,.um-stats>div:before,.device-module .device-context:before,.device-module .apps-section:before,.device-module .remote-install-section:before,.device-module .file-browser-section:before,.device-module .recent-commands-section:before{display:none}.platform-module{overflow:visible}.platform-module:first-child{border-color:#a8c3ff}.platform-module:nth-child(2){border-color:#ffacbd}.platform-module:nth-child(3){border-color:#f4cf6a}.platform-module:nth-child(4){border-color:#81d0a6}.platform-module:hover{border-width:2px}.page .header{padding:14px 18px}.page .header-row{align-items:center}.page .header h1{font-size:22px}.page .column.status-todo{border-color:#8c939b}.page .column.status-doing{border-color:#4f8cff}.page .column.status-done{border-color:#39ad70}.page .column.status-doing .column-head{background:#e1ebff}.page .column.status-done .column-head{background:#dff7e9}.summary-item:nth-child(2),.summary-item:nth-child(3),.summary-item:nth-child(4){border-top-width:1px}.summary-item:nth-child(2){border-color:#ffacbd}.summary-item:nth-child(3){border-color:#f4cf6a}.summary-item:nth-child(4){border-color:#81d0a6}.um-stats>div:first-child{border-color:#a8c3ff}.um-stats>div:nth-child(2){border-color:#ffacbd}.um-stats>div:nth-child(3){border-color:#81d0a6}.device-module .app-shell{min-height:calc(100vh - 64px);display:block}.device-module .workspace,.device-module .device-sidebar{min-height:calc(100vh - 64px)}.device-module .device-context{border-color:#a8c3ff}.device-module .remote-install-section{border-color:#ffacbd}.device-module .file-browser-section{border-color:#f4cf6a}.device-module .recent-commands-section{border-color:#81d0a6}.customer-app .topbar:after,.device-module .topbar:after{display:none}.page .column-head:before{display:none!important}.page .archive-scroll,.page .ai-ops-scroll{overscroll-behavior:contain;min-height:120px;max-height:52vh;overflow-y:auto}.page .archive-loading,.page .ai-ops-loading{color:#59636e;font-weight:600}.page .archive-load-more{color:#0057ff;cursor:pointer;background:#eef4ff;border:1px solid #8aaeff;border-radius:8px;margin:4px auto 0;padding:7px 14px;font-weight:700;display:block}.page .archive-load-more:hover{background:#dce8ff}.page .ai-op-main strong,.page .ai-op-main span,.page .ai-op-meta{color:#3c4652}.page .assignment-status-btn{color:#59636e;cursor:pointer;background:#fff;border:1px solid #cfd6df;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:700}.page .assignment-status-btn.done.active,.page .assignment-status-btn.done:hover{color:#00824d;background:#dff7e9;border-color:#00a968}.page .assignment-status-btn.abandoned.active,.page .assignment-status-btn.abandoned:hover{color:#59636e;background:#eef0f2;border-color:#8b939c}.page .assignment-preview-index-done{color:#fff;background:#00a968}.page .assignment-preview-index-abandoned{color:#fff;background:#8b939c}.customer-back-button{color:var(--g-blue);cursor:pointer;background:0 0;border:0;align-items:center;margin:0 0 5px;padding:0;font-size:12px;font-weight:700;display:inline-flex}.customer-back-button:hover{color:#003ca8}.um-role-options label{align-items:center;gap:7px;min-height:42px;display:flex}.um-role-options label input{margin:0}.um-role-options span{display:none}.um-field input{background:#f8fafd}.um-row-actions{gap:6px}.um-link{border:1px solid var(--g-line);background:#fff;border-radius:7px;padding:6px 10px}.um-link:hover{background:var(--g-blue-soft);border-color:#9dbaff}.um-link.danger:hover{background:var(--g-red-soft);border-color:#ffacbd}.company-timeline{border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow);background:#fff;margin-top:28px;padding:24px 28px 28px;position:relative;overflow:hidden}.company-timeline:before{content:"";background:var(--g-spectrum);height:3px;position:absolute;top:0;left:0;right:0}.company-timeline-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.company-timeline-kicker{color:var(--g-blue-bright);letter-spacing:.14em;font-size:10px;font-weight:800;display:block}.company-timeline h2{color:var(--g-ink);margin:6px 0 0;font-size:21px}.timeline-add{border:1px solid var(--g-blue);border-radius:var(--g-radius-control);background:var(--g-blue);color:#fff;cursor:pointer;height:34px;padding:0 13px;font-weight:700}.timeline-add:hover{background:#0842a0}.timeline-track{margin:0 0 0 78px;padding:4px 0;position:relative}.timeline-track:before{content:"";background:linear-gradient(#0057ff,#7048ff 34%,#f5204b 68%,#00a968);width:2px;position:absolute;top:0;bottom:0;left:0}.company-event{grid-template-columns:88px minmax(0,1fr);gap:22px;min-height:76px;padding:0 0 22px;display:grid;position:relative}.company-event:last-child{padding-bottom:0}.company-event>time{color:#59636e;white-space:nowrap;text-align:right;grid-column:1;font-size:12px;font-weight:750;position:relative;left:-110px}.company-event>i{background:#0057ff;border:3px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:1px;left:-5px;box-shadow:0 0 0 2px #8db0ff}.company-event-body{background:#fbfdff;border:1px solid #e1e7ef;border-radius:9px;grid-column:2;margin-top:-4px;padding:12px 14px}.company-event-body p{color:var(--g-ink);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.6}.company-event-body>div{gap:12px;margin-top:9px;display:flex}.company-event-body button{color:var(--g-blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.company-event-body button:last-child{color:var(--g-red)}.timeline-empty{color:var(--g-muted);text-align:center;padding:34px 0;font-size:13px}.timeline-error{color:var(--g-red);margin:0 0 12px;font-size:12px}.timeline-modal-mask{z-index:90;background:#2021244d;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.timeline-modal{border:1px solid var(--g-line);border-radius:var(--g-radius);width:min(460px,100%);box-shadow:var(--g-shadow-raised);background:#fff;padding:22px}.timeline-modal-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.timeline-modal-head h3{color:var(--g-ink);margin:0;font-size:18px}.timeline-modal-head button{border:1px solid var(--g-line);width:30px;height:30px;color:var(--g-muted);cursor:pointer;background:#fff;border-radius:50%;place-items:center;padding:0;font-size:20px;line-height:1;display:grid}.timeline-modal label{color:var(--g-muted);gap:7px;margin-top:14px;font-size:12px;font-weight:700;display:grid}.timeline-modal input,.timeline-modal textarea{border:1px solid var(--g-line-strong);border-radius:var(--g-radius-control);width:100%;color:var(--g-ink);resize:vertical;background:#f8fafd;outline:0;padding:10px 11px}.timeline-modal input{height:40px}.timeline-modal input:focus,.timeline-modal textarea:focus{border-color:var(--g-blue-bright);background:#fff;box-shadow:0 0 0 3px #1a73e824}.timeline-modal-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.timeline-modal-actions button{border:1px solid var(--g-line-strong);border-radius:var(--g-radius-control);height:36px;color:var(--g-muted);cursor:pointer;background:#fff;padding:0 14px;font-weight:700}.timeline-modal-actions .timeline-save{border-color:var(--g-blue);background:var(--g-blue);color:#fff}.timeline-modal-actions .timeline-save:hover{background:#0842a0}.platform-account-trigger{justify-content:center;align-items:center}.platform-account-trigger img,.platform-account-chevron{align-self:center;display:block}.platform-account-close{place-items:center;padding:0;line-height:1;display:grid}.um-row-actions .um-link{border-color:var(--g-line-strong);min-width:52px;height:30px;color:var(--g-blue);justify-content:center;align-items:center;padding:0 10px;font-weight:700;display:inline-flex}.um-row-actions .um-link.danger{color:var(--g-red)}.um-row-actions .um-link:disabled{color:#aeb7c2;background:#f4f6f8}.device-module .device-remark-editor input{color:#20242b;background:#f8fafd}.device-module .device-remark-editor input::placeholder{color:#8c98a5}.page .card-overdue:before{display:none}.customer-create-modal{width:min(620px,100vw - 32px)}@media (width<=700px){.company-timeline{padding:20px 16px}.timeline-track{margin-left:62px}.company-event{grid-template-columns:68px minmax(0,1fr);gap:16px}.company-event>time{font-size:11px;left:-84px}.company-event-body{grid-column:2}.company-timeline-head{align-items:center}.timeline-add{white-space:nowrap}}.company-event-body{padding-bottom:30px;position:relative}.company-event-body p{font-size:17px;font-weight:750;line-height:1.7}.timeline-edit-toggle{color:#b8c2cf;cursor:pointer;opacity:.72;background:0 0;border:0;border-radius:50%;place-items:center;width:25px;height:25px;padding:0;display:grid;position:absolute;bottom:9px;right:10px}.timeline-edit-toggle:hover,.company-event.is-actions-visible .timeline-edit-toggle{color:var(--g-blue);opacity:1;background:#eef4ff}.company-event-actions{align-items:center;gap:10px;padding-right:32px;display:none;position:absolute;bottom:9px;right:10px}.company-event.is-actions-visible .company-event-actions{display:flex}.company-event-actions button{border:1px solid var(--g-line);height:24px;color:var(--g-blue);cursor:pointer;background:#fff;border-radius:6px;padding:0 7px;font-size:11px;font-weight:700}.company-event-actions button:last-child{color:var(--g-red);border-color:#f3b7c0}.platform-account-chevron{display:none!important}.customer-create-modal .modal-head{color:#1c1c1e!important;box-shadow:none!important;background:#fff!important}.customer-create-modal .modal-head:before,.customer-create-modal .modal-head:after{display:none!important}.page .assignment-status-btn{border-radius:6px;justify-content:center;align-items:center;gap:4px;height:28px;padding:0 8px;font-size:11px;display:inline-flex}.page .assignment-remove-btn{border-radius:6px;min-width:52px;height:26px;padding:0 7px;font-size:10px}.page .assignment-remove-btn:hover{color:#b92e40;background:#fff1f3;border-color:#f0a9b4}.page .filter-actions-right{align-items:stretch}.page .filter-create-btn,.page .board-utility-btn{justify-content:center;align-items:center;height:36px;min-height:36px;padding-top:0;padding-bottom:0;display:inline-flex}.device-module .device-row.is-online{background:#f3fbf5;border-color:#b3dfbf}.device-module .device-row.is-online:hover{background:#eaf8ee;border-color:#78c98e}.device-module .device-row.is-online.is-selected{background:#e6f7eb;border-color:#36a85b;box-shadow:inset 3px 0 #21a354}.device-module .device-row.is-online .status-dot{background:#18a957;width:10px;height:10px;box-shadow:0 0 0 3px #18a95729,0 0 12px #18a95766}.device-module .device-row.is-online .device-state{color:#168b49;font-weight:750}.device-module .device-row.is-online .device-row-copy strong{color:#1f633b}@media (width<=700px){.company-event-body p{font-size:15px}.company-event-actions{gap:7px}.page .filter-actions-right{align-items:stretch}}.company-timeline:before{display:none}.page .column,.page .column.status-todo,.page .column.status-doing,.page .column.status-done{border-width:1px}.page .card-overdue{border-color:#f3c1c9;box-shadow:inset 0 0 0 1px #cf3e520d,0 1px 3px #3c40430f}.page .card-inline-meta span.overdue,.page .overdue{color:#a64050;background:#fff6f7;border-color:#f2ccd2}.page .assignment-index-todo{background:var(--g-blue)}.page .assignment-index-doing{background:#e79000}.page .assignment-index-done{background:#00a968}.page .assignment-index-abandoned{background:#8b939c}.um-row-actions .um-link.danger{color:#bd3047;background:#fff2f4;border-color:#f3c6cd}.um-row-actions .um-link.danger:hover{color:#a91f36;background:#ffe6ea;border-color:#e7a5af}.um-role-field{border:0;margin:6px 0 0;padding:0}.um-role-options{grid-template-columns:repeat(2,minmax(110px,1fr));gap:6px;width:min(280px,100%);display:inline-grid}.um-role-options label{border-radius:6px;min-height:36px;padding:0 10px}@media (width<=620px){.um-role-options{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}
