/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * 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:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.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;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;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 pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"\2022"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"\2611"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"\2610"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{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-ui{position:absolute}.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 .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{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-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.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:0}.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:0;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}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(inter-cyrillic-ext-400-normal.f572b170fbc12b43.woff2) format("woff2"),url(inter-cyrillic-ext-400-normal.2a31c04be1fac271.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(inter-cyrillic-400-normal.372704ff403efaf1.woff2) format("woff2"),url(inter-cyrillic-400-normal.a6b6ef6faf0b7c0c.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(inter-greek-ext-400-normal.4ce1df5d07119d33.woff2) format("woff2"),url(inter-greek-ext-400-normal.88ede1ea0aa95dd1.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(inter-greek-400-normal.d7020e3c6f95df58.woff2) format("woff2"),url(inter-greek-400-normal.cc58c11b20a86345.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(inter-vietnamese-400-normal.de4fc44f89059189.woff2) format("woff2"),url(inter-vietnamese-400-normal.a9dd2faf81c10f4e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(inter-latin-ext-400-normal.32a254422883c2af.woff2) format("woff2"),url(inter-latin-ext-400-normal.4edcaacee0d25e32.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(inter-latin-400-normal.ef6d3f52c547a6e3.woff2) format("woff2"),url(inter-latin-400-normal.2c7a775c1cfc0bf6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(inter-cyrillic-ext-500-normal.fe0d9b14f720f858.woff2) format("woff2"),url(inter-cyrillic-ext-500-normal.5a6bb1da5010f238.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(inter-cyrillic-500-normal.7c15bba8be3c19b5.woff2) format("woff2"),url(inter-cyrillic-500-normal.b9f8c929ada23462.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(inter-greek-ext-500-normal.cbd51e2da92fb3cc.woff2) format("woff2"),url(inter-greek-ext-500-normal.7a4aa726ab43f57f.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(inter-greek-500-normal.f41f43dbd973adba.woff2) format("woff2"),url(inter-greek-500-normal.d9a33207d70fd21f.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(inter-vietnamese-500-normal.7c0a695f6fa5005e.woff2) format("woff2"),url(inter-vietnamese-500-normal.a3a73b952b5b6834.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(inter-latin-ext-500-normal.d9b491decc0ea3af.woff2) format("woff2"),url(inter-latin-ext-500-normal.a19a84a6cbb36183.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(inter-latin-500-normal.b7b43acee81d05a8.woff2) format("woff2"),url(inter-latin-500-normal.cb4c8ceb0127a511.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(inter-cyrillic-ext-600-normal.f7b3c15b2a7e96ad.woff2) format("woff2"),url(inter-cyrillic-ext-600-normal.ecbdecadef6fbc02.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(inter-cyrillic-600-normal.2f42892af189ad38.woff2) format("woff2"),url(inter-cyrillic-600-normal.c3987adc32ba5dac.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(inter-greek-ext-600-normal.1f33d317c3a3e1b0.woff2) format("woff2"),url(inter-greek-ext-600-normal.089a95ee7c81ee92.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(inter-greek-600-normal.cc532937822d8194.woff2) format("woff2"),url(inter-greek-600-normal.4ec0c1c1a5ca14f2.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(inter-vietnamese-600-normal.9d5185991feb027c.woff2) format("woff2"),url(inter-vietnamese-600-normal.c5ce3fcb6823f788.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(inter-latin-ext-600-normal.38b075d8fe927553.woff2) format("woff2"),url(inter-latin-ext-600-normal.49faa47a23c9c3d6.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(inter-latin-600-normal.8fb1a96451cec840.woff2) format("woff2"),url(inter-latin-600-normal.ce0f5f4333584aab.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(inter-cyrillic-ext-700-normal.74b516d253777229.woff2) format("woff2"),url(inter-cyrillic-ext-700-normal.4b4022a6b0b1f6e0.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(inter-cyrillic-700-normal.e9e5b2dce1200b7b.woff2) format("woff2"),url(inter-cyrillic-700-normal.93eba3c390643296.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(inter-greek-ext-700-normal.827cd61841cdf257.woff2) format("woff2"),url(inter-greek-ext-700-normal.31f1075d7bd4946c.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(inter-greek-700-normal.97f0eeeb8150554c.woff2) format("woff2"),url(inter-greek-700-normal.5ec6c758e5e9cbbd.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(inter-vietnamese-700-normal.faf12809fe069df4.woff2) format("woff2"),url(inter-vietnamese-700-normal.bc68b1994411c391.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(inter-latin-ext-700-normal.b63daa1aded44f3c.woff2) format("woff2"),url(inter-latin-ext-700-normal.93534b500390f383.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(inter-latin-700-normal.953b7aa585d36a2b.woff2) format("woff2"),url(inter-latin-700-normal.9c21d4dcc3745e44.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-50: #EEF2FF;--brand-100: #E0E7FF;--brand-200: #C7D2FE;--brand-300: #A5B4FC;--brand-400: #818CF8;--brand-500: #6366F1;--brand-600: #4F46E5;--brand-700: #4338CA;--brand-800: #3730A3;--brand-900: #312E81;--nav-bg: #0B1220;--nav-item-active-bg: #1E293B;--nav-item-hover-bg: rgba(255, 255, 255, .04);--nav-text: #CBD5E1;--nav-text-muted: #94A3B8;--nav-section-label: #94A3B8;--surface-0: #FFFFFF;--surface-50: #F8FAFC;--surface-100: #F1F5F9;--border: #E2E8F0;--border-strong:#CBD5E1;--ink-900: #0F172A;--ink-700: #334155;--ink-500: #64748B;--ink-400: #94A3B8;--ink-300: #CBD5E1;--success: #10B981;--success-bg: #D1FAE5;--success-fg: #065F46;--warning: #F59E0B;--warning-bg: #FEF3C7;--warning-fg: #92400E;--danger: #EF4444;--danger-bg: #FEE2E2;--danger-fg: #991B1B;--info: #3B82F6;--info-bg: #DBEAFE;--info-fg: #1E40AF;--neutral-bg: #F1F5F9;--neutral-fg: #475569;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-full: 9999px;--shadow-card: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--shadow-elev-1: 0 2px 4px rgba(15, 23, 42, .04), 0 4px 6px rgba(15, 23, 42, .06);--shadow-elev-2: 0 4px 8px rgba(15, 23, 42, .06), 0 8px 16px rgba(15, 23, 42, .08);--shadow-popover: 0 10px 25px rgba(15, 23, 42, .1), 0 6px 12px rgba(15, 23, 42, .06);--shadow-focus: 0 0 0 3px rgba(99, 102, 241, .3);--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--fs-display: 28px;--lh-display: 36px;--fw-display: 600;--fs-h1: 22px;--lh-h1: 30px;--fw-h1: 600;--fs-h2: 16px;--lh-h2: 24px;--fw-h2: 600;--fs-body: 14px;--lh-body: 20px;--fw-body: 400;--fs-label: 12px;--lh-label: 16px;--fw-label: 500;--fs-micro: 11px;--lh-micro: 16px;--fw-micro: 600;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--dur-fast: .1s;--dur-base: .15s;--dur-slow: .24s;--z-sticky: 100;--z-dropdown: 1000;--z-overlay: 1100;--z-modal: 1200;--z-toast: 1300;--shell-sidebar-w: 256px;--shell-sidebar-collapsed-w: 72px;--shell-topbar-h: 56px}.t-display{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--fw-display);letter-spacing:-.01em}.t-h1{font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--fw-h1);letter-spacing:-.005em}.t-h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--fw-h2)}.t-body{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-body)}.t-label{font-size:var(--fs-label);line-height:var(--lh-label);font-weight:var(--fw-label)}.t-micro{font-size:var(--fs-micro);line-height:var(--lh-micro);font-weight:var(--fw-micro);text-transform:uppercase;letter-spacing:.06em}@media (prefers-reduced-motion: reduce){:root{--dur-fast: 1ms;--dur-base: 1ms;--dur-slow: 1ms}}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@charset "UTF-8";.shell{min-height:100vh;background:var(--surface-50);display:grid;grid-template-columns:var(--shell-sidebar-w) 1fr;transition:grid-template-columns var(--dur-slow) var(--ease-standard)}.shell:has(.sidebar.collapsed){grid-template-columns:var(--shell-sidebar-collapsed-w) 1fr}.shell.is-handset{grid-template-columns:1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav-bg);color:var(--nav-text);display:flex;flex-direction:column;overflow:hidden;z-index:var(--z-sticky);transition:width var(--dur-slow) var(--ease-standard);border-right:1px solid rgba(255,255,255,.04)}.shell.is-handset .sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--shell-sidebar-w);transform:translate(-100%);transition:transform var(--dur-slow) var(--ease-standard)}.shell.is-handset .sidebar.is-mobile-open{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;background:#0f172a80;z-index:calc(var(--z-sticky) - 1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--dur-base) var(--ease-standard)}.sidebar.collapsed{width:var(--shell-sidebar-collapsed-w)}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-item span:not(.kbd),.sidebar.collapsed .search-trigger .placeholder,.sidebar.collapsed .search-trigger .kbd,.sidebar.collapsed .user-info-mini,.sidebar.collapsed .user-chip .more{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .brand{justify-content:center;padding:var(--sp-4) var(--sp-3)}.sidebar.collapsed .user-chip{justify-content:center;padding:6px!important}.sidebar.collapsed .search-trigger{padding:var(--sp-2);justify-content:center}.sidebar.collapsed .nav-section{padding-top:var(--sp-4)}.sidebar.collapsed .nav-section+.nav-section{border-top:1px solid rgba(255,255,255,.04);margin-top:0}.sidebar .brand{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-4);border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0}.sidebar .brand-mark{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--brand-600);border-radius:var(--r-md);flex-shrink:0}.sidebar .brand-mark app-icon{color:#fff}.sidebar .brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.sidebar .brand-name{color:#fff;font-weight:600;font-size:var(--fs-body);letter-spacing:-.01em;white-space:nowrap}.sidebar .brand-sub{color:var(--ink-400);font-size:var(--fs-micro);font-weight:var(--fw-micro);text-transform:uppercase;letter-spacing:.06em;margin-top:var(--sp-1);white-space:nowrap}.search-trigger{margin:var(--sp-3);display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:var(--r-md);color:var(--nav-text-muted);cursor:pointer;transition:background var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard);font-family:inherit;text-align:left}.search-trigger:hover{background:#ffffff14;border-color:#ffffff1a}.search-trigger app-icon{color:var(--ink-400);flex-shrink:0}.search-trigger .placeholder{flex:1;font-size:var(--fs-body)}.search-trigger .kbd{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-micro);font-family:var(--font-mono);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:var(--r-sm);color:var(--ink-300);flex-shrink:0}.nav{flex:1;overflow-y:auto;padding:var(--sp-1) var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-5);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.nav::-webkit-scrollbar{width:6px}.nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:var(--r-sm)}.nav-section{display:flex;flex-direction:column;gap:var(--sp-1)}.nav-label{padding:0 var(--sp-3) var(--sp-2);font-size:var(--fs-micro);font-weight:var(--fw-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--nav-section-label)}.nav-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--nav-text);font-size:var(--fs-body);font-weight:500;text-decoration:none;position:relative;transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}.nav-item app-icon{color:var(--ink-400);transition:color var(--dur-base) var(--ease-standard);flex-shrink:0}.nav-item:hover{background:var(--nav-item-hover-bg);color:#fff}.nav-item:hover app-icon{color:#fff}.nav-item.active{background:var(--nav-item-active-bg);color:#fff}.nav-item.active app-icon{color:var(--brand-400)}.nav-item.active:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--brand-500)}.nav-item:focus-visible{outline:2px solid var(--brand-400);outline-offset:-2px}.sidebar-footer{padding:var(--sp-3);border-top:1px solid rgba(255,255,255,.04);flex-shrink:0}.user-chip{width:100%;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2);border:0;border-radius:var(--r-md);color:#fff;background:#ffffff0a;transition:background var(--dur-base) var(--ease-standard);text-align:left;cursor:pointer;font-family:inherit;font-size:inherit}.user-chip:hover{background:#ffffff14}.user-chip:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px}.avatar{width:32px;height:32px;background:var(--brand-600);color:#fff;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0}.avatar.large{width:44px;height:44px;font-size:15px}.user-info-mini{display:flex;flex-direction:column;flex:1;text-align:left;line-height:1.2;min-width:0}.user-info-mini .name{color:#fff;font-size:var(--fs-body);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info-mini .role{color:var(--ink-400);font-size:var(--fs-micro)}.user-chip .more{color:var(--ink-400);flex-shrink:0}.main{display:flex;flex-direction:column;min-height:100vh;min-width:0}.topbar{position:sticky;top:0;z-index:var(--z-sticky);height:var(--shell-topbar-h);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5);background:#fffc;backdrop-filter:blur(8px) saturate(180%);-webkit-backdrop-filter:blur(8px) saturate(180%);border-bottom:1px solid var(--border)}.icon-btn{width:36px;height:36px;min-height:36px!important;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:var(--r-md);cursor:pointer;color:var(--ink-700);position:relative;transition:background-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.icon-btn:hover{background:var(--surface-100);color:var(--ink-900)}.icon-btn:active{transform:scale(.95)}.icon-btn:focus{outline:none}.icon-btn:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.icon-btn .badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 var(--sp-1);border-radius:var(--r-full);background:var(--danger);color:#fff;font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.95);box-sizing:content-box}.menu-toggle{position:relative}.menu-toggle .sidebar-icon{display:block;overflow:visible;color:currentColor}.menu-toggle .frame{transition:stroke .2s ease}.menu-toggle .panel{transform-origin:3.5px 12px;transition:transform .42s cubic-bezier(.16,1,.3,1),opacity .28s ease}.menu-toggle .dot{opacity:0;transform-origin:center;transform:scale(.4);transition:opacity .24s ease,transform .36s cubic-bezier(.34,1.56,.64,1)}.menu-toggle:not(.is-open) .panel{transform:scaleX(.18);opacity:.55}.menu-toggle:not(.is-open) .dot{opacity:.85;transform:scale(1)}.menu-toggle:not(.is-open) .dot-2{transition-delay:60ms}.menu-toggle.is-open .panel{transform:scaleX(1);opacity:1}.menu-toggle:hover .frame{stroke:var(--brand-500)}.menu-toggle.is-open:hover .panel{transform:scaleX(1.04)}.menu-toggle:not(.is-open):hover .panel{transform:scaleX(.28);opacity:.8}@media (prefers-reduced-motion: reduce){.menu-toggle .panel,.menu-toggle .dot,.menu-toggle .frame{transition:none}}.breadcrumbs{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-body);color:var(--ink-500);overflow:hidden;white-space:nowrap;flex:1;min-width:0}.breadcrumbs a{color:var(--ink-500);text-decoration:none;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);min-height:auto;transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}.breadcrumbs a:hover{background:var(--surface-100);color:var(--ink-900)}.breadcrumbs .crumb-current{color:var(--ink-900);font-weight:500;padding:var(--sp-1) var(--sp-2)}.breadcrumbs .sep{color:var(--ink-400);font-size:12px;-webkit-user-select:none;user-select:none}@media (max-width: 600px){.breadcrumbs{display:none}}.topbar-search{display:inline-flex;align-items:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-3) 0 var(--sp-3);background:var(--surface-50);border:1px solid var(--border);border-radius:var(--r-md);color:var(--ink-500);cursor:pointer;font-family:inherit;font-size:var(--fs-body);transition:background var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard);min-width:220px}.topbar-search:hover{background:var(--surface-100);border-color:var(--border-strong)}.topbar-search:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.topbar-search .placeholder{flex:1;text-align:left}.topbar-search .kbd{display:inline-flex;align-items:center;padding:var(--sp-1) var(--sp-2);font-size:var(--fs-micro);font-family:var(--font-mono);background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink-500)}@media (max-width: 900px){.topbar-search{min-width:0}.topbar-search .placeholder{display:none}}.topbar-actions{display:flex;align-items:center;gap:var(--sp-2);margin-left:auto}.user-chip.compact{background:transparent;color:var(--ink-900);padding:var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-1);border-radius:var(--r-full);border:1px solid var(--border);width:auto;display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer;font-family:inherit;min-height:36px}.user-chip.compact:hover{background:var(--surface-50)}.user-chip.compact .avatar{width:28px;height:28px;font-size:11px}.user-chip.compact .user-name{font-size:var(--fs-body);font-weight:500;color:var(--ink-900);white-space:nowrap}.user-chip.compact .chev{color:var(--ink-500);flex-shrink:0}@media (max-width: 600px){.user-chip.compact .user-name{display:none}}.content{flex:1;padding:var(--sp-8);animation:fadeIn var(--dur-slow) var(--ease-standard)}@media (max-width: 768px){.content{padding:var(--sp-4)}}.user-card{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-4);min-width:240px}.user-card-name{font-weight:600;font-size:var(--fs-body);color:var(--ink-900)}.user-card-email{font-size:var(--fs-label);color:var(--ink-500);margin-top:var(--sp-1)}.role-tag{display:inline-block;margin-top:var(--sp-2);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-micro);font-weight:600;background:var(--brand-50);color:var(--brand-700);border-radius:var(--r-full)}:root{--primary-50: var(--brand-50);--primary-100: var(--brand-100);--primary-200: var(--brand-200);--primary-300: var(--brand-300);--primary-400: var(--brand-400);--primary-500: var(--brand-500);--primary-600: var(--brand-600);--primary-700: var(--brand-700);--primary-800: var(--brand-800);--primary-900: var(--brand-900);--primary-color: var(--primary-600);--primary-light: var(--primary-400);--primary-dark: var(--primary-800);--accent-500: #10b981;--accent-600: #059669;--accent-color: var(--accent-500);--success: #10b981;--success-bg: #d1fae5;--warning: #f59e0b;--warning-bg: #fef3c7;--danger: #ef4444;--danger-bg: #fee2e2;--info: #3b82f6;--info-bg: #dbeafe;--warn-color: var(--danger);--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--bg-app: #f8fafc;--bg-surface: #ffffff;--bg-subtle: #f1f5f9;--bg-hover: #f8fafc;--background-default: var(--bg-app);--background-paper: var(--bg-surface);--background-card: var(--bg-surface);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-hint: #94a3b8;--text-on-primary: #ffffff;--border: #e2e8f0;--border-strong: #cbd5e1;--border-color: var(--border);--divider-color: var(--border);--sidebar-width: 272px;--sidebar-collapsed-width: 72px;--header-height: 68px;--content-padding: var(--sp-8);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--border-radius-sm: var(--radius-sm);--border-radius-md: var(--radius-md);--border-radius-lg: var(--radius-lg);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px -2px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 24px -6px rgba(15, 23, 42, .12), 0 4px 8px -2px rgba(15, 23, 42, .06);--shadow-xl: 0 24px 48px -12px rgba(15, 23, 42, .18);--shadow-primary: 0 8px 24px -6px color-mix(in srgb, var(--primary-600) 35%, transparent);--shadow-focus: 0 0 0 3px color-mix(in srgb, var(--primary-600) 16%, transparent);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .15s var(--ease-out);--transition: .22s var(--ease-out);--transition-slow: .36s var(--ease-out);--gradient-primary: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-800) 50%, var(--primary-900) 100%);--gradient-surface: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);--gradient-accent: linear-gradient(135deg, var(--accent-500) 0%, var(--primary-600) 100%);--gradient-mesh: radial-gradient(at 15% 20%, color-mix(in srgb, var(--primary-400) 15%, transparent) 0px, transparent 50%), radial-gradient(at 85% 70%, color-mix(in srgb, var(--accent-500) 12%, transparent) 0px, transparent 50%)}@media (max-width: 768px){:root{--content-padding: var(--sp-4);--header-height: 60px;--sidebar-width: 100%}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-sans);font-feature-settings:"cv02","cv03","cv04","cv11","ss01";font-size:var(--fs-body);line-height:var(--lh-body);background-color:var(--surface-50);color:var(--ink-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}.tabular-nums{font-variant-numeric:tabular-nums}body{min-height:100vh}a{color:var(--primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;letter-spacing:-.01em}h1{font-size:clamp(1.5rem,3vw,1.875rem)}h2{font-size:clamp(1.125rem,2.5vw,1.25rem)}h3{font-size:1rem}*:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:var(--r-sm)}button,a{min-height:44px}button:focus-visible,a:focus-visible{outline-offset:3px}img{max-width:100%;height:auto;display:block}::selection{background:var(--primary-200);color:var(--primary-900)}.full-width{width:100%}.full-height{height:100%}.flex{display:flex}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-3{gap:var(--spacing-md)}.gap-4{gap:var(--spacing-lg)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-muted{color:var(--text-muted)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.ml-1{margin-left:var(--spacing-xs)}.ml-2{margin-left:var(--spacing-sm)}.ml-3{margin-left:var(--spacing-md)}.ml-4{margin-left:var(--spacing-lg)}.mr-1{margin-right:var(--spacing-xs)}.mr-2{margin-right:var(--spacing-sm)}.mr-3{margin-right:var(--spacing-md)}.mr-4{margin-right:var(--spacing-lg)}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition),transform var(--transition)}.glass{background:#ffffffd9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.5);box-shadow:0 32px 80px -20px #0f172a59,0 12px 24px -12px #0f172a2e}.glass-subtle{background:#fff9;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid var(--border)}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;letter-spacing:-.02em}.gradient-text-accent{background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.surface{background:var(--bg-surface);border:1px solid rgba(15,23,42,.06);border-radius:var(--radius-xl);box-shadow:0 6px 20px -12px #0f172a1f}.app-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;transition:transform .35s cubic-bezier(.4,0,.2,1),border-color .35s ease,box-shadow .35s ease;box-shadow:0 4px 16px -8px #0f172a1a}.app-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--primary-600) 30%,transparent);box-shadow:0 24px 48px -16px color-mix(in srgb,var(--primary-600) 25%,transparent),0 0 0 1px color-mix(in srgb,var(--primary-600) 8%,transparent)}.app-card-media{position:relative;width:100%;overflow:hidden;background:radial-gradient(600px 200px at 50% 100%,color-mix(in srgb,var(--primary-600) 8%,transparent),transparent 70%),linear-gradient(160deg,var(--primary-50) 0%,var(--bg-surface) 50%,var(--slate-50) 100%)}.gradient-badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--gradient-primary);color:var(--text-on-primary);box-shadow:0 6px 14px -4px color-mix(in srgb,var(--primary-600) 45%,transparent)}.gradient-badge.danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 6px 14px -4px #ef444473}.gradient-badge.success{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 6px 14px -4px #10b98173}.shadow-glow{box-shadow:0 0 30px color-mix(in srgb,var(--primary-600) 40%,transparent)}.shadow-glow-success{box-shadow:0 0 30px #10b98166}.shadow-glow-warning{box-shadow:0 0 30px #f59e0b66}.hover-lift{transition:transform var(--transition),box-shadow var(--transition)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-premium{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-6);border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;cursor:pointer;border:0;background:var(--gradient-primary);color:var(--text-on-primary);box-shadow:0 12px 24px -8px color-mix(in srgb,var(--primary-600) 50%,transparent);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.btn-premium:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 32px -10px color-mix(in srgb,var(--primary-600) 65%,transparent)}.btn-premium:disabled{opacity:.5;cursor:not-allowed}@keyframes globalFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes modalFadeUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.anim-fade-up{animation:globalFadeUp .5s ease-out both}.anim-modal-up{animation:modalFadeUp .35s cubic-bezier(.16,1,.3,1) both}.stagger>*{animation:globalFadeUp .5s ease-out both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:80ms}.stagger>*:nth-child(3){animation-delay:.16s}.stagger>*:nth-child(4){animation-delay:.24s}.stagger>*:nth-child(5){animation-delay:.32s}.stagger>*:nth-child(6){animation-delay:.4s}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}.card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.status-badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;line-height:1.2;letter-spacing:.01em;white-space:nowrap}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-badge.pending{background:var(--warning-bg);color:#b45309}.status-badge.confirmed{background:var(--info-bg);color:#1d4ed8}.status-badge.in-progress{background:#ede9fe;color:#6d28d9}.status-badge.completed{background:var(--success-bg);color:#047857}.status-badge.cancelled{background:var(--danger-bg);color:#b91c1c}.status-badge.active{background:var(--success-bg);color:#047857}.status-badge.inactive{background:var(--slate-100);color:var(--slate-600)}.table-container{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border);-webkit-overflow-scrolling:touch}.table-container table{width:100%;border-collapse:collapse}.table-container table th{background:var(--slate-50);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:left;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.table-container table td{padding:var(--sp-4) var(--sp-4);border-bottom:1px solid var(--border);color:var(--text-primary)}.table-container table tr:last-child td{border-bottom:none}.table-container table tr:hover{background:var(--bg-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition);border:none;line-height:1;min-height:40px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-primary{background:var(--primary-600);color:#fff;box-shadow:var(--shadow-sm)}.btn.btn-primary:hover:not(:disabled){background:var(--primary-700);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.btn.btn-secondary{background:transparent;color:var(--primary-600);border:1px solid var(--border-strong)}.btn.btn-secondary:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-400)}.btn.btn-danger{background:var(--danger);color:#fff}.btn.btn-danger:hover:not(:disabled){background:#dc2626}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:var(--radius-full);border:2px solid var(--bg-app)}::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.fade-in{animation:fadeIn var(--transition-slow) var(--ease-out)}.slide-in{animation:slideIn var(--transition-slow) var(--ease-out)}.fade-in-up{animation:fadeInUp var(--transition-slow) var(--ease-out)}.scale-in{animation:scaleIn var(--transition) var(--ease-spring)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html body .mat-mdc-form-field{width:100%;display:block}html body .mat-mdc-form-field.mat-mdc-form-field-appearance-outline{--mdc-outlined-text-field-outline-color: var(--border);--mdc-outlined-text-field-hover-outline-color: var(--slate-400);--mdc-outlined-text-field-focus-outline-color: var(--primary-600);--mdc-outlined-text-field-input-text-color: var(--text-primary);--mdc-outlined-text-field-input-text-placeholder-color: var(--text-muted);--mdc-outlined-text-field-caret-color: var(--primary-600);--mdc-outlined-text-field-container-shape: 10px;--mat-form-field-container-height: 48px;--mat-form-field-error-text-color: var(--danger);width:100%}html body .mat-mdc-form-field.mat-mdc-form-field-appearance-outline .mat-mdc-form-field-required-marker{color:var(--primary-600)!important;font-weight:700!important}html body .mat-mdc-form-field.mat-mdc-form-field-appearance-outline .mat-mdc-form-field-error{color:var(--danger);font-weight:500}.mat-mdc-input-element,.mat-mdc-form-field input,.mat-mdc-form-field textarea{font-family:inherit!important;font-size:.9375rem!important;font-weight:500!important;color:var(--text-primary)!important;caret-color:var(--primary-600)!important;line-height:1.4!important}.mat-mdc-input-element::placeholder,.mat-mdc-form-field input::placeholder,.mat-mdc-form-field textarea::placeholder{color:var(--text-muted)!important;font-weight:400!important}.mat-mdc-form-field textarea{line-height:1.55!important;resize:vertical;min-height:96px}.mat-mdc-select{font-size:.9375rem}.mat-mdc-select-value{font-weight:500!important;color:var(--text-primary)!important;font-size:.9375rem!important}.mat-mdc-select-placeholder{color:var(--text-muted)!important;font-weight:400!important}.mat-mdc-select-arrow{color:var(--text-muted)!important}.mat-mdc-select-panel{border-radius:12px!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border)!important;margin-top:var(--sp-2);padding:6px!important;background:#fff!important}.mat-mdc-option{border-radius:8px!important;margin:2px 0!important;font-size:.875rem!important;min-height:40px!important}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background:var(--slate-50)!important}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled){background:var(--primary-50)!important}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:var(--primary-700)!important;font-weight:600!important}.mat-mdc-autocomplete-panel{border-radius:12px!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border)!important;margin-top:var(--sp-2);padding:6px!important}.mat-datepicker-toggle .mat-mdc-icon-button{width:36px!important;height:36px!important;padding:6px!important;color:var(--text-muted)!important}.mat-datepicker-toggle .mat-mdc-icon-button .app-icon{font-size:20px;width:20px;height:20px}.mat-datepicker-content{border-radius:14px!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border)}.mat-calendar-body-selected{background:var(--primary-600)!important;color:var(--text-on-primary)!important}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:var(--primary-600)!important}.mat-mdc-checkbox{--mdc-checkbox-state-layer-size: 36px;--mdc-checkbox-selected-icon-color: var(--primary-600);--mdc-checkbox-selected-hover-icon-color: var(--primary-700);--mdc-checkbox-selected-focus-icon-color: var(--primary-700);--mdc-checkbox-selected-pressed-icon-color: var(--primary-800);--mdc-checkbox-selected-checkmark-color: #ffffff;--mdc-checkbox-unselected-icon-color: #cbd5e1;--mdc-checkbox-unselected-hover-icon-color: #94a3b8;--mdc-checkbox-unselected-focus-icon-color: #94a3b8;--mdc-form-field-label-text-color: var(--text-primary);--mdc-form-field-label-text-size: .875rem;--mdc-form-field-label-text-weight: 500}.mat-mdc-checkbox .mdc-checkbox__background{border-radius:5px!important;border-width:1.5px!important}.mat-mdc-checkbox label{cursor:pointer}.mat-mdc-radio-button{--mdc-radio-state-layer-size: 36px;--mdc-radio-selected-icon-color: var(--primary-600);--mdc-radio-selected-hover-icon-color: var(--primary-700);--mdc-radio-selected-focus-icon-color: var(--primary-700);--mdc-radio-unselected-icon-color: #cbd5e1;--mdc-radio-unselected-hover-icon-color: #94a3b8;--mdc-form-field-label-text-color: var(--text-primary);--mdc-form-field-label-text-size: .875rem;--mdc-form-field-label-text-weight: 500}.mat-mdc-radio-button label{cursor:pointer}.mat-mdc-radio-group{display:flex;flex-direction:column;gap:var(--sp-1)}.mat-mdc-radio-group.horizontal{flex-direction:row;gap:var(--sp-5);flex-wrap:wrap}.mat-mdc-slide-toggle{--mdc-switch-selected-track-color: var(--primary-600);--mdc-switch-selected-hover-track-color: var(--primary-700);--mdc-switch-selected-focus-track-color: var(--primary-700);--mdc-switch-selected-pressed-track-color: var(--primary-800);--mdc-switch-selected-handle-color: #ffffff;--mdc-switch-selected-hover-handle-color: #ffffff;--mdc-switch-selected-focus-handle-color: #ffffff;--mdc-switch-selected-pressed-handle-color: #ffffff;--mdc-switch-unselected-track-color: #e2e8f0;--mdc-switch-unselected-hover-track-color: #cbd5e1;--mdc-switch-unselected-handle-color: #ffffff;--mdc-switch-unselected-hover-handle-color: #ffffff;--mdc-switch-track-height: 24px;--mdc-switch-track-width: 44px;--mdc-switch-track-shape: 12px;--mdc-switch-handle-height: 18px;--mdc-switch-handle-width: 18px;--mdc-switch-handle-shape: 50%;--mdc-form-field-label-text-color: var(--text-primary);--mdc-form-field-label-text-size: .875rem;--mdc-form-field-label-text-weight: 500}.mat-mdc-slide-toggle label{cursor:pointer}.mat-button-toggle-group{border-radius:10px!important;border:1px solid var(--border)!important;overflow:hidden;background:#f1f5f9;padding:var(--sp-1);gap:var(--sp-1)}.mat-button-toggle-group .mat-button-toggle{border:0!important;background:transparent!important;border-radius:7px!important;transition:all .15s ease;font-weight:600!important}.mat-button-toggle-group .mat-button-toggle.mat-button-toggle-checked{background:#fff!important;box-shadow:var(--shadow-sm);color:var(--primary-700)!important}.mat-button-toggle-group .mat-button-toggle .mat-button-toggle-label-content{line-height:34px;padding:0 var(--sp-4)}.input-native{width:100%;height:48px;padding:0 var(--sp-4);font-size:.9375rem;font-family:inherit;font-weight:500;color:var(--text-primary);background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--r-md);outline:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.input-native::placeholder{color:var(--text-muted);font-weight:400}.input-native:hover{background:#fff;border-color:#cbd5e1}.input-native:focus{background:#fff;border-color:var(--primary-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-600) 14%,transparent)}.input-native:disabled{background:#f1f5f9;color:var(--text-muted);cursor:not-allowed;opacity:.65}.input-native.invalid{border-color:var(--danger)}.input-native.invalid:focus{box-shadow:0 0 0 3px #ef444429}textarea.input-native{height:auto;min-height:96px;padding:var(--sp-3) var(--sp-4);resize:vertical;line-height:1.55}select.input-native{appearance:none;padding-right:var(--sp-10);background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}.file-upload-zone,.upload-dropzone{border:2px dashed #cbd5e1;border-radius:var(--r-lg);padding:var(--sp-8) var(--sp-6);background:#f8fafc;text-align:center;transition:background .15s ease,border-color .15s ease}.file-upload-zone:hover,.file-upload-zone.dragover,.upload-dropzone:hover,.upload-dropzone.dragover{background:#f1f5f9;border-color:var(--primary-400)}.file-upload-zone .upload-icon,.file-upload-zone app-icon,.upload-dropzone .upload-icon,.upload-dropzone app-icon{font-size:36px!important;width:36px!important;height:36px!important;color:#94a3b8;margin-bottom:var(--sp-2)}.file-upload-zone .upload-hint,.file-upload-zone .upload-meta,.upload-dropzone .upload-hint,.upload-dropzone .upload-meta{margin-top:var(--sp-2);font-size:.75rem;color:var(--text-muted)}.user-form-card{background:#fff;border-radius:var(--r-xl);box-shadow:0 24px 60px -12px #0f172a4d,0 0 0 1px #0f172a0a;overflow:hidden;animation:userFormFadeIn .25s cubic-bezier(.22,1,.36,1)}@keyframes userFormFadeIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.user-form-icon{width:48px;height:48px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--primary-500),var(--primary-700));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px -6px #2563eb8c;flex-shrink:0}.user-form-icon .app-icon,.user-form-icon app-icon,.user-form-icon i{font-size:24px;width:24px;height:24px;color:#fff}.user-form-close-btn{width:36px;height:36px;border-radius:var(--r-md);background:#f1f5f9;color:#64748b;display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;transition:background .15s ease,color .15s ease}.user-form-close-btn:hover{background:#e2e8f0;color:#0f172a}.user-form-close-btn i,.user-form-close-btn app-icon,.user-form-close-btn .app-icon{font-size:16px}.user-form-section-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:0 0 var(--sp-3) 0}.user-form-label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:var(--sp-2)}.user-form-label .text-primary{color:var(--primary-600);font-weight:700;margin-left:var(--sp-1)}.user-form-input-wrap{position:relative;display:flex;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:var(--r-lg);transition:border-color .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),background .18s ease;min-height:42px}.user-form-input-wrap:hover:not(.is-disabled):not(:has(.user-form-input:disabled)){border-color:#cbd5e1}.user-form-input-wrap:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-600) 14%,transparent)}.user-form-input-wrap.is-invalid{border-color:#ef4444;background:#fef2f266}.user-form-input-wrap.is-invalid:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,#ef4444 18%,transparent)}.user-form-input-wrap.is-invalid .user-form-input-icon{color:#ef4444}.user-form-input-wrap.is-disabled,.user-form-input-wrap:has(.user-form-input:disabled){background:#f8fafc;border-color:#e2e8f0;opacity:.7;cursor:not-allowed}.user-form-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:16px;pointer-events:none;transition:color .15s ease;display:inline-flex;align-items:center;justify-content:center}.user-form-input-icon.app-icon,.user-form-input-iconapp-icon{width:18px;height:18px;font-size:18px}.user-form-input-wrap:focus-within .user-form-input-icon{color:var(--primary-600)}.user-form-input{width:100%;padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-10);background:transparent;border:0;outline:none;font-size:14px;font-family:inherit;color:#0f172a;line-height:1.4}.user-form-input::placeholder{color:#94a3b8}.user-form-input:disabled{color:#94a3b8;cursor:not-allowed}.user-form-input-wrap:not(:has(.user-form-input-icon)) .user-form-input{padding-left:var(--sp-3)}.user-form-select,select.user-form-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:var(--sp-10)}.user-form-select:invalid,.user-form-select option[disabled],select.user-form-input:invalid,select.user-form-input option[disabled]{color:#94a3b8}.user-form-select-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:14px;pointer-events:none;display:inline-flex}.user-form-input-toggle{position:absolute;right:0;top:0;bottom:0;width:40px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:#64748b;cursor:pointer;transition:color .15s ease}.user-form-input-toggle:hover{color:var(--primary-600)}.user-form-input-toggle i,.user-form-input-toggle app-icon,.user-form-input-toggle .app-icon{font-size:16px}textarea.user-form-input{resize:vertical;min-height:96px;padding:var(--sp-3) var(--sp-4);line-height:1.55;font-size:14px}.user-form-input-wrap:has(textarea.user-form-input){align-items:stretch;padding:0;min-height:0}.link-as-button{display:inline-flex;text-decoration:none;color:inherit}.link-as-button app-button{display:inline-flex}.form-section{display:block;margin-bottom:var(--sp-6)}.form-section+.form-section{padding-top:var(--sp-5);border-top:1px solid #f1f5f9}.form-section:last-child{margin-bottom:0}.form-section__title{margin:0 0 var(--sp-1);font-size:14px;font-weight:700;color:#0f172a;letter-spacing:-.005em;display:inline-flex;align-items:center;gap:var(--sp-2)}.form-section__title app-icon,.form-section__title .material-icons-outlined{color:var(--primary-600);font-size:18px;width:18px;height:18px}.form-section__hint{margin:0 0 var(--sp-3);font-size:13px;color:#64748b;line-height:1.45}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-bottom:var(--sp-4)}.form-row-2>*{margin-bottom:0}@media (max-width: 600px){.form-row-2{grid-template-columns:1fr}}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sp-4);margin-bottom:var(--sp-4)}.form-row-3>*{margin-bottom:0}@media (max-width: 800px){.form-row-3{grid-template-columns:1fr 1fr}}@media (max-width: 500px){.form-row-3{grid-template-columns:1fr}}.user-form-error{margin:var(--sp-2) 0 0 0;font-size:13px;font-weight:500;color:#b91c1c;display:flex;align-items:flex-start;gap:var(--sp-2);line-height:1.4;animation:user-form-error-in .2s cubic-bezier(.16,1,.3,1)}.user-form-error:before{content:"\26a0";font-size:14px;line-height:1.4;flex-shrink:0}@keyframes user-form-error-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.user-form-hint{margin:var(--sp-2) 0 0 0;font-size:13px;color:#64748b;line-height:1.4}.user-form-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);background:#fff;color:#475569;font-size:13px;font-weight:600;border:1px solid #e2e8f0;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;font-family:inherit}.user-form-btn-secondary:hover{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}.user-form-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.user-form-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-6);border-radius:var(--r-md);background:linear-gradient(135deg,var(--primary-500),var(--primary-700));color:#fff;font-size:13px;font-weight:600;border:0;cursor:pointer;box-shadow:0 6px 14px -4px color-mix(in srgb,var(--primary-600) 45%,transparent);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;font-family:inherit}.user-form-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px -4px #2563eb8c}.user-form-btn-primary:active:not(:disabled){transform:translateY(0)}.user-form-btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.user-form-uploader{border:2px dashed #cbd5e1;border-radius:var(--r-lg);padding:var(--sp-6);background:#f8fafc;text-align:center;transition:border-color .15s ease,background .15s ease}.user-form-uploader:hover{border-color:var(--primary-600);background:#2563eb0a}.user-form-uploader-btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);background:#fff;color:#334155;font-size:13px;font-weight:600;border:1px solid #e2e8f0;cursor:pointer;transition:all .15s ease;font-family:inherit}.user-form-uploader-btn:hover{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.user-form-uploader-btn i,.user-form-uploader-btn app-icon,.user-form-uploader-btn .app-icon{font-size:14px}.user-form-image-tile{position:relative;width:96px;height:96px;border-radius:var(--r-lg);overflow:hidden;border:1px solid #e2e8f0;background:#fff;flex-shrink:0}.user-form-image-tile img{width:100%;height:100%;object-fit:cover}.user-form-image-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#dc2626f2;color:#fff;border:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #00000026;transition:transform .15s ease}.user-form-image-remove:hover{transform:scale(1.1)}.user-form-image-remove i,.user-form-image-remove app-icon,.user-form-image-remove .app-icon{font-size:12px}.user-form-editor-wrap{border:1px solid #e2e8f0;border-radius:var(--r-md);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.user-form-editor-wrap.is-invalid{border-color:#dc2626}.text-primary{color:var(--primary-600)!important}.filters-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4);background:#fff;border:1px solid #e2e8f0;border-radius:var(--r-lg);box-shadow:inset 0 1px #ffffffd9,0 4px 12px -8px #0f172a14}.filters-toolbar>.user-form-input-wrap{flex:0 1 auto;min-width:200px}.filters-toolbar>.user-form-input-wrap.search,.filters-toolbar>.user-form-input-wrap:first-child{flex:1 1 240px;max-width:360px}@media (max-width: 640px){.filters-toolbar{padding:var(--sp-3);gap:var(--sp-2)}.filters-toolbar>.user-form-input-wrap{flex:1 1 100%!important;max-width:none!important}}.filters-toolbar:has(>app-list-view-toggle:only-child){background:transparent;border:none;box-shadow:none;padding:0;margin-bottom:var(--sp-2);justify-content:flex-end}mat-card.filters-card,.mat-mdc-card.filters-card{padding:12px 14px!important;margin-bottom:16px!important;border-radius:12px!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important}mat-card.filters-card>.user-form-input-wrap,.mat-mdc-card.filters-card>.user-form-input-wrap{flex:0 1 auto;min-width:200px}mat-card.filters-card>.user-form-input-wrap:first-child,.mat-mdc-card.filters-card>.user-form-input-wrap:first-child{flex:1 1 240px;max-width:360px}mat-card.filters-card .mat-mdc-card-content,mat-card.filters-card mat-card-content,.mat-mdc-card.filters-card .mat-mdc-card-content,.mat-mdc-card.filters-card mat-card-content{padding:0!important;display:contents}.mat-mdc-card{border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)!important;background:var(--bg-surface)!important}.mat-mdc-raised-button,.mat-mdc-unelevated-button,.mat-mdc-outlined-button,.mat-mdc-button{--mdc-filled-button-container-shape: 10px;--mdc-outlined-button-container-shape: 10px;--mat-text-button-container-shape: 10px;letter-spacing:0!important;font-weight:600!important;min-height:40px!important}.mat-mdc-raised-button.mat-primary,.mat-mdc-unelevated-button.mat-primary{box-shadow:var(--shadow-sm)!important}.mat-mdc-raised-button.mat-primary:hover,.mat-mdc-unelevated-button.mat-primary:hover{box-shadow:var(--shadow-primary)!important}.app-icon,.material-icons,.material-icons-outlined,.material-symbols-outlined{font-family:Material Symbols Outlined,Material Icons Outlined,Material Icons!important;font-weight:400!important;font-style:normal!important;text-transform:none!important;letter-spacing:normal!important;word-wrap:normal!important;white-space:nowrap!important;direction:ltr!important;display:inline-block;line-height:1;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.app-icon.icon-filled,.material-symbols-outlined.icon-filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.app-icon.icon-bold{font-variation-settings:"FILL" 0,"wght" 600,"GRAD" 0,"opsz" 24}.app-icon.icon-thin{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24}.mat-mdc-menu-item .app-icon,.mat-mdc-icon-button .app-icon{color:var(--slate-500);transition:color var(--transition-fast)}.mat-mdc-icon-button:hover:not(:disabled) .app-icon{color:var(--primary-600)}.mat-mdc-menu-item:hover .app-icon{color:var(--primary-600)}.mat-mdc-menu-item .app-icon[color=warn],.mat-mdc-icon-button .app-icon[color=warn]{color:var(--danger)}.mat-mdc-card .empty,.table-card .empty{text-align:center;padding:var(--sp-16) var(--sp-4);color:var(--text-secondary)}.mat-mdc-card .empty>app-icon,.mat-mdc-card .empty>.app-icon,.table-card .empty>app-icon,.table-card .empty>.app-icon{font-size:56px!important;width:56px!important;height:56px!important;line-height:56px!important;color:var(--slate-400);margin-bottom:var(--sp-2);font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 48!important}.mat-mdc-card .empty h3,.table-card .empty h3{margin:var(--sp-3) 0 var(--sp-1);font-weight:600;color:var(--text-primary);font-size:1rem}.mat-mdc-card .empty p,.table-card .empty p{margin:0;font-size:.875rem}.mat-mdc-menu-panel{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border);max-width:95vw!important}.mat-mdc-snack-bar-container{--mdc-snackbar-container-shape: 10px}.mat-mdc-chip{border-radius:var(--radius-full)!important;font-weight:600!important;font-size:.75rem!important;letter-spacing:.01em;min-height:24px!important;padding:0 10px!important}.mat-mdc-chip .mdc-evolution-chip__text-label{font-size:.75rem!important;font-weight:600!important}.mat-mdc-cell .mat-mdc-chip,.mat-mdc-cell .status-chip{min-height:22px!important;height:22px!important;padding:0 10px!important;font-size:.6875rem!important}.mat-mdc-cell.row-actions,.mat-mdc-cell.actions-cell,td.mat-mdc-cell:has(>.mat-mdc-icon-button+.mat-mdc-icon-button),td.mat-mdc-cell:has(>a.mat-mdc-icon-button){white-space:nowrap;text-align:right}.mat-mdc-cell code,.mat-mdc-cell .folio,.mat-mdc-cell .code-cell{font-family:SF Mono,Menlo,JetBrains Mono,monospace;background:var(--slate-100);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);font-size:.75rem;color:var(--slate-700);font-weight:600}.mat-mdc-tab .mdc-tab__text-label{font-weight:600!important;letter-spacing:0!important}.mat-mdc-dialog-container{--mdc-dialog-container-shape: 18px;animation:modalFadeUp .35s cubic-bezier(.16,1,.3,1) both}.mat-mdc-dialog-surface{box-shadow:0 32px 80px -20px #0f172a59,0 12px 24px -12px #0f172a2e!important;border:1px solid rgba(15,23,42,.06)!important}.mat-mdc-dialog-title{letter-spacing:-.01em!important}@media print{@page{size:A4;margin:1.5cm}html,body{background:#fff!important;color:#000!important;font-size:12pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sidebar,mat-sidenav,.topbar,.mat-drawer-backdrop,.no-print,button[app-icon-button],mat-snack-bar-container{display:none!important}mat-sidenav-container,mat-sidenav-content,.mat-drawer-container,.mat-drawer-content,.shell,.main{display:block!important;margin:0!important;padding:0!important;width:100%!important;height:auto!important;overflow:visible!important;background:#fff!important}.content{padding:0!important;margin:0!important;overflow:visible!important}.print-only{display:block!important}.panel,.vital,.rx-item,.signature{break-inside:avoid;page-break-inside:avoid}a{color:#000!important;text-decoration:none!important}}.shell .sidebar,mat-sidenav.sidebar{background:linear-gradient(180deg,#0b1220,#111a2e 60%,#0f172a)!important;border-right:1px solid rgba(148,163,184,.08)!important;box-shadow:inset 0 80px 120px -60px #3b82f640,inset -1px 0 #ffffff0a,0 0 40px #0f172a2e!important;transition:width .24s cubic-bezier(.4,0,.2,1)!important}.shell .sidebar.collapsed{width:var(--sidebar-collapsed-width)!important}.shell .sidebar.collapsed .brand{padding:20px 16px 24px!important;justify-content:center!important;border-bottom-color:#94a3b81a}.shell .sidebar.collapsed .brand-text{display:none!important}.shell .sidebar.collapsed .nav{padding:16px 8px!important;gap:16px!important}.shell .sidebar.collapsed .nav-label{display:none!important}.shell .sidebar.collapsed .nav-item{justify-content:center!important;padding:10px!important;gap:0!important}.shell .sidebar.collapsed .nav-item>span{display:none!important}.shell .sidebar.collapsed .nav-item.active:before{left:50%!important;top:auto!important;bottom:-4px!important;transform:translate(-50%)!important;width:20px!important;height:3px!important;border-radius:3px 3px 0 0!important}.shell .sidebar.collapsed .sidebar-footer{padding:12px 8px!important}.shell .sidebar.collapsed .user-chip{padding:6px!important;justify-content:center!important}.shell .sidebar.collapsed .user-chip .user-info-mini,.shell .sidebar.collapsed .user-chip .more{display:none!important}.shell .sidebar.collapsed .user-chip ::ng-deep .mdc-button__label{justify-content:center!important}.shell:has(.sidebar.mat-drawer-side.mat-drawer-opened) .mat-drawer-content,.shell:has(.sidebar.mat-drawer-side.mat-drawer-opened) mat-sidenav-content{margin-left:var(--sidebar-width)!important;transition:margin-left .24s cubic-bezier(.4,0,.2,1)!important}.shell:has(.sidebar.mat-drawer-side.mat-drawer-opened.collapsed) .mat-drawer-content,.shell:has(.sidebar.mat-drawer-side.mat-drawer-opened.collapsed) mat-sidenav-content{margin-left:var(--sidebar-collapsed-width)!important}.shell:has(.sidebar.mat-drawer-over) .mat-drawer-content,.shell:has(.sidebar.mat-drawer-over) mat-sidenav-content{margin-left:0!important}.shell .nav-item{position:relative;transition:background .18s var(--ease-out),color .18s var(--ease-out)!important}.shell .nav-item:hover{background:#94a3b81a!important}.shell .nav-item.active{background:linear-gradient(135deg,#3b82f638,#2563eb1a)!important;box-shadow:inset 0 1px #ffffff0f,inset 0 0 0 1px #60a5fa47!important;color:#fff!important}.shell .topbar{background:#fffffff5!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:1px solid rgba(15,23,42,.08)!important;box-shadow:0 1px #ffffffe6 inset,0 1px #0f172a0a!important}.shell .topbar .search{background:#f8fafcd9!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:none!important}.shell .topbar .search:focus-within{background:#fff!important;border-color:#60a5fa80!important;box-shadow:0 0 0 3px #2563eb1f!important}.mat-mdc-card{background:#fff!important;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(15,23,42,.06)!important;border-radius:var(--radius-lg)!important;box-shadow:0 1px 2px #0f172a0a,0 8px 24px -16px #0f172a1a!important;transition:box-shadow .24s var(--ease-out),transform .24s var(--ease-spring)}.mat-mdc-card.hover-lift:hover,.mat-mdc-card.app-card:hover,a.mat-mdc-card:hover,button.mat-mdc-card:hover{transform:translateY(-2px);box-shadow:0 1px 2px #0f172a0a,0 18px 40px -18px #2563eb38!important;border-color:#60a5fa4d!important}.mat-mdc-card.glass-card,.glass-surface{background:#ffffffd9!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid rgba(255,255,255,.7)!important;box-shadow:inset 0 1px #ffffffd9,inset 0 0 0 1px #0f172a0a,0 12px 32px -16px #0f172a2e!important}.filters-card{background:#ffffffeb!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:inset 0 1px #ffffffd9,0 4px 12px -8px #0f172a14!important}.mat-mdc-menu-panel,.mat-mdc-autocomplete-panel,.mat-mdc-select-panel{background:#ffffffd9!important;backdrop-filter:blur(24px) saturate(180%)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important;border:1px solid rgba(15,23,42,.06)!important;border-radius:var(--radius-lg)!important;box-shadow:inset 0 1px #ffffffe6,0 24px 50px -16px #0f172a47,0 8px 20px -8px #0f172a24!important}.mat-mdc-menu-content{padding:6px!important}.mat-mdc-menu-item{border-radius:10px!important;margin:2px 0!important;transition:background .14s var(--ease-out)!important}.mat-mdc-menu-item:hover:not(:disabled){background:color-mix(in srgb,var(--primary-600) 8%,transparent)!important}.mat-mdc-dialog-surface,.cdk-dialog-container .mat-mdc-dialog-surface{background:#ffffffeb!important;backdrop-filter:blur(28px) saturate(170%)!important;-webkit-backdrop-filter:blur(28px) saturate(170%)!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:22px!important;box-shadow:inset 0 1px #fffffff2,0 40px 90px -20px #0f172a66,0 14px 32px -12px #0f172a33!important}.cdk-overlay-container{z-index:1200!important}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{background:#0f172a73!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body:has(.cdk-overlay-backdrop-showing){overflow:hidden}body:has(.cdk-overlay-backdrop-showing) .shell{filter:blur(4px);transition:filter .15s ease;pointer-events:none}.mat-mdc-tab-header{background:transparent!important;border-bottom:1px solid rgba(15,23,42,.06)!important;border-radius:0!important;padding:0!important;box-shadow:none!important}.mat-mdc-tab .mdc-tab__text-label{transition:color .2s var(--ease-out);color:var(--text-secondary)!important}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--primary-700)!important}.mdc-tab-indicator__content--underline{border-radius:var(--r-sm);border-color:var(--primary-600)!important;border-top-width:3px!important;box-shadow:0 4px 10px #2563eb59}.mat-mdc-snack-bar-container .mdc-snackbar__surface{background:#0f172ad9!important;backdrop-filter:blur(18px) saturate(170%)!important;-webkit-backdrop-filter:blur(18px) saturate(170%)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important;box-shadow:inset 0 1px #ffffff26,0 24px 60px -20px #0f172a8c!important;color:#fff!important}.mat-mdc-snack-bar-container .mdc-snackbar__label{color:#fff!important}.mdc-tooltip__surface,.mat-mdc-tooltip .mdc-tooltip__surface{background:#0f172ae0!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:8px!important;font-size:.75rem!important;font-weight:500!important;padding:6px 10px!important;box-shadow:0 8px 20px -8px #0f172a66!important}.mat-mdc-outlined-button:not(:disabled),.mat-mdc-stroked-button:not(:disabled){background:#fff!important;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(15,23,42,.1)!important;box-shadow:inset 0 1px #ffffffd9,0 1px 2px #0f172a0a!important;transition:background .16s var(--ease-out),transform .16s var(--ease-out),box-shadow .16s var(--ease-out),border-color .16s var(--ease-out)!important}.mat-mdc-outlined-button:not(:disabled):hover,.mat-mdc-stroked-button:not(:disabled):hover{background:#fff!important;transform:translateY(-1px);border-color:#60a5fa80!important;box-shadow:inset 0 1px #fffffff2,0 8px 16px -8px #2563eb38!important;color:var(--primary-700)!important}.mat-mdc-raised-button.mat-primary,.mat-mdc-unelevated-button.mat-primary,.mat-mdc-flat-button.mat-primary{background:linear-gradient(135deg,#3b82f6,#2563eb 60%,#1d4ed8)!important;color:#fff!important;border:0!important;box-shadow:inset 0 1px #ffffff40,0 10px 24px -10px #2563eb80,0 4px 10px -4px #2563eb59!important;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),filter .18s var(--ease-out)!important}.mat-mdc-raised-button.mat-primary:hover:not(:disabled),.mat-mdc-unelevated-button.mat-primary:hover:not(:disabled),.mat-mdc-flat-button.mat-primary:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.05);box-shadow:inset 0 1px #ffffff4d,0 16px 32px -10px #2563eb99,0 6px 14px -4px color-mix(in srgb,var(--primary-600) 45%,transparent)!important}::-webkit-scrollbar-thumb{background:#94a3b873!important;border:2px solid transparent!important;background-clip:padding-box!important}::-webkit-scrollbar-thumb:hover{background:#64748ba6!important;background-clip:padding-box!important}::selection{background:#60a5fa47;color:var(--primary-900)}@media (prefers-reduced-motion: reduce){.mat-mdc-row,.mat-mdc-card,.mat-mdc-menu-panel,.mat-mdc-paginator,.mat-mdc-dialog-surface,.filters-card,.shell .topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}@media (max-width: 1024px){.content{padding:20px!important}.page-header,.page-header.with-back{gap:12px!important;margin-bottom:18px!important}.page-header h1,.page-header.with-back h1{font-size:1.5rem!important}.page-header .subtitle,.page-header.with-back .subtitle{font-size:.875rem!important}.kpi-grid,.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:14px!important}.filters-row,.filters-card .filters-row{flex-wrap:wrap!important;gap:12px!important}.filters-row>*,.filters-card .filters-row>*{flex:1 1 calc(50% - 6px)!important;min-width:0!important}.mat-mdc-dialog-surface{max-width:92vw!important}}@media (max-width: 640px){.content{padding:14px!important}.page-header,.page-header.with-back{flex-direction:column!important;align-items:stretch!important;gap:12px!important;margin-bottom:16px!important}.page-header>div:first-child,.page-header.with-back>div:first-child{width:100%}.page-header h1,.page-header.with-back h1{font-size:1.375rem!important;line-height:1.2}.page-header .subtitle,.page-header.with-back .subtitle{font-size:.8125rem!important}.page-header .actions,.page-header .header-actions,.header-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%}.page-header .actions>a,.page-header .actions>button,.page-header .header-actions>a,.page-header .header-actions>button,.header-actions>a,.header-actions>button{flex:1 1 calc(50% - 4px)!important;min-width:0;justify-content:center!important}.page-header .actions>a.mat-mdc-unelevated-button,.page-header .actions>a.mat-mdc-flat-button,.page-header .actions>a.mat-mdc-raised-button,.page-header .actions>button.mat-mdc-unelevated-button,.page-header .actions>button.mat-mdc-flat-button,.page-header .actions>button.mat-mdc-raised-button,.page-header .header-actions>a.mat-mdc-unelevated-button,.page-header .header-actions>a.mat-mdc-flat-button,.page-header .header-actions>a.mat-mdc-raised-button,.page-header .header-actions>button.mat-mdc-unelevated-button,.page-header .header-actions>button.mat-mdc-flat-button,.page-header .header-actions>button.mat-mdc-raised-button,.header-actions>a.mat-mdc-unelevated-button,.header-actions>a.mat-mdc-flat-button,.header-actions>a.mat-mdc-raised-button,.header-actions>button.mat-mdc-unelevated-button,.header-actions>button.mat-mdc-flat-button,.header-actions>button.mat-mdc-raised-button{flex:1 1 100%!important;order:-1}.kpi-grid,.stats-grid{grid-template-columns:1fr!important;gap:12px!important}.kpi-card,.stats-grid>*{padding:16px!important}.kpi-card .kpi-value,.stats-grid>* .kpi-value{font-size:1.5rem!important}.kpi-card .kpi-label,.stats-grid>* .kpi-label{font-size:.75rem!important}.filters-row>mat-form-field,.filters-row .filters-row>mat-form-field,.filters-card .filters-row>mat-form-field,.filters-card .filters-row .filters-row>mat-form-field,.filters-card>mat-form-field{min-width:100%!important;flex:1 1 100%!important}.filters-card{padding:14px!important}.mat-mdc-card{padding:14px!important;border-radius:12px!important}.shell .topbar{padding:0 14px!important;gap:8px!important}.shell .topbar .search{display:none!important}.shell .topbar .topbar-actions{gap:0!important}.shell .topbar .user-chip.compact .user-name{display:none!important}.shell .topbar .user-chip.compact{padding:4px!important;border:0!important}.shell .topbar .kbd{display:none!important}.mat-mdc-paginator{padding:8px 10px!important;margin-top:8px!important}.mat-mdc-paginator .mat-mdc-paginator-container{flex-direction:column!important;align-items:stretch!important;gap:8px!important;min-height:auto!important}.mat-mdc-paginator .mat-mdc-paginator-page-size{justify-content:space-between!important;margin:0!important}.mat-mdc-paginator .mat-mdc-paginator-range-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%}.mat-mdc-paginator .mat-mdc-paginator-range-label{margin:0!important}.mat-mdc-dialog-surface{max-width:100vw!important;width:100vw!important;border-radius:16px 16px 0 0!important;margin:auto 0 0!important;max-height:92vh!important}.cdk-overlay-pane:has(.mat-mdc-dialog-container){max-width:100vw!important;width:100vw!important;align-items:flex-end!important}.info-grid,.detail-grid,.two-col,.grid-2,.grid-3{grid-template-columns:1fr!important;gap:12px!important}.mat-mdc-tab-header{overflow-x:auto!important}.mat-mdc-tab-header .mat-mdc-tab-label-container{overflow:visible!important}h1{font-size:1.5rem!important}h2{font-size:1.125rem!important}h3{font-size:.9375rem!important}}@media (max-width: 1024px) and (pointer: coarse){.mat-mdc-icon-button{min-width:44px!important;min-height:44px!important}.mat-mdc-row:hover,.mat-mdc-card.hover-lift:hover,.mat-mdc-card.app-card:hover{transform:none!important}}.kpi-grid,.stats-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:12px!important}@media (max-width: 540px){.kpi-grid,.stats-grid{grid-template-columns:1fr!important}}.kpi-card,.stat-card,.mat-mdc-card.stat-card,.mat-mdc-card.kpi-card{position:relative!important;background:#fff!important;border:1px solid rgba(15,23,42,.05)!important;border-radius:14px!important;padding:14px 16px!important;overflow:hidden!important;isolation:isolate!important;box-shadow:0 1px 2px #0f172a0a,0 4px 12px -8px #0f172a14!important;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)!important;display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:auto auto!important;grid-template-areas:"icon value" "icon label"!important;align-items:center!important;column-gap:12px!important;row-gap:0!important;min-height:78px}.kpi-card:before,.stat-card:before,.mat-mdc-card.stat-card:before,.mat-mdc-card.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--kpi-accent, #3b82f6) 0%,transparent 70%);opacity:.6;z-index:1}.kpi-card:after,.stat-card:after,.mat-mdc-card.stat-card:after,.mat-mdc-card.kpi-card:after{content:"";position:absolute;top:-20px;right:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--kpi-accent, #3b82f6) 0%,transparent 70%);opacity:.04;pointer-events:none;z-index:0}.kpi-card:has(.kpi-icon.primary),.kpi-card:has(.stat-icon.primary),.stat-card:has(.kpi-icon.primary),.stat-card:has(.stat-icon.primary),.mat-mdc-card.stat-card:has(.kpi-icon.primary),.mat-mdc-card.stat-card:has(.stat-icon.primary),.mat-mdc-card.kpi-card:has(.kpi-icon.primary),.mat-mdc-card.kpi-card:has(.stat-icon.primary){--kpi-accent: #3b82f6}.kpi-card:has(.kpi-icon.success),.kpi-card:has(.stat-icon.success),.stat-card:has(.kpi-icon.success),.stat-card:has(.stat-icon.success),.mat-mdc-card.stat-card:has(.kpi-icon.success),.mat-mdc-card.stat-card:has(.stat-icon.success),.mat-mdc-card.kpi-card:has(.kpi-icon.success),.mat-mdc-card.kpi-card:has(.stat-icon.success){--kpi-accent: #10b981}.kpi-card:has(.kpi-icon.warning),.kpi-card:has(.stat-icon.warning),.stat-card:has(.kpi-icon.warning),.stat-card:has(.stat-icon.warning),.mat-mdc-card.stat-card:has(.kpi-icon.warning),.mat-mdc-card.stat-card:has(.stat-icon.warning),.mat-mdc-card.kpi-card:has(.kpi-icon.warning),.mat-mdc-card.kpi-card:has(.stat-icon.warning){--kpi-accent: #f59e0b}.kpi-card:has(.kpi-icon.danger),.kpi-card:has(.stat-icon.danger),.stat-card:has(.kpi-icon.danger),.stat-card:has(.stat-icon.danger),.mat-mdc-card.stat-card:has(.kpi-icon.danger),.mat-mdc-card.stat-card:has(.stat-icon.danger),.mat-mdc-card.kpi-card:has(.kpi-icon.danger),.mat-mdc-card.kpi-card:has(.stat-icon.danger){--kpi-accent: #ef4444}.kpi-card:has(.kpi-icon.accent),.kpi-card:has(.stat-icon.accent),.stat-card:has(.kpi-icon.accent),.stat-card:has(.stat-icon.accent),.mat-mdc-card.stat-card:has(.kpi-icon.accent),.mat-mdc-card.stat-card:has(.stat-icon.accent),.mat-mdc-card.kpi-card:has(.kpi-icon.accent),.mat-mdc-card.kpi-card:has(.stat-icon.accent){--kpi-accent: #8b5cf6}.kpi-card:has(.kpi-icon.info),.kpi-card:has(.stat-icon.info),.stat-card:has(.kpi-icon.info),.stat-card:has(.stat-icon.info),.mat-mdc-card.stat-card:has(.kpi-icon.info),.mat-mdc-card.stat-card:has(.stat-icon.info),.mat-mdc-card.kpi-card:has(.kpi-icon.info),.mat-mdc-card.kpi-card:has(.stat-icon.info){--kpi-accent: #06b6d4}.kpi-card:hover,.stat-card:hover,.mat-mdc-card.stat-card:hover,.mat-mdc-card.kpi-card:hover{transform:translateY(-2px);border-color:#60a5fa4d!important;box-shadow:0 1px 2px #0f172a0a,0 14px 28px -14px #2563eb2e!important}.kpi-card:hover:after,.stat-card:hover:after,.mat-mdc-card.stat-card:hover:after,.mat-mdc-card.kpi-card:hover:after{opacity:.07}.kpi-card>.kpi-head,.kpi-card>.kpi-icon:first-child,.stat-card>.stat-icon:first-child{grid-area:icon!important;margin:0!important;align-self:center!important}.kpi-card>.kpi-value,.stat-card>.stat-value{grid-area:value!important;margin:0!important;align-self:end!important}.kpi-card>.kpi-label,.stat-card>.stat-label{grid-area:label!important;margin:0!important;align-self:start!important}.stat-card>div:not(.stat-icon):not(.stat-trend){grid-area:value/value/label/label!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:0!important;min-width:0!important}.kpi-trend,.stat-trend{position:absolute!important;top:10px!important;right:12px!important;z-index:3;display:inline-flex!important;align-items:center!important;gap:3px!important;padding:3px 8px!important;border-radius:var(--radius-full)!important;font-size:.625rem!important;font-weight:700!important;letter-spacing:.02em}.kpi-trend app-icon,.kpi-trend .app-icon,.stat-trend app-icon,.stat-trend .app-icon{font-size:12px!important;width:12px!important;height:12px!important;line-height:12px!important}.kpi-trend.up,.kpi-trend.positive,.stat-trend.up,.stat-trend.positive{background:var(--success-bg)!important;color:#047857!important}.kpi-trend.down,.kpi-trend.negative,.stat-trend.down,.stat-trend.negative{background:var(--danger-bg)!important;color:#b91c1c!important}.kpi-trend.neutral,.stat-trend.neutral{background:var(--slate-100)!important;color:var(--slate-600)!important}.kpi-card>.kpi-head{display:contents!important}.kpi-icon,.stat-icon{position:relative;z-index:2;width:38px!important;height:38px!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0;background:linear-gradient(135deg,#3b82f6,#2563eb)!important;box-shadow:inset 0 1px #ffffff40,0 6px 12px -6px #3b82f680!important}.kpi-icon:before,.stat-icon:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent 60%);pointer-events:none}.kpi-icon app-icon,.kpi-icon .app-icon,.stat-icon app-icon,.stat-icon .app-icon{color:#fff!important;font-size:18px!important;width:18px!important;height:18px!important;line-height:18px!important;z-index:1;position:relative}.kpi-icon.primary,.stat-icon.primary{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;box-shadow:inset 0 1px #ffffff40,0 6px 12px -6px #3b82f680!important}.kpi-icon.success,.stat-icon.success{background:linear-gradient(135deg,#34d399,#059669)!important;box-shadow:inset 0 1px #ffffff40,0 6px 12px -6px #10b98180!important}.kpi-icon.warning,.stat-icon.warning{background:linear-gradient(135deg,#fbbf24,#d97706)!important;box-shadow:inset 0 1px #ffffff4d,0 6px 12px -6px #f59e0b80!important}.kpi-icon.danger,.stat-icon.danger{background:linear-gradient(135deg,#f87171,#dc2626)!important;box-shadow:inset 0 1px #ffffff40,0 6px 12px -6px #ef444480!important}.kpi-icon.accent,.stat-icon.accent{background:linear-gradient(135deg,#a78bfa,#7c3aed)!important;box-shadow:inset 0 1px #ffffff40,0 6px 12px -6px #8b5cf680!important}.kpi-icon.info,.stat-icon.info{background:linear-gradient(135deg,#22d3ee,#0891b2)!important;box-shadow:inset 0 1px #ffffff40,0 6px 12px -6px #06b6d480!important}.kpi-value,.stat-value{font-family:SF Mono,Menlo,JetBrains Mono,Consolas,ui-monospace,monospace!important;font-size:1.5rem!important;font-weight:600!important;letter-spacing:-.02em!important;line-height:1.1!important;color:var(--text-primary)!important;font-variant-numeric:tabular-nums!important;position:relative;z-index:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-label,.stat-label{font-size:.75rem!important;color:var(--text-secondary)!important;font-weight:500!important;position:relative;z-index:2;letter-spacing:0;line-height:1.3!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-card.kpi-hero,.stat-card.stat-hero{background:linear-gradient(135deg,#2563eb,#1e40af)!important;color:#fff!important}.kpi-card.kpi-hero:before,.stat-card.stat-hero:before{background:#fff3;height:3px;opacity:1}.kpi-card.kpi-hero .kpi-value,.kpi-card.kpi-hero .stat-value,.stat-card.stat-hero .kpi-value,.stat-card.stat-hero .stat-value{color:#fff!important}.kpi-card.kpi-hero .kpi-label,.kpi-card.kpi-hero .stat-label,.stat-card.stat-hero .kpi-label,.stat-card.stat-hero .stat-label{color:#ffffffd9!important}.kpi-card.kpi-hero .kpi-icon,.kpi-card.kpi-hero .stat-icon,.stat-card.stat-hero .kpi-icon,.stat-card.stat-hero .stat-icon{background:#ffffff2e!important;box-shadow:inset 0 1px #ffffff4d!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (max-width: 640px){.kpi-card,.stat-card{padding:12px 14px!important;column-gap:10px!important;min-height:70px}.kpi-value,.stat-value{font-size:1.375rem!important}.kpi-label,.stat-label{font-size:.6875rem!important}.kpi-icon,.stat-icon{width:34px!important;height:34px!important}.kpi-icon app-icon,.kpi-icon .app-icon,.stat-icon app-icon,.stat-icon .app-icon{font-size:16px!important;width:16px!important;height:16px!important;line-height:16px!important}}@media (max-width: 1024px) and (pointer: coarse){.kpi-card:hover,.stat-card:hover{transform:none!important}}.page-shell{padding:var(--sp-6);max-width:1400px;margin:0 auto}@media (max-width: 640px){.page-shell{padding:var(--sp-4)}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}@media (max-width: 640px){.kpi-grid{grid-template-columns:1fr 1fr;gap:var(--sp-3)}}@media (max-width: 480px){.kpi-grid{grid-template-columns:1fr}}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-bottom:var(--sp-4)}@media (max-width: 900px){.section-grid{grid-template-columns:1fr}}.section-grid>.span-2{grid-column:span 2}@media (max-width: 900px){.section-grid>.span-2{grid-column:span 1}}.section-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-bottom:var(--sp-4)}@media (max-width: 1024px){.section-grid-3{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.section-grid-3{grid-template-columns:1fr}}@keyframes uiFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.kpi-grid>*,.section-grid>*,.section-grid-3>*{animation:uiFadeUp .4s cubic-bezier(.16,1,.3,1) both}.kpi-grid>*:nth-child(2),.section-grid>*:nth-child(2),.section-grid-3>*:nth-child(2){animation-delay:.04s}.kpi-grid>*:nth-child(3),.section-grid>*:nth-child(3),.section-grid-3>*:nth-child(3){animation-delay:.08s}.kpi-grid>*:nth-child(4),.section-grid>*:nth-child(4),.section-grid-3>*:nth-child(4){animation-delay:.12s}.kpi-grid>*:nth-child(5),.section-grid>*:nth-child(5),.section-grid-3>*:nth-child(5){animation-delay:.16s}.kpi-grid>*:nth-child(6),.section-grid>*:nth-child(6),.section-grid-3>*:nth-child(6){animation-delay:.2s}.kpi-grid>*:nth-child(n+7),.section-grid>*:nth-child(n+7),.section-grid-3>*:nth-child(n+7){animation-delay:.24s}@media (prefers-reduced-motion: reduce){.kpi-grid>*,.section-grid>*,.section-grid-3>*{animation:none!important}}@keyframes uiSkeleton{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,#f1f5f9b3,#e2e8f0e6,#f1f5f9b3);background-size:200px 100%;background-repeat:no-repeat;border-radius:var(--r-md);animation:uiSkeleton 1.4s ease-in-out infinite;display:inline-block}.skeleton-line{height:14px;width:100%}.skeleton-line.lg{height:24px}.skeleton-line.sm{height:10px}.skeleton-line.w-50{width:50%}.skeleton-line.w-70{width:70%}.skeleton-line.w-30{width:30%}.skeleton-card{width:100%;height:110px;border-radius:var(--radius-lg, 14px)}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;opacity:.6}}.app-autocomplete-panel{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-1);max-height:280px;overflow-y:auto;box-shadow:0 12px 28px -8px #0f172a2e,0 2px 6px #0f172a14;font-family:Inter,Roboto,sans-serif;font-size:13px;animation:autocompleteFadeIn .12s ease-out}@keyframes autocompleteFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.app-autocomplete-panel{animation:none}}.app-autocomplete-option{display:block;width:100%;padding:var(--sp-2) var(--sp-3);border:0;background:transparent;color:var(--text-primary);font-family:inherit;font-size:13px;text-align:left;border-radius:var(--r-sm);cursor:pointer;transition:background .12s ease}.app-autocomplete-option:hover,.app-autocomplete-option:focus-visible{background:var(--slate-50);outline:none}.app-autocomplete-option[aria-selected=true]{background:var(--primary-50);color:var(--primary-700)}.app-autocomplete-empty{padding:var(--sp-4) var(--sp-3);font-size:12px;color:var(--text-muted);text-align:center}.app-dialog-backdrop{animation:dialogFadeIn .15s ease-out}.app-dialog-panel{border-radius:var(--r-lg);box-shadow:0 24px 48px -12px #0f172a4d,0 0 0 1px #0f172a0a;animation:dialogScaleIn .18s cubic-bezier(.22,1,.36,1);background:#fff;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.app-dialog-panel .cdk-dialog-container,.app-dialog-panel>*{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:90vh;background:transparent}.app-dialog-panel .cdk-dialog-container>*{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:90vh;width:100%}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogScaleIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.app-dialog-backdrop,.app-dialog-panel{animation:none}}.app-menu-panel{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2);min-width:180px;max-width:280px;box-shadow:0 12px 28px -8px #0f172a2e,0 2px 6px #0f172a14;font-family:Inter,Roboto,sans-serif;font-size:13px;animation:menuFadeIn .12s cubic-bezier(.22,1,.36,1)}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.app-menu-panel{animation:none}}.app-menu-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border:0;background:transparent;color:var(--text-primary);font-family:inherit;font-size:13px;font-weight:500;text-align:left;border-radius:var(--r-sm);cursor:pointer;transition:background .12s ease,color .12s ease}.app-menu-item:hover:not(.is-disabled){background:var(--slate-50)}.app-menu-item.is-disabled{color:var(--text-muted);cursor:not-allowed}.app-menu-item:focus-visible{outline:2px solid var(--primary-400);outline-offset:-2px}.app-menu-item .app-icon,.app-menu-item app-icon{color:var(--text-secondary);flex-shrink:0}.app-menu-item.is-disabled app-icon{color:var(--text-muted)}.app-menu-item.is-danger{color:var(--danger)}.app-menu-item.is-danger app-icon,.app-menu-item.is-danger .app-icon{color:var(--danger)}.app-menu-item.is-danger:hover:not(.is-disabled){background:var(--danger-bg)}.app-menu-item.is-danger:focus-visible{outline-color:var(--danger)}.app-menu-divider{border:0;height:1px;background:var(--slate-100);margin:var(--sp-1) 0}.dash-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-5)}.dash-grid>*{grid-column:span 12;min-width:0}.dash-grid>.span-4{grid-column:span 4}.dash-grid>.span-6{grid-column:span 6}.dash-grid>.span-8{grid-column:span 8}.dash-grid>.span-12{grid-column:span 12}@media (max-width: 1024px){.dash-grid>.span-4,.dash-grid>.span-6,.dash-grid>.span-8{grid-column:span 12}}.app-table{--row-height: 56px;width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font-sans);font-size:var(--fs-body);color:var(--ink-900)}.app-table thead th{background:var(--surface-50);text-align:left;font-size:var(--fs-micro);font-weight:var(--fw-micro);color:var(--ink-500);text-transform:uppercase;letter-spacing:.06em;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.app-table thead.is-sticky th{position:sticky;top:0;z-index:1}.app-table thead th .th-content{display:inline-flex;align-items:center;gap:var(--sp-1)}.app-table thead th.is-sortable{cursor:pointer;transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}.app-table thead th.is-sortable:hover{background:var(--surface-100);color:var(--ink-900)}.app-table thead th.align-center,.app-table tbody td.align-center{text-align:center}.app-table thead th.align-right,.app-table tbody td.align-right{text-align:right}.app-table tbody td{padding:0 var(--sp-4);height:var(--row-height);border-bottom:1px solid var(--border);vertical-align:middle;line-height:1.4}.app-table tbody tr:last-child td{border-bottom:0}.app-table.is-hover tbody tr{transition:background var(--dur-base) var(--ease-standard)}.app-table.is-hover tbody tr:hover{background:var(--surface-50)}.app-table tbody tr.is-clickable{cursor:pointer}.app-table tbody tr.is-clickable:focus-visible{outline:2px solid var(--brand-500);outline-offset:-2px}table.mat-mdc-table{width:100%;font-family:Inter,Roboto,sans-serif!important}.user-form-editor-wrap{border:1.5px solid var(--border);border-radius:var(--radius-md, 10px);overflow:hidden;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.user-form-editor-wrap:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px #2563eb26}.user-form-editor-wrap.is-invalid{border-color:#dc2626;background:#fef2f299}.user-form-editor-wrap.is-invalid:focus-within{box-shadow:0 0 0 3px #dc262626}.user-form-editor-wrap.is-disabled{opacity:.65;pointer-events:none}.user-form-editor-wrap .ql-toolbar.ql-snow{border:0!important;border-bottom:1px solid var(--slate-100)!important;background:var(--slate-50);padding:8px 12px!important}.user-form-editor-wrap .ql-container.ql-snow{border:0!important;background:#fff;font-family:Inter,Roboto,sans-serif;font-size:14px;color:var(--text-primary)}.user-form-editor-wrap .ql-editor{padding:var(--sp-3) var(--sp-4);line-height:1.55}.user-form-editor-wrap .ql-editor.ql-blank:before{color:var(--text-muted);font-style:normal;font-family:inherit;font-size:14px;left:14px}.user-form-editor-wrap .ql-toolbar .ql-stroke{stroke:var(--text-secondary)}.user-form-editor-wrap .ql-toolbar .ql-fill{fill:var(--text-secondary)}.user-form-editor-wrap .ql-toolbar .ql-picker-label{color:var(--text-secondary)}.user-form-editor-wrap .ql-toolbar button:hover .ql-stroke,.user-form-editor-wrap .ql-toolbar button.ql-active .ql-stroke,.user-form-editor-wrap .ql-toolbar .ql-picker-label.ql-active,.user-form-editor-wrap .ql-toolbar .ql-picker-item.ql-selected,.user-form-editor-wrap .ql-toolbar button:focus .ql-stroke{stroke:var(--primary-600)}.user-form-editor-wrap .ql-toolbar button:hover .ql-fill,.user-form-editor-wrap .ql-toolbar button.ql-active .ql-fill,.user-form-editor-wrap .ql-toolbar button:focus .ql-fill{fill:var(--primary-600)}.user-form-editor-wrap .ql-toolbar button:hover,.user-form-editor-wrap .ql-toolbar button.ql-active{color:var(--primary-600)}.app-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border:1.5px solid transparent;border-radius:var(--radius-md, 10px);font-family:inherit;font-weight:600;font-size:13px;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none}.app-btn:disabled,.app-btn[aria-disabled=true]{cursor:not-allowed;opacity:.55}.app-btn:not(:disabled):active{transform:translateY(1px)}.app-btn--sm{height:36px;padding:0 var(--sp-3);font-size:12px}.app-btn--md{height:44px;padding:0 var(--sp-5)}.app-btn--lg{height:48px;padding:0 var(--sp-6);font-size:14px}.app-btn--primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-700));color:#fff!important;border-color:transparent;box-shadow:0 4px 10px -3px color-mix(in srgb,var(--primary-600) 45%,transparent)}.app-btn--primary:not(:disabled):hover{box-shadow:0 8px 18px -4px color-mix(in srgb,var(--primary-600) 55%,transparent);transform:translateY(-1px);color:#fff!important}.app-btn--secondary{background:#fff;color:var(--text-secondary)!important;border-color:var(--border)}.app-btn--secondary:not(:disabled):hover{background:var(--slate-50);color:var(--text-primary)!important;border-color:var(--slate-300)}.app-btn--ghost{background:transparent;color:var(--text-secondary)!important;border-color:transparent}.app-btn--ghost:not(:disabled):hover{background:var(--slate-100);color:var(--text-primary)!important}.app-btn--danger{background:var(--danger);color:#fff!important;border-color:transparent;box-shadow:0 4px 10px -3px #ef444473}.app-btn--danger:not(:disabled):hover{background:#dc2626;transform:translateY(-1px);color:#fff!important}.app-btn--success{background:var(--success);color:#fff!important;border-color:transparent;box-shadow:0 4px 10px -3px #10b98173}.app-btn--success:not(:disabled):hover{background:#059669;transform:translateY(-1px);color:#fff!important}.app-divider{border:0;height:1px;background:var(--border);margin:var(--sp-4) 0}.app-tooltip{position:absolute;top:0;left:0;background:#0f172af0;color:#fff;font-size:12px;font-weight:500;font-family:Inter,Roboto,sans-serif;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);max-width:240px;line-height:1.35;pointer-events:none;z-index:10000;opacity:0;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease;box-shadow:0 8px 16px #00000040;white-space:normal}.app-tooltip.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.app-tooltip{transition:none;transform:none}}.status-pill{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-2);border-radius:var(--r-full);font-size:.75rem;font-weight:600;border:1px solid transparent;white-space:nowrap}.status-pill__dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}.status-pill--draft,.status-pill--pending{background:#fef3c7;border-color:#fde68a;color:#92400e}.status-pill--signed,.status-pill--success,.status-pill--active,.status-pill--confirmed,.status-pill--completed,.status-pill--paid{background:#dcfce7;border-color:#bbf7d0;color:#166534}.status-pill--amended,.status-pill--info,.status-pill--in-progress{background:#dbeafe;border-color:#bfdbfe;color:#1e40af}.status-pill--danger,.status-pill--cancelled,.status-pill--refunded{background:#fee2e2;border-color:#fecaca;color:#991b1b}.status-pill--neutral,.status-pill--archived{background:var(--slate-100);border-color:var(--slate-200);color:var(--slate-700)}.ds-chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);background:var(--slate-100);color:var(--text-secondary);border-radius:var(--r-full);font-size:.75rem;font-weight:500;line-height:1.4;white-space:nowrap}.ds-chip app-icon{color:var(--text-muted)}.ds-chip--primary{background:var(--primary-50);color:var(--primary-700)}.ds-chip--primary app-icon{color:var(--primary-600)}.ds-chip--blood,.ds-chip--danger{background:#fee2e2;color:#991b1b;font-weight:600}.ds-chip--blood app-icon,.ds-chip--danger app-icon{color:#dc2626}.ds-chip--success{background:#dcfce7;color:#166534}.ds-chip--success app-icon{color:#16a34a}.ds-chip--warning{background:#fef3c7;color:#92400e}.ds-chip--warning app-icon{color:#d97706}.entity-card{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-5) var(--sp-5);background:linear-gradient(135deg,#ffffff 0%,var(--slate-50) 100%);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);box-shadow:0 1px 2px #0f172a0a;margin-bottom:var(--sp-4);flex-wrap:wrap}.entity-card__avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;letter-spacing:.02em;flex-shrink:0;box-shadow:0 2px 8px #3b82f640}.entity-card__body{flex:1 1 200px;min-width:0}.entity-card__name{display:inline-block;font-weight:700;font-size:1.125rem;color:var(--text-primary);text-decoration:none;margin-bottom:var(--sp-2);transition:color .15s ease}.entity-card__name:hover{color:var(--primary-600)}.entity-card__chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.entity-card__appt{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:#fff;border:1px solid var(--border);border-radius:var(--radius-md, 12px);color:var(--text-primary);text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease;flex-shrink:0}.entity-card__appt:hover{border-color:var(--primary-300);background:var(--primary-50);transform:translateY(-1px)}.alert-banner{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-md, 12px);margin-bottom:var(--sp-4);border:1px solid;border-left-width:5px}.alert-banner__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;flex-shrink:0}.alert-banner__icon app-icon{font-variation-settings:"FILL" 1}.alert-banner__body{flex:1;min-width:0}.alert-banner__title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-1)}.alert-banner__content{font-size:1rem;font-weight:600;line-height:1.4}.alert-banner--critical{background:linear-gradient(135deg,#fef2f2,#fff7ed);border-color:#fecaca;border-left-color:#dc2626;box-shadow:0 1px 3px #dc262614}.alert-banner--critical .alert-banner__icon{background:#fee2e2;color:#b91c1c}.alert-banner--critical .alert-banner__title{color:#991b1b}.alert-banner--critical .alert-banner__content{color:#7f1d1d}.alert-banner--info{background:linear-gradient(135deg,var(--primary-50) 0%,#ffffff 100%);border-color:var(--primary-200);border-left-color:var(--primary-600)}.alert-banner--info .alert-banner__icon{background:var(--primary-100);color:var(--primary-700)}.alert-banner--info .alert-banner__title{color:var(--primary-700)}.alert-banner--info .alert-banner__content{color:var(--primary-900)}.alert-banner--warning{background:linear-gradient(135deg,#fffbeb,#fff);border-color:#fde68a;border-left-color:#d97706}.alert-banner--warning .alert-banner__icon{background:#fef3c7;color:#b45309}.alert-banner--warning .alert-banner__title{color:#92400e}.alert-banner--warning .alert-banner__content{color:#78350f}.alert-banner--success{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#bbf7d0;border-left-color:#16a34a}.alert-banner--success .alert-banner__icon{background:#dcfce7;color:#166534}.alert-banner--success .alert-banner__title{color:#166534}.alert-banner--success .alert-banner__content{color:#14532d}.ds-panel-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.ds-panel-head app-icon{color:var(--primary-600);flex-shrink:0}.ds-panel-head h3,.ds-panel-head h4{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0}.ds-panel-head--lg h3{font-size:1rem;text-transform:none;letter-spacing:0;color:var(--text-primary)}.ds-info-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:0;overflow:hidden}.ds-info-card.full{grid-column:1/-1}.ds-info-card__header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--slate-50);border-bottom:1px solid var(--border)}.ds-info-card__header h3{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary);margin:0}.ds-info-card__icon{width:30px;height:30px;border-radius:var(--r-md);display:grid;place-items:center;flex-shrink:0}.ds-info-card__icon--blue{background:#eff6ff;color:#2563eb}.ds-info-card__icon--green{background:#f0fdf4;color:#16a34a}.ds-info-card__icon--red{background:#fef2f2;color:#dc2626}.ds-info-card__icon--rose{background:#fff1f2;color:#e11d48}.ds-info-card__icon--violet{background:#faf5ff;color:#7c3aed}.ds-info-card__icon--amber{background:#fffbeb;color:#d97706}.ds-info-card__icon--teal{background:#f0fdfa;color:#0d9488}.ds-info-rows{list-style:none;margin:0;padding:var(--sp-2) var(--sp-2);display:flex;flex-direction:column}.ds-info-row{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);border-radius:var(--r-md);transition:background .15s ease}.ds-info-row+.ds-info-row{border-top:1px solid var(--slate-100)}.ds-info-row__icon{width:28px;height:28px;border-radius:50%;background:var(--slate-100);color:var(--text-secondary);display:grid;place-items:center;flex-shrink:0}.ds-info-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.ds-info-row__label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.ds-info-row__value{font-size:.9375rem;color:var(--text-primary);font-weight:500;word-break:break-word;display:inline-flex;align-items:center;gap:var(--sp-1)}.ds-info-row__value--link{color:var(--primary-600);text-decoration:none;transition:color .15s ease}.ds-info-row__value--link:hover{color:var(--primary-700);text-decoration:underline}.ds-info-row__value--empty{color:var(--text-muted);font-style:italic;font-weight:400;font-size:.8125rem}.empty-soft{color:var(--text-muted);font-style:italic;font-size:.8125rem;display:inline-flex;align-items:center;gap:var(--sp-1)}.empty-soft--positive{color:#16a34a;font-style:normal;font-weight:500}.empty-soft--positive app-icon{color:#16a34a}.empty-soft--negative{color:#dc2626;font-style:normal;font-weight:500}.feature-hero{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);background:radial-gradient(circle at 0% 0%,rgba(37,99,235,.06),transparent 60%),linear-gradient(135deg,#ffffff 0%,var(--slate-50) 100%);border:1px solid var(--primary-200);border-left:5px solid var(--primary-600);border-radius:var(--radius-lg, 16px);position:relative;overflow:hidden;margin-bottom:var(--sp-4)}.feature-hero:before{content:"";position:absolute;top:-40%;right:-10%;width:280px;height:280px;background:radial-gradient(circle,rgba(59,130,246,.07) 0%,transparent 70%);pointer-events:none}.feature-hero__icon{width:56px;height:56px;background:#fff;border:1px solid var(--primary-200);border-radius:var(--r-lg);color:var(--primary-600);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px color-mix(in srgb,var(--primary-600) 8%,transparent),0 4px 12px #2563eb0f;position:relative;z-index:1}.feature-hero__body{flex:1;min-width:0;position:relative;z-index:1}.feature-hero__eyebrow{font-size:.6875rem;font-weight:700;color:var(--primary-700);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--sp-1)}.feature-hero__title{font-size:1.5rem;font-weight:700;line-height:1.25;color:var(--text-primary);margin:0;letter-spacing:-.01em}.feature-hero__chips{display:flex;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap}@media (max-width: 640px){.feature-hero{gap:var(--sp-3);padding:var(--sp-4)}.feature-hero__icon{width:44px;height:44px}.feature-hero__title{font-size:1.25rem}}.appt-feature{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);background:#fff;border:1px solid var(--border);border-left:4px solid transparent;border-radius:var(--r-lg);margin-bottom:var(--sp-3);text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.appt-feature:hover{transform:translate(2px);box-shadow:0 4px 14px -4px #0f172a14}.appt-feature__icon{width:44px;height:44px;border-radius:var(--r-lg);display:grid;place-items:center;flex-shrink:0}.appt-feature__body{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.appt-feature__eyebrow{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-secondary);margin-bottom:var(--sp-1)}.appt-feature__date{font-size:1.0625rem;font-weight:700;color:var(--text-primary);text-transform:capitalize;letter-spacing:-.01em}.appt-feature__meta{font-size:.8125rem;color:var(--text-secondary);margin-top:var(--sp-1)}.appt-feature__cta{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:.8125rem;font-weight:600;color:var(--primary-600);flex-shrink:0}.appt-feature--success{border-left-color:#16a34a}.appt-feature--success .appt-feature__icon{background:#dcfce7;color:#15803d}.appt-feature--muted{border-left-color:var(--slate-300)}.appt-feature--muted .appt-feature__icon{background:var(--slate-100);color:var(--text-secondary)}.appt-feature--info{border-left-color:var(--primary-600)}.appt-feature--info .appt-feature__icon{background:var(--primary-50);color:var(--primary-700)}.appt-feature--warning{border-left-color:#d97706}.appt-feature--warning .appt-feature__icon{background:#fef3c7;color:#92400e}@media (max-width: 640px){.appt-feature{gap:var(--sp-3);padding:var(--sp-4) var(--sp-4)}.appt-feature__cta span{display:none}}.progress-soft{height:6px;background:var(--slate-100);border-radius:var(--r-full);overflow:hidden}.progress-soft__fill{height:100%;background:linear-gradient(90deg,var(--primary-500),var(--primary-600));border-radius:var(--r-full);transition:width .36s cubic-bezier(.16,1,.3,1)}.list-row{display:grid;grid-template-columns:90px 1fr auto auto;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:#fff;border:1px solid var(--border);border-radius:var(--r-md);text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.list-row+.list-row{margin-top:var(--sp-2)}.list-row:hover{border-color:var(--primary-300);transform:translate(2px);box-shadow:0 4px 12px -4px #0f172a0f}.list-row__date{display:flex;flex-direction:column;line-height:1.2}.list-row__date strong{font-size:.875rem;color:var(--text-primary);text-transform:capitalize}.list-row__date span{font-size:.75rem;color:var(--text-muted)}.list-row__main{display:flex;flex-direction:column;min-width:0;line-height:1.3}.list-row__main .name{font-weight:600;font-size:.9375rem;color:var(--text-primary)}.list-row__main .sub{font-size:.8125rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row>app-icon{color:var(--text-muted)}@media (max-width: 640px){.list-row{grid-template-columns:64px 1fr auto;gap:var(--sp-3)}.list-row>app-icon:last-child{display:none}}:root{--saas-mono: "SF Mono", Menlo, "JetBrains Mono", Consolas, ui-monospace, monospace;--saas-violet: #7c3aed;--saas-cyan: #06b6d4}.saas-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-6);margin-bottom:var(--sp-8);flex-wrap:wrap}.saas-page-title{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.saas-page-eyebrow{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:11px;font-weight:700;color:var(--saas-violet);text-transform:uppercase;letter-spacing:.12em}.saas-page-eyebrow:before{content:"";width:14px;height:2px;background:linear-gradient(90deg,var(--saas-violet),var(--brand-600, #4F46E5));border-radius:var(--r-sm)}.saas-page-title h1,.saas-page-title h2{margin:0;font-size:26px;letter-spacing:-.025em;font-weight:700;color:var(--ink-900, #0F172A);line-height:1.2}.saas-page-title p{margin:0;color:var(--ink-500, #64748B);font-size:14px;line-height:1.5}.saas-page-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.saas-btn{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--surface-0, #fff);border:1px solid var(--border, #e2e8f0);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);font-size:13px;font-weight:600;color:var(--ink-700, #334155);cursor:pointer;box-shadow:0 1px 2px #0f172a0a;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;text-decoration:none;font-family:inherit;white-space:nowrap}.saas-btn:hover:not(:disabled){transform:translateY(-1px);border-color:var(--border-strong, #cbd5e1);box-shadow:0 4px 12px -4px #0f172a14}.saas-btn:disabled{opacity:.55;cursor:not-allowed}.saas-btn app-icon,.saas-btn .material-icons{color:var(--ink-500, #64748B);display:inline-flex}.saas-btn-primary{background:linear-gradient(135deg,var(--brand-600, #4F46E5),var(--saas-violet));color:#fff;border-color:transparent;box-shadow:0 4px 12px -4px color-mix(in srgb,var(--brand-600, #4F46E5) 40%,transparent)}.saas-btn-primary:hover:not(:disabled){box-shadow:0 8px 20px -6px color-mix(in srgb,var(--brand-600, #4F46E5) 50%,transparent);border-color:transparent}.saas-btn-primary app-icon,.saas-btn-primary .material-icons{color:#fff}.saas-btn-danger{color:var(--danger, #ef4444);border-color:color-mix(in srgb,var(--danger, #ef4444) 25%,var(--border, #e2e8f0))}.saas-btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger, #ef4444) 6%,#fff);border-color:color-mix(in srgb,var(--danger, #ef4444) 40%,var(--border, #e2e8f0))}.saas-live-chip{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:11px;font-weight:600;color:var(--success, #10b981);background:color-mix(in srgb,var(--success, #10b981) 10%,transparent);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);border:1px solid color-mix(in srgb,var(--success, #10b981) 22%,transparent)}.saas-live-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success, #10b981);box-shadow:0 0 color-mix(in srgb,var(--success, #10b981) 60%,transparent);animation:saas-pulse 1.6s ease-out infinite}@keyframes saas-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--success, #10b981) 50%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion: reduce){.saas-live-chip:before{animation:none}}.saas-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);margin-bottom:var(--sp-6)}.saas-kpi{--c: var(--brand-500, #6366F1);position:relative;background:var(--surface-0, #fff);border:1px solid var(--border, #e2e8f0);border-radius:var(--r-xl);padding:var(--sp-5);overflow:hidden;box-shadow:0 1px 2px #0f172a0a;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;display:flex;align-items:center;gap:var(--sp-4);text-decoration:none;color:inherit;font-family:inherit}.saas-kpi.is-clickable{cursor:pointer}.saas-kpi:hover{transform:translateY(-2px);box-shadow:0 8px 20px -10px #0f172a1f;border-color:color-mix(in srgb,var(--c) 25%,var(--border, #e2e8f0))}.saas-kpi:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(100% 70% at 100% 0%,color-mix(in srgb,var(--c) 14%,transparent) 0%,transparent 55%),radial-gradient(70% 50% at 0% 100%,color-mix(in srgb,var(--c) 6%,transparent) 0%,transparent 60%)}.saas-kpi>*{position:relative}.saas-kpi-icon{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);position:relative}.saas-kpi-icon:after{content:"";position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 28%,transparent) 0%,transparent 70%);filter:blur(8px);z-index:-1}.saas-kpi-icon app-icon,.saas-kpi-icon .material-icons{color:var(--c);display:inline-flex}.saas-kpi-icon app-icon i,.saas-kpi-icon .material-icons{font-size:22px!important}.saas-kpi-body{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.saas-kpi-value{font-family:var(--saas-mono);font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.05;color:var(--ink-900, #0F172A);font-variant-numeric:tabular-nums}.saas-kpi-label{font-size:11px;color:var(--ink-500, #64748B);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.saas-kpi-trend{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:11px;font-weight:600;margin-top:var(--sp-1);color:var(--ink-500, #64748B)}.saas-kpi-trend.is-good{color:var(--success, #10b981)}.saas-kpi-trend.is-bad{color:var(--danger, #ef4444)}.saas-kpi-trend app-icon i{font-size:13px!important}.saas-kpi.v-indigo{--c: var(--brand-500, #6366F1)}.saas-kpi.v-red{--c: var(--danger, #ef4444)}.saas-kpi.v-amber{--c: var(--warning, #f59e0b)}.saas-kpi.v-cyan{--c: var(--saas-cyan)}.saas-kpi.v-green{--c: var(--success, #10b981)}.saas-kpi.v-violet{--c: var(--saas-violet)}.saas-kpi.v-blue{--c: var(--info, #3b82f6)}.saas-kpi.v-gray{--c: var(--ink-500, #64748B)}.saas-card{position:relative;background:var(--surface-0, #fff);border:1px solid var(--border, #e2e8f0);border-radius:var(--r-xl);box-shadow:0 1px 2px #0f172a0a;overflow:hidden;margin-bottom:var(--sp-5)}.saas-card:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:var(--r-xl) var(--r-xl) 0 0;background:linear-gradient(90deg,color-mix(in srgb,var(--danger, #ef4444) 70%,transparent),color-mix(in srgb,var(--success, #10b981) 70%,transparent));opacity:.7}.saas-card.tone-brand:before{background:linear-gradient(90deg,color-mix(in srgb,var(--brand-500, #6366F1) 70%,transparent),color-mix(in srgb,var(--saas-violet) 70%,transparent))}.saas-card.tone-revenue:before{background:linear-gradient(90deg,color-mix(in srgb,var(--success, #10b981) 70%,transparent),color-mix(in srgb,var(--saas-violet) 70%,transparent))}.saas-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-6) var(--sp-6) var(--sp-5);border-bottom:1px solid #f1f3f7}.saas-card-title{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.saas-card-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--brand-500, #6366F1) 12%,#fff);color:var(--brand-600, #4F46E5);position:relative;flex-shrink:0}.saas-card-icon:after{content:"";position:absolute;inset:-5px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand-500, #6366F1) 25%,transparent) 0%,transparent 70%);filter:blur(6px);z-index:-1}.saas-card-icon app-icon i,.saas-card-icon .material-icons{font-size:20px!important}.saas-card-text{min-width:0}.saas-card-text h3,.saas-card-text h4{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--ink-900, #0F172A);line-height:1.3}.saas-card-text p{margin:0;font-size:13px;color:var(--ink-500, #64748B);line-height:1.4}.saas-card-actions{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.saas-card-body{padding:var(--sp-6) var(--sp-6)}.saas-card-body.is-flush{padding:0}.saas-card-legend{display:flex;gap:var(--sp-4);align-items:center;flex-wrap:wrap}.saas-legend-item{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:12px;color:var(--ink-700, #334155);font-weight:500}.saas-legend-dot{width:10px;height:10px;border-radius:var(--r-sm)}.saas-chart-summary{display:flex;gap:var(--sp-6);flex-wrap:wrap;padding:var(--sp-4) var(--sp-6);background:var(--surface-50, #f8fafc);border-top:1px solid #f1f3f7}.saas-summary-item{display:flex;flex-direction:column;gap:var(--sp-0)}.saas-summary-item small{font-size:10.5px;color:var(--ink-500, #64748B);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.saas-summary-item b{font-family:var(--saas-mono);font-size:15px;font-weight:600;color:var(--ink-900, #0F172A)}.saas-summary-divider{width:1px;background:linear-gradient(180deg,transparent,var(--border, #e2e8f0),transparent)}.saas-section{background:var(--surface-0, #fff);border:1px solid var(--border, #e2e8f0);border-radius:var(--r-xl);padding:var(--sp-6);box-shadow:0 1px 2px #0f172a0a;margin-bottom:var(--sp-5)}.saas-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4);flex-wrap:wrap}.saas-section-head-left{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.saas-section-head h3,.saas-section-head h4{margin:0;font-size:15px;font-weight:700;color:var(--ink-900, #0F172A)}.saas-section-head p{margin:0;font-size:12.5px;color:var(--ink-500, #64748B)}.saas-section-head .saas-card-icon{width:32px;height:32px}.saas-section-head .saas-card-icon app-icon i,.saas-section-head .saas-card-icon .material-icons{font-size:18px!important}.saas-tabs{display:inline-flex;gap:var(--sp-1);padding:var(--sp-1);background:color-mix(in srgb,var(--brand-500, #6366F1) 4%,var(--surface-0, #fff));border:1px solid var(--border, #e2e8f0);border-radius:var(--r-lg);margin-bottom:var(--sp-5);flex-wrap:wrap}.saas-tab{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);font-size:13px;font-weight:600;color:var(--ink-500, #64748B);cursor:pointer;border:none;background:transparent;transition:background .2s ease,color .2s ease,box-shadow .2s ease;font-family:inherit}.saas-tab:hover:not(:disabled){color:var(--ink-900, #0F172A)}.saas-tab.is-active{background:var(--surface-0, #fff);color:var(--brand-600, #4F46E5);box-shadow:0 1px 3px #0f172a14,0 0 0 1px color-mix(in srgb,var(--brand-500, #6366F1) 20%,transparent)}.saas-tab-badge{font-size:10px;font-weight:700;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-full);background:color-mix(in srgb,var(--brand-500, #6366F1) 12%,transparent);color:var(--brand-600, #4F46E5)}.saas-filters{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center;margin-bottom:var(--sp-5)}.saas-search{position:relative;flex:1;min-width:220px;max-width:380px}.saas-search app-icon,.saas-search .material-icons{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-400, #94A3B8);pointer-events:none}.saas-search app-icon i,.saas-search .material-icons{font-size:18px!important}.saas-search input{width:100%;padding:var(--sp-3) var(--sp-4) var(--sp-3) var(--sp-10);border:1px solid var(--border, #e2e8f0);border-radius:var(--r-lg);background:var(--surface-0, #fff);font-size:13.5px;font-family:inherit;color:var(--ink-900, #0F172A);transition:border-color .15s,box-shadow .15s}.saas-search input:focus{outline:none;border-color:var(--brand-500, #6366F1);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-500, #6366F1) 14%,transparent)}.saas-select{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border, #e2e8f0);border-radius:var(--r-lg);background:var(--surface-0, #fff);font-size:13px;font-weight:500;color:var(--ink-700, #334155);cursor:pointer;font-family:inherit;transition:border-color .15s}.saas-select:hover{border-color:var(--border-strong, #cbd5e1)}.saas-select app-icon,.saas-select .material-icons{color:var(--ink-500, #64748B)}.saas-select app-icon i,.saas-select .material-icons{font-size:18px!important}.saas-table{background:var(--surface-0, #fff);border:1px solid var(--border, #e2e8f0);border-radius:var(--r-lg);overflow:hidden}.saas-table-row{display:grid;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid #f1f3f7;transition:background .15s ease}.saas-table-row:last-child{border-bottom:none}.saas-table-row:hover{background:var(--surface-50, #f8fafc)}.saas-table-row.is-head{background:var(--surface-50, #f8fafc);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500, #64748B);font-weight:600}.saas-cell-primary{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.saas-cell-primary b{font-size:14px;color:var(--ink-900, #0F172A);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saas-cell-primary small{font-size:12px;color:var(--ink-500, #64748B);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saas-cell-mono{font-family:var(--saas-mono);font-size:14px;font-weight:600;color:var(--ink-900, #0F172A);font-variant-numeric:tabular-nums}.saas-cell-meta{font-size:12.5px;color:var(--ink-500, #64748B)}.saas-table-actions{display:flex;gap:var(--sp-2);justify-content:flex-end}.saas-icon-btn{width:32px;height:32px;border-radius:var(--r-md);border:1px solid var(--border, #e2e8f0);background:var(--surface-0, #fff);display:flex;align-items:center;justify-content:center;color:var(--ink-500, #64748B);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease;font-family:inherit}.saas-icon-btn:hover:not(:disabled){color:var(--brand-600, #4F46E5);border-color:color-mix(in srgb,var(--brand-500, #6366F1) 30%,var(--border, #e2e8f0))}.saas-icon-btn.is-danger:hover:not(:disabled){color:var(--danger, #ef4444);border-color:color-mix(in srgb,var(--danger, #ef4444) 30%,var(--border, #e2e8f0))}.saas-icon-btn app-icon i,.saas-icon-btn .material-icons{font-size:16px!important}.saas-pill{--pc: var(--ink-500, #64748B);display:inline-flex;align-items:center;gap:var(--sp-1);font-size:11px;font-weight:700;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);text-transform:uppercase;letter-spacing:.06em;background:color-mix(in srgb,var(--pc) 14%,#fff);color:var(--pc);border:1px solid color-mix(in srgb,var(--pc) 25%,transparent);white-space:nowrap}.saas-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.saas-pill.p-success{--pc: var(--success, #10b981)}.saas-pill.p-warning{--pc: var(--warning, #f59e0b)}.saas-pill.p-danger{--pc: var(--danger, #ef4444)}.saas-pill.p-info{--pc: var(--info, #3b82f6)}.saas-pill.p-cyan{--pc: var(--saas-cyan)}.saas-pill.p-violet{--pc: var(--saas-violet)}.saas-pill.p-gray{--pc: var(--ink-500, #64748B)}.saas-empty{padding:var(--sp-16) var(--sp-6);text-align:center;max-width:460px;margin:0 auto}.saas-empty-icon{width:72px;height:72px;border-radius:50%;background:color-mix(in srgb,var(--brand-500, #6366F1) 8%,var(--surface-50, #f8fafc));color:var(--brand-500, #6366F1);display:grid;place-items:center;margin:0 auto 18px;position:relative}.saas-empty-icon:after{content:"";position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand-500, #6366F1) 20%,transparent) 0%,transparent 70%);filter:blur(10px);z-index:-1}.saas-empty-icon app-icon i,.saas-empty-icon .material-icons{font-size:32px!important}.saas-empty h3{margin:0 0 var(--sp-2);font-size:18px;font-weight:700;color:var(--ink-900, #0F172A)}.saas-empty p{margin:0;color:var(--ink-500, #64748B);font-size:14px}@media (max-width: 900px){.saas-kpi-grid{grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}.saas-table-row{grid-template-columns:1fr 1fr!important;font-size:13px;gap:var(--sp-3)}.saas-table-row.is-head{display:none}.saas-card-head{padding:var(--sp-5) var(--sp-5) var(--sp-4)}.saas-card-body{padding:var(--sp-5) var(--sp-5)}.saas-chart-summary{padding:var(--sp-4) var(--sp-5);gap:var(--sp-5)}}@media (max-width: 560px){.saas-kpi-grid{grid-template-columns:1fr}.saas-page-title h1,.saas-page-title h2{font-size:22px}.saas-kpi-value{font-size:24px}.saas-kpi{padding:var(--sp-4);gap:var(--sp-3)}.saas-kpi-icon{width:38px;height:38px}}
