#pageStore{display:block}.pg-crumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--wb-text-tertiary);margin-bottom:12px}.pg-crumb button{border:0;background:none;padding:0;cursor:pointer;font-size:12px;color:var(--wb-text-tertiary)}.pg-crumb button:hover{color:var(--wb-brand)}.pg-crumb .sep{color:var(--wb-text-quaternary)}.pg-crumb .cur{color:var(--wb-text-secondary);font-weight:600}.pg-back{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px 0 6px;border-radius:8px;border:1px solid var(--wb-border-default);background:var(--wb-bg-elevated);color:var(--wb-text-secondary);font-size:12px;font-weight:600;cursor:pointer}.pg-back:hover{border-color:var(--wb-border-strong);color:var(--wb-text-primary)}.pg-back svg{width:14px;height:14px}.store-hero{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:18px;background:var(--wb-bg-base);border:1px solid var(--wb-border-default);border-radius:12px;margin-bottom:16px}.store-hero .hero-name{font-size:20px;font-weight:700;color:var(--wb-text-primary);line-height:1.3}.store-hero .hero-meta{margin-top:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--wb-text-tertiary)}.store-hero .hero-meta .dotsep{color:var(--wb-text-quaternary)}.hero-ring{position:relative;width:78px;height:78px;flex:0 0 78px}.hero-ring svg{width:78px;height:78px;transform:rotate(-90deg)}.hero-ring .ring-bg{stroke:var(--wb-divider)}.hero-ring .ring-fg{stroke:var(--wb-brand);transition:stroke-dashoffset .3s ease}.hero-ring .ring-txt{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.hero-ring .ring-txt b{font-size:20px;font-weight:700;color:var(--wb-text-primary);line-height:1}.hero-ring .ring-txt span{font-size:12px;color:var(--wb-text-quaternary)}.hero-kpis{display:flex;align-items:center;gap:0;flex-wrap:wrap;flex:1 1 auto}.hero-kpi{padding:0 16px}.hero-kpi:first-child{padding-left:0}.hero-kpi .h-l{font-size:12px;color:var(--wb-text-tertiary)}.hero-kpi .h-v{font-size:16px;font-weight:700;color:var(--wb-text-primary);margin-top:2px}.hero-kpi .h-v.bad{color:var(--wb-danger)}.hero-kpi .h-v.ok{color:var(--wb-success)}.hero-kpi .h-s{font-size:12px;color:var(--wb-text-quaternary);margin-top:2px}.hero-acts{display:flex;align-items:center;gap:8px;margin-left:auto}.hero-btn{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;border-radius:8px;cursor:pointer;border:1px solid var(--wb-border-default);background:var(--wb-bg-elevated);color:var(--wb-text-secondary);font-size:12px;font-weight:600}.hero-btn svg{width:14px;height:14px}.hero-btn.on{background:var(--wb-brand);border-color:var(--wb-brand);color:var(--wb-text-on-brand)}.store-hero .hero-id{display:block}.store-hero .hero-id .hero-name{display:flex;align-items:center;gap:4px}.store-hero .hero-id.is-hit{text-align:left;font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:6px 8px;margin:-6px -8px;border-radius:8px}.store-hero .hero-kpi.is-hit{text-align:left;font:inherit;color:inherit;border:0;background:none;cursor:pointer;border-radius:8px}.store-hero .hero-id.is-hit:hover,.store-hero .hero-kpi.is-hit:hover{background:var(--wb-brand-bg);outline:1px dashed var(--wb-brand);outline-offset:-1px}.store-hero .hero-kpi.is-hit .h-l{display:flex;align-items:center}.store-hero .hero-kpi.is-hit .h-v,.store-hero .hero-kpi.is-hit .h-s{display:block}.store-hero .h-pen{width:12px;height:12px;margin-left:4px;color:var(--wb-brand);opacity:.8}.pg-missing{padding:60px 20px;text-align:center;background:var(--wb-bg-base);border:1px dashed var(--wb-border-default);border-radius:12px}.pg-missing .t{font-size:16px;font-weight:700;color:var(--wb-text-primary)}.pg-missing .s{font-size:12px;color:var(--wb-text-tertiary);margin:8px 0 16px}.drw-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:color-mix(in srgb,var(--wb-bg-base) 22%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end}.drw{width:400px;max-width:100%;height:100%;background:var(--wb-bg-base);border-left:1px solid var(--wb-border-strong);box-shadow:var(--wb-shadow-pop);display:flex;flex-direction:column}.drw.wide{width:460px}.drw-hd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--wb-divider);font-size:16px;font-weight:700;color:var(--wb-text-primary)}.drw-hd-tag{margin-left:auto;margin-right:8px;padding:1px 7px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:0;color:var(--wb-text-tertiary);background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default)}.drw-x{border:0;background:none;cursor:pointer;padding:4px;color:var(--wb-text-tertiary);line-height:0}.drw-x svg{width:16px;height:16px}.drw-x:hover{color:var(--wb-text-primary)}.drw-bd{flex:1 1 auto;overflow-y:auto;padding:14px 16px}.drw-sec{margin:2px 0 10px;padding-top:12px;border-top:1px solid var(--wb-divider);font-size:12px;font-weight:700;color:var(--wb-text-secondary)}.drw-sec:first-child{margin-top:0;padding-top:0;border-top:0}.drw-field{display:block;margin-bottom:12px}.drw-lb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--wb-text-tertiary);margin-bottom:5px}.drw-lb-hint{color:var(--wb-text-tertiary);opacity:.8;white-space:nowrap}.drw-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.drw-in{width:100%;height:32px;padding:0 9px;box-sizing:border-box;border:1px solid var(--wb-border-default);border-radius:7px;background:var(--wb-bg-elevated);color:var(--wb-text-primary);font-size:14px;font-family:inherit}.drw-in:focus{outline:none;border-color:var(--wb-brand)}.drw-in:disabled{color:var(--wb-text-quaternary);background:var(--wb-bg-base)}.drw-ta{height:auto;padding:7px 9px;resize:vertical;line-height:1.55}.drw-colors{display:flex;flex-wrap:wrap;gap:6px}.drw-color{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border-radius:6px;cursor:pointer;border:1px solid var(--wb-border-default);background:var(--wb-bg-elevated);color:var(--wb-text-secondary);font-size:12px}.drw-color.on{border-color:var(--wb-brand);color:var(--wb-brand);font-weight:600}.drw-color .sw{width:10px;height:10px;border-radius:2px}.drw-color .sw.auto{background:var(--wb-text-quaternary)}.drw-color .sw.c-danger{background:var(--wb-danger)}.drw-color .sw.c-warning{background:var(--wb-warning)}.drw-color .sw.c-success{background:var(--wb-success)}.drw-color .sw.c-info{background:var(--wb-info)}.drw-color .sw.c-brand{background:var(--wb-brand)}.drw-seg{display:inline-flex;gap:2px;background:var(--wb-bg-elevated);border-radius:8px;padding:3px}.drw-seg button{height:26px;padding:0 12px;border:0;border-radius:6px;cursor:pointer;background:transparent;color:var(--wb-text-secondary);font-size:12px}.drw-seg button.on{background:var(--wb-brand);color:var(--wb-text-on-brand);font-weight:600}.drw-note{margin:4px 0 12px;padding:9px 10px;border-radius:7px;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);font-size:12px;line-height:1.6;color:var(--wb-text-tertiary)}.drw-note b{color:var(--wb-text-secondary)}.drw-note.warn{background:var(--wb-warning-bg);border-color:color-mix(in srgb,var(--wb-warning) 40%,transparent)}.drw-note.warn b{color:var(--wb-warning)}.drw-err{margin-top:4px;padding:8px 10px;border-radius:7px;background:var(--wb-danger-bg);border:1px solid color-mix(in srgb,var(--wb-danger) 40%,transparent);font-size:12px;color:var(--wb-danger)}.drw-ft{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--wb-divider)}.drw-btn{height:30px;padding:0 14px;border-radius:8px;cursor:pointer;border:1px solid var(--wb-border-default);background:var(--wb-bg-elevated);color:var(--wb-text-secondary);font-size:12px;font-weight:600}.drw-btn.primary{background:var(--wb-brand);border-color:var(--wb-brand);color:var(--wb-text-on-brand)}.drw-btn:disabled{opacity:.6;cursor:not-allowed}.back-top{position:fixed;right:24px;bottom:24px;z-index:80;width:40px;height:40px;border-radius:50%;border:1px solid var(--wb-border-strong);background:var(--wb-bg-elevated);box-shadow:var(--wb-shadow-card);color:var(--wb-text-secondary);font-size:16px;cursor:pointer}.back-top:hover{color:var(--wb-brand);border-color:var(--wb-brand)}.osx.is-edit .bar[role=button],.osx.is-edit .trip-bar[role=button],.osx.is-edit .cal-bar[role=button]{cursor:pointer}.osx.is-edit .bar[role=button]:hover,.osx.is-edit .cal-bar[role=button]:hover{filter:brightness(1.15);outline:1px solid var(--wb-text-primary);outline-offset:1px}.osx.is-edit .dnum>div.is-edit[role=button]:hover{background:var(--wb-brand-bg)}.nsd-flow-item.is-edit .nsd-flow-head,.nsd-mc-node.is-edit,.nsd-ms-item.is-edit{cursor:pointer}.nsd-mc-node.is-edit:hover,.nsd-ms-item.is-edit:hover{outline:1px solid var(--wb-brand)}.tr-days.is-edit .tr-bar[role=button]:hover{filter:brightness(1.15)}@media (max-width: 900px){.store-hero{gap:14px}.hero-acts{margin-left:0;width:100%}.drw{width:100%}}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.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;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9: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 .ql-video{display:block;max-width:100%}.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{direction:rtl;text-align:inherit}.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-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;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{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.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{display:inline-block;vertical-align:middle}.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:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.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:1}.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-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.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{display:block;margin-top:-1px;top:100%;z-index:1}.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{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.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-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.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:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";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{border-right:0px;content:"Save";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}.gt-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;overscroll-behavior:contain}.gt-hole{position:absolute;border-radius:10px;pointer-events:none;box-shadow:0 0 0 9999px #07090dc7;outline:2px solid var(--wb-brand);outline-offset:0;transition:left .28s cubic-bezier(.4,0,.2,1),top .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),height .28s cubic-bezier(.4,0,.2,1)}.gt-hole:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:10px;animation:gtPulse 2s ease-out infinite}@keyframes gtPulse{0%{box-shadow:0 0 color-mix(in srgb,var(--wb-brand) 50%,transparent)}70%{box-shadow:0 0 0 12px color-mix(in srgb,var(--wb-brand) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--wb-brand) 0%,transparent)}}.gt-tip{position:absolute;width:348px;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-strong);border-radius:12px;padding:16px 18px 14px;box-shadow:var(--wb-shadow-pop);transition:left .28s cubic-bezier(.4,0,.2,1),top .28s cubic-bezier(.4,0,.2,1)}.gt-tip:before{content:"";position:absolute;width:10px;height:10px;background:var(--wb-bg-elevated);border-left:1px solid var(--wb-border-strong);border-top:1px solid var(--wb-border-strong);transform:rotate(45deg);left:var(--gt-arrow, 30px);transition:left .28s cubic-bezier(.4,0,.2,1)}.gt-tip[data-pos=down]:before{top:-6px}.gt-tip[data-pos=up]:before{bottom:-6px;top:auto;transform:rotate(225deg)}.gt-step{display:inline-block;font-size:12px;font-weight:700;color:var(--wb-brand);background:color-mix(in srgb,var(--wb-brand) 16%,transparent);border-radius:4px;padding:1px 7px;margin-bottom:8px}.gt-title{font-size:16px;font-weight:700;color:var(--wb-text-primary);line-height:1.4;margin-bottom:6px}.gt-desc{font-size:14px;color:var(--wb-text-secondary);line-height:1.7}.gt-desc b{color:var(--wb-text-primary);font-weight:600}.gt-desc .k{color:var(--wb-warning);font-weight:600}.gt-actions{display:flex;align-items:center;gap:8px;margin-top:14px}.gt-skip{background:transparent;border:none;color:var(--wb-text-tertiary);font-size:12px;font-family:inherit;cursor:pointer;padding:6px 2px}.gt-skip:hover{color:var(--wb-text-secondary)}.gt-dots{display:flex;gap:5px;margin:0 auto}.gt-dots i{width:6px;height:6px;border-radius:50%;background:var(--wb-border-strong);display:block}.gt-dots i.on{width:14px;border-radius:3px;background:var(--wb-brand)}.gt-next{background:var(--wb-brand);border:none;color:var(--wb-text-on-brand);font-size:14px;font-weight:600;font-family:inherit;padding:8px 16px;border-radius:8px;cursor:pointer;transition:background .15s}.gt-next:hover{background:var(--wb-brand-hover)}.gt-fab{position:fixed;right:26px;bottom:26px;z-index:80;width:44px;height:44px;border-radius:50%;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-strong);color:var(--wb-text-secondary);font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--wb-shadow-pop);transition:border-color .18s,color .18s,transform .18s}.gt-fab:hover{border-color:var(--wb-brand);color:var(--wb-brand);transform:translateY(-2px)}.gt-fab-bub{position:absolute;right:54px;top:50%;transform:translateY(-50%);background:var(--wb-bg-elevated);border:1px solid var(--wb-border-strong);border-radius:8px;padding:7px 11px;font-size:12px;font-weight:400;color:var(--wb-text-secondary);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .16s}.gt-fab:hover .gt-fab-bub,.gt-fab:focus-visible .gt-fab-bub{opacity:1;visibility:visible}.gt-hint{position:relative;display:inline-flex;align-items:center;outline:none}.gt-hint>i{width:15px;height:15px;border-radius:50%;border:1px solid var(--wb-border-strong);color:var(--wb-text-tertiary);font-size:12px;font-style:normal;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:help}.gt-hint:hover>i,.gt-hint:focus>i,.gt-hint:focus-within>i{border-color:var(--wb-brand);color:var(--wb-brand)}.gt-hint-pop{position:absolute;top:calc(100% + 8px);left:0;width:268px;z-index:30;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-strong);border-radius:8px;padding:10px 12px;font-size:12px;font-weight:400;color:var(--wb-text-secondary);line-height:1.65;white-space:normal;box-shadow:var(--wb-shadow-pop);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s,transform .16s;pointer-events:none}.gt-hint-pop-right{left:auto;right:0}.gt-hint:hover .gt-hint-pop,.gt-hint:focus .gt-hint-pop,.gt-hint:focus-within .gt-hint-pop{opacity:1;visibility:visible;transform:translateY(0)}.gt-ctx{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;padding:9px 12px;background:var(--wb-info-bg);border:1px solid color-mix(in srgb,var(--wb-info) 32%,transparent);border-radius:8px;font-size:12px;color:var(--wb-info);line-height:1.6}.gt-ctx .ico{width:14px;height:14px;flex:0 0 auto;margin-top:2px}.gt-ctx-txt{flex:1;min-width:0}.gt-ctx-close{margin-left:auto;background:transparent;border:none;color:var(--wb-info);font-size:14px;line-height:1;cursor:pointer;padding:0 2px;opacity:.7}.gt-ctx-close:hover{opacity:1}@media (max-width: 640px){.gt-tip{width:auto}.gt-hint-pop{width:220px}}.osx{--col: 46px;--lab: 210px;--row-h: 24px}.osx .hide{display:none}.osx .warn{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;padding:8px 12px;background:var(--wb-warning-bg);border:1px solid color-mix(in srgb,var(--wb-warning) 40%,transparent);border-radius:6px;font-size:12px;font-weight:400;color:var(--wb-text-secondary);line-height:1.55}.osx .warn b{color:var(--wb-warning);font-weight:700}.osx .warn svg{width:14px;height:14px;flex:0 0 14px;margin-top:2px;color:var(--wb-warning)}.osx .gantt{overflow-x:auto}.osx .grid{width:calc(var(--lab) + var(--col) * 21)}.osx .wkhead{display:flex;height:34px;align-items:stretch;border-bottom:1px solid var(--wb-border-default)}.osx .wkhead .lab{width:var(--lab);flex:0 0 var(--lab);display:flex;align-items:center;font-size:12px;color:var(--wb-text-quaternary);padding-left:12px}.osx .wk{width:calc(var(--col) * 7);border-left:1px solid var(--wb-border-default);display:flex;flex-direction:column;justify-content:center;gap:1px;padding-left:10px;font-size:12px;font-weight:700;color:var(--wb-text-secondary)}.osx .wk .tag{font-size:12px;color:var(--wb-text-quaternary);font-weight:400;padding:0;border-radius:0;background:none;width:auto;white-space:normal}.osx .wk.is-now{color:var(--wb-brand);background:color-mix(in srgb,var(--wb-brand) 7%,transparent)}.osx .wk.is-now .tag{color:color-mix(in srgb,var(--wb-brand) 70%,var(--wb-text-quaternary))}.osx .dayhead{display:flex;height:36px;border-bottom:1px solid var(--wb-border-default)}.osx .dayhead .lab{width:var(--lab);flex:0 0 var(--lab);font-size:12px;color:var(--wb-text-quaternary);display:flex;align-items:center;padding-left:12px}.osx .day{width:var(--col);flex:0 0 var(--col);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;line-height:1.25;color:var(--wb-text-secondary);border-left:1px solid var(--wb-divider)}.osx .day .dw{color:var(--wb-text-quaternary)}.osx .day.wkend,.osx .day.wkend .dw{color:var(--wb-text-tertiary)}.osx .day.open{background:color-mix(in srgb,var(--wb-brand) 14%,transparent);color:var(--wb-brand);font-weight:700}.osx .day.open .dw{color:var(--wb-brand);opacity:.8}.osx .day.today{background:var(--wb-warning-bg);color:var(--wb-warning);font-weight:700}.osx .day.today .dw{color:var(--wb-warning);opacity:.85}.osx .track{flex:1;position:relative;background-image:repeating-linear-gradient(to right,var(--wb-border-strong) 0 1px,transparent 1px calc(var(--col) * 7)),repeating-linear-gradient(to right,var(--wb-divider) 0 1px,transparent 1px var(--col))}.osx .grp{display:flex;height:28px;align-items:stretch;background:var(--wb-bg-base);border-bottom:1px solid var(--wb-border-default);border-top:1px solid var(--wb-border-default)}.osx .grp:first-child{border-top:0}.osx .grp-lab{width:var(--lab);flex:0 0 var(--lab);display:flex;align-items:center;gap:8px;padding-left:12px;font-size:12px;font-weight:700;color:var(--wb-text-primary)}.osx .grp-lab .rg{font-weight:400;color:var(--wb-text-tertiary)}.osx .grp-lab .cnt{font-weight:400;color:var(--wb-text-quaternary);margin-left:auto;padding-right:10px}.osx .row{display:flex;height:var(--row-h);align-items:stretch;border-bottom:1px solid var(--wb-divider)}.osx .row:hover{background:color-mix(in srgb,var(--wb-text-primary) 5%,transparent)}.osx .row-lab{width:var(--lab);flex:0 0 var(--lab);display:flex;align-items:center;gap:7px;padding-left:12px;padding-right:8px;font-size:12px;color:var(--wb-text-secondary);overflow:hidden}.osx .row-lab .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.osx .row-lab .dot{width:8px;height:8px;border-radius:2px;flex:0 0 8px}.osx .row-lab .row-ico{width:12px;height:12px;flex:0 0 12px;color:color-mix(in srgb,var(--wb-brand) 70%,transparent)}.osx .row-lab .off-chip{margin-left:auto;flex:0 0 auto;font-size:12px;font-weight:700;color:var(--wb-danger);border:1px solid color-mix(in srgb,var(--wb-danger) 40%,transparent);border-radius:3px;padding:0 4px;line-height:1.5}.osx .row.is-edited .row-lab{color:var(--wb-text-primary)}.osx .row.is-edited .row-lab .nm:before{content:"";display:inline-block;width:3px;height:9px;margin-right:5px;border-radius:1px;background:var(--wb-warning);vertical-align:-1px}.osx .dot.c-train{background:var(--cat-train)}.osx .dot.c-stock{background:var(--cat-stock)}.osx .dot.c-build{background:var(--cat-build)}.osx .dot.c-dev{background:var(--cat-dev)}.osx .dot.c-mkt{background:var(--cat-mkt)}.osx .dot.c-vm{background:var(--cat-vm)}.osx .dot.c-check{background:var(--cat-check)}.osx .dot.c-open{background:var(--wb-brand)}.osx .dot.c-gap{background:transparent;border:1px dashed var(--wb-border-strong)}.osx .dot.c-trip{background:color-mix(in srgb,var(--wb-brand) 28%,transparent);border-left:2px solid var(--wb-brand)}.osx .dot.c-xt{background-color:color-mix(in srgb,var(--wb-brand) 20%,transparent);background-image:none;border-left:2px dashed var(--wb-brand)}.osx .bar{position:absolute;height:16px;top:4px;border-radius:3px}.osx .bar.train{background:var(--cat-train)}.osx .bar.stock{background:var(--cat-stock)}.osx .bar.build{background:var(--cat-build)}.osx .bar.dev{background:var(--cat-dev)}.osx .bar.mkt{background:var(--cat-mkt)}.osx .bar.vm{background:var(--cat-vm)}.osx .bar.check{background:var(--cat-check);outline:1px dashed color-mix(in srgb,var(--wb-bg-base) 55%,transparent);outline-offset:-3px}.osx .bar.gap{background:transparent;border:1px dashed var(--wb-border-strong)}.osx .bar.open{background:var(--wb-brand);border-radius:3px}.osx .bar.tg-danger{background:var(--wb-danger)}.osx .bar.tg-warning{background:var(--wb-warning)}.osx .bar.tg-success{background:var(--wb-success)}.osx .bar.tg-info{background:var(--wb-info)}.osx .bar.tg-brand{background:var(--wb-brand)}.osx .bar.is-btn{cursor:pointer}.osx .bar.is-btn:hover{filter:brightness(1.14)}.osx .rng{position:absolute;top:50%;transform:translateY(-50%);font-size:12px;color:var(--wb-text-tertiary);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums}.osx .rng.l{transform:translate(-100%,-50%)}.osx .open-col{position:absolute;top:0;bottom:0;pointer-events:none;background:color-mix(in srgb,var(--wb-brand) 8%,transparent)}.osx .today-line{position:absolute;top:0;bottom:0;width:2px;pointer-events:none;background:var(--wb-warning);opacity:.7}.osx .trip-bar{position:absolute;height:14px;top:5px;border-radius:3px;display:flex;align-items:center;padding:0 6px 0 3px;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;color:var(--wb-brand);background-color:color-mix(in srgb,var(--wb-brand) 28%,transparent);border-left:3px solid var(--wb-brand)}.osx .trip-bar .nm{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.osx .trip-bar .d{font-weight:400;color:var(--wb-brand);opacity:.75;margin-left:5px;flex:0 0 auto}.osx .trip-bar .who,.osx .cal-bar.trip .who{flex:0 0 auto;padding:0 5px;margin-right:5px;font-size:12px;font-weight:700;line-height:14px;border-radius:2px;color:var(--ink-light);background:var(--wb-brand)}.osx .trip-bar.xt,.osx .cal-bar.trip.xt{color:var(--wb-brand);background-color:color-mix(in srgb,var(--wb-brand) 20%,transparent);background-image:none;border-left:3px dashed var(--wb-brand)}.osx .trip-bar.xt .d{opacity:.9}.osx .cal-hd{display:flex;align-items:baseline;gap:10px;padding:0 0 10px;flex-wrap:wrap}.osx .cal-hd .t{font-size:16px;font-weight:700;color:var(--wb-text-primary)}.osx .cal-hd .s{font-size:12px;color:var(--wb-text-tertiary)}.osx .cal-hd .s b{color:var(--wb-text-secondary);font-weight:700}.osx .dow{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--wb-border-default)}.osx .dow div{padding:6px 8px;font-size:12px;color:var(--wb-text-quaternary)}.osx .wkrow{border-bottom:1px solid var(--wb-divider);position:relative}.osx .dnum{display:grid;grid-template-columns:repeat(7,1fr);height:24px}.osx .dnum>div{position:relative;display:flex;align-items:center;gap:5px;padding:0 8px;font-size:12px;color:var(--wb-text-secondary);border-left:1px solid var(--wb-divider);overflow:hidden}.osx .dnum>div:first-child{border-left:0}.osx .dnum>div .mchip{font-size:12px;font-weight:400;color:var(--wb-text-quaternary);border:1px solid var(--wb-border-default);border-radius:3px;padding:0 4px;line-height:14px}.osx .dnum>div.out{color:var(--wb-text-quaternary);opacity:.55}.osx .dnum>div.open{color:var(--wb-brand);font-weight:700}.osx .dnum>div .badge{font-size:12px;font-weight:700;color:var(--ink-light);background:var(--wb-brand);border-radius:3px;padding:0 5px;line-height:16px}.osx .dnum>div.today{color:var(--wb-warning);font-weight:700}.osx .dnum>div.today .badge{background:var(--wb-warning);color:var(--ink-dark)}.osx .dnum>div.wkend{background:color-mix(in srgb,var(--wb-text-primary) 2.5%,transparent)}.osx .dnum>div.has-trip{background:color-mix(in srgb,var(--wb-brand) 9%,transparent)}.osx .dnum>div.has-trip.open{background:color-mix(in srgb,var(--wb-brand) 16%,transparent)}.osx .dnum>div .ptag{position:absolute;top:2px;right:6px;display:flex;align-items:center;gap:3px;height:14px;padding:0 4px;border-radius:3px;font-size:12px;font-weight:700;line-height:14px;color:var(--wb-brand);background:color-mix(in srgb,var(--wb-brand) 18%,transparent)}.osx .dnum>div .ptag .ico{width:10px;height:10px}.osx .lanes{position:relative;background-image:repeating-linear-gradient(to right,var(--wb-divider) 0 1px,transparent 1px calc(100% / 7))}.osx .cal-bar{position:absolute;height:17px;border-radius:3px;display:flex;align-items:center;padding:0 6px;font-size:12px;font-weight:600;color:var(--ink-dark);overflow:hidden;white-space:nowrap}[data-theme=light] .osx .cal-bar{color:var(--ink-light)}.osx .cal-bar .tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.osx .cal-bar.is-btn{cursor:pointer}.osx .cal-bar.is-btn:hover{filter:brightness(1.12);z-index:5}.osx .cal-bar.train{background:var(--cat-train)}.osx .cal-bar.stock{background:var(--cat-stock)}.osx .cal-bar.build{background:var(--cat-build)}.osx .cal-bar.dev{background:var(--cat-dev)}.osx .cal-bar.mkt{background:var(--cat-mkt)}.osx .cal-bar.vm{background:var(--cat-vm)}.osx .cal-bar.check{background:var(--cat-check);outline:1px dashed color-mix(in srgb,var(--wb-bg-base) 55%,transparent);outline-offset:-3px}.osx .cal-bar.open{background:var(--wb-brand);color:var(--ink-light);font-weight:700}.osx .cal-bar.gap{background:transparent;border:1px dashed var(--wb-border-strong);color:var(--wb-text-quaternary);font-weight:400}.osx .cal-bar.trip{background-color:color-mix(in srgb,var(--wb-brand) 28%,transparent);border-left:3px solid var(--wb-brand);color:var(--wb-brand);font-weight:600;padding-left:3px}.osx .cal-bar.trip .tx{flex:0 1 auto;min-width:0}.osx .cal-bar.trip .d{margin-left:5px;flex:0 0 auto}.osx .cal-bar .d{font-weight:400;opacity:.75;margin-left:5px}.osx .cal-bar.tg-danger{background:var(--wb-danger)}.osx .cal-bar.tg-warning{background:var(--wb-warning)}.osx .cal-bar.tg-success{background:var(--wb-success)}.osx .cal-bar.tg-info{background:var(--wb-info)}.osx .cal-bar.tg-brand{background:var(--wb-brand)}.osx .cal-bar.tg-danger,.osx .cal-bar.tg-warning,.osx .cal-bar.tg-success,.osx .cal-bar.tg-info,.osx .cal-bar.tg-brand{color:var(--ink-light)}[data-theme=light] .osx .cal-bar.tg-warning{color:var(--ink-dark)}.osx .legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:12px 0 0;border:0;border-top:1px solid var(--wb-divider);border-radius:0;background:transparent;margin:14px 0 0;font-size:12px;color:var(--wb-text-tertiary)}.osx .lg{display:flex;align-items:center;gap:6px}.osx .lg .dot{width:10px;height:10px;border-radius:2px}.osx .lg .dot.brand{background:var(--wb-brand)}.osx .note{margin:14px 0 0;padding:10px 12px;border-radius:6px;background:var(--wb-bg-base);border:1px solid var(--wb-border-default);font-size:12px;color:var(--wb-text-tertiary);line-height:1.6}.osx .note b{color:var(--wb-text-secondary);font-weight:700}.osx .note .k{color:var(--wb-info);font-weight:700}.osx .osx-day{margin-top:16px;padding-top:16px;border-top:1px solid var(--wb-border-default)}.osx .today-hd{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;flex-wrap:wrap}.osx .today-hd .t{font-size:16px;font-weight:700;color:var(--wb-text-primary)}.osx .today-hd .s{font-size:12px;color:var(--wb-text-tertiary)}.osx .steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}.osx .step{position:relative;padding:0 18px 0 0;text-align:left;flex:none}.osx .step:after{content:"";position:absolute;top:7px;right:2px;width:10px;height:1px;background:var(--wb-border-strong)}.osx .step:last-child{padding-right:0}.osx .step:last-child:after{display:none}.osx .step .when{font-size:12px;color:var(--wb-text-quaternary)}.osx .step .what{font-size:14px;font-weight:700;color:var(--wb-text-primary);margin:2px 0 4px}.osx .step .why{font-size:12px;color:var(--wb-text-tertiary);line-height:1.5}.osx .step.hard .when{color:var(--wb-warning)}.osx .step.hard .what:before{content:"硬约束";display:inline-block;margin-right:6px;font-size:12px;font-weight:700;color:var(--wb-warning);background:var(--wb-warning-bg);border-radius:3px;padding:0 4px;vertical-align:2px}.osx .osx-empty{padding:28px 16px;text-align:center;font-size:14px;color:var(--wb-text-tertiary);background:var(--wb-bg-base);border:1px dashed var(--wb-border-default);border-radius:8px}.osx .nsd-pop-dot.c-train{background:var(--cat-train)}.osx .nsd-pop-dot.c-stock{background:var(--cat-stock)}.osx .nsd-pop-dot.c-build{background:var(--cat-build)}.osx .nsd-pop-dot.c-dev{background:var(--cat-dev)}.osx .nsd-pop-dot.c-mkt{background:var(--cat-mkt)}.osx .nsd-pop-dot.c-vm{background:var(--cat-vm)}.osx .nsd-pop-dot.c-check{background:var(--cat-check)}.osx .warn{font-weight:400}.osx .tag{padding:0;border-radius:0;background:none}.osx .step{text-align:left;flex:none}.osx .legend{background:transparent;border:0;border-radius:0}.osx .cal{padding:0}@media (max-width: 1100px){.osx .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.osx .step:nth-child(2):after{display:none}}@media (max-width: 640px){.osx .steps{grid-template-columns:1fr}.osx .step{padding-right:0}.osx .step:after{display:none}}.store-board{display:block}.store-tabs{display:flex;align-items:center;gap:2px;padding:3px;border-radius:9px;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);margin-bottom:12px}.store-tabs button{height:30px;padding:0 14px;border:0;border-radius:7px;background:transparent;color:var(--wb-text-secondary);font-size:14px;cursor:pointer;white-space:nowrap}.store-tabs button:hover{color:var(--wb-text-primary)}.store-tabs button.on{background:var(--wb-brand);color:var(--wb-text-on-brand);font-weight:600}.view-toggle{display:inline-flex;align-items:center;gap:2px;background:var(--wb-bg-elevated);border-radius:8px;padding:3px;margin-bottom:12px}.view-toggle button{height:26px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--wb-text-secondary);font-size:12px;cursor:pointer}.view-toggle button.on{background:var(--wb-brand);color:var(--wb-text-on-brand);font-weight:600}.hidden{display:none}.board-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.board-bar .scope{font-size:12px;color:var(--wb-text-quaternary);margin-right:auto}.board-bar .scope b{color:var(--wb-text-secondary);font-weight:700}.home-board{background:var(--wb-bg-base);border:1px solid var(--wb-border-default);border-radius:12px;padding:16px;margin-bottom:18px}.hb-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.hb-title{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:700;color:var(--wb-text-primary);flex:0 0 auto}.hb-title svg{width:18px;height:18px}.hb-spacer{flex:1 1 auto}.hb-jump{border:0;background:none;padding:0;cursor:pointer;font-size:12px;font-weight:600;color:var(--wb-text-tertiary);display:inline-flex;align-items:center;gap:2px}.hb-jump:hover{color:var(--wb-brand)}.hb-jump svg{width:12px;height:12px}.home-board .store-tabs{background:none;border:0;border-radius:0;border-bottom:1px solid var(--wb-divider);padding:0 0 8px;margin-top:2px}.home-board .store-tabs button.on{background:none;color:var(--wb-brand);font-weight:700}.home-board .sop-strip{background:none;border:0;border-radius:0;box-shadow:none;padding:12px 0 0;margin-bottom:0}.ss{position:relative;flex:0 1 auto}.ss-btn{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:9px;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);cursor:pointer;max-width:420px}.ss-btn:hover{border-color:var(--wb-border-strong)}.ss-btn .ss-l{font-size:12px;color:var(--wb-text-quaternary);flex:0 0 auto}.ss-btn .ss-name{font-size:14px;font-weight:700;color:var(--wb-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-btn .ss-meta{font-size:12px;color:var(--wb-text-tertiary);padding-left:10px;border-left:1px solid var(--wb-divider);white-space:nowrap;flex:0 0 auto}.ss-btn .ss-caret{width:14px;height:14px;flex:0 0 14px;color:var(--wb-text-quaternary);transform:rotate(90deg);transition:transform .15s ease}.ss-btn[aria-expanded=true] .ss-caret{transform:rotate(-90deg)}.ss-menu{position:absolute;z-index:60;top:calc(100% + 6px);left:0;min-width:330px;max-height:320px;overflow-y:auto;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-strong);border-radius:12px;box-shadow:var(--wb-shadow-card);padding:6px}.ss-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;border:0;background:none;width:100%;text-align:left}.ss-item:hover{background:var(--wb-bg-base)}.ss-item.on{background:var(--wb-brand-bg)}.ss-item .ss-i-l{min-width:0;flex:1 1 auto}.ss-item .ss-i-name{font-size:14px;font-weight:700;color:var(--wb-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-item .ss-i-meta{font-size:12px;color:var(--wb-text-tertiary);margin-top:2px}.ss-item .ss-i-d{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--wb-text-secondary);font-variant-numeric:tabular-nums}.ss-item .ss-i-d.bad{color:var(--wb-warning)}.ss-foot{margin-top:6px;padding:8px 10px 2px;border-top:1px solid var(--wb-divider);font-size:12px;line-height:1.55;color:var(--wb-text-quaternary)}.ss-empty{padding:14px 10px;font-size:12px;color:var(--wb-text-quaternary);text-align:center}.kpis{display:flex;align-items:center;flex-wrap:wrap;row-gap:6px;padding:12px 16px;background:var(--wb-bg-base);border:1px solid var(--wb-border-default);border-radius:10px;margin-bottom:14px}.kpis .ks{display:flex;align-items:baseline;gap:8px;padding:0 16px;min-width:0;position:relative}.kpis .ks:first-child{padding-left:0}.kpis .ks+.ks:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:18px;background:var(--wb-divider)}.kpis .ks-l{font-size:12px;color:var(--wb-text-tertiary);flex:0 0 auto}.kpis .ks-v{font-size:20px;font-weight:700;color:var(--wb-text-primary);line-height:1;flex:0 0 auto}.kpis .ks-v small{font-size:12px;font-weight:400;color:var(--wb-text-quaternary);margin-left:2px}.kpis .ks-v.brand{color:var(--wb-brand)}.kpis .ks-v.bad{color:var(--wb-danger)}.kpis .ks-v.ok{color:var(--wb-success)}.kpis .ks-s{font-size:12px;color:var(--wb-text-quaternary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpis .ks-s.ok{color:var(--wb-success)}.kpis .ks-s.bad{color:var(--wb-danger)}.edit-switch{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--wb-border-default);background:var(--wb-bg-elevated);color:var(--wb-text-secondary);font-size:12px;font-weight:600;cursor:pointer}.edit-switch svg{width:14px;height:14px}.edit-switch.on{background:var(--wb-brand);border-color:var(--wb-brand);color:var(--wb-text-on-brand)}.dirty-bar{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:70;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-strong);box-shadow:var(--wb-shadow-pop);font-size:12px;color:var(--wb-text-secondary)}.dirty-bar b{color:var(--wb-warning);font-weight:700}.dirty-bar .dirty-list{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--wb-text-quaternary)}.dirty-bar button{height:26px;padding:0 10px;border-radius:6px;cursor:pointer;border:1px solid var(--wb-border-default);background:var(--wb-bg-base);color:var(--wb-text-secondary);font-size:12px}.dirty-bar button.primary{background:var(--wb-brand);border-color:var(--wb-brand);color:var(--wb-text-on-brand);font-weight:600}@media (max-width: 1100px){.kpis{row-gap:10px}.kpis .ks{padding:0 12px}.hb-head{align-items:flex-start}.ss-btn{max-width:100%}}@media (max-width: 640px){.kpis .ks{padding:0 10px;flex:1 1 100%}.kpis .ks+.ks:before{display:none}.ss-menu{min-width:0;width:100%}}.nsd-page-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.nsd-page-title{font-size:20px;font-weight:700;color:var(--wb-text-primary)}.nsd-head-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.nsd-btn-primary{background:var(--wb-brand);color:var(--wb-text-on-brand);border-radius:6px;padding:9px 16px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;transition:background .15s;border:none;cursor:pointer}.nsd-btn-primary:hover{background:var(--wb-brand-hover)}.nsd-btn-ghost{display:flex;align-items:center;gap:6px;padding:9px 14px;font-size:14px;font-weight:600;border-radius:6px;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);color:var(--wb-brand);cursor:pointer;transition:all .15s}.nsd-btn-ghost:hover{border-color:var(--wb-brand)}.nsd-admin-badge{font-size:12px;font-weight:600;color:var(--wb-warning);border:1px solid color-mix(in srgb,var(--wb-warning) 40%,transparent);border-radius:4px;padding:0 5px;line-height:1.6;margin-left:2px}.nsd-sop{background:var(--wb-bg-surface);border:1px solid var(--wb-border-default);border-radius:14px;box-shadow:var(--wb-shadow-card);padding:16px 18px 18px;margin-bottom:16px}.nsd-sop-head{display:flex;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}.nsd-sop-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}.nsd-sop-title .t{font-size:16px;font-weight:700;display:flex;align-items:center;gap:6px;color:var(--wb-text-primary)}.nsd-sop-title .t .ico{width:18px;height:18px;color:var(--wb-brand)}.nsd-sop-sub{font-size:12px;color:var(--wb-text-tertiary)}.nsd-sop-sub b{color:var(--wb-text-secondary);font-weight:600}.nsd-sop-sub b.accent{color:var(--wb-brand);font-weight:700}.nsd-sop-scope{font-size:12px;color:var(--wb-text-quaternary);white-space:nowrap}.nsd-head-spacer{flex:1}.nsd-view-toggle{display:flex;background:var(--wb-bg-elevated);border-radius:8px;padding:3px;gap:2px}.nsd-view-toggle button{padding:6px 14px;font-size:14px;border-radius:6px;border:none;background:transparent;color:var(--wb-text-secondary);font-weight:500;white-space:nowrap;cursor:pointer;transition:all .15s}.nsd-view-toggle button.on{background:var(--wb-brand);color:var(--wb-text-on-brand);font-weight:600}.nsd-redline-btn{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:14px;font-weight:600;color:var(--wb-warning);padding:6px 12px;border-radius:6px;background:var(--wb-warning-bg);border:none;cursor:pointer;transition:all .15s}.nsd-redline-btn:hover{filter:brightness(1.1)}.nsd-redline-btn .ico{width:14px;height:14px;transition:transform .2s}.nsd-redline-btn.open .ico{transform:rotate(180deg)}.nsd-lic-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.nsd-lic-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:6px;color:var(--wb-text-primary)}.nsd-lic-title .ico{width:18px;height:18px;color:var(--wb-brand)}.nsd-lic-sub{font-size:12px;color:var(--wb-text-tertiary)}.nsd-lic-sum{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--wb-text-tertiary)}.nsd-lic-sum .k{color:var(--wb-text-secondary)}.nsd-lic-sum b{color:var(--wb-brand);font-weight:700}.nsd-lic-sum .sep{width:1px;height:12px;background:var(--wb-border-default)}.nsd-lic-pre{display:flex;align-items:center;gap:8px;margin-bottom:22px;padding:7px 12px;border-radius:8px;background:var(--wb-bg-elevated);border:1px dashed var(--wb-border-strong);font-size:12px;color:var(--wb-text-tertiary);line-height:1.5}.nsd-lic-pre .ico{width:14px;height:14px;color:var(--wb-text-tertiary);flex:0 0 14px}.nsd-lic-pre b{color:var(--wb-text-secondary);font-weight:700}.nsd-lic-pre b.anchor{color:var(--wb-brand)}.nsd-lic-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px}.nsd-lic-node{position:relative;display:flex;align-items:flex-start;gap:9px;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);border-radius:10px;padding:10px 12px;min-height:56px}.nsd-lic-node:not(:last-child):after{content:"";position:absolute;left:100%;top:50%;width:30px;height:1px;background:var(--wb-border-strong)}.nsd-lic-node:not(:last-child):before{content:"";position:absolute;left:100%;top:50%;margin-left:23px;margin-top:-4px;border-left:6px solid var(--wb-border-strong);border-top:4px solid transparent;border-bottom:4px solid transparent}.nsd-lic-idx{flex:0 0 22px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--wb-bg-base);border:1px solid var(--wb-border-strong);color:var(--wb-text-secondary);margin-top:1px}.nsd-lic-body{min-width:0;flex:1}.nsd-lic-name{font-size:14px;font-weight:600;color:var(--wb-text-primary);line-height:1.35}.nsd-lic-dur{font-size:12px;color:var(--wb-text-tertiary);margin-top:3px;line-height:1.45}.nsd-lic-dur b{color:var(--wb-info);font-weight:700}.nsd-lic-when{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.nsd-lic-date{font-size:12px;font-weight:600;color:var(--wb-text-secondary);font-variant-numeric:tabular-nums}.nsd-lic-st{font-size:12px;font-weight:700;padding:1px 6px;border-radius:4px;white-space:nowrap}.nsd-lic-st.st-done{background:var(--wb-success-bg);color:var(--wb-success)}.nsd-lic-st.st-doing{background:var(--wb-brand-bg);color:var(--wb-brand)}.nsd-lic-st.st-todo{background:var(--wb-bg-base);color:var(--wb-text-quaternary)}.nsd-lic-st.st-gate{background:color-mix(in srgb,var(--wb-warning) 18%,transparent);color:var(--wb-warning)}.nsd-lic-node.is-doing{border-color:color-mix(in srgb,var(--wb-brand) 60%,transparent)}.nsd-lic-node.is-done .nsd-lic-name{color:var(--wb-text-secondary)}.nsd-lic-node.n-brand{border-color:color-mix(in srgb,var(--wb-brand) 45%,transparent)}.nsd-lic-node.n-brand .nsd-lic-idx{background:var(--wb-brand-bg);border-color:var(--wb-brand);color:var(--wb-brand)}.nsd-lic-node.n-fin .nsd-lic-idx{background:var(--wb-info-bg);border-color:var(--wb-info);color:var(--wb-info)}.nsd-lic-node.n-gate{border-color:color-mix(in srgb,var(--wb-warning) 45%,transparent);background:var(--wb-warning-bg)}.nsd-lic-node.n-gate .nsd-lic-idx{background:var(--wb-warning-bg);border-color:var(--wb-warning);color:var(--wb-warning)}.nsd-lic-flag{position:absolute;top:-9px;right:10px;font-size:12px;font-weight:700;color:var(--wb-warning);background:var(--wb-bg-surface);padding:0 5px;border-radius:4px;border:1px solid color-mix(in srgb,var(--wb-warning) 45%,transparent)}.nsd-lic-flag.is-anchor{color:var(--wb-brand);border-color:color-mix(in srgb,var(--wb-brand) 45%,transparent)}.nsd-lic-par-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px;margin-top:24px}.nsd-lic-par{position:relative;display:flex;align-items:flex-start;gap:8px;border:1px dashed color-mix(in srgb,var(--wb-info) 55%,transparent);background:color-mix(in srgb,var(--wb-info) 7%,transparent);border-radius:9px;padding:8px 11px}.nsd-lic-par:before{content:"";position:absolute;left:50%;bottom:100%;width:0;height:24px;border-left:1px dashed color-mix(in srgb,var(--wb-info) 55%,transparent)}.nsd-lic-par-tag{position:absolute;top:-9px;left:50%;transform:translate(-50%);font-size:12px;font-weight:700;color:var(--wb-info);background:var(--wb-bg-surface);padding:0 5px;white-space:nowrap}.nsd-lic-par .ico{width:15px;height:15px;color:var(--wb-info);flex:0 0 15px;margin-top:2px}.nsd-lic-gate{display:flex;align-items:center;gap:8px;margin-top:16px;padding:9px 12px;border-radius:8px;background:var(--wb-warning-bg);border:1px solid color-mix(in srgb,var(--wb-warning) 30%,transparent);font-size:12px;color:var(--wb-text-secondary);line-height:1.5}.nsd-lic-gate .ico{width:15px;height:15px;color:var(--wb-warning);flex:0 0 15px}.nsd-lic-gate b{color:var(--wb-warning);font-weight:700}.nsd-cal{overflow-x:auto}.nsd-cal-inner{min-width:860px}.nsd-cal-weekdays{display:flex;margin-left:108px;gap:2px}.nsd-cal-weekdays span{flex:1;text-align:center;font-size:12px;font-weight:700;color:var(--wb-text-primary);letter-spacing:.3px;background:color-mix(in srgb,var(--wb-brand) 11%,transparent);border-radius:5px;padding:3px 0 5px;margin-bottom:4px}.nsd-cal-weekdays span.weekend{color:var(--wb-text-tertiary);font-weight:500;background:color-mix(in srgb,var(--wb-bg-elevated) 55%,transparent)}.nsd-cal-week{display:flex;margin-top:8px}.nsd-cal-weeklabel{width:108px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:4px;padding-right:16px;text-align:right;position:relative}.nsd-cal-weeklabel:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:3px;height:34px;border-radius:2px;background:var(--wb-brand)}.nsd-cal-weeklabel .w{font-size:14px;font-weight:800;color:var(--wb-text-primary);letter-spacing:.2px;line-height:1.15;white-space:nowrap;padding:2px 8px;border-radius:6px;background:color-mix(in srgb,var(--wb-brand) 13%,transparent)}.nsd-cal-weeklabel .d{font-size:12px;font-weight:500;color:var(--wb-text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.2px}.nsd-cal-weeklabel.is-key:after{background:var(--wb-warning)}.nsd-cal-weeklabel.is-key .w{color:var(--wb-warning);background:color-mix(in srgb,var(--wb-warning) 16%,transparent)}.nsd-cal-canvas{flex:1;position:relative}.nsd-cal-days{display:grid;grid-template-columns:repeat(7,1fr)}.nsd-cal-day{height:28px;font-size:14px;font-weight:700;color:var(--wb-text-secondary);border-left:1px solid var(--wb-divider);padding:2px 0 0 7px;font-variant-numeric:tabular-nums}.nsd-cal-day:last-child{border-right:1px solid var(--wb-divider)}.nsd-cal-day.weekend{background:color-mix(in srgb,var(--wb-bg-elevated) 55%,transparent);color:var(--wb-text-tertiary);font-weight:600}.nsd-cal-day.is-open{background:var(--wb-warning);color:var(--wb-text-on-warning);font-weight:800;font-size:16px;border-left-color:var(--wb-warning)}.nsd-cal-openblock{position:absolute;top:0;bottom:0;z-index:3;border-radius:8px;background:var(--wb-warning);border:none;color:var(--wb-text-on-warning);box-shadow:0 0 0 2px var(--wb-bg-surface),0 8px 22px color-mix(in srgb,var(--wb-warning) 42%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:16px;font-weight:800;letter-spacing:.4px;text-align:center;padding:6px;pointer-events:none}.nsd-cal-openblock .ico{width:22px;height:22px}.nsd-cal-openblock .dt{font-size:12px;font-weight:600;letter-spacing:0;color:color-mix(in srgb,var(--wb-text-on-warning) 72%,transparent);white-space:nowrap}.nsd-cal-bars{position:absolute;left:0;right:0;top:32px;bottom:4px}.nsd-cal-bar{position:absolute;height:22px;border-radius:4px;display:flex;align-items:center;padding:0 7px;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;background:var(--c);color:#0b0d11;cursor:pointer;overflow:hidden;transition:filter .12s,box-shadow .12s}.nsd-cal-bar .txt{overflow:hidden;text-overflow:ellipsis}.nsd-cal-bar:hover{filter:brightness(1.14);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--c) 60%,var(--wb-text-primary))}.nsd-cal-bar.cont-l{border-top-left-radius:0;border-bottom-left-radius:0}.nsd-cal-bar.cont-r{border-top-right-radius:0;border-bottom-right-radius:0}.nsd-cal-bar.is-edited:before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:repeating-linear-gradient(45deg,rgba(11,13,17,.55) 0 1.5px,transparent 1.5px 3px)}.nsd-cal-bar.is-edited{padding-left:12px}.nsd-cal-bar.is-active{outline:2px solid var(--wb-brand);outline-offset:1px}.nsd-cal-bar.is-readonly{cursor:default}.nsd-cal-bar.is-readonly:hover{filter:none;box-shadow:none}.nsd-rl{position:absolute;right:5px;top:50%;width:6px;height:6px;border-radius:1px;transform:translateY(-50%) rotate(45deg)}.nsd-rl-orange{background:#0b0d11;opacity:.5}.nsd-rl-red{background:#0b0d11;opacity:.85}.nsd-adjbar{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--wb-warning);background:var(--wb-warning-bg);border:1px solid color-mix(in srgb,var(--wb-warning) 40%,transparent);border-radius:6px;padding:4px 10px}.nsd-adjbar b{font-weight:700}.nsd-adjbar button{border:0;background:transparent;padding:0;color:var(--wb-warning);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.nsd-pop{position:fixed;z-index:70;background:var(--wb-bg-surface);border:1px solid var(--wb-border-strong);border-radius:12px;box-shadow:var(--wb-shadow-pop);padding:16px}.nsd-pop-hd{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px}.nsd-pop-title{flex:1;min-width:0;font-size:16px;font-weight:700;line-height:1.3;color:var(--wb-text-primary)}.nsd-pop-x{border:0;background:transparent;color:var(--wb-text-tertiary);cursor:pointer;font-size:16px;line-height:1;font-family:inherit;padding:0 2px}.nsd-pop-x:hover{color:var(--wb-text-primary)}.nsd-pop-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--wb-text-tertiary);margin-bottom:12px}.nsd-pop-dot{width:7px;height:7px;border-radius:2px;background:var(--c)}.nsd-pop-badge{font-size:12px;color:var(--wb-warning);background:var(--wb-warning-bg);border-radius:4px;padding:0 5px}.nsd-pop-muted{font-size:12px;color:var(--wb-text-quaternary)}.nsd-pop-field{margin-bottom:10px}.nsd-pop-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.nsd-pop-row .nsd-pop-field{margin-bottom:0}.nsd-pop-field label{display:block;font-size:12px;color:var(--wb-text-tertiary);margin-bottom:4px}.nsd-pop-field input{width:100%;height:32px;padding:0 8px;font-size:14px;font-family:inherit;background:var(--wb-bg-base);color:var(--wb-text-primary);border:1px solid var(--wb-border-strong);border-radius:6px}.nsd-pop-field input:focus{outline:none;border-color:var(--wb-brand);box-shadow:0 0 0 2px var(--wb-brand-bg)}.nsd-pop-field input.bad{border-color:var(--wb-danger);box-shadow:0 0 0 2px var(--wb-danger-bg)}.nsd-pop-hint{min-height:16px;margin-top:4px;font-size:12px;line-height:1.4;color:var(--wb-text-quaternary)}.nsd-pop-hint em{color:var(--wb-danger);font-style:normal}.nsd-pop-color{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.nsd-pop-color .lb{flex:0 0 auto;font-size:12px;color:var(--wb-text-tertiary)}.nsd-swatches{display:flex;align-items:center;gap:6px}.nsd-sw{width:22px;height:22px;padding:0;border-radius:6px;border:1px solid var(--wb-border-default);background:var(--c);cursor:pointer;transition:transform .1s,box-shadow .1s}.nsd-sw:hover{transform:translateY(-1px)}.nsd-sw.on{box-shadow:0 0 0 2px var(--wb-bg-surface),0 0 0 3.5px var(--wb-text-primary)}.nsd-sw.auto{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--wb-bg-elevated) 45%,var(--wb-border-strong) 55%);color:var(--wb-text-tertiary);font-size:12px;line-height:1;font-family:inherit}.nsd-sw-note{font-size:12px;color:var(--wb-text-quaternary)}.nsd-pop-calc{display:flex;gap:14px;padding:8px 0 10px;margin-bottom:10px;border-bottom:1px solid var(--wb-divider);font-size:12px;color:var(--wb-text-tertiary)}.nsd-pop-calc b{color:var(--wb-text-secondary);font-weight:600}.nsd-pop-vlist{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;max-height:132px;overflow:auto}.nsd-pop-v{display:flex;gap:7px;align-items:flex-start;font-size:12px;line-height:1.45}.nsd-pop-v .ico{width:13px;height:13px;flex:0 0 13px;margin-top:2px}.nsd-pop-v.err{color:var(--wb-danger)}.nsd-pop-v.warn{color:var(--wb-warning)}.nsd-pop-v.ok{color:var(--wb-success)}.nsd-pop-v.muted{color:var(--wb-text-quaternary)}.nsd-pop-ft{display:flex;align-items:center;gap:8px}.nsd-pop-ft .sp{flex:1}.nsd-pop-btn{height:30px;padding:0 12px;border-radius:6px;border:1px solid transparent;font-size:14px;font-weight:600;font-family:inherit;white-space:nowrap;cursor:pointer}.nsd-pop-btn.ghost{background:transparent;border-color:var(--wb-border-default);color:var(--wb-text-secondary)}.nsd-pop-btn.ghost:hover{border-color:var(--wb-border-strong);color:var(--wb-text-primary)}.nsd-pop-btn.primary{background:var(--wb-brand);color:var(--wb-text-on-brand)}.nsd-pop-btn.primary:hover{background:var(--wb-brand-hover)}.nsd-pop-btn.warn{background:var(--wb-warning);color:var(--wb-text-on-warning)}.nsd-pop-btn.warn:hover{filter:brightness(1.08)}.nsd-pop-btn:disabled{background:var(--wb-border-default);color:var(--wb-text-quaternary);cursor:not-allowed;border-color:transparent}.nsd-pop-tip{margin-top:10px;font-size:12px;color:var(--wb-text-quaternary);line-height:1.45}.nsd-mr{display:flex;gap:6px;margin-bottom:16px}.nsd-mr-m{flex-grow:1;flex-basis:0;min-width:0;position:relative;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);border-radius:8px;padding:8px 9px 11px;cursor:pointer;transition:all .15s}.nsd-mr-m:hover{border-color:var(--wb-border-strong)}.nsd-mr-m.on{border-color:var(--wb-brand);background:var(--wb-brand-bg)}.nsd-mr-lbl{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;font-weight:600;color:var(--wb-text-secondary)}.nsd-mr-m.on .nsd-mr-lbl{color:var(--wb-text-primary)}.nsd-mr-n{font-size:12px;font-weight:700;color:var(--wb-text-tertiary);background:var(--wb-bg-base);border-radius:4px;padding:0 5px;line-height:1.55}.nsd-mr-m.on .nsd-mr-n{color:var(--wb-brand)}.nsd-mr-track{position:relative;height:5px;margin-top:8px;background:var(--wb-divider);border-radius:3px}.nsd-mr-dot{position:absolute;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;box-shadow:0 0 0 2px var(--wb-bg-elevated)}.nsd-mr-m.on .nsd-mr-dot{box-shadow:0 0 0 2px var(--wb-brand-bg)}.nsd-c-brand{background:var(--wb-brand)}.nsd-c-info{background:var(--wb-info)}.nsd-c-chart{background:var(--wb-chart-5)}.nsd-c-warn{background:var(--wb-warning)}.nsd-c-danger{background:var(--wb-danger)}.nsd-c-success{background:var(--wb-success)}.nsd-mc-wrap{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:16px;align-items:start}.nsd-mc{border:1px solid var(--wb-border-default);border-radius:10px;overflow:hidden}.nsd-mc-dow{display:grid;grid-template-columns:repeat(7,1fr);background:var(--wb-bg-elevated);border-bottom:1px solid var(--wb-border-default)}.nsd-mc-dow span{padding:8px 0;text-align:center;font-size:12px;font-weight:600;color:var(--wb-text-tertiary)}.nsd-mc-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:76px}.nsd-mc-cell{border-right:1px solid var(--wb-divider);border-bottom:1px solid var(--wb-divider);padding:4px 5px 3px;display:flex;flex-direction:column;gap:2px;overflow:hidden;min-width:0}.nsd-mc-cell:nth-child(7n){border-right:none}.nsd-mc-cell.out{background:var(--wb-bg-base)}.nsd-mc-cell.wkend{background:color-mix(in srgb,var(--wb-bg-elevated) 55%,transparent)}.nsd-mc-cell.out .nsd-mc-d{color:var(--wb-text-quaternary)}.nsd-mc-d{font-size:12px;font-weight:600;color:var(--wb-text-tertiary);line-height:1.15;flex:0 0 auto}.nsd-mc-cell.has-node .nsd-mc-d{color:var(--wb-text-primary)}.nsd-mc-cell.open-day{background:var(--wb-success-bg)}.nsd-mc-cell.open-day .nsd-mc-d{color:var(--wb-success)}.nsd-mc-node{font-size:12px;font-weight:600;line-height:1.4;padding:1px 4px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto}.nsd-mc-node.n-brand{background:var(--wb-brand-bg);color:var(--wb-brand)}.nsd-mc-node.n-info{background:var(--wb-info-bg);color:var(--wb-info)}.nsd-mc-node.n-chart{background:color-mix(in srgb,var(--wb-chart-5) 16%,var(--wb-bg-base));color:var(--wb-chart-5)}.nsd-mc-node.n-warn{background:var(--wb-warning-bg);color:var(--wb-warning)}.nsd-mc-node.n-danger{background:var(--wb-danger-bg);color:var(--wb-danger)}.nsd-mc-node.n-success{background:var(--wb-success-bg);color:var(--wb-success)}.nsd-mc-more{font-size:12px;color:var(--wb-text-tertiary);padding-left:4px;flex:0 0 auto}.nsd-ms{background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);border-radius:10px;padding:12px}.nsd-ms-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.nsd-ms-h b{font-size:14px;font-weight:700;color:var(--wb-text-primary)}.nsd-ms-h .sub{font-size:12px;color:var(--wb-text-tertiary)}.nsd-ms-list{display:flex;flex-direction:column;gap:1px}.nsd-ms-item{display:flex;gap:8px;padding:7px 6px;border-radius:6px;align-items:flex-start;transition:background .12s}.nsd-ms-item:hover{background:var(--wb-bg-surface)}.nsd-ms-date{flex:0 0 40px;font-size:12px;font-weight:700;color:var(--wb-text-tertiary);padding-top:1px}.nsd-ms-dot{flex:0 0 6px;width:6px;height:6px;border-radius:50%;margin-top:5px}.nsd-ms-body{min-width:0;flex:1}.nsd-ms-name{font-size:12px;font-weight:600;color:var(--wb-text-primary);line-height:1.35}.nsd-ms-note{font-size:12px;color:var(--wb-text-tertiary);margin-top:1px;line-height:1.4}.nsd-ms-note.flag{color:var(--wb-warning)}.nsd-ms-empty{font-size:12px;color:var(--wb-text-tertiary);padding:6px}.nsd-stepper{display:flex;margin:6px 0 8px;min-width:880px}.nsd-step{flex:1;position:relative;text-align:center;min-width:0}.nsd-step:before{content:"";position:absolute;top:14px;right:50%;width:100%;height:2px;background:var(--wb-border-strong);z-index:0}.nsd-step:first-child:before{display:none}.nsd-step.done:before,.nsd-step.current:before{background:var(--wb-brand)}.nsd-step-dot{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--wb-bg-elevated);border:2px solid var(--wb-border-strong);color:var(--wb-text-tertiary)}.nsd-step-dot .ico{width:14px;height:14px}.nsd-step.done .nsd-step-dot{background:var(--wb-success);border-color:var(--wb-success);color:var(--wb-text-on-success)}.nsd-step.current .nsd-step-dot{background:var(--wb-brand);border-color:var(--wb-brand);color:var(--wb-text-on-brand);box-shadow:0 0 0 4px var(--wb-brand-bg)}.nsd-step-name{font-size:14px;font-weight:600;margin-top:6px;white-space:nowrap;color:var(--wb-text-primary)}.nsd-step-name.red{color:var(--wb-danger)}.nsd-step-t{font-size:12px;color:var(--wb-text-tertiary);margin-top:1px;white-space:nowrap}.nsd-flow{margin-top:14px;border-top:1px solid var(--wb-divider)}.nsd-flow-item{border-bottom:1px solid var(--wb-divider)}.nsd-flow-head{display:flex;align-items:center;gap:10px;padding:11px 4px;cursor:pointer;width:100%;text-align:left;background:none;border:none;color:inherit}.nsd-flow-head:hover .nsd-flow-name{color:var(--wb-brand)}.nsd-flow-idx{width:22px;height:22px;border-radius:6px;flex-shrink:0;background:var(--wb-bg-elevated);color:var(--wb-text-secondary);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.nsd-flow-name{font-size:14px;font-weight:600;color:var(--wb-text-primary);transition:color .15s}.nsd-flow-meta{font-size:12px;color:var(--wb-text-tertiary)}.nsd-flow-arrow{margin-left:auto;color:var(--wb-text-tertiary);transition:transform .2s}.nsd-flow-item.open .nsd-flow-arrow{transform:rotate(180deg)}.nsd-flow-body{display:none;padding:2px 4px 16px 32px}.nsd-flow-item.open .nsd-flow-body{display:block}.nsd-flow-chain{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:8px}.nsd-flow-chain:last-child{margin-bottom:0}.nsd-flow-chain .cap{font-size:12px;color:var(--wb-text-tertiary);width:76px;flex-shrink:0}.nsd-chip{font-size:12px;padding:4px 12px;border-radius:999px;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);color:var(--wb-text-primary);white-space:nowrap}.nsd-chip.sub{border-style:dashed;color:var(--wb-text-secondary);background:transparent}.nsd-chip.flag{border-color:var(--wb-danger);color:var(--wb-danger);background:var(--wb-danger-bg);font-weight:600}.nsd-arr{color:var(--wb-text-quaternary);font-size:12px;flex-shrink:0}.nsd-redline-detail{margin-top:16px;border-top:1px solid var(--wb-divider);padding-top:16px}.nsd-redline-detail-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--wb-warning);margin-bottom:12px}.nsd-redline-detail-title .ico{width:16px;height:16px}.nsd-redline-detail ul{columns:2;column-gap:40px;padding-left:0;list-style:none}.nsd-redline-detail li{font-size:12px;color:var(--wb-text-secondary);margin:6px 0;line-height:1.5;break-inside:avoid}.nsd-legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:8px 12px;margin-top:14px;border-radius:8px;background:var(--wb-bg-base);border:1px solid var(--wb-border-default);font-size:12px;color:var(--wb-text-secondary)}.nsd-legend .nsd-lg-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.nsd-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.nsd-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px}.nsd-section-title{font-size:16px;font-weight:700;color:var(--wb-text-primary);display:flex;align-items:center;gap:8px}.nsd-section-sub{font-size:12px;color:var(--wb-text-tertiary)}.nsd-proj-table{background:var(--wb-bg-surface);border:1px solid var(--wb-border-default);border-radius:14px;box-shadow:var(--wb-shadow-card);overflow-x:auto;margin-bottom:24px}.nsd-proj-head,.nsd-proj-row{display:grid;grid-template-columns:minmax(220px,1.6fr) 104px minmax(150px,1fr) 108px 88px minmax(120px,1fr) 118px 56px;column-gap:0;min-width:980px}.nsd-proj-head{padding:12px 18px;background:var(--wb-bg-elevated);border-bottom:1px solid var(--wb-border-default);font-size:12px;color:var(--wb-text-tertiary);font-weight:600}.nsd-proj-head .col-act{text-align:right}.nsd-proj-row{padding:14px 18px;align-items:center;border-bottom:1px solid var(--wb-divider);transition:background .15s;cursor:pointer}.nsd-proj-row:last-child{border-bottom:none}.nsd-proj-row:hover{background:var(--wb-bg-elevated)}.nsd-proj-row.selected{background:var(--wb-brand-bg);box-shadow:inset 3px 0 0 var(--wb-brand)}.nsd-proj-row.is-opened .nsd-store-name{color:var(--wb-text-secondary)}.nsd-proj-row.is-opened .nsd-progress-fill{background:var(--wb-text-quaternary)!important}.nsd-proj-row.is-opened .nsd-store-meta{color:var(--wb-text-quaternary)}.nsd-cell-pm{display:flex;align-items:center;gap:7px;min-width:0}.pm-ava{width:20px;height:20px;flex:0 0 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--wb-brand-bg);color:var(--wb-brand)}.pm-nm{font-size:12px;color:var(--wb-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nsd-cell-store{display:flex;flex-direction:column;gap:3px}.nsd-store-name{font-size:16px;font-weight:700;color:var(--wb-text-primary)}.nsd-store-meta{font-size:12px;color:var(--wb-text-tertiary)}.nsd-tag{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap;width:fit-content}.nsd-tag-green{background:var(--wb-success-bg);color:var(--wb-success)}.nsd-tag-blue{background:var(--wb-info-bg);color:var(--wb-info)}.nsd-tag-orange{background:var(--wb-warning-bg);color:var(--wb-warning)}.nsd-tag-red{background:var(--wb-danger-bg);color:var(--wb-danger)}.nsd-tag-purple{background:var(--wb-brand-bg);color:var(--wb-brand)}.nsd-tag-gray{background:var(--wb-bg-elevated);color:var(--wb-text-quaternary)}.nsd-cell-progress{display:flex;align-items:center;gap:8px}.nsd-progress{flex:1;height:6px;background:var(--wb-bg-elevated);border-radius:3px;overflow:hidden}.nsd-progress-fill{height:100%;border-radius:3px}.nsd-progress-pct{font-size:12px;font-weight:600;color:var(--wb-text-secondary);width:34px;text-align:right;flex-shrink:0}.nsd-cell-date{font-size:14px;color:var(--wb-text-primary);white-space:nowrap;font-variant-numeric:tabular-nums}.nsd-countdown{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;color:var(--wb-text-on-brand);white-space:nowrap;width:fit-content}.nsd-cell-risk{display:flex;align-items:center;gap:6px;font-size:14px;min-width:0}.nsd-cell-risk .ico{width:15px;height:15px;flex-shrink:0}.nsd-risk-ok{color:var(--wb-text-secondary)}.nsd-risk-warn{color:var(--wb-warning)}.nsd-risk-bad{color:var(--wb-danger)}.nsd-risk-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nsd-cell-act{display:flex;justify-content:flex-end}.nsd-row-detail{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600;color:var(--wb-text-tertiary);white-space:nowrap;transition:color .15s;text-decoration:none}.nsd-row-detail:hover{color:var(--wb-brand)}.nsd-row-detail .ico{width:12px;height:12px;transform:rotate(-90deg)}button.nsd-row-detail{background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.nsd-panel{background:var(--wb-bg-surface);border-radius:14px;padding:20px;box-shadow:var(--wb-shadow-card);border:1px solid var(--wb-border-default);margin-bottom:24px}.nsd-panel-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;margin-bottom:14px;color:var(--wb-text-primary)}.nsd-panel-title .ico{width:18px;height:18px;color:var(--wb-danger)}.nsd-risk-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:8px;margin-bottom:10px}.nsd-risk-item:last-child{margin-bottom:0}.nsd-risk-high{background:var(--wb-danger-bg)}.nsd-risk-mid{background:var(--wb-warning-bg)}.nsd-risk-low{background:var(--wb-bg-elevated)}.nsd-risk-level{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;color:var(--wb-text-on-brand);flex-shrink:0}.nsd-risk-body{flex:1}.nsd-risk-name{font-size:14px;font-weight:600;color:var(--wb-text-primary)}.nsd-risk-desc{font-size:12px;color:var(--wb-text-tertiary);margin-top:2px}.nsd-risk-meta{font-size:12px;color:var(--wb-text-tertiary);text-align:right;line-height:1.6;flex-shrink:0}.nsd-empty{font-size:14px;color:var(--wb-text-tertiary);padding:8px 0}.trip-quota{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}.trip-quota.is-on{background:var(--wb-success-bg);color:var(--wb-success)}.trip-quota.is-gap{background:var(--wb-bg-elevated);color:var(--wb-text-tertiary)}.trip-quota.is-idle{background:var(--wb-bg-elevated);color:var(--wb-text-quaternary)}.trip-wrap{background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);border-radius:10px;overflow:hidden}.trip-head,.trip-r{display:grid;grid-template-columns:244px minmax(0,1fr) 104px}.trip-head{background:var(--wb-bg-base);border-bottom:1px solid var(--wb-border-default)}.trip-head-l,.trip-head-r{font-size:12px;color:var(--wb-text-tertiary);padding:6px 12px;display:flex;align-items:center}.trip-head-r{justify-content:flex-end}.tr-days-head{display:grid}.tr-days-head .th{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 2px;border-left:1px solid var(--wb-divider)}.tr-days-head .th .t{font-size:12px;font-weight:600;color:var(--wb-text-secondary)}.tr-days-head .th .dt{font-size:12px;color:var(--wb-text-tertiary);font-variant-numeric:tabular-nums}.tr-days-head .th.wkend .dt{color:var(--wb-text-quaternary)}.tr-days-head .th.t0{background:color-mix(in srgb,var(--wb-brand) 14%,transparent)}.tr-days-head .th.t0 .t{color:var(--wb-brand)}.trip-r{min-height:34px;align-items:center;border-bottom:1px solid var(--wb-divider)}.trip-r:last-child{border-bottom:none}.trip-r.act{background:var(--wb-success-bg)}.trip-who{padding:5px 12px;min-width:0}.trip-name{font-size:12px;font-weight:600;color:var(--wb-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-note{font-size:12px;color:var(--wb-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-days{position:relative;align-self:stretch;display:grid;align-items:center;background-image:repeating-linear-gradient(to right,var(--wb-divider) 0 1px,transparent 1px calc(100% / var(--tcols, 13)))}.tr-bar{height:16px;border-radius:3px;display:flex;align-items:center;justify-content:center;margin:0 1px;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;color:var(--wb-bg-base)}.tr-bar.tone-brand{background:var(--wb-brand)}.tr-bar.tone-info{background:var(--wb-info)}.tr-bar.tone-violet{background:var(--wb-chart-5)}.tr-bar.tone-mkt{background:var(--wb-danger)}.tr-bar.tone-gray{background:var(--wb-chart-10)}.tr-bar.tone-warn{background:var(--wb-warning);color:var(--wb-text-on-warning)}.tr-today{position:absolute;top:0;bottom:0;width:1px;background:var(--wb-warning);opacity:.5;pointer-events:none}.trip-st{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:4px 12px}.trip-badge{font-size:12px;font-weight:700;padding:1px 6px;border-radius:4px;white-space:nowrap}.trip-badge.todo{background:var(--wb-bg-base);color:var(--wb-text-tertiary)}.trip-badge.on{background:var(--wb-success-bg);color:var(--wb-success)}.trip-badge.off{background:var(--wb-bg-base);color:var(--wb-text-quaternary)}.trip-sub{font-size:12px;color:var(--wb-text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums}.trip-foot{margin-top:12px;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--wb-info) 6%,transparent);border:1px solid color-mix(in srgb,var(--wb-info) 22%,transparent);font-size:12px;color:var(--wb-text-tertiary);line-height:1.55}.trip-foot b{color:var(--wb-text-secondary);font-weight:700}@media (max-width: 1180px){.trip-head,.trip-r{grid-template-columns:196px minmax(0,1fr) 92px}}@media (max-width: 1100px){.nsd-page-head{flex-direction:column;align-items:stretch}.nsd-head-actions{margin-left:0;justify-content:flex-end}.nsd-head-stats{flex-wrap:wrap}.nsd-lic-chain{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:14px}.nsd-lic-node:nth-child(2):before,.nsd-lic-node:nth-child(2):after{display:none}.nsd-lic-par-row{grid-template-columns:1fr;row-gap:30px}.nsd-lic-par{grid-column:1!important}.nsd-mr{overflow-x:auto;padding-bottom:4px}.nsd-mr-m{flex:0 0 96px}.nsd-mc-wrap{grid-template-columns:1fr}.nsd-mc-grid{grid-auto-rows:68px}.nsd-redline-detail ul{columns:1}.nsd-proj-table{overflow-x:auto}.nsd-proj-head,.nsd-proj-row{min-width:980px}}@media (max-width: 640px){.nsd-sop-head{flex-direction:column;align-items:flex-start}.nsd-lic-chain{grid-template-columns:1fr}.nsd-lic-node:before,.nsd-lic-node:after{display:none}.nsd-lic-sum{margin-left:0;flex-wrap:wrap}}.ot-page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:6px;flex-wrap:wrap;gap:12px}.ot-page-title{font-size:20px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--wb-text-primary)}.ot-page-title .ico{width:20px;height:20px;color:var(--wb-brand)}.ot-page-sub{font-size:12px;color:var(--wb-text-tertiary);margin-bottom:16px;line-height:1.6}.ot-page-sub b{color:var(--wb-text-secondary);font-weight:600}.ot-ctl-card{background:var(--wb-bg-surface);border:1px solid var(--wb-border-default);border-radius:14px;box-shadow:var(--wb-shadow-card);padding:16px 18px;margin-bottom:16px}.ot-ctl-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.ot-ctl-field{display:flex;flex-direction:column;gap:6px}.ot-ctl-field label{font-size:12px;color:var(--wb-text-tertiary);font-weight:600}.ot-ctl-field input[type=date]{height:34px;padding:0 10px;border-radius:6px;font-size:14px;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);color:var(--wb-text-primary);outline:none;font-family:inherit;color-scheme:light dark}.ot-ctl-field input[type=date]:focus{border-color:var(--wb-brand)}.ot-ctl-hint{font-size:12px;color:var(--wb-text-tertiary);margin-top:8px}.ot-btn-primary{background:var(--wb-brand);color:#fff;border-radius:6px;height:34px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px;border:none;cursor:pointer;transition:background .15s}.ot-btn-primary:hover{background:var(--wb-brand-hover)}.ot-btn-ghost{height:34px;padding:0 14px;border-radius:6px;font-size:13px;font-weight:600;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);color:var(--wb-text-secondary);cursor:pointer;transition:all .15s}.ot-btn-ghost:hover{border-color:var(--wb-brand);color:var(--wb-brand)}.ot-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;border-radius:12px;margin-bottom:16px;border:1px solid var(--wb-border-default);background:var(--wb-bg-surface)}.ot-banner-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ot-banner-icon .ico{width:20px;height:20px}.ot-banner-main{flex:1;min-width:200px}.ot-banner-title{font-size:16px;font-weight:700;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;color:var(--wb-text-primary)}.ot-banner-days{font-size:14px;color:var(--wb-text-secondary)}.ot-banner-desc{font-size:12px;color:var(--wb-text-tertiary);margin-top:2px}.ot-banner-chips{display:flex;gap:8px;flex-wrap:wrap}.ot-mode{font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px}.ot-mode-standard{background:var(--wb-success-bg);color:var(--wb-success)}.ot-mode-compress{background:var(--wb-warning-bg);color:var(--wb-warning)}.ot-mode-infeasible{background:var(--wb-danger-bg);color:var(--wb-danger)}.ot-warn-panel{background:var(--wb-bg-surface);border:1px solid var(--wb-border-default);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:var(--wb-shadow-card)}.ot-warn-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;margin-bottom:12px;color:var(--wb-text-primary)}.ot-warn-title .ico{width:18px;height:18px;color:var(--wb-danger)}.ot-warn-block{margin-bottom:12px}.ot-warn-block:last-child{margin-bottom:0}.ot-warn-block h4{font-size:13px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:6px;color:var(--wb-text-primary)}.ot-warn-block h4 .ot-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.ot-warn-tags{display:flex;flex-wrap:wrap;gap:8px}.ot-warn-tag{font-size:12px;padding:5px 12px;border-radius:8px;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);color:var(--wb-text-primary)}.ot-warn-tag .ot-arr{color:var(--wb-text-tertiary);margin:0 4px}.ot-warn-tag.cut{text-decoration:line-through;opacity:.6}.ot-warn-tag.fixed{border-color:var(--wb-danger);color:var(--wb-danger);background:var(--wb-danger-bg)}.ot-warn-note{font-size:12px;color:var(--wb-text-tertiary);margin-top:10px;padding-top:10px;border-top:1px solid var(--wb-divider);line-height:1.6}.ot-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:8px 12px;margin-bottom:14px;border-radius:8px;background:var(--wb-bg-surface);border:1px solid var(--wb-border-default);font-size:12px;color:var(--wb-text-secondary)}.ot-legend .ot-lg-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ot-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.ot-gantt{background:var(--wb-bg-surface);border:1px solid var(--wb-border-default);border-radius:14px;box-shadow:var(--wb-shadow-card);overflow:hidden;margin-bottom:20px}.ot-gantt-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--wb-border-default);flex-wrap:wrap;gap:8px}.ot-gantt-head .t{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--wb-text-primary)}.ot-gantt-head .t .ico{width:18px;height:18px;color:var(--wb-brand)}.ot-gantt-head .sub{font-size:12px;color:var(--wb-text-tertiary)}.ot-gantt-scroll{overflow-x:auto}.ot-gantt-inner{min-width:980px}.ot-axis{display:flex;border-bottom:1px solid var(--wb-border-default)}.ot-axis-label{width:210px;flex-shrink:0;padding:10px 14px;font-size:12px;color:var(--wb-text-tertiary);font-weight:600;display:flex;align-items:flex-end;background:var(--wb-bg-elevated)}.ot-axis-body{flex:1;position:relative;height:44px;background:var(--wb-bg-elevated)}.ot-axis-month{position:absolute;top:6px;font-size:12px;color:var(--wb-text-tertiary);transform:translate(-50%);white-space:nowrap}.ot-axis-tick{position:absolute;top:24px;width:1px;height:20px;background:var(--wb-divider)}.ot-axis-tick.week{background:color-mix(in srgb,var(--wb-divider) 55%,transparent);height:12px}.ot-axis-today{position:absolute;top:0;bottom:0;width:2px;background:var(--wb-brand);z-index:3}.ot-axis-today:after{content:"今日";position:absolute;top:2px;left:4px;font-size:11px;color:var(--wb-brand);font-weight:600;white-space:nowrap}.ot-lane{display:flex;border-bottom:1px solid var(--wb-divider);min-height:44px}.ot-lane:last-child{border-bottom:none}.ot-lane-label{width:210px;flex-shrink:0;padding:10px 14px;display:flex;flex-direction:column;gap:1px;background:var(--wb-bg-elevated);border-right:1px solid var(--wb-border-default)}.ot-lane-label .s{font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px;color:var(--wb-text-primary)}.ot-lane-label .s .ot-dot{width:8px;height:8px;border-radius:3px}.ot-lane-label .pic{font-size:11px;color:var(--wb-text-tertiary)}.ot-lane-body{flex:1;position:relative}.ot-tbar{position:absolute;height:22px;transform:translateY(-50%);border-radius:4px;display:flex;align-items:center;padding:0 7px;font-size:11px;font-weight:600;white-space:nowrap}.ot-tbar .txt{overflow:hidden;text-overflow:ellipsis}.ot-tbar.overflow{box-shadow:inset 0 0 0 2px var(--wb-danger)}.ot-tbar.overflow:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:repeating-linear-gradient(-45deg,var(--wb-danger) 0 3px,transparent 3px 6px);border-radius:4px 0 0 4px}.ot-ms{position:absolute;transform:translate(-50%,-50%) rotate(45deg);width:11px;height:11px;border-radius:2px;z-index:2}.ot-ms.green{background:var(--wb-success);box-shadow:0 0 0 2px var(--wb-bg-surface)}.ot-ms-label{position:absolute;font-size:11px;font-weight:600;white-space:nowrap;transform:translate(-50%)}.ot-ms-label.green{color:var(--wb-success)}.ot-b-brand{background:var(--wb-brand);color:#fff}.ot-b-info{background:var(--wb-info);color:#fff}.ot-b-chart5{background:var(--wb-chart-5);color:#fff}.ot-b-chart6{background:var(--wb-chart-6);color:#06222a}.ot-b-warn{background:var(--wb-warning);color:#1a2233}.ot-b-success{background:var(--wb-success);color:#0e2b1f}.ot-b-chart10{background:var(--wb-chart-10);color:#fff}.ot-b-chart7{background:var(--wb-chart-7);color:#fff}.ot-b-danger{background:var(--wb-danger);color:#fff}.ot-b-chart8{background:var(--wb-chart-8);color:#1a2233}[data-theme=light] .ot-b-chart6,[data-theme=light] .ot-b-warn,[data-theme=light] .ot-b-success,[data-theme=light] .ot-b-chart8{color:#fff}.ot-flow{padding:4px 18px}.ot-flow-item{border-bottom:1px solid var(--wb-divider)}.ot-flow-head{display:flex;align-items:center;gap:10px;padding:11px 4px;cursor:pointer;width:100%;text-align:left;background:none;border:none;color:inherit}.ot-flow-head:hover .ot-flow-name{color:var(--wb-brand)}.ot-flow-idx{width:22px;height:22px;border-radius:6px;flex-shrink:0;background:var(--wb-bg-elevated);color:var(--wb-text-secondary);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.ot-flow-name{font-size:14px;font-weight:600;color:var(--wb-text-primary);transition:color .15s}.ot-flow-meta{font-size:12px;color:var(--wb-text-tertiary)}.ot-flow-arrow{margin-left:auto;color:var(--wb-text-tertiary);transition:transform .2s}.ot-flow-item.open .ot-flow-arrow{transform:rotate(180deg)}.ot-flow-body{display:none;padding:2px 4px 16px 32px}.ot-flow-item.open .ot-flow-body{display:block}.ot-flow-chain{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:8px}.ot-flow-chain:last-child{margin-bottom:0}.ot-chip{font-size:12px;padding:4px 12px;border-radius:999px;background:var(--wb-bg-elevated);border:1px solid var(--wb-border-default);color:var(--wb-text-primary);white-space:nowrap}.ot-chip.sub{border-style:dashed;color:var(--wb-text-secondary);background:transparent}.ot-chip.flag{border-color:var(--wb-danger);color:var(--wb-danger);background:var(--wb-danger-bg);font-weight:600}.ot-arr{color:var(--wb-text-quaternary);font-size:12px;flex-shrink:0}.ot-mail-note{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;background:var(--wb-bg-elevated);border:1px dashed var(--wb-border-strong);margin-top:16px;font-size:12px;color:var(--wb-text-tertiary)}.ot-mail-note .ico{width:16px;height:16px;color:var(--wb-warning);flex-shrink:0}.ot-hidden{display:none}@media (max-width: 900px){.ot-ctl-row{flex-direction:column;align-items:stretch}}@media (max-width: 767px){.ant-layout-sider{display:none!important}.ant-layout-has-sider{margin-left:0!important}.ant-layout-content{margin:12px!important;min-height:calc(100vh - 56px)!important;padding-bottom:70px!important}.ant-layout-content>div{max-width:100%!important}.ant-table-wrapper{overflow-x:auto}.ant-modal{top:0!important;margin:0!important;max-width:100%!important;height:100vh!important}.ant-modal-content{height:100vh!important;border-radius:0!important}.ant-modal-body{height:calc(100vh - 120px)!important;overflow-y:auto!important}.ant-card{margin-bottom:12px!important}.ant-form-item{margin-bottom:16px!important}.mobile-full-width{width:100%!important}.desktop-only{display:none!important}.mobile-only{display:block!important}.dashboard-grid{grid-template-columns:1fr!important}.page-title{font-size:20px!important}[style*=grid-template-columns]{grid-template-columns:1fr!important}.ant-row{margin-left:0!important;margin-right:0!important}.ant-col{padding:0!important;margin-bottom:12px!important;max-width:100%!important;flex:0 0 100%!important}.ant-statistic-title{font-size:12px!important}.ant-statistic-content{font-size:20px!important}.ant-tabs-nav{overflow-x:auto!important;overflow-y:hidden!important}.ant-tabs-nav-wrap{flex-wrap:nowrap!important}.ant-descriptions-item-label{font-size:12px!important}.ant-descriptions-item-content{font-size:13px!important}.ant-steps{overflow-x:auto!important}.ant-timeline-item-content{font-size:13px!important}.ant-dropdown-menu,.ant-select-dropdown{max-width:90vw!important}.ant-picker,.ant-input-group,.ant-input-search{width:100%!important}.ant-pagination{justify-content:center!important}.ant-empty-description{font-size:13px!important}.ant-result-title{font-size:20px!important}.ant-result-subtitle{font-size:13px!important}.ant-float-btn-group{bottom:70px!important}.ant-back-top{bottom:80px!important}.fx-kpi,.fx-kpi.four,.fx-kpi.three{grid-template-columns:repeat(2,1fr)!important}.fx-kpi.four.compact{grid-template-columns:1fr!important;gap:8px}.fx-kpi.four.compact .fx-k{display:flex;align-items:center;justify-content:space-between;padding:10px 14px}.fx-kpi.four.compact .fx-k .kt{margin-bottom:0}.fx-kpi.four.compact .fx-k .kv{font-size:18px}.fx-kpi .k .kv{font-size:20px}.fx-cols{grid-template-columns:1fr!important}.fx-head{align-items:flex-start}.fx-head .acts{width:100%;display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.fx-row{grid-template-columns:auto 1fr auto;gap:10px}.fx-row .rq{display:none}.fx-legend{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.fx-lg{flex:0 0 auto}.fx-toolbar{overflow-x:auto;flex-wrap:nowrap}.fx-crumb{font-size:12px}}@media (min-width: 768px) and (max-width: 1199px){.ant-layout-sider{width:64px!important}.ant-layout-has-sider{margin-left:64px!important}.ant-layout-content{margin:16px!important}}@media (min-width: 768px){.mobile-only,.mobile-tabbar{display:none!important}}.mobile-card-list{padding-bottom:10px}@supports (padding: max(0px)){.mobile-tabbar{padding-bottom:max(0px,env(safe-area-inset-bottom))}}@media (max-width: 767px){*{-webkit-tap-highlight-color:transparent}button,a,[role=button]{touch-action:manipulation}}*{margin:0;padding:0;box-sizing:border-box}:root{--wb-bg-base: #0F1115;--wb-bg-surface: #1A1D24;--wb-bg-elevated: #242833;--wb-text-primary: #F2F4F7;--wb-text-secondary: #9AA3B2;--wb-text-tertiary: #667085;--wb-text-quaternary: #475467;--wb-border-default: #2C313B;--wb-border-strong: #3A404D;--wb-divider: #242831;--wb-brand: #6B7FFF;--wb-brand-hover: #8C9BFF;--wb-brand-bg: #20264A;--wb-text-on-brand: #FFFFFF;--wb-text-on-warning: #1A2233;--wb-text-on-success: #0E2B1F;--wb-success: #34D399;--wb-warning: #FBBF24;--wb-danger: #F87171;--wb-info: #60A5FA;--wb-success-bg: #0E2B1F;--wb-warning-bg: #2A2108;--wb-danger-bg: #2A1414;--wb-info-bg: #12263D;--wb-chart-5: #A78BFA;--wb-chart-6: #22D3EE;--wb-chart-7: #FB7185;--wb-chart-8: #FACC15;--wb-chart-10: #94A3B8;--wb-cat-1: #60A5FA;--wb-cat-2: #A78BFA;--wb-cat-3: #2DD4BF;--wb-cat-4: #34D399;--wb-cat-5: #F87171;--wb-cat-6: #FBBF24;--cat-train: #A78BFA;--cat-stock: #60A5FA;--cat-build: #FBBF24;--cat-dev: #34D399;--cat-mkt: #F0A6C0;--cat-vm: #2DD4BF;--cat-check: #F87171;--ink-dark: #0B0D11;--ink-light: #FFFFFF;--wb-shadow-card: 0 1px 3px rgba(0,0,0,.35);--wb-shadow-pop: 0 12px 40px rgba(0,0,0,.5);--ios-blue: #0A84FF;--ios-green: #30D158;--ios-red: #FF453A;--ios-orange: #FF9F0A;--ios-yellow: #FFD60A;--ios-purple: #BF5AF2;--ios-teal: #64D2FF;--ios-pink: #FF375F;--ios-indigo: #5E5CE6;--ios-gray1: #8E8E93;--ios-gray2: #636366;--ios-gray3: #48484A;--ios-gray4: #3A3A3C;--ios-gray5: #2C2C2E;--ios-gray6: #1C1C1E;--ios-tint-red: rgba(255, 69, 58, .12);--ios-tint-orange: rgba(255, 159, 10, .12);--ios-tint-yellow: rgba(255, 214, 10, .12);--ios-tint-blue: rgba(10, 132, 255, .12);--ios-tint-green: rgba(48, 209, 88, .12);--ios-tint-gray: rgba(142, 142, 147, .12);--ios-tint-purple: rgba(191, 90, 242, .12);--ios-ring-red: rgba(255, 69, 58, .35);--ios-ring-orange: rgba(255, 159, 10, .35);--ios-ring-yellow: rgba(255, 214, 10, .35);--ios-ring-blue: rgba(10, 132, 255, .35);--ios-ring-green: rgba(48, 209, 88, .35);--ios-ring-gray: rgba(142, 142, 147, .35);--ios-ring-purple: rgba(191, 90, 242, .35);--ios-shadow-drag: 0 8px 24px rgba(0, 0, 0, .4);--ios-shadow: 0 8px 24px rgba(0, 0, 0, .4);--ios-on-accent: #FFFFFF;--wp-grid: rgba(255, 255, 255, .09);--wp-gl-b: rgba(10, 132, 255, .42);--ios-bg: #000000;--ios-bg-secondary: #1C1C1E;--ios-bg-tertiary: #2C2C2E;--ios-text: #FFFFFF;--ios-text-secondary: rgba(255, 255, 255, .6);--ios-text-tertiary: rgba(255, 255, 255, .3);--ios-text-quaternary: rgba(255, 255, 255, .18);--ios-separator: rgba(255, 255, 255, .08);--ios-separator-opaque: #38383A;--gantt-border: rgba(255, 255, 255, .08);--gantt-border-strong: rgba(255, 255, 255, .12);--ios-blur-bg: rgba(28, 28, 30, .75);--ios-blur: blur(20px) saturate(180%);--text-primary: var(--ios-text);--text-secondary: var(--ios-text-secondary);--bg-primary: var(--ios-bg);--bg-secondary: var(--ios-bg-secondary);--border-color: var(--ios-separator)}[data-theme=light]{--wb-bg-base: #F6F7F9;--wb-bg-surface: #FFFFFF;--wb-bg-elevated: #FFFFFF;--wb-text-primary: #1A2233;--wb-text-secondary: #4A5568;--wb-text-tertiary: #8A94A6;--wb-text-quaternary: #C4CBD6;--wb-border-default: #E4E7EC;--wb-border-strong: #D0D5DD;--wb-divider: #F0F2F5;--wb-brand: #4C5FE8;--wb-brand-hover: #3B4BD0;--wb-brand-bg: #EEF0FF;--wb-text-on-brand: #FFFFFF;--wb-text-on-warning: #1A2233;--wb-text-on-success: #FFFFFF;--wb-success: #12A150;--wb-warning: #EAB308;--wb-danger: #DC2626;--wb-info: #2563EB;--wb-success-bg: #EAFBF0;--wb-warning-bg: #FFF7E6;--wb-danger-bg: #FEF2F2;--wb-info-bg: #EFF5FF;--wb-chart-5: #7C3AED;--wb-chart-6: #0891B2;--wb-chart-7: #E11D48;--wb-chart-8: #CA8A04;--wb-chart-10: #94A3B8;--wb-cat-1: #2563EB;--wb-cat-2: #7C3AED;--wb-cat-3: #0D9488;--wb-cat-4: #059669;--wb-cat-5: #DC2626;--wb-cat-6: #CA8A04;--cat-train: #7C3AED;--cat-stock: #2563EB;--cat-build: #D97706;--cat-dev: #12A150;--cat-mkt: #DB2777;--cat-vm: #0D9488;--cat-check: #DC2626;--ink-dark: #0B0D11;--ink-light: #FFFFFF;--wb-shadow-card: 0 1px 3px rgba(16,24,40,.08);--wb-shadow-pop: 0 12px 32px rgba(16,24,40,.16);--ios-blue: #007AFF;--ios-green: #34C759;--ios-red: #FF3B30;--ios-orange: #FF9500;--ios-yellow: #FFCC00;--ios-purple: #AF52DE;--ios-teal: #5AC8FA;--ios-pink: #FF2D55;--ios-indigo: #5856D6;--ios-gray1: #8E8E93;--ios-gray2: #AEAEB2;--ios-gray3: #C7C7CC;--ios-gray4: #D1D1D6;--ios-gray5: #E5E5EA;--ios-gray6: #F2F2F7;--ios-tint-red: rgba(255, 59, 48, .12);--ios-tint-orange: rgba(255, 149, 0, .12);--ios-tint-yellow: rgba(255, 204, 0, .12);--ios-tint-blue: rgba(0, 122, 255, .12);--ios-tint-green: rgba(52, 199, 89, .12);--ios-tint-gray: rgba(142, 142, 147, .12);--ios-tint-purple: rgba(175, 82, 222, .12);--ios-ring-red: rgba(255, 59, 48, .35);--ios-ring-orange: rgba(255, 149, 0, .35);--ios-ring-yellow: rgba(255, 204, 0, .35);--ios-ring-blue: rgba(0, 122, 255, .35);--ios-ring-green: rgba(52, 199, 89, .35);--ios-ring-gray: rgba(142, 142, 147, .35);--ios-ring-purple: rgba(175, 82, 222, .35);--ios-shadow-drag: 0 8px 24px rgba(0, 0, 0, .15);--ios-shadow: 0 8px 24px rgba(0, 0, 0, .15);--ios-on-accent: #FFFFFF;--wp-grid: rgba(0, 0, 0, .07);--wp-gl-b: rgba(0, 122, 255, .22);--ios-bg: #F2F2F7;--ios-bg-secondary: #FFFFFF;--ios-bg-tertiary: #F2F2F7;--ios-text: #000000;--ios-text-secondary: rgba(0, 0, 0, .6);--ios-text-tertiary: rgba(0, 0, 0, .3);--ios-text-quaternary: rgba(0, 0, 0, .18);--ios-separator: rgba(0, 0, 0, .08);--ios-separator-opaque: #E5E5EA;--gantt-border: rgba(0, 0, 0, .08);--gantt-border-strong: rgba(0, 0, 0, .12);--ios-blur-bg: rgba(255, 255, 255, .75);--ios-blur: blur(20px) saturate(180%);--text-primary: var(--ios-text);--text-secondary: var(--ios-text-secondary);--bg-primary: var(--ios-bg);--bg-secondary: var(--ios-bg-secondary);--border-color: var(--ios-separator)}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--ios-bg);color:var(--ios-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.pub-viewport{min-height:100vh;min-height:100dvh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff47}::-webkit-scrollbar-track{background:transparent}.gantt-scroll-container::-webkit-scrollbar{height:12px}.gantt-scroll-container::-webkit-scrollbar-thumb{background:#80808080;border-radius:6px;border:2px solid transparent;background-clip:padding-box}.gantt-scroll-container::-webkit-scrollbar-thumb:hover{background:#808080b3;border:2px solid transparent;background-clip:padding-box}.gantt-scroll-container::-webkit-scrollbar-track{background:#8080801a;border-radius:6px}.gantt-scroll-container:after{content:"";position:absolute;right:0;top:0;bottom:10px;width:30px;background:linear-gradient(to left,var(--ios-bg-primary),transparent);pointer-events:none;z-index:5;opacity:.8;transition:opacity .3s}.gantt-scroll-container.scroll-end:after{opacity:0}.page-title{font-size:28px;font-weight:700;margin-bottom:20px;color:var(--ios-text);letter-spacing:-.3px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.stat-card{background:var(--ios-bg-secondary);border-radius:14px;padding:18px 20px;border:1px solid var(--ios-separator);transition:transform .2s ease,background .2s ease}.stat-card:hover{background:var(--ios-gray5)}.stat-card .stat-value{font-size:28px;font-weight:700;color:var(--ios-text);line-height:1.2;letter-spacing:-.5px}.stat-card .stat-label{font-size:13px;color:var(--ios-text-secondary);margin-top:4px;font-weight:500}.ant-statistic-title{color:var(--ios-text-secondary)!important;font-size:13px!important;font-weight:500;margin-bottom:4px!important}.ant-statistic-content{color:var(--ios-text)}.module-card{background:var(--ios-bg-secondary);border:1px solid var(--ios-separator);border-radius:14px;padding:20px 22px;cursor:pointer;transition:all .25s ease}.module-card:hover{background:var(--ios-gray5);transform:translateY(-2px);border-color:#ffffff1f}.module-card .module-icon{font-size:26px;margin-bottom:12px}.module-card .module-name{font-size:15px;font-weight:600;color:var(--ios-text);margin-bottom:6px}.module-card .module-meta{font-size:12px;color:var(--ios-text-secondary)}.panel-card{background:var(--ios-card-bg, var(--ios-bg-secondary));border-radius:14px;border:1px solid var(--ios-separator);padding:14px 16px}.panel-card .panel-title{font-size:14px;font-weight:600;color:var(--ios-text);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.panel-card .panel-title .panel-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.health-normal{color:var(--ios-green)}.health-warning{color:var(--ios-orange)}.health-fault{color:var(--ios-red)}.ant-btn{border-radius:10px!important;font-weight:500;transition:all .2s ease}.ant-btn-primary{background:var(--ios-blue)!important;border-color:var(--ios-blue)!important;box-shadow:none!important}.ant-btn-primary:hover{background:#0077ed!important;border-color:#0077ed!important}.ant-btn-default{background:var(--ios-gray5)!important;border-color:var(--ios-separator)!important;color:var(--ios-text)!important}.ant-btn-default:hover{background:var(--ios-gray4)!important;border-color:#ffffff26!important;color:var(--ios-text)!important}.ant-btn-dangerous.ant-btn-primary{background:var(--ios-red)!important;border-color:var(--ios-red)!important}.ant-btn-link{color:var(--ios-blue)!important}.ant-btn-link:hover{color:#0077ed!important}.ant-btn-dangerous.ant-btn-link{color:var(--ios-red)!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{background:var(--ios-gray5)!important;border:1px solid var(--ios-separator)!important;border-radius:10px!important;color:var(--ios-text)!important;transition:all .2s ease}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-select-selector:hover,.ant-picker:hover{border-color:#fff3!important}.ant-input:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:var(--ios-blue)!important;box-shadow:0 0 0 3px #0a84ff26!important}.ant-input::placeholder,.ant-select-selection-placeholder{color:var(--ios-text-tertiary)!important}.ant-input-prefix{color:var(--ios-text-tertiary)!important}.ant-select-dropdown,.ant-picker-dropdown{background:var(--ios-gray6)!important;border:1px solid var(--ios-separator)!important;border-radius:12px!important;box-shadow:0 16px 48px #00000080!important;-webkit-backdrop-filter:var(--ios-blur);backdrop-filter:var(--ios-blur)}.ant-select-item{color:var(--ios-text)!important;border-radius:8px!important;margin:2px 4px!important}.ant-select-item-option-active{background:var(--ios-gray5)!important}.ant-select-item-option-selected{background:#0a84ff26!important;color:var(--ios-blue)!important;font-weight:600}.ant-table{background:transparent!important}.ant-table-container{border-radius:14px!important;overflow:hidden;border:1px solid var(--ios-separator);background:var(--ios-bg-secondary)}.ant-table-thead>tr>th{background:var(--ios-gray5)!important;color:var(--ios-text-secondary)!important;font-weight:600!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--ios-separator)!important;padding:6px 10px!important;white-space:nowrap!important}.ant-table-tbody>tr>td{background:var(--ios-bg-secondary)!important;color:var(--ios-text)!important;border-bottom:1px solid var(--ios-separator)!important;padding:4px 10px!important;transition:background .15s ease;white-space:nowrap!important}.ant-table-tbody>tr:hover>td{background:var(--ios-gray5)!important}.ant-table-tbody>tr:last-child>td{border-bottom:none!important}.ant-table-placeholder{background:var(--ios-bg-secondary)!important}.ant-empty-description{color:var(--ios-text-tertiary)!important}.ant-pagination{margin-top:16px!important}.ant-pagination-item{background:var(--ios-gray5)!important;border:1px solid var(--ios-separator)!important;border-radius:8px!important;min-width:32px!important;height:32px!important;line-height:30px!important}.ant-pagination-item a{color:var(--ios-text-secondary)!important}.ant-pagination-item-active{background:var(--ios-blue)!important;border-color:var(--ios-blue)!important}.ant-pagination-item-active a{color:#fff!important}.ant-pagination-prev,.ant-pagination-next{min-width:32px!important;height:32px!important;line-height:30px!important}.ant-pagination-prev .ant-pagination-item-link,.ant-pagination-next .ant-pagination-item-link{background:var(--ios-gray5)!important;border:1px solid var(--ios-separator)!important;border-radius:8px!important;color:var(--ios-text-secondary)!important}.ant-pagination-total-text{color:var(--ios-text-secondary)!important}.ant-tag{border-radius:6px!important;font-weight:500;font-size:12px;padding:2px 6px!important;border:none!important;background:transparent!important;color:var(--ios-text-secondary)!important;display:inline-flex!important;align-items:center;gap:0!important;--ant-tag-icon-margin-end: 0px !important}.ant-tag>.anticon,.ant-tag .anticon,.ant-tag .ant-tag-icon{margin-right:0!important;margin-left:0!important;margin-inline-end:0!important;margin-inline-start:0!important}.ant-tag .anticon+span,.ant-tag .ant-tag-icon+span,.ant-tag>span:last-child{margin-left:0!important;margin-inline-start:0!important;padding-left:0!important}.ant-tag-success{background:#30d15826!important;color:var(--ios-green)!important}.ant-tag-warning{background:#ff9f0a26!important;color:var(--ios-orange)!important}.ant-tag-error{background:#ff453a26!important;color:var(--ios-red)!important}.ant-tag-processing,.ant-tag-blue{background:#0a84ff26!important;color:var(--ios-blue)!important}.ant-tag-red{background:#ff453a26!important;color:var(--ios-red)!important}.ant-tag-orange{background:#ff9f0a26!important;color:var(--ios-orange)!important}.ant-tag-gold{background:#ffd60a26!important;color:var(--ios-yellow)!important}.ant-tag-default{background:transparent!important;color:var(--ios-text-secondary)!important}.ant-tag.status-closed{background:var(--ios-gray5)!important;color:var(--ios-text-secondary)!important}.ant-modal-content{background:var(--ios-gray6)!important;border-radius:16px!important;border:1px solid var(--ios-separator);box-shadow:0 24px 64px #0009!important}.ant-modal-header{background:transparent!important;border-bottom:1px solid var(--ios-separator)!important;padding:20px 24px!important}.ant-modal-title{color:var(--ios-text)!important;font-size:17px!important;font-weight:600!important}.ant-modal-body{padding:24px!important}.ant-modal-footer{border-top:1px solid var(--ios-separator)!important;padding:16px 24px!important}.ant-modal-close{color:var(--ios-text-secondary)!important}.ant-modal-close:hover{color:var(--ios-text)!important}.ant-drawer-content{background:var(--ios-gray6)!important}.ant-drawer-header{background:transparent!important;border-bottom:1px solid var(--ios-separator)!important}.ant-drawer-title{color:var(--ios-text)!important;font-weight:600!important}.ant-drawer-close{color:var(--ios-text-secondary)!important}.ant-form-item-label>label{color:var(--ios-text-secondary)!important;font-weight:500;font-size:13px}.ant-form-item-required:before{color:var(--ios-red)!important}.ant-descriptions-title{color:var(--ios-text)!important;font-weight:600!important;font-size:16px!important}.ant-descriptions-view{border-radius:12px!important;overflow:hidden;border:1px solid var(--ios-separator)!important;background:transparent!important}.ant-descriptions-view table{background:transparent!important}.ant-descriptions-item-label{color:var(--ios-text-secondary)!important;background:transparent!important;font-weight:500;border-bottom:1px solid var(--ios-separator)!important;border-right:1px solid var(--ios-separator)!important;padding-right:12px!important}.ant-descriptions-item-label:after{content:"：";margin-left:2px;color:var(--ios-text-tertiary)}.ant-descriptions-item-content{color:var(--ios-text)!important;background:transparent!important;border-bottom:1px solid var(--ios-separator)!important;padding-left:12px!important}.ant-descriptions-row>td,.ant-descriptions-row>th{background:transparent!important;border-bottom:1px solid var(--ios-separator)!important}.ant-spin-dot-item{background-color:var(--ios-blue)!important}.ant-message-notice-content{background:var(--ios-gray6)!important;border:1px solid var(--ios-separator)!important;border-radius:12px!important;box-shadow:0 8px 32px #0006!important;color:var(--ios-text)!important}.ant-popover-content{background:var(--ios-gray6)!important;border-radius:12px!important}.ant-popover-inner{background:var(--ios-gray6)!important;border-radius:12px!important;border:1px solid var(--ios-separator)}.ant-popover-inner-content{color:var(--ios-text)!important}.ant-tooltip-inner{background:var(--ios-gray5)!important;color:var(--ios-text)!important;border-radius:8px!important;font-size:12px}.ant-card{background:var(--ios-bg-secondary)!important;border:1px solid var(--ios-separator)!important;border-radius:14px!important;color:var(--ios-text)!important}.ant-card-head{background:transparent!important;border-bottom:1px solid var(--ios-separator)!important;padding:16px 20px!important}.ant-card-head-title{color:var(--ios-text)!important;font-weight:600!important;font-size:15px!important}.ant-card-body{padding:20px!important}.ant-card-hoverable:hover{border-color:#ffffff1f!important;box-shadow:0 8px 24px #0000004d!important}.react-resizable-handle{background-image:none!important;position:absolute!important;right:0!important;top:0!important;bottom:0!important;width:6px!important;height:auto!important;cursor:col-resize!important;z-index:20!important;border-right:2px solid transparent;transition:border-color .15s}.react-resizable-handle:hover,.react-resizable-handle:active{border-right-color:var(--ios-blue);background:#0a84ff1a!important}.ant-table-thead>tr>th{-webkit-user-select:none;user-select:none}.ant-table-thead>tr>th:hover{background:var(--ios-gray4)!important}.ant-menu-dark{background:transparent!important}.ant-menu-dark .ant-menu-item{border-radius:10px!important;margin:2px 8px!important;color:var(--ios-text-secondary)!important;font-weight:500;transition:all .2s ease}.ant-menu-dark .ant-menu-item:hover{color:var(--ios-text)!important;background:#ffffff0f!important}.ant-menu-dark .ant-menu-item-selected{background:var(--ios-blue)!important;color:#fff!important;font-weight:600}.ant-menu-dark .ant-menu-submenu-title{border-radius:10px!important;margin:2px 8px!important;color:var(--ios-text-secondary)!important;font-weight:500;transition:all .2s ease}.ant-menu-dark .ant-menu-submenu-title:hover{color:var(--ios-text)!important;background:#ffffff0f!important}.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title{color:var(--ios-text)!important}.ant-menu-dark .ant-menu-sub .ant-menu-item{margin:2px 8px 2px 24px!important;font-size:13px}[data-theme=light] body{background:var(--ios-bg)}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000002e}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0000004d}[data-theme=light] .ant-menu-dark .ant-menu-item:hover,[data-theme=light] .ant-menu-dark .ant-menu-submenu-title:hover{background:#0000000d!important}[data-theme=light] .ant-menu-dark .ant-menu-sub{background:transparent!important}[data-theme=light] .ant-menu-dark .ant-menu-sub .ant-menu-item{color:#000000a6!important}[data-theme=light] .ant-menu-dark .ant-menu-sub .ant-menu-item:hover{color:#000000d9!important}[data-theme=light] .ant-input-number{background:#fff!important}[data-theme=light] .ant-input-number-input{background:#fff!important;color:#000000d9!important}[data-theme=light] .ant-input-number-handler{background:#fff!important;color:#00000073!important}[data-theme=light] .ant-modal .ant-input,[data-theme=light] .ant-modal .ant-select-selector,[data-theme=light] .ant-modal .ant-picker,[data-theme=light] .ant-modal .ant-input-number,[data-theme=light] .ant-modal textarea{background:#fff!important;border-color:#d9d9d9!important;color:#000000d9!important}[data-theme=light] .ant-modal .ant-input:hover,[data-theme=light] .ant-modal .ant-select-selector:hover,[data-theme=light] .ant-modal .ant-picker:hover,[data-theme=light] .ant-modal .ant-input-number:hover{border-color:#bfbfbf!important}[data-theme=light] .ant-modal .ant-input:focus,[data-theme=light] .ant-modal .ant-select-focused .ant-select-selector,[data-theme=light] .ant-modal .ant-picker-focused,[data-theme=light] .ant-modal .ant-input-number-focused{border-color:#1677ff!important;box-shadow:0 0 0 2px #1677ff1a!important}[data-theme=light] .ant-modal .ant-input::placeholder,[data-theme=light] .ant-modal textarea::placeholder{color:#00000059!important}[data-theme=light] .module-card:hover{box-shadow:0 8px 24px #00000014}[data-theme=light] .ant-card-hoverable:hover{box-shadow:0 8px 24px #00000014!important}[data-theme=light] .ant-table-container{box-shadow:0 1px 3px #0000000a}[data-theme=light] .ant-modal-content{box-shadow:0 24px 64px #00000026!important}[data-theme=light] .ant-select-dropdown,[data-theme=light] .ant-picker-dropdown{box-shadow:0 16px 48px #0000001f!important}[data-theme=light] .ant-message-notice-content{box-shadow:0 8px 32px #0000001a!important}[data-theme=light] .ant-table-thead>tr>th:hover{background:var(--ios-gray4)!important}[data-theme=light] .stat-card:hover{background:var(--ios-gray6)}[data-theme=light] .table-card{box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000f;transition:box-shadow .2s ease}.table-card .ant-table-tbody>tr{cursor:pointer}.component-overdue-row>td{background:#ff3b300f!important}.component-overdue-row:hover>td{background:#ff3b301a!important}[data-theme=light] .component-overdue-row>td{background:#ff3b300d!important}[data-theme=light] .component-overdue-row:hover>td{background:#ff3b3014!important}.filter-input{background:transparent!important;border:none!important;box-shadow:none!important;transition:none}.filter-input:hover{box-shadow:none!important;background:transparent!important}.filter-input:focus,.filter-input-focused{box-shadow:none!important;background:transparent!important;border:none!important}.filter-input .ant-input-prefix{color:var(--ios-text-secondary)}.filter-input input{background:transparent!important}.filter-select .ant-select-selector{background:transparent!important;border:1px solid var(--ios-separator)!important;box-shadow:0 2px 8px #00000014;transition:all .2s ease;border-radius:10px!important}.filter-select:hover .ant-select-selector{border-color:var(--ios-blue)!important;box-shadow:0 4px 12px #0000001f}.filter-select.ant-select-focused .ant-select-selector{border-color:var(--ios-blue)!important;box-shadow:0 0 0 3px #007aff26!important}.filter-select .ant-select-selection-placeholder{color:var(--ios-text-tertiary)!important}.filter-select .ant-select-selection-item{color:var(--ios-text)!important}.filter-select .ant-select-arrow{color:var(--ios-text-secondary)!important;font-size:10px}.filter-select .ant-select-clear{color:var(--ios-text-tertiary)!important;background:transparent!important}.table-card{background:#1c1c1eb8!important;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.table-card .ant-table-container{background:transparent!important;border:none!important}.table-card .ant-table-thead>tr>th{background:#2c2c2e99!important}.table-card .ant-table-tbody>tr>td{background:#1c1c1e80!important}.table-card .ant-table-tbody>tr:hover>td{background:#2c2c2eb3!important}[data-theme=light] .table-card{background:#ffffffb8!important;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}[data-theme=light] .table-card .ant-table-thead>tr>th{background:#f2f2f799!important}[data-theme=light] .table-card .ant-table-tbody>tr>td{background:#ffffff80!important}[data-theme=light] .table-card .ant-table-tbody>tr:hover>td{background:#f2f2f7b3!important}body{background:radial-gradient(ellipse at 15% 0%,#1c1c1e,#000 55%)!important;background-attachment:fixed}[data-theme=light] body{background:radial-gradient(ellipse at 15% 0%,#fff,#f2f2f7 55%)!important;background-attachment:fixed}[data-theme=light] .ant-input:focus,[data-theme=light] .ant-input-affix-wrapper-focused,[data-theme=light] .ant-select-focused .ant-select-selector,[data-theme=light] .ant-picker-focused{box-shadow:0 0 0 3px #007aff1f!important}[data-theme=light] .react-resizable-handle:hover,[data-theme=light] .react-resizable-handle:active{background:#007aff14!important}.leaflet-container{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;background:#f0f0f0!important;min-height:300px}.leaflet-control-zoom a{background:var(--ios-blur-bg)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ios-text)!important;border:1px solid var(--ios-separator)!important;border-radius:8px!important;margin-bottom:4px!important;width:32px!important;height:32px!important;line-height:30px!important}.leaflet-control-zoom a:hover{background:var(--ios-gray5)!important}.leaflet-popup-content-wrapper{border-radius:12px!important;box-shadow:0 8px 32px #00000026!important;border:1px solid var(--ios-separator)}.leaflet-popup-tip{box-shadow:none!important}.store-marker{background:transparent!important;border:none!important}.sidebar-menu-item:hover .drag-handle{opacity:.5!important}.sidebar-menu-item .drag-handle:hover{opacity:.8!important}.search-input-transparent.ant-input-search{border-radius:10px!important;overflow:hidden}.search-input-transparent.ant-input-search .ant-input-affix-wrapper{background:transparent!important;border:1px solid var(--ios-separator)!important;border-right:none!important;border-radius:10px 0 0 10px!important;padding:0 11px!important;min-height:32px!important;height:32px!important}.search-input-transparent.ant-input-search .ant-input-affix-wrapper .ant-input{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.search-input-transparent.ant-input-search .ant-input-search-button{background:var(--ios-gray5)!important;border:1px solid var(--ios-separator)!important;border-left:none!important;border-radius:0 10px 10px 0!important;height:32px!important;color:var(--ios-text-secondary)!important;fontSize:13px!important}.search-input-transparent.ant-input-search .ant-input-search-button:hover{background:var(--ios-gray4)!important;color:var(--ios-blue)!important}.search-input-transparent.ant-input-search .ant-input-affix-wrapper:hover,.search-input-transparent.ant-input-search .ant-input-affix-wrapper-focused{border-color:var(--ios-blue)!important;box-shadow:0 0 0 3px #0a84ff26!important}.search-input-transparent.ant-input-search .ant-input-affix-wrapper-focused+.ant-input-search-button{border-color:var(--ios-blue)!important}[data-theme=light] .search-input-transparent.ant-input-search .ant-input-affix-wrapper,[data-theme=light] .search-input-transparent.ant-input-search .ant-input-search-button{box-shadow:0 2px 8px #00000014!important}[data-theme=light] .search-input-transparent.ant-input-search:hover .ant-input-affix-wrapper,[data-theme=light] .search-input-transparent.ant-input-search:hover .ant-input-search-button{box-shadow:0 4px 12px #0000001f!important}[data-theme=light] .search-input-transparent.ant-input-search .ant-input-affix-wrapper-focused,[data-theme=light] .search-input-transparent.ant-input-search .ant-input-affix-wrapper-focused+.ant-input-search-button{box-shadow:0 0 0 3px #007aff26!important}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item.cssTransforms{transition-property:transform}.react-grid-item.resizing{z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform;box-shadow:0 8px 24px #0006}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:#0a84ff33;border:2px dashed #0A84FF;border-radius:12px;opacity:.6;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.drag-handle{cursor:move;opacity:.5;transition:opacity .2s;display:inline-flex;align-items:center;justify-content:center}.drag-handle *{pointer-events:none}.drag-handle:hover{opacity:1;background:var(--ios-bg-tertiary)}.react-resizable-handle{opacity:0;transition:opacity .2s;z-index:10}.react-grid-item:hover .react-resizable-handle{opacity:.5}.react-resizable-handle:hover{opacity:1!important}.react-resizable-handle-se{filter:invert(1)}.react-resizable-handle-e,.react-resizable-handle-w{width:8px;height:100%;top:0;filter:invert(1);background:none;border:none}.react-resizable-handle-e{right:-4px;cursor:ew-resize}.react-resizable-handle-w{left:-4px;cursor:ew-resize}.quill-editor-wrapper .ql-toolbar.ql-snow{border:none;border-bottom:1px solid var(--ios-separator);background:var(--ios-bg-tertiary);padding:8px}.quill-editor-wrapper .ql-container.ql-snow{border:none;min-height:360px;font-size:14px}.quill-editor-wrapper .ql-editor{min-height:360px;color:var(--ios-text);background:var(--ios-bg-secondary)}.quill-editor-wrapper .ql-editor.ql-blank:before{color:var(--ios-text-tertiary);font-style:normal}.quill-editor-wrapper .ql-snow .ql-stroke{stroke:var(--ios-text-secondary)}.quill-editor-wrapper .ql-snow .ql-fill{fill:var(--ios-text-secondary)}.quill-editor-wrapper .ql-snow .ql-picker{color:var(--ios-text-secondary)}.quill-editor-wrapper .ql-snow .ql-picker-options{background:var(--ios-bg-tertiary);border:1px solid var(--ios-separator)}.quill-editor-wrapper .ql-snow .ql-picker-item{color:var(--ios-text)}.quill-editor-wrapper .ql-snow .ql-picker-item:hover{color:#4f7cff}.quill-editor-wrapper .ql-snow .ql-tooltip{background:var(--ios-bg-tertiary);border:1px solid var(--ios-separator);color:var(--ios-text)}.quill-editor-wrapper .ql-snow .ql-tooltip input{color:var(--ios-text);background:var(--ios-bg);border:1px solid var(--ios-separator)}.quill-editor-wrapper .ql-snow button.ql-active .ql-stroke,.quill-editor-wrapper .ql-snow button.ql-active .ql-fill{stroke:#4f7cff;fill:#4f7cff}.quill-editor-wrapper .ql-snow button:hover .ql-stroke,.quill-editor-wrapper .ql-snow button:hover .ql-fill{stroke:var(--ios-text);fill:var(--ios-text)}.quill-editor-wrapper .ql-editor img{max-width:100%;border-radius:6px}.col-resize-handle{position:absolute;right:-5px;top:0;bottom:0;width:10px;cursor:col-resize!important;z-index:10;background:transparent;transition:background .15s ease}.col-resize-handle:hover,.col-resize-handle:active{background:#1890ff26}.col-resize-handle:after{content:"";position:absolute;right:4px;top:20%;bottom:20%;width:2px;background:transparent;transition:background .15s ease}.col-resize-handle:hover:after,.col-resize-handle:active:after{background:#1890ff}.fx-tbox .ant-table-content table,.asset-table-auto .ant-table-content table{min-width:0!important}.fx-h1{font-size:20px;font-weight:700;margin:0;color:var(--ios-text);letter-spacing:-.01em}.fx-crumb{font-size:12px;color:var(--ios-text-tertiary);margin-bottom:6px}.fx-crumb b{font-weight:400;color:var(--ios-text-secondary)}.fx-crumb a{color:var(--ios-text-secondary)}.fx-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.fx-head .grow{flex:1;min-width:0}.fx-h3{font-size:16px;font-weight:600;color:var(--ios-text)}.fx-muted{color:var(--ios-text-secondary)}.fx-dim{color:var(--ios-text-tertiary);font-size:12px}.fx-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.fx-kpi{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.fx-kpi.four{grid-template-columns:repeat(4,1fr)}.fx-kpi.three{grid-template-columns:repeat(3,1fr)}@media (min-width: 768px){.fx-kpi.compact .fx-k{padding:10px 14px}.fx-kpi.compact .fx-k .kt{margin-bottom:2px;line-height:1.2}}.fx-k{background:var(--ios-bg-secondary);border:1px solid var(--ios-separator);border-radius:12px;padding:14px 16px;min-width:0}.fx-k .kt{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ios-text-secondary);margin-bottom:6px}.fx-k .kv{font-size:20px;font-weight:700;line-height:1.2;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ios-text)}.fx-k .kv small{font-size:12px;font-weight:500;color:var(--ios-text-tertiary);margin-left:3px}.fx-k .kd{font-size:12px;color:var(--ios-text-tertiary);margin-top:4px}.fx-kv-ok{color:var(--ios-green)!important}.fx-kv-warn{color:var(--ios-orange)!important}.fx-kv-bad{color:var(--ios-red)!important}.fx-kv-idle{color:var(--ios-gray1)!important}.fx-kv-purple{color:var(--ios-purple)!important}.fx-kv-blue{color:var(--ios-blue)!important}.fx-blue{color:var(--ios-blue)}.fx-strong{font-weight:600;white-space:nowrap}.fx-dot{width:7px;height:7px;border-radius:2px;flex:0 0 auto;align-self:center;display:inline-block}.fx-card{background:var(--ios-bg-secondary);border:1px solid var(--ios-separator);border-radius:12px}.fx-card.pad{padding:16px}.fx-card-hd{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--ios-separator)}.fx-card-hd .grow{flex:1}.fx-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fx-stack{display:flex;gap:2px;height:14px;border-radius:7px;overflow:hidden;background:var(--ios-bg-tertiary)}.fx-stack i{display:block;min-width:5px}.fx-stack i.s-ok{background:var(--ios-green)}.fx-stack i.s-warn{background:var(--ios-orange)}.fx-stack i.s-bad{background:var(--ios-red)}.fx-stack i.s-idle{background:var(--ios-gray1)}.fx-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px}.fx-lg{display:inline-flex;align-items:baseline;gap:7px;font-family:inherit;font-size:12px;color:var(--ios-text-secondary);background:transparent;border:1px solid transparent;border-radius:8px;padding:4px 9px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.fx-lg:hover{background:var(--ios-bg-tertiary)}.fx-lg[aria-pressed=true]{border-color:var(--ios-separator-opaque);background:var(--ios-bg-tertiary)}.fx-lg .n{font-size:16px;font-weight:700;color:var(--ios-text);font-variant-numeric:tabular-nums}.fx-lg .p{color:var(--ios-text-tertiary)}.fx-rows{display:grid}.fx-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--ios-separator);font-size:12px}.fx-row:last-child{border-bottom:0}.fx-row.clickable{cursor:pointer;transition:background .15s ease}.fx-row.clickable:hover{background:var(--ios-bg-tertiary)}.fx-row .rk{width:20px;height:20px;border-radius:6px;background:var(--ios-bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--ios-text-secondary);flex:0 0 auto}.fx-row .rk.top1{background:var(--ios-tint-blue);color:var(--ios-blue)}.fx-row .rn{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-row .rv{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.fx-row .rq{min-width:74px;text-align:right;color:var(--ios-text-tertiary);font-variant-numeric:tabular-nums}.fx-tbox{background:var(--ios-bg-secondary);border:1px solid var(--ios-separator);border-radius:14px;overflow:hidden}.fx-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--ios-separator)}.fx-toolbar .grow{flex:1}.fx-tbox .ant-table-container{border:0!important;border-radius:0!important;background:transparent}.fx-tbox .ant-table{background:transparent!important}.fx-tbox .ant-table-thead>tr>th{background:var(--ios-bg-tertiary)!important;color:var(--ios-text-secondary)!important;text-transform:none;letter-spacing:0;padding:10px 12px!important}.fx-tbox .ant-table-tbody>tr>td{background:transparent!important;padding:10px 12px!important;vertical-align:middle}.fx-tbox .ant-table-tbody>tr:hover>td{background:var(--ios-bg-tertiary)!important}.fx-tbox .ant-table-cell-fix-left,.fx-tbox .ant-table-cell-fix-right{background:var(--ios-bg-secondary)!important}.fx-tbox .ant-table-thead .ant-table-cell-fix-left,.fx-tbox .ant-table-thead .ant-table-cell-fix-right{background:var(--ios-bg-tertiary)!important}.fx-tbox .ant-table-tbody>tr:hover .ant-table-cell-fix-left,.fx-tbox .ant-table-tbody>tr:hover .ant-table-cell-fix-right{background:var(--ios-bg-tertiary)!important}.fx-tbox .col-resize-handle:after{background:var(--ios-separator-opaque)}.fx-tfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid var(--ios-separator);font-size:12px;color:var(--ios-text-secondary)}.fx-catcell{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow:hidden}.fx-colset{display:flex;flex-direction:column;gap:6px;min-width:148px;max-height:320px;overflow-y:auto}.fx-tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:1;padding:4px 8px;border-radius:6px;white-space:nowrap;background:var(--ios-bg-tertiary);color:var(--ios-text-secondary)}.fx-tag.cat{background:var(--ios-tint-blue);color:var(--ios-blue);font-weight:500}.fx-tag.from{background:var(--ios-tint-orange);color:var(--ios-orange)}.fx-tag.to{background:var(--ios-tint-green);color:var(--ios-green)}.fx-tag.purple{background:var(--ios-tint-purple);color:var(--ios-purple)}.fx-tag.more{background:transparent;color:var(--ios-text-tertiary);box-shadow:inset 0 0 0 1px var(--ios-separator-opaque)}.fx-tag.st{border-radius:999px;font-weight:500}.fx-tag.st-ok{background:var(--ios-tint-green);color:var(--ios-green);box-shadow:inset 0 0 0 1px var(--ios-ring-green)}.fx-tag.st-warn{background:var(--ios-tint-orange);color:var(--ios-orange);box-shadow:inset 0 0 0 1px var(--ios-ring-orange)}.fx-tag.st-bad{background:var(--ios-tint-red);color:var(--ios-red);box-shadow:inset 0 0 0 1px var(--ios-ring-red)}.fx-tag.st-idle{background:var(--ios-tint-gray);color:var(--ios-gray1);box-shadow:inset 0 0 0 1px var(--ios-ring-gray)}.fx-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;line-height:18px;white-space:nowrap}.fx-pill.pending{background:var(--ios-tint-orange);border:1px solid var(--ios-ring-orange);color:var(--ios-orange)}.fx-pill.clickable{cursor:pointer;text-decoration:none}.fx-pill.clickable:hover{text-decoration:underline}.fx-link-warn{color:var(--ios-orange);font-weight:600;cursor:pointer}.fx-link-warn:hover{text-decoration:underline}.fx-asset-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.fx-asset-empty{display:flex;flex-direction:column;align-items:center;padding:24px 0}.fx-act-primary{font-weight:600}.fx-pill.green{background:#e8f5e9;border:1px solid #a5d6a7;color:#1b5e20;font-weight:600}.fx-pill.blue{background:#e3f2fd;border:1px solid #90caf9;color:#1565c0;font-weight:600}.fx-pill.orange{background:#fff3e0;border:1px solid #ffcc80;color:#e65100;font-weight:600}.fx-pill.yellow{background:#fffde7;border:1px solid #fff59d;color:#f9a825;font-weight:600}.fx-pill.purple{background:#f3e5f5;border:1px solid #ce93d8;color:#6a1b9a;font-weight:600}.fx-pill.gray{background:#f5f5f5;border:1px solid #e0e0e0;color:#616161;font-weight:600}.fx-pill.red{background:#ffebee;border:1px solid #ef9a9a;color:#b71c1c;font-weight:600}.fx-pill.sample{background:var(--ios-tint-gray);border:1px solid var(--ios-ring-gray);color:var(--ios-text-secondary)}.fx-pill.todo{background:transparent;border:1px dashed var(--ios-separator-opaque);color:var(--ios-text-tertiary)}.type-badge{display:inline-block;padding:2px 10px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap}.type-badge.blue{background:var(--ios-tint-blue);color:var(--ios-blue)}.type-badge.orange{background:var(--ios-tint-orange);color:var(--ios-orange)}.type-badge.purple{background:var(--ios-tint-purple);color:var(--ios-purple)}.type-badge.green{background:var(--ios-tint-green);color:var(--ios-green)}.type-badge.yellow{background:var(--ios-tint-yellow);color:var(--ios-yellow)}.type-badge.gray{background:var(--ios-tint-gray);color:var(--ios-gray1)}.fx-filter-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;background:var(--ios-bg-secondary);border:1px solid var(--ios-separator);border-radius:12px}.fx-filter-chips .lbl{font-size:12px;font-weight:600;color:var(--ios-text-secondary);flex-shrink:0}.fx-filter-chips .sep{width:1px;height:18px;background:var(--ios-separator)}.fx-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:5px 11px;border-radius:999px;cursor:pointer;background:var(--ios-bg-tertiary);border:1px solid var(--ios-separator);color:var(--ios-text-secondary);-webkit-user-select:none;user-select:none;white-space:nowrap}.fx-chip:hover{border-color:var(--ios-separator-opaque)}.fx-chip .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.fx-chip .n{font-weight:700;color:var(--ios-text)}.fx-chip.on{background:var(--ios-tint-blue);border-color:var(--ios-ring-blue);color:var(--ios-blue)}.fx-chip.on .n{color:var(--ios-blue)}.fx-chip.zero{opacity:.45}.fx-chip.zero:hover{border-color:var(--ios-separator-opaque)}.fx-chip.on.zero{opacity:1}.fx-store-name{display:inline-flex;align-items:center;gap:4px;color:var(--ios-blue);font-weight:600;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .12s ease}.fx-store-name:hover{color:var(--ios-blue)}.fx-store-name .arw{font-style:normal;font-size:12px;opacity:.5;transition:opacity .12s ease,transform .12s ease}.table-card .ant-table-tbody>tr:hover .fx-store-name{text-decoration-color:var(--ios-ring-blue)}.table-card .ant-table-tbody>tr:hover .fx-store-name .arw{opacity:1;transform:translate(2px)}.table-card .ant-table-tbody>tr .copyable{color:var(--ios-text)}.table-card .ant-table-tbody>tr .mgr .p{color:var(--ios-text-secondary)}.copyable{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.mgr{display:flex;flex-direction:column;gap:2px;max-width:100%;overflow:hidden}.mgr .n{font-size:14px;font-weight:600}.mgr .p{font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.mgr .p.empty{cursor:default}.mgr-warn{margin:0;width:fit-content;cursor:pointer;font-weight:600}.mgr-warn:hover{opacity:.85}.store-view-switch{display:inline-flex;background:#1e293b;border:1px solid #334155;border-radius:11px;padding:3px;gap:3px;margin-bottom:12px}.store-view-switch .sv{border:none;background:transparent;color:#94a3b8;padding:7px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:7px}.store-view-switch .sv.on{background:linear-gradient(135deg,#007aff,#5ac8fa);color:#fff;font-weight:600}.store-view-switch .sv-n{font-size:12px;background:#94a3b82e;padding:1px 8px;border-radius:9px}.store-view-switch .sv.on .sv-n{background:#ffffff40}.store-hint{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:14px;border-radius:12px;background:linear-gradient(135deg,#007aff2e,#5ac8fa1f);border:1.5px solid rgba(0,122,255,.45);font-size:14px;color:var(--ios-text-primary);line-height:1.5;font-weight:500;box-shadow:0 2px 8px #007aff1f}.store-hint .hint-icon{font-size:20px;flexShrink:0}.store-hint strong{color:var(--ios-blue);font-weight:700}.store-module-tabs{display:flex;gap:6px;margin-bottom:16px;padding:4px;background:var(--ios-bg-secondary, #f2f2f7);border-radius:12px;overflow-x:auto;width:fit-content}.store-module-tabs .smt{display:flex;align-items:center;gap:6px;padding:9px 18px;background:none;border:none;cursor:pointer;font-size:14px;color:var(--ios-text-secondary);border-radius:9px;white-space:nowrap;transition:all .15s;font-weight:500}.store-module-tabs .smt:hover{color:var(--ios-text)}.store-module-tabs .smt.on{color:#fff;font-weight:600;background:var(--ios-blue, #007aff);box-shadow:0 2px 8px #007aff4d}.store-module-tabs .smt .smt-icon{font-size:15px}.cp{display:inline-flex;align-items:center;opacity:0;transition:opacity .12s ease}.table-card .ant-table-tbody>tr:hover .cp{opacity:.55}.table-card .ant-table-tbody>tr:hover .copyable,.table-card .ant-table-tbody>tr:hover .mgr .p{color:var(--ios-blue)}.fx-store-name:focus-visible{outline:2px solid var(--ios-ring-blue);outline-offset:2px;border-radius:3px}.ellip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-kpi.auto{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.fx-vstack{display:flex;flex-direction:column;gap:14px}.fx-subh{font-size:14px;font-weight:600;color:var(--ios-text-secondary);margin-bottom:8px}.fx-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 16px}.fx-field{min-width:0}.fx-field .k{font-size:12px;color:var(--ios-text-tertiary);margin-bottom:3px}.fx-field .v{font-size:14px;color:var(--ios-text);word-break:break-word}.fx-field .v.strong{font-weight:600;font-variant-numeric:tabular-nums}.fx-device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.fx-copy-field{display:inline-flex;align-items:center;gap:5px;cursor:pointer;color:var(--ios-text);font-size:14px;word-break:break-word}.fx-copy-field .i{font-size:12px;opacity:.45;flex-shrink:0;transition:opacity .12s ease}.fx-copy-field:hover{color:var(--ios-blue)}.fx-copy-field:hover .i{opacity:1}.fx-mod-bar{display:flex;flex-wrap:wrap;gap:8px}.fx-mod-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:6px 12px;border-radius:10px;background:var(--ios-bg-secondary);border:1px solid var(--ios-separator);color:var(--ios-blue);text-decoration:none;transition:border-color .12s ease,background .12s ease}.fx-mod-link:hover{border-color:var(--ios-ring-blue);background:var(--ios-tint-blue);color:var(--ios-blue)}.fx-mod-link:focus-visible{outline:2px solid var(--ios-ring-blue);outline-offset:2px}.fx-detail-tabs .ant-tabs-nav{margin-bottom:14px}@media (max-width: 768px){.fx-detail-tabs .ant-tabs-nav-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.fx-detail-tabs .ant-tabs-nav-wrap::-webkit-scrollbar{display:none}.fx-detail-tabs .ant-tabs-nav-list{flex-wrap:nowrap}.fx-detail-tabs .ant-tabs-nav-more{display:none}}.fx-calc-cols{display:flex;flex-direction:column;gap:16px}.fx-receipt{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:12px;background:var(--ios-bg-secondary);border:1px solid var(--ios-separator)}.fx-receipt-head{display:flex;justify-content:space-between;align-items:baseline}.fx-receipt-title{font-size:16px;font-weight:600}.fx-receipt-count{font-size:12px;color:var(--ios-text-secondary)}.fx-receipt-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.fx-receipt-row-label{font-size:14px;color:var(--ios-text-secondary);flex-shrink:0}.fx-receipt-row-note{font-size:12px;color:var(--ios-text-tertiary);flex:1;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-receipt-row-value{font-size:14px;font-weight:600;flex-shrink:0}.fx-receipt-strike{text-decoration:line-through;color:var(--ios-text-tertiary)}.fx-receipt-section{font-size:12px;color:var(--ios-text-secondary);margin-top:4px}.fx-receipt-divider{border-top:1px dashed var(--ios-separator);margin:4px 0}.fx-receipt-total{align-items:baseline}.fx-receipt-pay{font-size:32px;font-weight:800;line-height:1.1;color:var(--ios-red)}.fx-receipt-saved{font-size:12px;color:var(--ios-green);text-align:right}.fx-receipt-member{font-size:12px;color:var(--ios-text-secondary);text-align:right}@media (min-width: 768px){.fx-calc-cols{flex-direction:row;align-items:flex-start}.fx-calc-left{flex:0 0 62%;min-width:0;max-height:calc(100vh - 300px);overflow-y:auto;padding-right:4px}.fx-calc-right{flex:1 1 38%;min-width:0;max-height:calc(100vh - 300px);overflow-y:auto}}.fx-timeline{display:flex;flex-direction:column;gap:16px}.fx-timeline-node{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.fx-timeline-dot{width:32px;height:32px;border-radius:50%;border:2px solid transparent;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;flex-shrink:0}.fx-timeline-name{font-size:12px;color:var(--ios-text);text-align:center;white-space:nowrap;line-height:1.3}.fx-timeline-date{font-size:11px;color:var(--ios-text-tertiary)}@media (min-width: 768px){.fx-timeline{flex-direction:row;align-items:flex-start;position:relative;min-width:max-content}.fx-timeline:before{content:"";position:absolute;top:16px;left:24px;right:24px;height:2px;background:var(--ios-separator)}.fx-timeline-node{flex:0 0 auto;width:76px;position:relative;z-index:1}.fx-timeline-name{white-space:normal}}.row-closed>td{opacity:.45!important}.row-closed>td .ant-tag,.row-closed>td .fx-pill{opacity:1!important}.fx-kpi.compact{display:flex;gap:0;background:#fff;border-radius:12px;border:1px solid var(--ios-separator, #e5e5ea);padding:0;overflow:hidden}.fx-kpi.compact .fx-k-mini{flex:1;padding:12px 16px;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--ios-separator, #e5e5ea)}.fx-kpi.compact .fx-k-mini:last-child{border-right:none}.fx-kpi.compact .lbl{font-size:12px;color:#8e8e93}.fx-kpi.compact .val{font-size:20px;font-weight:700;color:#1d1d1f;line-height:1.2}.fx-kpi.compact .val small{font-size:12px;font-weight:500;color:#8e8e93;margin-left:2px}.fx-kpi.compact .sub{font-size:11px;color:#aeaeb2}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 24px}.info-grid .ig-item{display:flex;align-items:baseline;gap:8px;min-width:0}.info-grid .ig-item .k{font-size:12px;color:#8e8e93;flex-shrink:0;min-width:48px}.info-grid .ig-item .v{font-size:14px;color:#1d1d1f;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-grid .ig-item .v.mono{font-family:SF Mono,Menlo,monospace}.info-grid .ig-item.ig-wide{grid-column:1 / -1}.info-grid .ig-item.ig-wide .v{white-space:normal}.account-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.acc-card{border:1px solid #e5e5ea;border-radius:10px;padding:12px;background:#fafafa}.acc-card .acc-head{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e5e5ea}.acc-card .acc-sys{font-size:14px;font-weight:700;color:#1d1d1f;display:block}.acc-card .acc-note{font-size:11px;color:#8e8e93}.acc-card .acc-row{display:flex;gap:8px;font-size:12px;margin-top:4px}.acc-card .acc-row .k{color:#8e8e93;width:36px;flex-shrink:0}.acc-card .acc-row .v{color:#1d1d1f;word-break:break-all}.staff-strip{display:flex;flex-wrap:wrap;gap:8px}.staff-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f5f5f7;border-radius:8px}.staff-chip .pos{font-size:11px;color:#8e8e93;background:#e8e8ed;padding:1px 6px;border-radius:4px}.staff-chip .name{font-size:13px;font-weight:600;color:#1d1d1f}.staff-chip .phone{font-size:12px;color:#666;font-family:SF Mono,Menlo,monospace}.overview-split{display:grid;grid-template-columns:5fr 7fr;gap:12px;align-items:stretch}.overview-split>.fx-card{display:flex;flex-direction:column;height:100%}.overview-split>.fx-card>div:last-child{flex:1}.overview-split .info-grid.compact{grid-template-columns:1fr 1fr;gap:8px 16px}.overview-split .info-grid.compact .ig-item.ig-wide{grid-column:1 / -1}.overview-split .ant-table-wrapper{overflow-x:auto;max-width:100%}.overview-split .ant-table{width:100%!important}.overview-split .ant-table table{width:100%!important;table-layout:fixed}.fx-cols.three{grid-template-columns:1fr 1fr 1.4fr}.fx-topnav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;height:56px;padding:0 24px;background:var(--ios-bg-secondary);border-bottom:1px solid var(--ios-separator)}.fx-topnav-logo{font-size:15px;font-weight:700;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.fx-topnav-domains{display:flex;gap:20px;align-items:center}.fx-domain{font-size:14px;color:var(--ios-text-secondary);padding:4px 0;position:relative;white-space:nowrap;cursor:pointer;transition:color .15s}.fx-domain:hover{color:var(--ios-text)}.fx-domain.active{color:var(--ios-blue);font-weight:600}.fx-domain.active:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;border-radius:1px;background:var(--ios-blue)}.fx-topnav-spacer{flex:1}.fx-topnav-search{display:flex;align-items:center;gap:8px;width:220px;height:32px;padding:0 12px;background:var(--ios-bg-tertiary);border-radius:10px;color:var(--ios-text-secondary);font-size:13px}.fx-topnav-acts{display:flex;align-items:center;gap:6px;flex:0 0 auto}.fx-topnav-iconbtn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--ios-text);cursor:pointer;flex:0 0 auto}.fx-topnav-iconbtn:hover{background:var(--ios-bg-tertiary)}.fx-topnav-avatar{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:15px;flex:0 0 auto;cursor:pointer}.fx-topnav-avatar-badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:15px;background:var(--ios-blue);color:#fff;font-size:13px;font-weight:600}.fx-topnav-content{padding:24px 28px;height:calc(100vh - 56px);overflow-y:auto}.fx-topnav-inner{max-width:1680px;margin:0 auto}@media (max-width: 1100px){.fx-topnav{gap:12px;padding:0 16px}.fx-topnav-domains{gap:14px;overflow-x:auto}.fx-topnav-search{width:160px}}
