:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0px;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (max-width:480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:btn-spin .8s linear infinite;display:inline-block}.sidebar{width:232px;flex-shrink:0;background:var(--color-sidebar-bg, #5b6b7e);color:#e8ecef;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;overflow:visible;transition:width .2s ease}.sidebar-collapsed{width:60px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:18px 16px;white-space:nowrap;flex-shrink:0}.sidebar-collapsed .sidebar-brand{justify-content:center;padding:18px 0}.sidebar-logo{width:34px;height:34px;object-fit:contain;flex-shrink:0}.sidebar-title{font-weight:700;font-size:14.5px;color:#fff}.sidebar-subtitle{font-size:11.5px;color:#a8b4c2}.sidebar-nav{padding:14px 10px;display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;scrollbar-gutter:stable}.sidebar-nav:hover{scrollbar-color:rgba(255,255,255,.32) transparent}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-track{background:transparent;margin:6px 0}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px;border:1px solid transparent;background-clip:padding-box}.sidebar-nav:hover::-webkit-scrollbar-thumb{background:#ffffff52;background-clip:padding-box}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff73;background-clip:padding-box}.sidebar-nav::-webkit-scrollbar-thumb:active{background:#ffffff8c;background-clip:padding-box}[data-theme=dark] .sidebar-nav{scrollbar-color:rgba(255,255,255,.18) transparent}[data-theme=dark] .sidebar-nav:hover{scrollbar-color:rgba(255,255,255,.28) transparent}[data-theme=dark] .sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff2e;background-clip:padding-box}[data-theme=dark] .sidebar-nav:hover::-webkit-scrollbar-thumb{background:#ffffff47;background-clip:padding-box}[data-theme=dark] .sidebar-nav::-webkit-scrollbar-thumb:hover{background:#fff6;background-clip:padding-box}.sidebar-collapsed .sidebar-nav{padding:14px 10px;align-items:center}.sidebar-section{display:flex;flex-direction:column;gap:2px}.sidebar-section+.sidebar-section{margin-top:14px}.sidebar-section-label{padding:0 12px 6px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#26303f;white-space:nowrap}.sidebar-collapsed .sidebar-section{align-items:center}.sidebar-collapsed .sidebar-section+.sidebar-section{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-collapsed .sidebar-section-label{display:none}.sidebar-link{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:#a8b4c2;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap;transition:background .15s ease,color .15s ease}.sidebar-collapsed .sidebar-link{justify-content:center;width:40px;padding:10px 0}.sidebar-collapsed .sidebar-brand-text,.sidebar-collapsed .sidebar-link-label{display:none}.sidebar-link:hover{background:#ffffff1a;color:#fff}.sidebar-link-active{background:#ffffff2e;color:#fff}.sidebar-link-active:hover{background:#ffffff38;color:#fff}.sidebar-footer{padding:10px 12px;border-top:1px dashed rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.sidebar-collapsed .sidebar-footer{flex-direction:column;justify-content:center;gap:2px;padding:10px}.sidebar-footer-icon{background:transparent;border:none;color:#a8b4c2;cursor:pointer;padding:8px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease;text-decoration:none}.sidebar-footer-icon:hover{background:#ffffff1f;color:#fff}.sidebar-footer-icon-active{background:#ffffff2e;color:#fff}.sidebar-footer-icon-active:hover{background:#ffffff38;color:#fff}.sidebar-collapse-btn{background:transparent;border:none;color:#a8b4c2;cursor:pointer;padding:8px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.sidebar-collapse-btn:hover{background:#ffffff1f;color:#fff}.sidebar-footer-item{display:flex;align-items:center;justify-content:center}.sidebar-avatar-wrap{position:relative}.sidebar-avatar-btn{background:none;border:none;cursor:pointer;padding:2px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:box-shadow .15s ease}.sidebar-avatar-btn:hover{box-shadow:0 0 0 2px #fff3}.sidebar-avatar-circle{width:30px;height:30px;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.sidebar-footer-icon--disabled{opacity:.4;cursor:default;pointer-events:none}.sidebar-user-dropdown{position:absolute;left:0;bottom:calc(100% + 10px);transform:none;min-width:220px;max-width:260px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--card-shadow);padding:6px;z-index:200}.sidebar-collapsed .sidebar-user-dropdown{left:100%;bottom:0;transform:translate(8px)}.sidebar-user-dropdown-email{padding:9px 12px;font-size:13px;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border);margin-bottom:4px;word-break:break-all}.sidebar-user-dropdown-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;cursor:pointer;padding:9px 12px;border-radius:10px;font-size:13.5px;color:#dc2626;text-align:left;transition:background .15s ease}.sidebar-user-dropdown-item--neutral{color:var(--color-text)}.sidebar-user-dropdown-item--neutral:hover{background:var(--color-bg-hover)}.sidebar-user-dropdown-item:hover{background:#fee2e2}[data-theme=dark] .sidebar{background:#181a1c;color:#cbd5e1}[data-theme=dark] .sidebar-brand{border-bottom-color:#ffffff14}[data-theme=dark] .sidebar-footer{border-top-color:#ffffff14}[data-theme=dark] .sidebar-title{color:#fff}[data-theme=dark] .sidebar-link{color:#8a94a8}[data-theme=dark] .sidebar-link:hover,[data-theme=dark] .sidebar-footer-icon:hover,[data-theme=dark] .sidebar-collapse-btn:hover{background:#1c2027;color:#fff}[data-theme=dark] .sidebar-link-active,[data-theme=dark] .sidebar-footer-icon-active,[data-theme=dark] .sidebar-link-active:hover,[data-theme=dark] .sidebar-footer-icon-active:hover{background:#29303d}[data-theme=dark] .sidebar-avatar-btn:hover{box-shadow:0 0 0 2px #ffffff26}[data-theme=dark] .sidebar-user-dropdown{background:#252d38;border-color:#303a49}[data-theme=dark] .sidebar-user-dropdown-email{color:#e8ecef;border-bottom-color:#303a49}[data-theme=dark] .sidebar-user-dropdown-item--neutral{color:#e8ecef}[data-theme=dark] .sidebar-user-dropdown-item--neutral:hover{background:#303a49}[data-theme=dark] .sidebar-user-dropdown-item:hover{background:#dc262626}[data-theme=dark] .sidebar-section-label{color:#406095}.sidebar-mobile-close{display:none;background:transparent;border:none;color:#a8b4c2;cursor:pointer;padding:6px;border-radius:10px;margin-left:auto;align-items:center;justify-content:center}.sidebar-mobile-close:hover{background:#ffffff1f;color:#fff}[data-theme=dark] .sidebar-mobile-close{color:#8a94a8}[data-theme=dark] .sidebar-mobile-close:hover{background:#ffffff14;color:#fff}@media(max-width:900px){.sidebar{position:fixed;top:0;left:0;z-index:100;height:100vh;height:100dvh;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 10px 40px #0003}.sidebar-open{transform:translate(0)}.sidebar-mobile-close{display:flex}.app-main{border-radius:0;box-shadow:none}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 26px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.topbar-title{font-size:19px;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin:0}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.topbar-left .topbar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-menu-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid var(--color-border);border-radius:10px;color:var(--color-muted);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.topbar-menu-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}[data-theme=dark] .topbar-menu-btn{border-color:#303a49;color:#8a94a8}[data-theme=dark] .topbar-menu-btn:hover{background:#303a49;color:#e8ecef}@media(max-width:900px){.topbar-menu-btn{display:flex}.topbar{padding:12px 16px}.topbar-title{font-size:17px}}.app-layout{display:flex;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;border-radius:24px 0 0 24px;margin:0;overflow:visible}.app-content{flex:1;padding:24px 26px;max-width:1200px;width:100%;margin:0 auto}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:90}@media(max-width:900px){.app-content{padding:16px}}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 20% -10%,#1e3a5f 0%,transparent 60%),radial-gradient(900px 500px at 90% 110%,#1e1b4b 0%,transparent 55%),linear-gradient(135deg,#0f172a,#111c33 45%,#1e293b);padding:20px}.auth-card{background:#1e293b;border:1px solid #334155;border-radius:16px;padding:36px 34px;width:100%;max-width:400px;box-shadow:0 25px 60px #00000073,0 0 0 1px #ffffff0a inset;text-align:center}.auth-logo{width:64px;height:64px;object-fit:contain;margin:0 auto 16px}.auth-title{margin:0;font-size:20px;font-weight:700;color:#f1f5f9}.auth-subtitle{margin:6px 0 0;font-size:13.5px;color:#94a3b8}.auth-body{margin-top:22px;text-align:left}.auth-card .input,.auth-card .select,.auth-card .textarea{background:#0f172a;color:#e2e8f0;border-color:#334155;color-scheme:dark}.auth-card .input:focus,.auth-card .select:focus,.auth-card .textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.auth-card .input::placeholder{color:#64748b}.auth-card .input-label{color:#cbd5e1}.auth-card .input-hint{color:#94a3b8}.auth-card .btn-secondary{background:#334155;color:#e2e8f0;border-color:#475569}.auth-card .btn-secondary:hover:not(:disabled){background:#475569;color:#f1f5f9}.auth-card .btn-primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.auth-card .btn-primary:hover:not(:disabled){background:#2563eb}.input-wrap{display:flex;flex-direction:column;gap:6px;width:100%}.input-label{font-size:13px;font-weight:500;color:#334155}.input{width:100%;padding:9px 12px;border:1px solid #ece8e1;border-radius:10px;font-size:14px;color:var(--color-text);background:var(--color-bg);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.input-error{border-color:#dc2626}.input-hint{font-size:12px;color:#64748b}.input-error-msg{font-size:12px;color:#dc2626}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:5px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:5px 10px;font-size:12.5px}.btn-md{padding:8px 14px}.btn-lg{padding:11px 20px;font-size:15px}.btn-primary{padding:10px;background:var(--color-button-primary-bg);color:var(--color-button-primary-text);border-color:var(--color-button-primary-border)}.btn-primary:hover:not(:disabled){background:var(--color-primary-strong);border-color:var(--color-primary-strong)}.btn-secondary{padding:10px;background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover)}.btn-danger{padding:10px;background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-success{padding:10px;background:var(--color-primary);color:var(--color-button-primary-text)}.btn-success:hover:not(:disabled){background:var(--color-primary-strong)}.btn-ghost{padding:10px;background:transparent;color:var(--color-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.btn.btn-sm{padding:5px 10px;font-size:12.5px}.btn.btn-md{padding:8px 14px;font-size:14px}.btn.btn-lg{padding:11px 20px;font-size:15px}.btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.login-error{background:#7f1d1d73;color:#fecaca;border:1px solid rgba(248,113,113,.25);border-radius:8px;padding:10px 12px;font-size:13px}.login-actions-row{display:flex;gap:12px;margin-top:4px}.login-action-btn{flex:1}.login-hint{margin:4px 0 0;font-size:12px;color:#94a3b8;text-align:center;line-height:16px}.login-back{background:none;border:none;color:#94a3b8;font-size:13px;cursor:pointer;padding:6px;text-align:center;width:100%}.login-back:hover{color:#f1f5f9;text-decoration:underline}.login-back:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.login-magic-info{background:#0f172a;border:1px solid #334155;border-radius:10px;padding:12px;font-size:13px;color:#cbd5e1;line-height:18px}.login-magic-actions{display:flex;justify-content:space-between;gap:12px}.login-back-centered{margin-top:2px}.control-page{margin:0 auto}.control-page-header-wrapper{position:sticky;top:0;z-index:20;margin:-24px -26px 24px;background:var(--color-bg);border-bottom:none;transition:background .2s ease,backdrop-filter .2s ease,-webkit-backdrop-filter .2s ease}.control-page-header-wrapper--scrolled{background:#f2f0ebd1;background:color-mix(in srgb,var(--color-bg) 82%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:saturate(180%) blur(12px)}.control-page-bar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;background:transparent;padding:10px 26px;min-height:55px}.control-page-bar-left{display:flex;align-items:center;gap:10px;min-width:0}.control-page-menu-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid var(--color-border);border-radius:10px;color:var(--color-muted);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.control-page-menu-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}[data-theme=dark] .control-page-menu-btn{border-color:#303a49;color:#8a94a8}[data-theme=dark] .control-page-menu-btn:hover{background:#303a49;color:#e8ecef}@media(max-width:900px){.control-page-menu-btn{display:flex}}.control-page-bar-right{display:flex;align-items:center;gap:8px;justify-content:flex-end}.control-page-title{margin:0;font-size:17px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-page-title-suffix{display:flex;align-items:center;margin-left:8px}.control-page-back{display:flex;align-items:center;padding:8px 26px}.control-page-back-link{background:transparent!important;border:none!important;padding:0!important;color:#64748b!important;font-size:13.5px;font-weight:500;text-decoration:none!important;gap:6px}.control-page-back-link:hover:not(:disabled){background:transparent!important;color:#0f172a!important;text-decoration:none!important}.control-page-content{display:flex;flex-direction:column;gap:28px}@media(max-width:900px){.control-page-header-wrapper{margin:-16px -16px 16px}.control-page-bar{padding:10px 16px}.control-page-back{padding:8px 16px}}@media(max-width:640px){.control-page-bar-right .btn-text{display:none}.control-page-bar-right .btn{padding:8px 10px;min-width:36px}}[data-theme=dark] .control-page-header-wrapper{background:var(--color-bg);border-bottom:none}[data-theme=dark] .control-page-header-wrapper--scrolled{background:#1e232bd1;background:color-mix(in srgb,var(--color-bg) 82%,transparent)}[data-theme=dark] .control-page-bar{background:transparent}[data-theme=dark] .control-page-title{color:#f1f5f9}[data-theme=dark] .control-page-back-link{color:#94a3b8!important}[data-theme=dark] .control-page-back-link:hover:not(:disabled){color:#e2e8f0!important}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-left:4px solid #3b82f6;border-radius:10px;padding:12px 14px 12px 16px;margin-bottom:20px;box-shadow:0 1px 3px #3b82f61f}.update-banner-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.update-banner-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:#3b82f6;color:#fff;flex-shrink:0}.update-banner-text{font-size:13.5px;color:#1e40af;line-height:1.4}.update-banner-text strong{font-weight:700}.update-banner-current{font-size:12px;color:#3b82f6;margin-left:6px}.update-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.update-banner-btn{white-space:nowrap}.update-banner-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:#3b82f6;cursor:pointer;transition:background .15s,color .15s}.update-banner-close:hover{background:#3b82f626;color:#1e40af}[data-theme=dark] .update-banner{background:linear-gradient(135deg,#1e40af40,#1e3a8a59);border-color:#1e40af;border-left-color:#3b82f6}[data-theme=dark] .update-banner-text{color:#bfdbfe}[data-theme=dark] .update-banner-current,[data-theme=dark] .update-banner-close{color:#93c5fd}[data-theme=dark] .update-banner-close:hover{background:#3b82f640;color:#dbeafe}.dashboard{display:flex;flex-direction:column}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.dashboard-loading{display:flex;justify-content:center;padding:80px 0}.dashboard-error{background:#fee2e2;color:#991b1b;padding:14px 18px;border-radius:10px}.dash-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;margin-bottom:18px;align-items:stretch}.dash-row--single{grid-template-columns:minmax(0,1fr)}.dash-stack{display:flex;flex-direction:column;gap:18px}.dash-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow)}.dash-card--grow{min-width:0}.dash-card--center .dash-card-body{display:flex;align-items:center}.dash-card--center .dash-tiles{width:100%}.dash-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.dash-card-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;color:var(--color-text)}.dash-card-dots{color:var(--color-muted);display:inline-flex}.dash-card-link{font-size:12.5px;font-weight:600;color:var(--color-primary);text-decoration:none;white-space:nowrap}.dash-card-link:hover{text-decoration:underline}.dash-card-body{flex:1;min-width:0}.dash-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.dash-tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-tiles--stack{grid-template-columns:minmax(0,1fr)}.dash-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-bg-subtle);color:inherit;text-align:left;font:inherit;cursor:default;transition:transform .15s ease,border-color .15s ease,background .15s ease}.dash-tile--compact{padding:12px}.dash-tile--compact .dash-tile-icon{width:36px;height:36px;margin-bottom:8px}.dash-tile--compact .dash-tile-value{font-size:22px}.dash-tile-text{display:flex;flex-direction:column;gap:2px;min-width:0}.dash-tile--row{flex-direction:row;align-items:center;gap:12px}.dash-tile--row .dash-tile-icon{margin-bottom:0}.dash-tile--row .dash-tile-text{align-items:flex-start}.dash-tile--clickable{cursor:pointer}.dash-tile--clickable:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background:var(--color-bg-hover)}.dash-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#fff;margin-bottom:12px;box-shadow:0 6px 16px #0000002e}.dash-tile-icon--pink{background:linear-gradient(135deg,#f472b6,#ec4899)}.dash-tile-icon--purple{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.dash-tile-icon--magenta{background:linear-gradient(135deg,#f472b6,#db2777)}.dash-tile-icon--orange{background:linear-gradient(135deg,#fb923c,#f97316)}.dash-tile-icon--cyan{background:linear-gradient(135deg,#22d3ee,#0891b2)}.dash-tile-icon--blue{background:linear-gradient(135deg,#60a5fa,#2563eb)}.dash-tile-icon--green{background:linear-gradient(135deg,#4ade80,#16a34a)}.dash-tile-icon--gray{background:linear-gradient(135deg,#94a3b8,#64748b)}.dash-tile-value{font-size:26px;font-weight:800;line-height:1.1;color:var(--color-text);letter-spacing:-.02em}.dash-tile-label{font-size:12.5px;color:var(--color-muted)}.dash-tile-hint{margin-top:2px;font-size:11px;color:var(--color-muted)}.dash-gauge{position:relative;display:flex;justify-content:center;margin:0 0 4px}.dash-gauge-track{stroke:var(--color-bg-subtle)}.dash-gauge-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.dash-gauge-score{font-size:30px;font-weight:800;line-height:1;color:var(--color-text);letter-spacing:-.03em}.dash-gauge-badge{padding:4px 14px;border-radius:999px;font-size:12px;font-weight:700}.dash-gauge--sm .dash-gauge-center{gap:4px}.dash-gauge--sm .dash-gauge-score{font-size:23px}.dash-gauge--sm .dash-gauge-badge{padding:2px 10px;font-size:10.5px}.dash-host{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}.dash-host-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-host-metric{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--color-bg-subtle)}.dash-host-metric-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--color-muted)}.dash-host-metric-value{font-size:17px;font-weight:800;color:var(--color-text)}.dash-host-metric-sub{font-size:11px;color:var(--color-muted)}.dash-host-offline{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 20px;text-align:center;border-radius:12px;background:var(--color-bg-subtle);border:1px dashed var(--color-border)}.dash-host-offline-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,#ef4444 14%,transparent);color:#ef4444}.dash-host-offline-title{font-size:14px;font-weight:700;color:var(--color-text)}.dash-host-offline-hint{font-size:12.5px;color:var(--color-muted);max-width:360px;line-height:1.4}.dash-tabs-wrap{margin-top:16px;padding-top:14px;border-top:1px solid var(--color-border)}.dash-tabs-viewport{position:relative;display:flex;align-items:center;width:100%}.dash-tabs-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-secondary);box-shadow:var(--shadow);cursor:pointer;transition:background .15s,color .15s}.dash-tabs-arrow:hover{background:var(--color-bg-hover);color:var(--color-text)}.dash-tabs-arrow--start{left:0}.dash-tabs-arrow--end{right:0}.dash-tabs{display:flex;flex:1;min-width:0;flex-wrap:nowrap;gap:4px;padding:0 2px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}.dash-tabs::-webkit-scrollbar{display:none}.dash-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;font-family:inherit;line-height:1;color:var(--color-text-muted);background:transparent;border:none;border-radius:8px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,color .15s}.dash-tab:hover{color:var(--color-text);background:var(--color-bg-hover)}.dash-tab--active,.dash-tab--active:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 14%,transparent)}.dash-tab-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dash-tab-dot--green{background:#22c55e}.dash-tab-dot--orange{background:#f97316}.dash-tab-dot--red{background:#ef4444}.dash-tab-label{display:inline-flex;align-items:center}.dash-infra-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border)}.dash-infra-grid--single{grid-template-columns:minmax(0,1fr)}.dash-subsection{min-width:0}.dash-subtitle{margin:0 0 12px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-muted)}.dash-platform{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.dash-donut{position:relative;display:inline-flex}.dash-donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px}.dash-donut-value{font-size:22px;font-weight:800;color:var(--color-text)}.dash-donut-label{font-size:11px;color:var(--color-muted)}.dash-donut--sm .dash-donut-value{font-size:11px;font-weight:700}.dash-donut--sm .dash-donut-label{display:none}.dash-legend{display:flex;flex-direction:column;gap:10px;flex:1;min-width:150px}.dash-legend-item{display:flex;align-items:center;gap:8px;font-size:13px}.dash-legend-item--clickable{width:100%;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:opacity .15s ease}.dash-legend-item--clickable:hover{opacity:.72}.dash-legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dash-legend-name{font-weight:600;color:var(--color-text)}.dash-legend-detail{margin-left:auto;color:var(--color-muted);font-size:12px;text-align:right}.dash-legend-empty{color:var(--color-muted);font-size:12.5px}.dash-metrics{display:flex;flex-direction:column}.dash-metric-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-border)}.dash-metric-row--clickable{width:100%;border:none;border-bottom:1px solid var(--color-border);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:opacity .15s ease}.dash-metric-row--clickable:hover{opacity:.72}.dash-metric-row:last-child{border-bottom:none;padding-bottom:0}.dash-metric-row:first-child{padding-top:0}.dash-metric-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;flex-shrink:0}.dash-metric-text{display:flex;flex-direction:column;gap:2px;min-width:0}.dash-metric-label{font-size:12px;color:var(--color-muted)}.dash-metric-value{font-size:16px;font-weight:700;color:var(--color-text)}.dash-metric-ring{position:relative;display:inline-flex;margin-left:auto;flex-shrink:0}.dash-metric-chart{display:inline-flex;align-items:center;margin-left:auto;flex-shrink:0}.dash-metric-ring-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--color-text-secondary)}.dash-ring{display:block}.dash-ring-track{stroke:var(--color-bg-subtle)}.master-admin-alert{display:flex;gap:14px;align-items:flex-start;background:#fffbeb;border:1px solid #fcd34d;border-left:4px solid #f59e0b;color:#78350f;border-radius:10px;padding:16px 18px;margin-bottom:20px;box-shadow:0 1px 2px #0f172a0f}.master-admin-alert-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#fef3c7;color:#d97706}.master-admin-alert-content{flex:1;min-width:0}.master-admin-alert-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:#92400e;margin-bottom:8px}.master-admin-alert-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13.5px;line-height:1.5;color:#78350f}.master-admin-alert-list a{color:#b45309;font-weight:600;text-decoration:underline;text-underline-offset:2px}.master-admin-alert-list a:hover{color:#92400e}[data-theme=dark] .master-admin-alert{background:#78350f40;border-color:#92400e;border-left-color:#f59e0b;color:#fde68a}[data-theme=dark] .master-admin-alert-icon{background:#f59e0b33;color:#fbbf24}[data-theme=dark] .master-admin-alert-title,[data-theme=dark] .master-admin-alert-list{color:#fde68a}[data-theme=dark] .master-admin-alert-list a{color:#fcd34d}[data-theme=dark] .master-admin-alert-list a:hover{color:#fde68a}@media(max-width:1100px){.dash-row{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.dash-host,.dash-infra-grid{grid-template-columns:minmax(0,1fr)}}.select-wrap{display:flex;flex-direction:column;gap:6px}.select-label{font-size:13px;font-weight:500;color:#334155}.select{width:100%;padding:9px 12px;border:1px solid #ece8e1;border-radius:10px;font-size:14px;color:var(--color-text);background:var(--color-bg);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.select-error{border-color:#dc2626}.select-error-msg{font-size:12px;color:#dc2626}.popup-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:center;background:color-mix(in srgb,var(--color-bg, #121212) 22%,rgba(0,0,0,.68));backdrop-filter:blur(12px) saturate(1.08);-webkit-backdrop-filter:blur(12px) saturate(1.08);animation:popup-overlay-in .2s ease-out}.popup-container--fullscreen2{align-items:stretch;justify-content:stretch;padding:0}.popup-container--keyboard-open{align-items:flex-start;padding-top:16px}.popup-content{position:fixed;left:50%;top:48px;width:min(92vw,520px);max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;background:var(--color-bg-elevated);color:var(--color-text);border:1px solid color-mix(in srgb,var(--color-border) 88%,transparent);border-radius:var(--shell-radius-md, 24px);box-shadow:var(--card-shadow, 0 28px 64px rgba(0, 0, 0, .38));opacity:0;transform:translate(-50%,14px);animation:popup-panel-in-default .24s cubic-bezier(.22,1,.36,1) forwards;transition:var(--transition-theme);user-select:text;-webkit-user-select:text}.popup-content--fullscreen{position:fixed;left:0;top:0;width:100vw;height:100vh;max-height:none;max-width:none;transform:none;border:none;border-radius:0;animation:popup-panel-in-fullscreen .22s cubic-bezier(.22,1,.36,1) forwards}@keyframes popup-panel-in-fullscreen{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.popup-content--fullscreen .popup-body{display:flex;flex-direction:column}.popup-content--fullscreen .popup-body>*{flex:1;min-height:0}.popup-content--fullscreen .log-viewer{max-height:none!important;height:100%}.popup-content--fullscreen .terminal{display:flex;flex-direction:column;height:100%;border:none;border-radius:0}.popup-content--fullscreen .terminal-xterm{flex:1;height:auto;min-height:300px}.popup-header{flex-shrink:0;padding:8px 14px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);background:color-mix(in srgb,var(--color-bg-subtle) 15%,var(--color-bg-elevated));transition:var(--transition-theme);user-select:none;-webkit-user-select:none}.popup-header-wrapper{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.popup-header-left{display:table;table-layout:fixed;min-width:0;flex:1;max-width:calc(100% - 44px);width:100%}.popup-header-icon{display:table-cell;width:36px;vertical-align:middle;color:var(--color-accent-strong);font-size:1.35rem;line-height:1}.popup-header-title{display:table-cell;padding-left:4px;font-size:.875rem;font-weight:600;letter-spacing:.02em;color:var(--color-text);max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.popup-header--centered{padding:14px}.popup-header--centered .popup-header-wrapper{position:relative;min-height:28px}.popup-header--centered .popup-header-left{display:none}.popup-header-right--centered{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}.popup-header__close-btn,.popup-header__icon-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:none;border-radius:10px;font-size:1.2rem;line-height:1;font-family:inherit;color:var(--color-text-muted);background:transparent;cursor:pointer;transition:color .15s ease,background .15s ease,var(--transition-theme)}.popup-header__icon-action-btn>svg{flex-shrink:0}.popup-header__close-btn:hover:not(:disabled),.popup-header__icon-action-btn:hover:not(:disabled){color:var(--color-text);background:var(--color-bg-hover)}.popup-header__close-btn:focus-visible,.popup-header__icon-action-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.popup-header__icon-action-btn:disabled{opacity:.45;cursor:not-allowed}.popup-body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0;box-sizing:border-box;color:var(--color-text);transition:var(--transition-theme)}.popup-body--no-footer{max-height:none}.popup-footer{flex-shrink:0;min-height:0;padding:0;border-top:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);background:color-mix(in srgb,var(--footer-bg, var(--color-bg-subtle)) 55%,var(--color-bg-elevated));transition:var(--transition-theme)}.popup-footer:empty{display:none;border:none}.popup-footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding:10px 14px 12px;box-sizing:border-box}.popup-footer-row__left{display:flex;align-items:center;gap:10px;margin-right:auto}.popup-footer-row__right{display:flex;align-items:center;gap:10px;margin-left:auto}.popup-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;margin:0;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.25;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease}.popup-btn:active:not(:disabled){transform:scale(.98)}.popup-btn:disabled{opacity:.45;cursor:not-allowed}.popup-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.popup-btn--secondary{color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-bg-hover) 92%,var(--color-bg-elevated));border-color:color-mix(in srgb,var(--color-border) 85%,transparent)}.popup-btn--secondary:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text);border-color:color-mix(in srgb,var(--color-border) 100%,transparent)}.popup-btn--primary{color:var(--color-button-primary-text, #fff);background:var(--color-button-primary-bg);border-color:var(--color-button-primary-border);box-shadow:0 2px 10px color-mix(in srgb,var(--color-button-primary-bg) 28%,transparent)}.popup-btn--primary:hover:not(:disabled){filter:brightness(1.06)}.popup-btn--danger{color:#fff;background:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 70%,var(--color-bg-primary));box-shadow:0 2px 10px color-mix(in srgb,var(--color-danger) 32%,transparent)}.popup-btn--danger:hover:not(:disabled){filter:brightness(1.06)}@keyframes popup-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes popup-panel-in-default{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}@keyframes popup-panel-in-center{0%{opacity:0;transform:translate(-50%,calc(-50% + 18px))}to{opacity:1;transform:translate(-50%,-50%)}}.popup-container--position-top{align-items:flex-start;padding-top:16px}.popup-container--position-top .popup-content:not(.popup-content--fullscreen){top:48px}.popup-container--position-center{align-items:center}.popup-container--position-center .popup-content:not(.popup-content--fullscreen){top:50%;transform:translate(-50%,calc(-50% + 14px));animation:popup-panel-in-center-pos .26s cubic-bezier(.22,1,.36,1) forwards}@keyframes popup-panel-in-center-pos{0%{opacity:0;transform:translate(-50%,calc(-50% + 22px))}to{opacity:1;transform:translate(-50%,-50%)}}.popup-container--position-bottom{align-items:flex-end;padding-bottom:20px}.popup-container--position-bottom .popup-content:not(.popup-content--fullscreen){top:auto;bottom:24px;transform:translate(-50%,16px);animation:popup-panel-in-bottom .26s cubic-bezier(.22,1,.36,1) forwards}@keyframes popup-panel-in-bottom{0%{opacity:0;transform:translate(-50%,28px)}to{opacity:1;transform:translate(-50%)}}.confirm-message{margin:0;color:var(--color-text-secondary);font-size:14px;line-height:1.6}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;line-height:1.5}.badge-green{background:#dcfce7;color:#166534}.badge-red{background:#fee2e2;color:#991b1b}.badge-yellow{background:#fef9c3;color:#854d0e}.badge-blue{background:#dbeafe;color:#1e40af}.badge-gray{background:var(--color-bg-hover);color:var(--color-text-secondary)}.badge-purple{background:#ede9fe;color:#5b21b6}.log-viewer{background:#0b1120;color:#e2e8f0;border-radius:10px;padding:14px;overflow:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-all;margin:0}.log-empty{color:#64748b}.log-viewer-highlight{color:#60a5fa;font-weight:700}.deploy-popup{display:flex;flex-direction:column;gap:12px}.deploy-popup-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.deploy-popup-time{font-size:12.5px;color:#64748b}.app-card{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;padding:15px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:none;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;cursor:pointer}.app-card:hover{background:#fdfcfb;border-color:#e2ddd6;box-shadow:0 2px 14px #5f6d7e0f}.app-card-dragging{cursor:grabbing}.app-card-head{display:flex;flex-direction:column;gap:6px}.app-card-title{display:flex;align-items:center;gap:8px;min-width:0}.app-card-actions-top{margin-left:auto;display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.app-card-actions-top .btn-ghost{color:#8a94a8}.app-card-actions-top .btn-ghost:hover:not(:disabled){background:var(--color-bg);color:var(--color-text-secondary)}.app-card-drag{display:inline-flex;color:var(--color-muted);flex-shrink:0;opacity:.55}.app-card:hover .app-card-drag{opacity:.85}.app-card-name{font-weight:700;font-size:14px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;letter-spacing:-.01em}.app-card-name:hover{color:var(--color-primary-strong);text-decoration:underline;text-underline-offset:2px}.app-card-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.app-card-badges{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.app-card-meta-item{font-size:11.5px;color:var(--color-muted);background:var(--color-bg);border-radius:8px;padding:3px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;border:1px solid transparent}.app-card-meta-item.mono{font-family:SFMono-Regular,Consolas,Menlo,monospace}.app-card-deploy-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:2px 9px;cursor:pointer;flex-shrink:0;opacity:.92}.app-card-deploy-badge:hover{background:#fde68a}.app-card-deploy-spin{animation:app-card-deploy-spin 1s linear infinite}@keyframes app-card-deploy-spin{to{transform:rotate(360deg)}}.group-card{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;padding:6px 10px 6px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:grab;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;box-shadow:none}.group-card:active{cursor:grabbing}.group-card:hover{background:#fdfcfb;border-color:#e2ddd6;box-shadow:0 2px 14px #5f6d7e0f}.group-card-drop{border-color:var(--color-primary);background:#eefaf4;box-shadow:0 0 0 2px #7ec8a62e}.group-card-main{display:flex;align-items:center;gap:10px;min-width:0;color:var(--color-text);cursor:pointer;flex:1;padding:8px 0}.group-card-main:hover .group-card-name{text-decoration:underline}.group-card-drag{display:inline-flex;color:var(--color-muted);flex-shrink:0;opacity:.55}.group-card:hover .group-card-drag{opacity:.85}.group-card-name{font-weight:700;font-size:14px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}.group-card-open-hint{font-size:11px;font-weight:500;color:var(--color-muted);flex-shrink:0}.group-card-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.group-card-action-label{font-size:11px;font-weight:500;margin-left:4px;color:var(--color-muted)}.applications-page{display:flex;flex-direction:column;gap:16px}.page-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.page-toolbar-info{display:flex;flex-direction:column;gap:8px;min-width:0}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:2px;font-size:14px;justify-content:end}.breadcrumb-item-wrap{display:inline-flex;align-items:center;gap:2px}.breadcrumb-sep{color:#cbd5e1;margin:0 4px}.breadcrumb-item{color:var(--color-muted);font-weight:500;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.breadcrumb-item:hover{background:var(--color-bg-subtle);color:var(--color-text-secondary);text-decoration:none}.breadcrumb-current{color:var(--color-text);cursor:default}.breadcrumb-current:hover{background:transparent;text-decoration:none}.breadcrumb-drop{background:#eefaf4;box-shadow:0 0 0 2px #7ec8a647;color:var(--color-text)}.app-root{display:flex;flex-direction:column;gap:10px;border:1px dashed transparent;border-radius:14px;padding:4px;transition:border-color .15s ease,background-color .15s ease;min-height:120px}.app-root-drop{border-color:var(--color-primary);background:#eefaf4}.app-root-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:48px 16px;color:#94a3b8;font-size:14px;text-align:center}.app-root-empty-sub{font-size:12.5px;color:#cbd5e1}.group-popup-body{display:flex;flex-direction:column;gap:14px;min-width:320px}.group-popup-footer{display:flex;justify-content:flex-end;gap:8px;padding:6px 5px}@media(max-width:900px){.page-toolbar-actions .btn-text{display:none}}.vx{display:flex;flex-direction:column;height:100%;min-height:0;gap:8px;box-sizing:border-box}.vx-toolbar{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:10px;background:color-mix(in srgb,var(--color-bg-subtle) 30%,var(--color-bg-elevated));flex-shrink:0}.vx-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--color-text-secondary);font-family:var(--font-mono, monospace)}.vx-refresh{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer}.vx-refresh:hover{background:var(--color-bg-hover);color:var(--color-text)}.vx-error{padding:8px 12px;border-radius:8px;font-size:12.5px;color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,transparent);flex-shrink:0}.vx-grid{display:grid;grid-template-columns:240px 1fr 1fr;gap:10px;flex:1;min-height:0}@media(max-width:860px){.vx-grid{grid-template-columns:1fr 1fr}.vx-col-preview{grid-column:1 / -1;grid-row:2}}.vx-col{display:flex;flex-direction:column;min-height:0;border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--color-bg-subtle) 22%,var(--color-bg-elevated))}.vx-col-title{flex-shrink:0;padding:6px 12px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.vx-tree,.vx-file-list{flex:1;min-height:0;overflow:auto;padding:4px}.vx-tree-row{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;cursor:pointer;font-size:12.5px;color:var(--color-text);white-space:nowrap}.vx-tree-row:hover{background:var(--color-bg-hover)}.vx-tree-row--active{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.vx-tree-caret{display:inline-flex;align-items:center;width:14px;flex-shrink:0;color:var(--color-text-muted)}.vx-caret-dim{opacity:.35}.vx-tree-folder{flex-shrink:0;color:var(--color-accent)}.vx-tree-label{overflow:hidden;text-overflow:ellipsis}.vx-file-row{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:6px;cursor:pointer;font-size:12.5px;color:var(--color-text)}.vx-file-row:hover{background:var(--color-bg-hover)}.vx-file-row--active{background:color-mix(in srgb,var(--color-accent) 16%,transparent)}.vx-file-row>svg{flex-shrink:0;color:var(--color-text-muted)}.vx-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-file-size{flex-shrink:0;font-size:11px;color:var(--color-text-muted);font-family:var(--font-mono, monospace)}.vx-center{display:flex;align-items:center;justify-content:center;padding:20px}.vx-empty{padding:18px 12px;text-align:center;font-size:12.5px;color:var(--color-text-muted)}.vx-preview-header{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600;color:var(--color-text);border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.vx-preview-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-download-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer}.vx-download-btn:hover{background:var(--color-bg-hover);color:var(--color-accent)}.vx-preview-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.vx-preview-empty{display:flex;align-items:center;justify-content:center;flex:1;padding:24px;font-size:12.5px;color:var(--color-text-muted);text-align:center}.vx-preview-center{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:10px;padding:24px;text-align:center;font-size:13px;color:var(--color-text-muted)}.vx-preview-error{color:var(--color-danger)}.vx-preview-media{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:12px;background:repeating-conic-gradient(color-mix(in srgb,var(--color-bg-subtle) 60%,transparent) 0% 25%,transparent 0% 50%) 50% / 18px 18px}.vx-preview-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}.vx-preview-video{max-width:100%;max-height:100%;border-radius:6px}.vx-preview-audio{background:none}.vx-preview-text{flex:1;margin:0;padding:12px;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono, monospace);color:var(--color-text)}.popup-content.vx-popup-content:not(.popup-content--fullscreen){width:min(96vw,1400px);max-width:96vw}.popup-content.vx-popup-content .popup-body{display:flex;flex-direction:column;min-height:480px;height:100%}.popup-content.vx-popup-content .popup-body>*{flex:1;min-height:0}.tabs{display:flex;flex-direction:column;gap:1.5rem}.tabs__list{display:flex;gap:.25rem;padding:8px 0;border-bottom:1px solid var(--color-border);width:100%;transition:var(--transition-theme)}.tabs__tab{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;font-family:inherit;line-height:1;color:var(--color-text-muted);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,var(--transition-theme)}.tabs__tab-inner{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;line-height:1}.tabs__tab-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.tabs__tab-icon svg{display:block}.tabs__tab-label{display:inline-flex;align-items:center;line-height:1}.tabs__tab-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1rem;height:1rem;border-radius:999px;font-size:.75rem}.tabs__tab-badge--success{color:var(--color-success, #2dd4a0);background:color-mix(in srgb,var(--color-success, #2dd4a0) 18%,transparent)}.tabs__tab-badge--error{color:var(--color-danger, #ef5350);background:color-mix(in srgb,var(--color-danger, #ef5350) 18%,transparent)}.tabs__tab-badge--pinned{color:var(--color-accent-strong, var(--color-accent));background:color-mix(in srgb,var(--color-accent-subtle, #dbeafe) 70%,transparent)}.tabs__tab:hover{color:var(--color-text);background:var(--color-bg-hover)}.tabs__tab--locked{opacity:.45;filter:grayscale(100%);cursor:not-allowed}.tabs__tab--locked:hover{color:var(--color-text-muted);background:transparent}.tabs__sublist .tabs__tab--locked:hover{color:var(--color-text-muted)}.tabs__tab--active{color:var(--color-accent-strong);background:var(--color-accent-subtle)}.tabs__tab--active:hover{color:var(--color-accent-active-text);background:color-mix(in srgb,var(--color-accent-subtle) 80%,var(--color-accent) 20%)}.tabs__panel{min-width:0}.tabs__panel--with-footer{display:flex;flex-direction:column;min-height:0;overflow:hidden}.tabs__panel-body{min-width:0}.tabs__panel--with-footer .tabs__panel-body{flex:1;min-height:0;overflow-y:auto}.tabs__panel-footer,.tabs__panel-header{flex-shrink:0}.tabs--with-sub{gap:.125rem}.tabs__sub{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.tabs__sublist{display:flex;flex-wrap:wrap;gap:.125rem;padding:.1rem 0}.tabs__sublist-row{display:flex;align-items:stretch;width:100%;min-width:0}.tabs__sublist-row .tabs__sublist{flex:1;min-width:0}.tabs__sublist-row .tabs__list-trailing{padding:0 0 0 .5rem}.tabs__sublist .tabs__tab{height:2rem;padding:0 .6rem;border-radius:0;background:transparent;color:var(--color-text-muted);font-weight:400}.tabs__sublist .tabs__tab:hover{background:transparent;color:var(--color-text)}.tabs__sublist .tabs__tab--active,.tabs__sublist .tabs__tab--active:hover{background:transparent;color:var(--color-accent-strong)}.tabs--scrollable .tabs__list-scroll{display:flex;align-items:stretch;width:100%;max-width:100%;min-width:0}.tabs--scrollable .tabs__list-scroll--with-trailing{border-bottom:1px solid var(--color-border)}.tabs--scrollable .tabs__list-scroll--with-trailing .tabs__list{border-bottom:none}.tabs--scrollable .tabs__list-scroll--with-trailing .tabs__list-trailing{padding:.25rem 0 .25rem .5rem}.tabs--scrollable .tabs__list-scroll-inner{position:relative;flex:1;min-width:0;overflow:hidden}.tabs--scrollable .tabs__list-scroll-inner .tabs__list{width:100%;max-width:100%;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.tabs--scrollable .tabs__list-scroll--with-trailing .tabs__list-fade--end{right:0}.tabs__list-row{display:flex;align-items:stretch;width:100%;min-width:0;border-bottom:1px solid var(--color-border)}.tabs__list-row .tabs__list{flex:1;min-width:0;width:auto;border-bottom:none}.tabs__list-row .tabs__list-trailing{border-left:none;background:transparent;padding:.25rem 0 .25rem .5rem}.tabs__list-trailing{display:flex;align-items:center;flex-shrink:0;padding:.25rem .375rem .25rem 0}.tabs--scrollable .tabs__list-scroll-inner .tabs__list::-webkit-scrollbar{display:none}.tabs--scrollable .tabs__tab{flex-shrink:0;white-space:nowrap}.tabs--scrollable .tabs__list-scroll-inner .tabs__list-fade{position:absolute;top:1px;bottom:1px;width:2rem;z-index:1;pointer-events:none;opacity:1;transition:opacity .2s ease}.tabs__list-fade--hidden{opacity:0}.tabs__list-fade--start{left:1px}.tabs__list-fade--end{right:1px}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.application-detail{margin:0 auto}.app-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.app-detail-header .form-title{margin:0}.app-detail-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.app-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.app-detail-grid .app-detail-general{grid-column:1 / -1}.app-detail-grid .app-detail-general .kv-grid{grid-template-columns:repeat(4,1fr)}.app-detail-grid .app-detail-logs-panel{min-width:0}.app-detail-logs-panel{display:flex;flex-direction:column}.app-detail-logs-panel .dashboard-panel-body{flex:1;display:flex;flex-direction:column}.app-detail-logs-panel .log-viewer{flex:1;min-height:260px;max-height:260px}@media(max-width:820px){.app-detail-grid{grid-template-columns:1fr}.app-detail-grid .app-detail-general .kv-grid{grid-template-columns:repeat(2,1fr)}.app-detail-top-row{grid-template-columns:1fr}}.app-detail-logs-actions{display:flex;align-items:center;gap:6px}.app-detail-logs-refresh{display:flex;align-items:center;justify-content:center;width:30px;height:0px;padding:0;border:0px solid var(--color-border);border-radius:8px;background:transparent;color:var(--color-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.app-detail-logs-refresh:hover{color:var(--color-text)}.app-detail-logs-refresh:disabled{opacity:.5;cursor:not-allowed}.app-detail-logs-refresh-spin{animation:start-log-spin .9s linear infinite}.app-detail-logs-loading{display:flex;align-items:center;justify-content:center;padding:40px 0}.app-detail-top-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.app-detail-top-row .app-detail-panel{margin-bottom:0}.app-detail-panel,.app-detail-error{margin-bottom:16px}.app-detail-proxies,.app-detail-deploys,.app-detail-volumes,.app-detail-containers{overflow-x:auto}.app-detail-webhook{margin-top:14px;display:flex;flex-direction:column;gap:6px}.app-detail-webhook-code-wrap{position:relative;display:flex;align-items:center;width:100%}.app-detail-webhook-code{flex:1;min-width:0;background:#0b1120;color:#e2e8f0;padding:8px 68px 8px 10px;border-radius:8px;font-size:12px;overflow-x:auto;white-space:normal;word-break:break-all}.app-detail-webhook-copy{position:absolute;right:36px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:6px;background:transparent;color:#94a3b8;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.app-detail-test-open{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:transparent;color:#94a3b8;text-decoration:none;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.app-detail-webhook-code-wrap:hover .app-detail-webhook-copy,.app-detail-webhook-code-wrap:hover .app-detail-test-open,.app-detail-webhook-copy:focus-visible,.app-detail-test-open:focus-visible{opacity:1}.app-detail-webhook-copy:hover,.app-detail-test-open:hover{background:#334155;color:#e2e8f0}.app-detail-webhook-hint{font-size:11.5px;color:#64748b;margin:0}.deploy-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 0 2px}.deploy-pagination-info{font-size:12px;color:#94a3b8;min-width:42px;text-align:center}.deploy-pagination .btn:disabled{opacity:.35;cursor:not-allowed}.volume-details{padding:16px;min-width:360px;box-sizing:border-box}.start-log-panel{border:1px solid #ece8e1;animation:start-log-in .22s ease}@keyframes start-log-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.start-log-panel .dashboard-panel-header{gap:10px}.start-log-panel .dashboard-panel-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.start-log-spin{animation:start-log-spin .9s linear infinite;color:#eab308}@keyframes start-log-spin{to{transform:rotate(360deg)}}.start-log-icon-success{color:#16a34a}.start-log-icon-failed{color:#dc2626}.start-log-header-actions{display:flex;align-items:center;gap:6px}.start-log-timeline{display:flex;flex-direction:column;gap:4px;background:var(--color-bg);border:1px solid #ece8e1;border-radius:8px;padding:10px 12px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:1.5;color:#334155}.start-log-line{white-space:pre-wrap;word-break:break-all}.start-log-pending{display:flex;align-items:center;gap:6px;color:#64748b;font-style:italic}.start-log-dot{width:7px;height:7px;border-radius:50%;background:#eab308;display:inline-block;animation:start-log-pulse 1.2s ease-in-out infinite}@keyframes start-log-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.start-log-divider{height:1px;background:#e2e8f0;margin:12px 0}.start-log-container-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.start-log-container-title{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#334155}.start-log-hint{margin:10px 0 0;font-size:12px;display:inline-flex;align-items:center;gap:6px}.start-log-hint.success{color:#15803d}.start-log-hint.failed{color:#b91c1c}.as-timeline{display:flex;flex-direction:column;gap:6px;margin-top:4px}.as-timeline-row{display:flex;align-items:center;gap:8px;font-size:13px}.as-dot{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#f1f5f9;color:#475569}.as-time{font-size:12px;color:#64748b;min-width:140px}.as-popup{min-width:520px;max-width:640px}.as-timeline.full{gap:0}.as-timeline-item{display:flex;gap:12px;position:relative;padding-bottom:16px}.as-timeline-left{display:flex;flex-direction:column;align-items:center;width:32px}.as-timeline-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.as-timeline-dot.scale_up{background:#16a34a}.as-timeline-dot.scale_down{background:#eab308;color:#1e293b}.as-timeline-line{flex:1;width:2px;background:#e2e8f0;margin-top:4px;min-height:20px}.as-timeline-item:last-child .as-timeline-line{display:none}.as-timeline-content{flex:1;background:var(--color-bg);border:1px solid #ece8e1;border-radius:8px;padding:10px 12px}.as-timeline-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.as-timeline-body{font-size:13px;display:flex;gap:8px;flex-wrap:wrap}.as-timeline-meta{display:flex;gap:12px;margin-top:6px;font-size:11px;color:#64748b;flex-wrap:wrap}.as-reason{font-style:italic}.container-dropdown{position:fixed;min-width:160px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0f172a1f;padding:6px;z-index:100}.container-dropdown-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;cursor:pointer;padding:9px 12px;border-radius:8px;font-size:13.5px;color:#334155;text-align:left;transition:background .15s ease}.container-dropdown-item:hover{background:#f1f5f9}.container-dropdown-item-danger{color:#dc2626}.container-dropdown-item-danger:hover{background:#fee2e2}.app-detail-containers-tabs{margin-left:auto}.app-detail-containers-tabs .tabs{gap:0}.app-detail-containers-tabs .tabs__list{border-bottom:none;padding:0;gap:2px}.app-detail-containers-tabs .tabs__tab{padding:4px 10px;font-size:12px;height:28px}.app-detail-containers-tabs .tabs__panel{display:none}.app-detail-containers-tabs~.dashboard-panel-body{margin-top:0}.pending-deploy-banner{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;border:1px solid #fcd34d;border-radius:10px;background:#fffbeb;color:#92400e;font-size:13.5px;font-weight:600}.pending-deploy-banner span{flex:1}.pending-deploy-banner svg{color:#d97706;flex-shrink:0}.deploy-highlight{animation:deploy-pulse 1.8s ease-in-out infinite}@keyframes deploy-pulse{0%,to{box-shadow:0 0 #4f46e580}50%{box-shadow:0 0 0 5px #4f46e500}}[data-theme=dark] .pending-deploy-banner{background:#d9770626;border-color:#d9770680;color:#fcd34d}:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:.9;--rt-transition-show-delay:.15s;--rt-transition-closing-delay:.15s;--rt-arrow-size:8px}.core-styles-module_tooltip__3vRRp{left:0;opacity:0;pointer-events:none;position:absolute;top:0}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:inherit;position:absolute;z-index:-1}.core-styles-module_content__BRKdB{position:relative;z-index:1}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay) ease-out;will-change:opacity}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay) ease-in;will-change:opacity}.styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;width:max-content}.styles-module_content__ydYdI{background:inherit;border-radius:inherit;padding:8px 16px}.styles-module_arrow__K0L3T{height:var(--rt-arrow-size);width:var(--rt-arrow-size)}[class*=react-tooltip__place-top]>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*=react-tooltip__place-right]>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*=react-tooltip__place-bottom]>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*=react-tooltip__place-left]>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}.textarea-wrap{display:flex;flex-direction:column;gap:6px;width:100%}.textarea-label{font-size:13px;font-weight:500;color:#334155}.textarea{width:100%;padding:9px 12px;border:1px solid #ece8e1;border-radius:10px;font-size:13.5px;color:var(--color-text);background:var(--color-bg);resize:vertical;min-height:80px;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.textarea-mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.textarea-error{border-color:#dc2626}.textarea-hint{font-size:12px;color:#64748b}.textarea-error-msg{font-size:12px;color:#dc2626}.toggle{display:inline-flex;align-items:center;gap:.75rem;flex-shrink:0;vertical-align:middle}.toggle__btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;margin:0;border:none;background:transparent;cursor:pointer;line-height:0}.toggle__btn:disabled{cursor:not-allowed}.toggle__btn:disabled .toggle__track{opacity:.5}.toggle__track{position:relative;display:inline-block;width:2.25rem;height:1.25rem;border-radius:999px;background:var(--color-border);transition:background .15s}.toggle__track:after{content:"";position:absolute;top:2px;left:2px;width:.875rem;height:.875rem;border-radius:50%;background:#fff;transition:transform .15s}.toggle__btn--on .toggle__track{background:var(--color-primary, #3498db)}.toggle__btn--on .toggle__track:after{transform:translate(1rem)}.toggle__btn:focus-visible .toggle__track{outline:2px solid var(--color-primary, #3498db);outline-offset:2px}.toggle__btn:disabled~.toggle__text,.toggle__btn:disabled~.toggle__label,.toggle__btn:disabled~.toggle__state{opacity:.5}.toggle__text{display:flex;flex-direction:column;gap:2px}.toggle__label{font-size:.875rem;color:var(--color-text, inherit)}.toggle__description{font-size:.75rem;line-height:1.35;color:var(--color-text-muted, #888)}.toggle__state{font-size:.875rem;color:var(--color-text-muted, #888);min-width:6.5rem;display:inline-block}.form-back{margin-bottom:14px}.form-title{margin:0 0 18px;font-size:18px;font-weight:700;color:#0f172a}[data-theme=dark] .form-actions{border-top-color:#303a49}[data-theme=dark] .form-webhook-label{color:#f1f5f9;border-bottom-color:#303a49}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ece8e1;padding-top:16px}.form-actions-left,.form-actions-right{display:flex;align-items:center;gap:8px}.form-grid-full{grid-column:1 / -1}.form-toggle-wrap{display:flex;flex-direction:column;gap:4px}.form-toggle-hint{font-size:11.5px;color:#64748b;margin:0}.form-webhook{display:flex;flex-direction:column;gap:12px}.form-webhook-label{font-size:14px;font-weight:700;color:#0f172a;padding-bottom:8px;border-bottom:1px solid #ece8e1;width:100%}.form-webhook-row{display:flex;align-items:flex-start;gap:8px}.form-webhook-input{flex:1;min-width:0}.form-webhook-input .input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.form-webhook-copy{margin-top:1px;white-space:nowrap}.form-webhook-hint{font-size:12px;color:#64748b;margin:0}.constraints-field{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px}.constraints-label-row{display:flex;align-items:center;gap:8px}.form-ports-field .input-label{margin-bottom:10px;display:block}.constraints-help-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:50%;background:var(--color-bg-hover);color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.constraints-help-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.constraints-help{font-size:13px;line-height:1.5;color:var(--color-text-secondary);padding:14px 16px 16px}.constraints-help code{background:var(--color-bg-hover);padding:1px 4px;border-radius:4px;font-size:12px;color:var(--color-text)}.constraints-help-table{width:100%;border-collapse:collapse;margin:10px 0;font-size:12.5px}.constraints-help-table th,.constraints-help-table td{text-align:left;padding:6px 8px;border:1px solid var(--color-border)}.constraints-help-table th{background:var(--color-bg-subtle);color:var(--color-text-muted)}.constraints-help-note{margin:6px 0 0;font-size:12px;color:var(--color-muted)}.form-section .form-section{background:var(--color-bg);border-color:#ece8e1}[data-theme=dark] .form-section .form-section{background:#1e232b;border-color:#303a49}.form-card .form-webhook-input .input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.form-divider{border:none;border-top:1px solid #ece8e1;margin:4px 0;opacity:1}[data-theme=dark] .form-divider{border-top-color:#303a49}.cluster-note{font-size:13px;color:var(--color-muted);margin:0;padding:12px;background:var(--color-bg);border-radius:8px;border:1px dashed var(--color-border)}.cluster-note--warn{border-style:solid;border-color:#f0c36d;background:#fffbeb;color:#92400e}[data-theme=dark] .cluster-note--warn{background:#3d3219;border-color:#7a6520;color:#fbbf24}.cluster-note a{color:var(--color-primary)}.placement-strategy{display:flex;flex-direction:column;gap:10px}.placement-strategy-title{font-size:13px;font-weight:600;color:var(--color-text)}.placement-strategy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:760px){.placement-strategy-grid{grid-template-columns:1fr}}.placement-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.placement-card:hover:not(:disabled){border-color:var(--color-primary)}.placement-card--active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-bg));box-shadow:0 0 0 2px var(--color-focus-ring)}.placement-card--disabled{opacity:.55;cursor:not-allowed}.placement-card-head{display:flex;align-items:center;gap:8px}.placement-card-radio{flex:0 0 auto;width:14px;height:14px;border-radius:50%;border:2px solid var(--color-border);display:inline-block;position:relative}.placement-card--active .placement-card-radio{border-color:var(--color-primary)}.placement-card--active .placement-card-radio:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--color-primary)}.placement-card-label{font-size:13px;font-weight:600}.placement-card-desc{font-size:11.5px;line-height:1.45;color:var(--color-muted)}.worker-select-actions{display:flex;gap:8px;margin-bottom:8px}.worker-select-btn{font-size:11.5px;padding:4px 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:background .15s,border-color .15s}.worker-select-btn:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.worker-cards{display:flex;flex-direction:column;gap:6px}.worker-card{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);cursor:pointer;transition:border-color .15s,background .15s}.worker-card:hover{border-color:var(--color-primary)}.worker-card--active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-bg))}.worker-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.worker-card-name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-text)}.worker-card-meta{font-size:11.5px;color:var(--color-muted)}.worker-tag{font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.02em}.worker-tag--manager{background:color-mix(in srgb,#3b82f6 18%,transparent);color:#1d4ed8}.worker-tag--reserved{background:color-mix(in srgb,#f59e0b 20%,transparent);color:#b45309}[data-theme=dark] .worker-tag--manager{color:#93c5fd}[data-theme=dark] .worker-tag--reserved{color:#fbbf24}.service-placement-list{display:flex;flex-direction:column;gap:8px}.service-placement-row{display:flex;align-items:center;gap:10px}.service-placement-name{font-size:13px;font-weight:500;min-width:110px;color:var(--color-text)}.service-placement-select{flex:1;font-size:13px;padding:6px 10px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.service-placement-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.placement-summary{margin:0;font-size:12.5px;line-height:1.5;color:var(--color-text);padding:10px 14px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:10px}.advanced-toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;border:none;background:transparent;padding:0;font-size:12.5px;font-weight:600;color:var(--color-muted);cursor:pointer}.advanced-toggle:hover{color:var(--color-text)}.advanced-toggle-icon{transition:transform .15s}.advanced-toggle-icon--open{transform:rotate(180deg)}.containers-page .containers-summary{font-size:13.5px;color:#475569}.containers-page .row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.containers-page .row-actions .btn-ghost{color:#475569}.containers-page .row-actions .action-btn{width:30px;padding:5px 0;background:transparent}.containers-page .row-actions .action-btn:disabled{background:transparent!important;color:#94a3b8!important;opacity:.4}.containers-page .row-actions .action-start{color:#16a34a}.containers-page .row-actions .action-start:hover:not(:disabled){background:#f1f5f9;color:#15803d}.containers-page .row-actions .action-stop{color:#dc2626}.containers-page .row-actions .action-stop:hover:not(:disabled){background:#f1f5f9;color:#b91c1c}.containers-page .row-actions .action-restart{color:#2563eb}.containers-page .row-actions .action-restart:hover:not(:disabled){background:#f1f5f9;color:#1d4ed8}.containers-page .row-actions .action-btn[title=Delete]{color:#94a3b8}.containers-page .row-actions .action-btn[title=Delete]:hover:not(:disabled){background:#f1f5f9;color:#dc2626}[data-theme=dark] .containers-page .row-actions .action-btn:hover:not(:disabled){background:#334155}.container-card-actions{display:flex;align-items:center;gap:4px}.container-card-actions .btn-ghost{color:#475569}.container-card-actions .action-btn{width:30px;padding:5px 0;background:transparent}.container-card-actions .action-btn:disabled{background:transparent!important;color:#94a3b8!important;opacity:.4}.container-card-actions .action-start{color:#16a34a}.container-card-actions .action-start:hover:not(:disabled){background:#f1f5f9;color:#15803d}.container-card-actions .action-stop{color:#dc2626}.container-card-actions .action-stop:hover:not(:disabled){background:#f1f5f9;color:#b91c1c}.container-card-actions .action-restart{color:#2563eb}.container-card-actions .action-restart:hover:not(:disabled){background:#f1f5f9;color:#1d4ed8}.container-card-actions .action-btn[title=Delete]{color:#94a3b8}.container-card-actions .action-btn[title=Delete]:hover:not(:disabled){background:#f1f5f9;color:#dc2626}[data-theme=dark] .container-card-actions .action-btn:hover:not(:disabled){background:#334155}.tabs__tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:600;background:var(--color-bg-hover, #f1f5f9);color:var(--color-text-muted, #64748b);margin-left:2px}.tabs__tab--active .tabs__tab-count{background:var(--color-accent-subtle, #dbeafe);color:var(--color-accent-strong, #2563eb)}.containers-tab-panel{display:flex;flex-direction:column;gap:12px}.containers-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.containers-search{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;max-width:420px;padding:8px 10px;border:1px solid var(--color-border, #e2e8f0);border-radius:10px;background:var(--color-bg, #fff);transition:border-color .15s,box-shadow .15s}.containers-search:focus-within{border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px var(--color-focus-ring, rgba(37, 99, 235, .15))}.containers-search-icon{color:#94a3b8;flex-shrink:0}.containers-search-input{flex:1;min-width:0;border:none;outline:none;font-size:13px;color:var(--color-text, #0f172a);background:transparent}.containers-search-input::placeholder{color:#94a3b8}.containers-search-clear{border:none;background:#f1f5f9;color:#64748b;width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;line-height:1;padding:0}.containers-search-clear:hover{background:#e2e8f0;color:#334155}.containers-count{font-size:12.5px;color:#64748b;white-space:nowrap}.containers-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 0 4px}.containers-pagination-info{font-size:12.5px;color:#64748b;white-space:nowrap}.containers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.containers-empty{padding:28px 16px;text-align:center;color:#94a3b8;font-size:13px;border:1px dashed #e2e8f0;border-radius:12px;background:var(--color-bg, #fff)}.container-card{background:var(--color-surface, #fff);border:1px solid #ece8e1;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.container-card:hover{background:#fdfcfb;border-color:#e2ddd6;box-shadow:0 2px 14px #5f6d7e0f}.container-card--clickable{cursor:pointer}.container-card--clickable:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.container-card-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.container-card-field{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.container-card-field--right{justify-content:flex-end;text-align:right}.container-card-label{font-size:12px;font-weight:600;color:#64748b;white-space:nowrap;flex-shrink:0}.container-card-value{font-size:13px;color:var(--color-text, #0f172a);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container-card-value--strong{font-weight:700;letter-spacing:-.01em}.container-card-value--mono{font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:12px}.container-card-value--truncate{max-width:220px}.container-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid #f1f5f9;margin-top:2px}[data-theme=dark] .container-card{background:var(--color-bg-elevated, #1e293b);border-color:#334155}[data-theme=dark] .container-card:hover{background:#232f45;border-color:#3b4c66}[data-theme=dark] .container-card-footer{border-top-color:#334155}[data-theme=dark] .containers-empty{background:var(--color-bg-elevated, #1e293b);border-color:#334155;color:#64748b}.container-detail-popup{display:flex;flex-direction:column;gap:16px;min-width:min(560px,90vw);max-width:640px}.container-detail-loading{display:flex;align-items:center;justify-content:center;padding:32px 0}.container-detail-section{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid #f1f5f9;border-radius:12px;background:var(--color-bg, #fff)}[data-theme=dark] .container-detail-section{background:var(--color-bg-elevated, #1e293b);border-color:#334155}.container-detail-section-title{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--color-text, #0f172a);margin:0;letter-spacing:-.01em}.container-detail-kv{display:flex;flex-direction:column;gap:6px}.container-detail-kv-row{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:start;font-size:12.5px;line-height:1.4}.container-detail-kv-row span{color:#64748b;font-weight:500;display:inline-flex;align-items:center;gap:4px}.container-detail-kv-row strong{color:var(--color-text, #0f172a);font-weight:600;word-break:break-all;font-size:12.5px}.container-detail-note{font-size:11.5px;color:#64748b;padding:6px 8px;background:#f8fafc;border-radius:8px}.container-detail-note.muted{background:transparent;padding:4px 0}[data-theme=dark] .container-detail-note{background:#0f172a;color:#94a3b8}.container-detail-mounts{display:flex;flex-direction:column;gap:4px}.container-detail-mount{font-size:11.5px;font-family:SFMono-Regular,Consolas,monospace;color:#334155;background:#f8fafc;padding:6px 8px;border-radius:8px;word-break:break-all}[data-theme=dark] .container-detail-mount{background:#0f172a;color:#cbd5e1}.container-detail-popup-footer{display:flex;justify-content:flex-end;gap:8px}@media(max-width:900px){.containers-grid{grid-template-columns:1fr}.container-detail-popup{min-width:0;max-width:none}.container-detail-kv-row{grid-template-columns:90px 1fr}}@media(max-width:600px){.containers-toolbar{flex-direction:column;align-items:stretch}.containers-search{max-width:none}.containers-pagination{flex-wrap:wrap}}.container-detail{max-width:none;width:100%;margin:0}.container-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.container-detail-actions{display:flex;align-items:center;gap:6px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;width:100%}.detail-grid>.dashboard-panel{min-width:0;width:100%}@media(max-width:820px){.detail-grid{grid-template-columns:1fr}}.detail-note{margin-top:14px;font-size:12.5px;color:#334155}.detail-note.muted{color:#64748b}.detail-code{background:#0b1120;color:#e2e8f0;padding:10px 12px;border-radius:8px;font-size:12px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.detail-log-panel{margin-bottom:16px}.detail-terminal-panel{margin-bottom:16px;border:none}.modal-loading{display:flex;justify-content:center;padding:24px 0}.proxies-toolbar-actions{display:flex;gap:8px;flex-shrink:0}.proxies-page .row-actions .btn-ghost{color:#475569}.proxies-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.proxies-view-toolbar-left{display:flex;align-items:center;min-height:32px}.proxies-count{font-size:13px;color:#64748b;font-weight:500}.proxies-view-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--color-surface);border:1px solid #ece8e1;border-radius:10px;box-shadow:none}.view-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.view-toggle-btn:hover:not(.active){background:var(--color-bg-subtle);color:var(--color-text)}.view-toggle-btn.active{background:#ece8e1;color:#475569;box-shadow:none}.view-toggle-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.proxies-accordion{display:flex;flex-direction:column;gap:10px}.proxy-group{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;overflow:hidden;box-shadow:none}.proxy-group-header{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .15s ease}.proxy-group-header:hover{background:var(--color-bg-subtle)}.proxy-group-chevron{display:flex;align-items:center;justify-content:center;color:#64748b;flex-shrink:0}.proxy-group-dest{font-weight:600;font-size:13.5px;color:var(--color-text);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.proxy-group-badge{flex-shrink:0}.proxy-group-hint{font-size:12px;color:#94a3b8;font-weight:500;flex-shrink:0;margin-left:4px}.proxy-group-body{border-top:1px solid var(--color-border)}.proxy-group-body .data-table{border-radius:0;box-shadow:none}.proxy-group-body .data-table th{background:var(--color-bg-subtle);color:var(--color-muted);border-bottom-color:var(--color-border)}[data-theme=dark] .proxies-view-toggle{background:#252d38;border-color:#303a49}[data-theme=dark] .view-toggle-btn{color:#94a3b8}[data-theme=dark] .view-toggle-btn:hover:not(.active){background:#1e232b;color:#e2e8f0}[data-theme=dark] .view-toggle-btn.active{background:#303a49;color:#cbd5e1;box-shadow:none}[data-theme=dark] .proxy-group{background:#252d38;border-color:#303a49}[data-theme=dark] .proxy-group-header:hover{background:#1e232b}[data-theme=dark] .proxy-group-dest{color:#f1f5f9}[data-theme=dark] .proxy-group-chevron{color:#94a3b8}[data-theme=dark] .proxy-group-hint{color:#64748b}[data-theme=dark] .proxy-group-body{border-top-color:#303a49}[data-theme=dark] .proxies-count{color:#94a3b8}@media(max-width:640px){.proxies-view-toolbar{flex-direction:column;align-items:stretch}.proxies-view-toggle{align-self:flex-end}.proxy-group-header{padding:10px 12px}.proxy-group-hint{display:none}}.form-card{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;display:flex;flex-direction:column;gap:28px}.form-section{display:flex;flex-direction:column;gap:16px;background:var(--color-surface);padding:20px 25px;border:1px solid #ece8e1;border-radius:14px;box-shadow:none}[data-theme=dark] .form-section{background:#252d38;border-color:#303a49;box-shadow:none}.form-section-title{margin:0;font-size:14px;font-weight:700;color:#0f172a;padding-bottom:8px;border-bottom:1px solid #ece8e1;width:100%}[data-theme=dark] .form-section-title{color:#f1f5f9;border-bottom-color:#303a49}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.form-card .input,.form-card .select,.form-card .textarea{background:var(--color-bg)!important;border:1px solid #ece8e1!important;border-radius:10px!important;box-shadow:none!important}.form-card .input:focus,.form-card .select:focus,.form-card .textarea:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px var(--color-focus-ring)!important;outline:none}[data-theme=dark] .form-card .input,[data-theme=dark] .form-card .select,[data-theme=dark] .form-card .textarea{background:#1e232b!important;border-color:#303a49!important;color:#e2e8f0!important}[data-theme=dark] .form-card .input:focus,[data-theme=dark] .form-card .select:focus,[data-theme=dark] .form-card .textarea:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px var(--color-focus-ring)!important}.form-check{display:flex;flex-direction:column;gap:4px;justify-content:center;padding-top:6px}.form-check-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;cursor:pointer}.form-check-hint{font-size:12px;color:#64748b;padding-left:24px}.proxy-preview{background:var(--color-bg);border:1px dashed #ece8e1;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}[data-theme=dark] .proxy-preview{background:#1e232b;border-color:#303a49}.proxy-preview-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:#64748b;font-weight:600}.proxy-preview-value{font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:13px;word-break:break-all}.test-card{margin-top:0;background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;padding:20px 25px;box-shadow:none;display:flex;flex-direction:column;gap:16px}[data-theme=dark] .test-card{background:#252d38;border-color:#303a49}.test-card-header{display:flex;align-items:center;gap:8px;color:#0f172a;font-size:14px;font-weight:700;padding-bottom:8px;border-bottom:1px solid #ece8e1;width:100%}[data-theme=dark] .test-card-header{color:#f1f5f9;border-bottom-color:#303a49}.test-row{display:flex;align-items:flex-end;gap:10px}.test-btn{flex-shrink:0;margin-bottom:1px}.test-result{margin-top:14px;border-radius:10px;padding:14px;font-size:13.5px}.test-result-match{background:#f0fdf4;border:1px solid #bbf7d0}.test-result-nomatch{background:#fef2f2;border:1px solid #fecaca}.test-result-head{display:flex;align-items:center;gap:8px;font-weight:700;color:#0f172a;margin-bottom:8px}.test-result-match .test-result-head{color:#166534}.test-result-nomatch .test-result-head{color:#991b1b}.test-reason{color:#475569;font-size:13px;margin-bottom:8px}.test-details{display:flex;flex-direction:column;gap:8px}.test-label{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:#64748b;font-weight:600;margin-bottom:2px;display:block}.test-group{font-size:13px;color:#334155}.test-group code,.test-dest code{background:#fff;padding:1px 6px;border-radius:5px;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:12.5px;color:#0f172a}.test-dest{margin-top:4px}.deploys-page{display:flex;flex-direction:column;gap:16px}.deploys-row{cursor:pointer}.deploys-row:hover td{background:#f8fafc}.deploys-app{font-weight:600;color:#0f172a}.stat-card{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;padding:18px 20px;min-width:0;box-shadow:none;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.stat-card--clickable{cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .12s ease}.stat-card--clickable:hover{background:#fdfcfb;border-color:#e2ddd6;box-shadow:0 2px 14px #5f6d7e0f}.stat-card--clickable:active{transform:scale(.99)}.stat-card--clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.stat-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.stat-label{font-size:12.5px;font-weight:500;color:var(--color-muted);text-transform:uppercase;letter-spacing:.4px}.stat-icon{display:flex;color:var(--color-primary)}.stat-value{font-size:22px;font-weight:800;color:var(--color-text);line-height:1.2;letter-spacing:-.02em}.stat-sub{font-size:12px;font-weight:500;color:var(--color-muted);margin-top:2px}.stat-blue .stat-icon{color:#6c5ce7}.stat-green .stat-icon{color:#7ec8a6}.stat-purple .stat-icon{color:#6c5ce7}.stat-yellow .stat-icon{color:#e8b44a}.stat-red .stat-icon{color:#dc2626}.stat-gray .stat-icon{color:var(--color-muted)}.analytics-page{display:flex;flex-direction:column;gap:16px}.analytics-range{display:flex;gap:4px;background:var(--color-bg-subtle, #f1f5f9);border:1px solid var(--color-border, #e2e8f0);border-radius:8px;padding:4px}.analytics-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.analytics-site-select{min-width:180px}.analytics-range-btn{background:transparent;border:none;color:var(--color-muted, #64748b);font-size:13px;padding:5px 12px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.analytics-range-btn:hover{color:var(--color-text, #0f172a)}.analytics-range-btn--active{background:var(--color-primary, #2563eb);color:#fff}.analytics-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.analytics-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}.analytics-grid--3{grid-template-columns:repeat(3,1fr)}.analytics-card{padding:16px}.analytics-card-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--color-text, #0f172a);margin-bottom:12px}.analytics-card-title svg{color:var(--color-muted, #64748b)}.analytics-card-hint{margin-left:auto;font-size:12px;font-weight:400;color:var(--color-muted, #64748b)}.analytics-chart{position:relative}.analytics-chart__svg{display:block}.analytics-chart__labels{display:flex;justify-content:space-between;font-size:12px;color:var(--color-muted, #64748b);margin-top:4px}.analytics-chart__empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-muted, #64748b);font-size:13px}.analytics-bars{display:flex;flex-direction:column;gap:10px}.analytics-bar-row{display:flex;flex-direction:column;gap:4px}.analytics-bar-label{display:flex;justify-content:space-between;gap:8px;font-size:13px}.analytics-bar-name{color:var(--color-text, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-bar-value{color:var(--color-muted, #64748b);flex-shrink:0}.analytics-bar-track{height:6px;background:var(--color-bg-subtle, #f1f5f9);border-radius:4px;overflow:hidden}.analytics-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.analytics-status-pill{color:#fff;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.analytics-method-pill{background:#f1f5f9;color:#0f172a;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;border:1px solid #e2e8f0}.analytics-device-pill{color:#fff;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.analytics-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--color-border, #e2e8f0)}.analytics-pagination-info{font-size:13px;color:var(--color-muted, #64748b);text-align:center}.analytics-dropdown{position:fixed;min-width:170px;background:#fff;border:1px solid var(--color-border, #e2e8f0);border-radius:10px;box-shadow:0 8px 24px #0f172a1f;padding:6px;z-index:100}[data-theme=dark] .analytics-dropdown{background:#1e293b;border-color:#334155;box-shadow:0 8px 24px #0006}.analytics-dropdown-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;cursor:pointer;padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--color-text, #334155);text-align:left;transition:background .15s ease}.analytics-dropdown-item:hover{background:var(--color-bg-subtle, #f1f5f9)}.analytics-dropdown-item-danger{color:#dc2626}.analytics-dropdown-item-danger:hover{background:#fee2e2}[data-theme=dark] .analytics-dropdown-item{color:#cbd5e1}[data-theme=dark] .analytics-dropdown-item:hover{background:#334155}[data-theme=dark] .analytics-dropdown-item-danger{color:#fca5a5}[data-theme=dark] .analytics-dropdown-item-danger:hover{background:#dc262629}.analytics-dropdown-empty{display:block;padding:9px 12px;font-size:13px;color:var(--color-muted, #94a3b8)}.analytics-bot-reason{display:flex;gap:10px;padding:12px 14px;background:var(--color-bg-subtle, #f1f5f9);border:1px solid var(--color-border, #e2e8f0);border-radius:8px;font-size:13px;line-height:1.5;color:var(--color-text, #0f172a)}.analytics-bot-reason__icon{flex-shrink:0;margin-top:1px;color:var(--color-muted, #64748b)}@media(max-width:1100px){.analytics-stats{grid-template-columns:repeat(2,1fr)}.analytics-grid,.analytics-grid--3{grid-template-columns:1fr}}@media(max-width:600px){.analytics-stats{grid-template-columns:1fr}}.git-accounts-page{display:flex;flex-direction:column;gap:16px}.git-account-name{font-weight:600;color:#0f172a}.git-account-form{display:flex;flex-direction:column;gap:14px;min-width:340px}.page-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:48px 16px;color:#94a3b8;font-size:14px;text-align:center}.settings-page{display:flex;flex-direction:column;gap:16px}.settings-tabs{width:100%}.settings-card{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;box-shadow:none;padding:24px 26px;max-width:560px}.settings-card-title{margin:0 0 14px;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--color-text)}.about-table{width:100%;border-collapse:collapse}.about-table td{padding:9px 10px;border-bottom:1px solid var(--color-border);font-size:13.5px;vertical-align:top}.about-table tr:last-child td{border-bottom:none}.about-label{width:45%;color:var(--color-muted);font-weight:500}.about-value{color:var(--color-text);word-break:break-word}.notifications-tab{display:flex;flex-direction:column;gap:16px}.notification-form{display:flex;flex-direction:column;gap:14px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.form-secure{padding-bottom:4px}.form-checkbox{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--color-text-secondary);cursor:pointer}.form-test-btn{padding-bottom:4px}.form-test-result{font-size:13px;color:var(--color-success);background:color-mix(in srgb,var(--color-success) 14%,transparent);border-radius:8px;padding:8px 12px}.git-account-test{display:flex;align-items:center;gap:8px}.git-account-test-result{font-size:12px;color:var(--color-muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backups-tab{display:flex;flex-direction:column;gap:16px}.backups-card{max-width:720px}.danger-card{max-width:720px;margin-top:22px;border:1px solid color-mix(in srgb,var(--color-danger) 45%,transparent);background:color-mix(in srgb,var(--color-danger) 5%,transparent)}.danger-card-header{display:flex;align-items:center;gap:9px;margin-bottom:10px}.danger-card-header h3{margin:0;font-size:16px;font-weight:700;color:var(--color-danger)}.danger-card-header svg{color:var(--color-danger)}.danger-card-description{margin:0 0 14px;color:var(--color-muted);font-size:13.5px;line-height:1.6}.danger-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.danger-card-message{margin-top:12px;font-size:13px;color:var(--color-success)}.backups-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.backups-card-title{display:flex;align-items:center;gap:9px}.backups-card-title h3{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--color-text)}.backups-card-title svg{color:var(--color-primary)}.backups-empty{color:var(--color-muted);font-size:13.5px;line-height:1.6;margin:0}.backups-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}.backups-info-item{display:flex;flex-direction:column;gap:5px}.backups-info-label{font-size:11px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.backups-info-value{font-size:14px;color:var(--color-text);font-weight:600}.backups-display{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--shell-radius-sm, 12px);padding:18px 20px;margin-bottom:18px}.backups-display-item{display:flex;flex-direction:column;gap:6px}.backups-countdown{font-size:30px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--color-primary)}.backups-display-date{font-size:15px;color:var(--color-text);font-weight:600}.backups-subtext{font-size:12px;color:var(--color-muted)}.backups-actions{display:flex;flex-wrap:wrap;gap:8px}.backups-actions-edit{margin-left:auto}.backups-form-popup{max-width:560px}.backups-form-popup .popup-body{padding:20px}.backups-logs{max-width:720px;overflow-x:auto}.backups-restore{max-width:640px}.backups-logs .data-table,.backups-restore .data-table{margin:0}.backups-logs .data-table th,.backups-restore .data-table th{font-size:12px}.logs-reason{max-width:360px;overflow-wrap:anywhere;color:var(--color-danger)}.row-selected{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.row-selected:hover{background:color-mix(in srgb,var(--color-primary) 14%,transparent)}.sa-upload{display:flex;flex-direction:column;gap:8px}.sa-upload-label{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.sa-dropzone{display:flex;align-items:center;justify-content:center;min-height:84px;border:2px dashed var(--color-border);border-radius:10px;background:var(--color-bg-subtle);cursor:pointer;transition:border-color .15s ease,background .15s ease}.sa-dropzone:hover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-bg-subtle))}.sa-dropzone-has-file{border-style:solid;border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 10%,transparent);cursor:default}.sa-dropzone-inner{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-muted);font-size:13px;text-align:center;padding:12px}.sa-dropzone-inner svg{color:var(--color-muted)}.sa-dropzone-inner em{color:var(--color-primary);font-style:normal}.sa-file-selected{display:flex;align-items:center;gap:10px;padding:12px}.sa-file-name{font-size:13px;font-weight:600;color:var(--color-success);word-break:break-all}.sa-file-remove{background:none;border:none;color:var(--color-danger);font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline}.sa-upload-hint{font-size:12px;color:var(--color-muted)}.google-connect{display:flex;align-items:center;gap:10px}.status-tab{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.status-tab{grid-template-columns:1fr}}.status-panel-actions{display:flex;gap:8px;padding:12px 18px;border-top:1px solid #e0dbd1;background:var(--color-bg);flex-wrap:wrap}.status-panel-actions .btn{display:inline-flex;align-items:center;gap:6px}.status-panel{background:var(--color-surface);border:1px solid #e0dbd1;border-radius:14px;box-shadow:none;overflow:hidden}.status-panel-header{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid #e0dbd1}.status-panel-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--color-text)}.status-panel-body{padding:16px 18px}.status-panel-error{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger);font-size:13px;padding:14px 18px;display:flex;align-items:center;gap:8px}.status-panel-error .muted{margin-top:6px;font-size:12px;color:var(--color-danger);word-break:break-all}.status-panel-error code{background:color-mix(in srgb,var(--color-danger) 12%,transparent);padding:1px 5px;border-radius:4px;font-size:12px}.status-ok{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:12.5px;color:var(--color-success);background:color-mix(in srgb,var(--color-success) 14%,transparent);padding:9px 12px;border-radius:8px}.kv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.kv-item{display:flex;flex-direction:column;gap:2px}.kv-item span{font-size:12px;color:var(--color-muted)}.kv-item strong{font-size:14px;color:var(--color-text);word-break:break-all}.whitelabel-tab{display:flex;flex-direction:column;gap:16px}.whitelabel-description{margin:0 0 18px;font-size:13.5px;line-height:1.6;color:var(--color-muted)}.whitelabel-title-row{display:flex;align-items:flex-end;gap:16px;margin-bottom:16px}.whitelabel-title-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1;align-items:end}.whitelabel-logo-side{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.whitelabel-logo-clickable{position:relative;width:64px;height:64px;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;cursor:pointer;padding:0;transition:border-color .18s ease,box-shadow .18s ease}.whitelabel-logo-clickable:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.whitelabel-logo-clickable:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.whitelabel-logo-img{width:40px;height:40px;object-fit:contain}.whitelabel-logo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172a8c;color:#fff;opacity:0;transition:opacity .18s ease}.whitelabel-logo-clickable:hover .whitelabel-logo-overlay,.whitelabel-logo-clickable:focus-visible .whitelabel-logo-overlay{opacity:1}.whitelabel-logo-click-hint{font-size:11px;color:var(--color-muted);line-height:1}.whitelabel-logo-remove-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;font-size:12px;font-weight:500;color:var(--color-danger);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.whitelabel-logo-remove-btn:hover{opacity:.8}.whitelabel-logo-hint{font-size:12px;color:var(--color-muted);line-height:1.4}.whitelabel-field{width:100%}.whitelabel-field--title{flex:1}.whitelabel-pending-hint{font-size:12px;color:var(--color-muted)}.whitelabel-pending-notice{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-radius:6px;padding:6px 10px}.whitelabel-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding-top:4px}@media(max-width:700px){.whitelabel-title-fields{grid-template-columns:1fr;gap:12px}}@media(max-width:520px){.whitelabel-title-row{align-items:flex-start;gap:12px}.whitelabel-logo-clickable{width:56px;height:56px}.whitelabel-logo-img{width:34px;height:34px}}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}[data-theme=dark] .status-panel{border-color:#3a4556}[data-theme=dark] .status-panel-header{border-bottom-color:#3a4556}[data-theme=dark] .status-panel-actions{border-top-color:#3a4556}.notif-events-summary{font-size:12.5px;color:var(--color-text-secondary);white-space:pre-line}.cell-muted{color:var(--color-muted)}.notif-section{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--color-border);padding-top:14px}.notif-section-head{display:flex;align-items:center;justify-content:space-between;background:none;border:none;padding:0;cursor:pointer;width:100%}.notif-section-title{font-size:13.5px;font-weight:700;color:var(--color-text)}.notif-section-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-muted)}.notif-section-hint{margin:0;font-size:12.5px;line-height:1.5;color:var(--color-muted)}.notif-events-list{display:flex;flex-direction:column;gap:2px}.notif-event-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0}.notif-event-text{display:flex;flex-direction:column;gap:2px}.notif-event-text strong{font-size:13.5px;font-weight:600;color:var(--color-text)}.notif-event-text span{font-size:12px;color:var(--color-muted)}.notif-thresholds{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:4px 0 12px}.notif-user-list{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}.notif-user-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--color-border);border-radius:9px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.notif-user-option:hover{border-color:var(--color-primary)}.notif-user-option--selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.notif-user-email{flex:1;font-size:13px;color:var(--color-text);word-break:break-all}@media(max-width:560px){.notif-thresholds{grid-template-columns:1fr}}.users-page{display:flex;flex-direction:column;gap:16px}.user-form{display:flex;flex-direction:column;gap:14px}.user-form-hint{margin:0;font-size:12.5px;color:#64748b}.user-form-section{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#334155;padding-top:4px;margin-top:4px;border-top:1px solid #e2e8f0;padding-bottom:2px}.user-form-password{display:flex;flex-direction:column;gap:12px}.user-form-password-toggle{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;background:none;border:none;cursor:pointer;padding:2px 0;font-size:13.5px;font-weight:600;color:#2563eb}.user-form-password-toggle:hover{text-decoration:underline}.user-form-password-fields{display:flex;flex-direction:column;gap:14px;padding-top:10px;border-top:1px solid #e2e8f0}.user-dropdown{position:fixed;min-width:190px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0f172a1f;padding:6px;z-index:100}.user-dropdown-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;cursor:pointer;padding:9px 12px;border-radius:8px;font-size:13.5px;color:#334155;text-align:left;transition:background .15s ease}.user-dropdown-item:hover{background:#f1f5f9}.user-dropdown-item-danger{color:#dc2626}.user-dropdown-item-danger:hover{background:#fee2e2}.user-protected-label{color:#cbd5e1;padding:0 8px}.user-form-areas{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}[data-theme=dark] .user-form-areas{background:#1e293b;border-color:#334155}.user-form-areas-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.user-form-areas-title{font-size:13px;font-weight:600;color:#334155}[data-theme=dark] .user-form-areas-title{color:#e2e8f0}.user-form-areas-actions{display:flex;align-items:center;gap:6px}.user-form-areas-link{background:none;border:none;cursor:pointer;font-size:12px;font-weight:600;color:#2563eb;padding:0}.user-form-areas-link:hover{text-decoration:underline}.user-form-areas-sep{color:#94a3b8;font-size:12px}.user-form-areas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(max-width:520px){.user-form-areas-grid{grid-template-columns:1fr}}.user-form-area-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:13px;color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s}[data-theme=dark] .user-form-area-item{background:#0f172a;border-color:#334155;color:#cbd5e1}.user-form-area-item.is-checked{border-color:#2563eb;background:#eff6ff}[data-theme=dark] .user-form-area-item.is-checked{background:#1e3a5f;border-color:#3b82f6}.user-form-area-item input{accent-color:#2563eb}.firewall-page{display:flex;flex-direction:column;gap:24px}.firewall-page .tabs__panel{display:flex;flex-direction:column;gap:20px}.firewall-logs{display:flex;flex-direction:column;gap:16px}.firewall-toolbar-left{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.firewall-info{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--color-muted);margin-bottom:10px}.firewall-info svg{color:var(--color-primary);flex-shrink:0}.firewall-toolbar-actions{display:flex;gap:8px;align-items:center;flex-shrink:0;flex-wrap:wrap}.firewall-filter{display:flex;border:1px solid #ece8e1;border-radius:8px;overflow:hidden;background:var(--color-surface);box-shadow:none}.filter-btn{padding:7px 14px;font-size:13px;font-weight:600;border:none;background:var(--color-surface);color:var(--color-muted);cursor:pointer;transition:background .15s,color .15s}[data-theme=dark] .firewall-filter{background:#252d38;border-color:#303a49}[data-theme=dark] .filter-btn{background:#252d38;color:#8a94a8}.filter-btn-active{background:var(--color-primary)!important;color:#fff!important}.chain-code{font-size:12px;background:var(--color-bg-subtle);padding:2px 6px;border-radius:4px;font-family:monospace}.row-protected{background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.row-disabled{background:color-mix(in srgb,var(--color-muted) 6%,transparent)}.row-disabled td{color:var(--color-muted)}.protected-icon{display:inline-flex;color:var(--color-muted);padding:6px}.firewall-hint{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--color-muted);background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;padding:14px 16px;line-height:1.6;box-shadow:none}.firewall-hint svg{flex-shrink:0;margin-top:2px;color:var(--color-warning, #d97706)}.firewall-hint code{background:var(--color-bg);border:1px solid #ece8e1;padding:1px 5px;border-radius:4px;font-size:12px}[data-theme=dark] .firewall-hint{background:#252d38;border-color:#303a49}[data-theme=dark] .firewall-hint code{background:#1e232b;border-color:#303a49}.firewall-form{display:flex;flex-direction:column;gap:14px}.firewall-form-hint{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--color-muted);background:color-mix(in srgb,var(--color-warning, #d97706) 10%,transparent);padding:8px 10px;border-radius:8px}.firewall-form-hint svg{flex-shrink:0}.page-error{color:var(--color-danger);font-size:13px;background:color-mix(in srgb,var(--color-danger) 10%,transparent);padding:8px 12px;border-radius:8px}.sync-msg{font-size:13px;color:var(--color-success)}.page-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.terminal{border:1px solid #1e293b;border-radius:10px;overflow:hidden;background:#0b1120}.terminal-header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:#111a2e;border-bottom:1px solid #1e293b}.terminal-title{display:flex;align-items:center;gap:8px;color:#cbd5e1;font-size:13px;font-weight:500}.terminal-status{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:999px}.terminal-status-on{background:#22c55e26;color:#22c55e}.terminal-status-off{background:#64748b26;color:#94a3b8}.terminal-xterm{height:300px;background:#0b1120;overflow:hidden}.terminal-xterm .xterm{height:100%;padding:6px 8px;box-sizing:border-box}.terminal-xterm .xterm .xterm-viewport{background:#0b1120!important}.swarm-page{display:flex;flex-direction:column;gap:16px}.swarm-status-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:8px 2px;border:none;border-radius:0;background:transparent;box-shadow:none}.swarm-status-main{display:flex;align-items:center;gap:12px;color:var(--color-primary)}.swarm-status-title{font-size:15px;font-weight:700;color:var(--color-text)}.swarm-status-sub{font-size:13px;color:var(--color-muted)}.swarm-status-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.swarm-hint{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--color-muted);padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.swarm-hint svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.section-title{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--color-text)}.swarm-empty{padding:24px;text-align:center;color:var(--color-muted);font-size:13px;border:1px dashed var(--color-border);border-radius:10px}.workers-list{display:flex;flex-direction:column;gap:10px}.worker-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;width:100%;text-align:left;padding:14px 16px;border:1px solid #ece8e1;border-radius:14px;background:var(--color-surface);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .1s;box-shadow:none}.worker-row:hover{background:#fdfcfb;border-color:#e2ddd6;box-shadow:0 2px 14px #5f6d7e0f}.worker-id{display:flex;align-items:center;gap:10px;min-width:0}.worker-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.worker-dot-on{background:#22c55e;box-shadow:0 0 6px #22c55eb3}.worker-dot-off{background:#ef4444}.worker-name-wrap{display:flex;flex-direction:column;min-width:0}.worker-name{font-weight:700;font-size:14px;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.worker-ip{font-size:12px;color:var(--color-muted);font-family:monospace}.worker-metrics{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.metric{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--color-muted);white-space:nowrap}.metric strong{color:var(--color-text)}.worker-conn{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;white-space:nowrap}.worker-conn.on{color:#22c55e}.worker-conn.off{color:#ef4444}.add-worker .steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px;font-size:13.5px;color:var(--color-text)}.step-hint{margin:6px 0 0;font-size:12.5px;color:var(--color-muted)}.code-block{display:block;margin-top:6px;padding:9px 12px;background:var(--color-bg-subtle, rgba(127, 127, 127, .12));border-radius:8px;font-family:monospace;font-size:12.5px;white-space:pre-wrap;word-break:break-all;color:var(--color-text)}.code-row{display:flex;align-items:stretch;gap:8px}.code-row .code-block{flex:1;margin-top:6px}.token-field-wrapper{position:relative;margin-top:6px}.token-input{width:100%;box-sizing:border-box;padding:9px 38px 9px 12px;background:var(--color-bg-subtle, rgba(127, 127, 127, .12));border:1px solid var(--color-border, #e5e7eb);border-radius:8px;font-family:monospace;font-size:12.5px;color:var(--color-text);outline:none}.token-input:focus{border-color:var(--color-primary)}.token-input-multiline{display:block;resize:none;overflow:hidden;min-height:38px;line-height:1.5;white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere;field-sizing:content}.token-copy-float{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #fff);color:var(--color-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.token-copy-float:hover{color:var(--color-text);border-color:var(--color-primary);background:var(--color-bg-subtle, rgba(127, 127, 127, .12))}.token-copy-float:active{transform:scale(.96)}.popup-hint{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:12.5px;color:var(--color-muted)}.popup-hint svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.firewall-hint{display:flex;gap:8px;align-items:flex-start;margin-top:14px;padding:10px 12px;border-radius:8px;background:var(--color-warning-bg, rgba(251, 191, 36, .08));border:1px solid var(--color-warning-border, rgba(251, 191, 36, .25));font-size:12.5px;line-height:1.5;color:var(--color-muted)}.firewall-hint svg{color:var(--color-warning, #f59e0b);flex-shrink:0;margin-top:2px}.firewall-hint strong{color:var(--color-text)}.firewall-ports{margin:4px 0}.firewall-ports code{background:var(--color-bg-alt, rgba(255,255,255,.06));padding:1px 5px;border-radius:4px;font-size:11.5px}.firewall-examples{display:block;margin-top:4px;color:var(--color-muted)}.firewall-examples code{background:var(--color-bg-alt, rgba(255,255,255,.06));padding:1px 5px;border-radius:4px;font-size:11.5px}.popup-footer-row{display:flex;justify-content:flex-end;gap:8px}.worker-detail{display:flex;flex-direction:column;gap:16px}.detail-grid{display:grid;gap:12px}.detail-item{display:flex;flex-direction:column;gap:3px}.detail-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--color-muted)}.detail-value{font-size:13.5px;color:var(--color-text);display:flex;align-items:center;gap:6px}.detail-resources{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.res-block{border:1px solid var(--color-border);border-radius:10px;padding:12px}.res-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--color-primary);margin-bottom:6px}.res-line{font-size:12.5px;color:var(--color-muted)}.res-line strong{color:var(--color-text);font-size:14px}.detail-labels .label-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.label-chips code{font-size:11.5px;background:var(--color-bg-subtle, rgba(127, 127, 127, .12));padding:3px 8px;border-radius:6px;color:var(--color-text)}.detail-apps .apps-empty{margin:6px 0 0;font-size:13px;color:var(--color-muted)}.apps-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.app-item{display:flex;align-items:flex-start;gap:8px}.app-item>svg{color:#22c55e;flex-shrink:0;margin-top:2px}.app-item-info{display:flex;flex-direction:column;min-width:0}.app-name{font-size:13.5px;font-weight:600;color:var(--color-text);text-decoration:none}a.app-name:hover{text-decoration:underline;color:var(--color-primary)}.app-services{font-size:12px;color:var(--color-muted);font-family:monospace}.ident-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #fff);color:var(--color-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease;flex-shrink:0}.ident-edit-btn:hover{color:var(--color-text);border-color:var(--color-primary);background:var(--color-bg-subtle, rgba(127, 127, 127, .12))}.ident-edit-row{display:flex;align-items:center;gap:6px;margin-top:4px}.ident-input{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;font-size:13.5px;color:var(--color-text);background:var(--color-surface, #fff);outline:none}.ident-input:focus{border-color:var(--color-primary)}.ident-hint{font-size:11px;color:var(--color-muted);margin-top:4px}[data-theme=dark] .swarm-status-card{background:transparent;border-color:transparent}[data-theme=dark] .worker-row{background:#252d38;border-color:#303a49}[data-theme=dark] .worker-row:hover{background:#2a333e;border-color:#3a4a5e;box-shadow:none}.vpn-actions .btn.active{border-color:var(--color-primary, #475569);color:var(--color-primary, #475569)}.vpn-section{margin-bottom:26px}.vpn-section:last-child{margin-bottom:0}.vpn-section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;color:var(--color-text)}.vpn-section-hint{font-size:12px;font-weight:400;color:var(--color-text-secondary, #64748b)}.vpn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.vpn-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #ece8e1);border-radius:14px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.vpn-card:hover{border-color:var(--color-primary, #475569);box-shadow:0 4px 16px #0f172a14;transform:translateY(-1px)}.vpn-card-head{display:flex;align-items:center;gap:12px}.vpn-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:var(--color-bg-subtle, #f1f5f9);color:var(--color-primary, #475569);flex-shrink:0}.vpn-card-icon--system{background:#2563eb1f;color:#2563eb}.vpn-card-titles{display:flex;flex-direction:column;min-width:0;flex:1}.vpn-card-name{font-size:15px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vpn-card-iface{font-size:12px;color:var(--color-text-secondary, #64748b);font-family:SFMono-Regular,Consolas,Menlo,monospace}.vpn-card-delete{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer;transition:background .15s ease,color .15s ease}.vpn-card-delete:hover{background:#dc26261a;color:#dc2626}.vpn-card-subnet{font-size:13px;font-weight:600;color:var(--color-text);font-family:SFMono-Regular,Consolas,Menlo,monospace}.vpn-card-egress{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--color-text-muted, #94a3b8)}.vpn-card-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vpn-card-stat{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--color-text-secondary, #64748b)}.vpn-badge{margin-left:auto;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#2563eb1f;color:#2563eb;text-transform:lowercase}.vpn-badge--muted{background:#64748b26;color:#64748b;margin-left:0}.vpn-empty{padding:40px 16px;text-align:center;color:var(--color-text-secondary, #64748b)}.vpn-form{display:flex;flex-direction:column;gap:14px;min-width:min(440px,86vw)}.vpn-mode-options{display:flex;flex-direction:column;gap:10px}.vpn-mode-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--color-border, #ece8e1);border-radius:12px;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.vpn-mode-option:hover{border-color:var(--color-primary, #64748b)}.vpn-mode-option.selected{border-color:var(--color-primary, #2563eb);background:#2563eb0f;box-shadow:0 0 0 1px var(--color-primary, #2563eb) inset}.vpn-mode-option input[type=radio]{margin-top:2px;accent-color:var(--color-primary, #2563eb);flex-shrink:0}.vpn-mode-body{display:flex;flex-direction:column;gap:2px;min-width:0}.vpn-mode-title{font-size:13.5px;font-weight:600;color:var(--color-text)}.vpn-mode-desc{font-size:12px;color:var(--color-text-secondary, #64748b)}.vpn-mode-value{margin-top:4px;align-self:flex-start;padding:2px 8px;border-radius:8px;background:var(--color-bg-subtle, #f1f5f9);color:var(--color-text);font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:12.5px;font-weight:600}.vpn-info-box{padding:12px 14px;border-radius:10px;background:var(--color-bg-subtle, #f8fafc);border:1px solid var(--color-border, #ece8e1);font-size:12.5px;color:var(--color-text-secondary, #64748b)}.vpn-info-title{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--color-text);margin-bottom:6px}.vpn-info-box ul{margin:0 0 6px;padding-left:18px;font-family:SFMono-Regular,Consolas,Menlo,monospace}.vpn-info-box p{margin:4px 0 0}.vpn-info-reserved{color:#b45309}.vpn-info-x-hint{font-size:12px}.vpn-info-x-hint code{padding:0 5px;border-radius:5px;background:#64748b26;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-weight:600}.vpn-form-error{padding:10px 12px;border-radius:8px;background:#dc262614;color:#dc2626;font-size:12.5px}.vpn-platform-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.vpn-platform-loading{display:flex;justify-content:center;padding:28px 0}.vpn-platform-empty{grid-column:1 / -1;padding:24px 0;text-align:center;color:var(--color-text-secondary, #64748b);font-size:13px}.vpn-platform-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--color-border, #ece8e1);border-radius:12px;background:var(--color-surface, #fff)}.vpn-platform-card--clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.vpn-platform-card--clickable:hover{border-color:var(--color-primary, #475569);box-shadow:0 4px 16px #0f172a14;transform:translateY(-1px)}.vpn-platform-head{display:flex;align-items:center;gap:8px}.vpn-platform-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--color-bg-subtle, #f1f5f9);color:var(--color-text-secondary, #64748b);flex-shrink:0}.vpn-platform-icon--vpn{background:#2563eb1f;color:#2563eb}.vpn-platform-icon--vxlan{background:#7c3aed1f;color:#7c3aed}.vpn-platform-icon--docker{background:#0d94881f;color:#0d9488}.vpn-platform-name{font-size:13.5px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vpn-platform-subnet{font-size:12.5px;font-weight:600;font-family:SFMono-Regular,Consolas,Menlo,monospace;color:var(--color-text)}.vpn-platform-purpose{font-size:12px;color:var(--color-text-secondary, #64748b);line-height:1.35}.vpn-platform-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.vpn-platform-meta span{padding:1px 7px;border-radius:999px;background:var(--color-bg-subtle, #f1f5f9);color:var(--color-text-secondary, #64748b);font-size:10.5px;font-family:SFMono-Regular,Consolas,Menlo,monospace}.resource-chart{width:100%;margin-top:8px;overflow:hidden;position:relative}.resource-chart__svg{display:block}.resource-chart__crosshair{position:absolute;top:0;bottom:0;width:1px;background:color-mix(in srgb,#64748b 70%,transparent);pointer-events:none}.resource-chart__dot{position:absolute;width:10px;height:10px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px #00000040;transform:translate(-50%,-50%);pointer-events:none;z-index:2}.resource-chart__tooltip{position:absolute;top:4px;transform:translateY(0);background:#0f172a;color:#e2e8f0;border-radius:6px;padding:5px 9px;box-shadow:0 4px 14px #00000040;pointer-events:none;z-index:3;white-space:nowrap}.resource-chart__tooltip--right{transform:translate(0)}.resource-chart__tooltip-time{font-size:10.5px;color:#94a3b8}.resource-chart__tooltip-value{font-size:12.5px;font-weight:700;margin-top:1px}.resource-chart--empty{display:flex;align-items:center;justify-content:center;font-size:11px;color:#94a3b8;border:1px dashed #e2e8f0;border-radius:6px;box-sizing:border-box}.resource-chart__legend{position:absolute;top:2px;right:4px;display:flex;gap:10px;font-size:10.5px;color:#64748b;pointer-events:none}.resource-chart__legend-item{display:inline-flex;align-items:center;gap:4px}.resource-chart__legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.vpn-detail-subnet{font-size:12.5px;color:var(--color-text-secondary, #64748b);font-family:SFMono-Regular,Consolas,Menlo,monospace}.vpn-actions{display:flex;align-items:center;gap:8px}.vpn-egress-card{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding:10px 14px;border-radius:10px;background:var(--color-surface-2, rgba(148, 163, 184, .08));border:1px solid var(--color-border, rgba(148, 163, 184, .2));font-size:13px;cursor:pointer}.vpn-egress-card:hover{border-color:var(--color-primary, #3b82f6)}.vpn-egress-desc{margin:0 0 4px;font-size:13px;color:var(--color-text-muted, #94a3b8);line-height:1.5}.vpn-alert{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px 14px;border-radius:10px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.35);color:#92400e}.vpn-alert-body{display:flex;gap:8px;font-size:13px}.vpn-alert-body ul{margin:4px 0 0;padding-left:18px}.vpn-alert-actions{display:flex;gap:8px;flex-shrink:0}.vpn-diag-loading{display:flex;justify-content:center;padding:24px 0;color:var(--color-text-secondary, #64748b);font-size:13px}.vpn-diag{display:flex;flex-direction:column;gap:14px;min-width:min(420px,86vw)}.vpn-diag-rows{display:flex;flex-direction:column;gap:8px}.vpn-diag-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:9px;background:var(--color-bg-subtle, #f8fafc);font-size:13px}.vpn-diag-row>span{color:var(--color-text-secondary, #64748b)}.vpn-diag-ok-text{display:inline-flex;align-items:center;gap:5px;color:#16a34a}.vpn-diag-bad-text{display:inline-flex;align-items:center;gap:5px;color:#dc2626}.vpn-diag-issues{padding:10px 12px;border-radius:9px;background:#dc262614;color:#b91c1c;font-size:12.5px}.vpn-diag-issues ul{margin:6px 0 0;padding-left:18px}.vpn-diag-ok{display:flex;align-items:center;gap:6px;color:#16a34a;font-size:13px;font-weight:600}.vpn-system-note{margin-bottom:14px;padding:12px 14px;border-radius:10px;background:#2563eb14;border:1px solid rgba(37,99,235,.2);color:#1d4ed8;font-size:13px}.vpn-client-list{background:var(--color-surface, #fff);border:1px solid var(--color-border, #ece8e1);border-radius:14px;overflow:visible}.vpn-client-list-head,.vpn-client-row{display:grid;grid-template-columns:140px 1fr 110px 170px 150px 110px 40px;align-items:center;gap:10px;padding:12px 16px;text-align:left}.vpn-client-list-head{border-top-left-radius:14px;border-top-right-radius:14px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary, #64748b);background:var(--color-bg-subtle, #f8fafc);border-bottom:1px solid var(--color-border, #ece8e1)}.vpn-client-row{position:relative;width:100%;border:none;border-bottom:1px solid var(--color-border, #f1f5f9);background:transparent;cursor:pointer;font-size:13.5px;color:var(--color-text);transition:background .12s ease}.vpn-client-row:last-child{border-bottom:none;border-bottom-left-radius:14px;border-bottom-right-radius:14px}.vpn-client-row:has(.vpn-row-menu),.vpn-client-row--menu-open{z-index:20}.vpn-client-row:hover{background:var(--color-bg-subtle, #f8fafc)}.vpn-col-ip{font-family:SFMono-Regular,Consolas,Menlo,monospace;font-weight:600}.vpn-col-name{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vpn-tag{padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:600;background:#2563eb1f;color:#2563eb}.vpn-col-uptime{color:var(--color-text-secondary, #64748b);font-variant-numeric:tabular-nums}.vpn-col-data,.vpn-col-rate{color:var(--color-text-secondary, #64748b);font-variant-numeric:tabular-nums;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:12.5px;white-space:nowrap}.vpn-col-actions{display:flex;justify-content:flex-end}.vpn-row-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer;transition:background .15s ease,color .15s ease}.vpn-row-action:hover{background:var(--color-bg-subtle, #f1f5f9);color:var(--color-text, #334155)}.vpn-row-menu-wrap{position:relative;display:inline-flex}.vpn-row-menu{position:absolute;top:32px;right:0;min-width:148px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #ece8e1);border-radius:10px;box-shadow:0 8px 24px #0f172a1f;padding:4px;z-index:20;display:flex;flex-direction:column;gap:2px}.vpn-row-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--color-text, #334155);font-size:13px;font-weight:500;cursor:pointer;text-align:left;width:100%;transition:background .12s ease}.vpn-row-menu-item:hover{background:var(--color-bg-subtle, #f1f5f9)}.vpn-quota-row{display:grid;grid-template-columns:1fr 140px;gap:12px;align-items:end}.vpn-toggle-row{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.vpn-toggle-row input{width:16px;height:16px}.vpn-quota-summary{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;background:var(--color-bg-subtle, #f8fafc);font-size:12.5px;color:var(--color-text-secondary, #64748b)}.vpn-quota-blocked{background:#dc2626;color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.vpn-form-error{margin-top:4px;font-size:12.5px;color:#dc2626;background:#dc262614;border-radius:8px;padding:8px 10px}.vpn-groups-section{margin-bottom:16px}.vpn-section-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary, #64748b);margin-bottom:10px}.vpn-groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.vpn-group-card{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:14px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #ece8e1);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease}.vpn-group-card:hover{border-color:var(--color-primary, #2563eb);box-shadow:0 6px 18px #0f172a14}.vpn-group-card--drop{border-color:var(--color-primary, #2563eb);border-style:dashed;background:#2563eb0f}.vpn-group-card-head{display:flex;align-items:center;gap:10px}.vpn-group-card-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#2563eb1f;color:#2563eb;flex-shrink:0}.vpn-group-card-titles{display:flex;flex-direction:column;min-width:0;flex:1}.vpn-group-card-name{font-size:14px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vpn-group-card-meta{font-size:11.5px;color:var(--color-text-secondary, #64748b)}.vpn-group-card-limits{font-size:12.5px;color:var(--color-text)}.vpn-group-card-quota{font-size:12.5px;color:var(--color-text-secondary, #64748b)}.vpn-group-card-hint{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--color-text-secondary, #94a3b8)}.vpn-client-list--drop{border-color:var(--color-primary, #2563eb);border-style:dashed;box-shadow:inset 0 0 0 1px #2563eb33}.vpn-client-row[draggable=true]{cursor:grab}.vpn-client-row--drag-source{opacity:.5}.vpn-tag--group{background:#7c3aed1f;color:#7c3aed}.vpn-row-menu-note{display:block;padding:6px 10px;font-size:11px;color:var(--color-text-secondary, #64748b)}.vpn-group-summary{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:12px;padding:10px 14px;border-radius:10px;background:var(--color-bg-subtle, #f8fafc);border:1px solid var(--color-border, #ece8e1);font-size:12.5px;color:var(--color-text-secondary, #64748b)}.vpn-leave-zone{display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:12px;padding:12px;border-radius:12px;border:1px dashed var(--color-border, #cbd5e1);color:var(--color-text-secondary, #64748b);font-size:12.5px;transition:border-color .15s ease,background .15s ease,color .15s ease}.vpn-leave-zone--active{border-color:#dc2626;color:#dc2626;background:#dc26260f}.vpn-sites-block{display:flex;flex-direction:column;gap:8px;padding-top:4px;border-top:1px solid var(--color-border, #ece8e1)}.vpn-sites-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.vpn-sites-head>span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--color-text)}.vpn-site-row{display:grid;grid-template-columns:150px 1fr 28px;gap:8px;align-items:center}.vpn-site-row .input-wrap,.vpn-site-row .select-wrap{margin:0}.vpn-status{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600}.vpn-status--online{color:#16a34a}.vpn-status--offline{color:#94a3b8}.vpn-client-empty{padding:34px 16px;text-align:center;color:var(--color-text-secondary, #64748b);font-size:13px}.vpn-detail{display:flex;flex-direction:column;gap:16px;min-width:min(460px,86vw)}.vpn-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.vpn-detail-grid>div{display:flex;flex-direction:column;gap:2px;min-width:0}.vpn-detail-grid span{font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary, #64748b)}.vpn-detail-grid strong{font-size:13.5px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis}.vpn-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12.5px;color:var(--color-text-secondary, #64748b)}.vpn-qr{width:220px;height:220px;image-rendering:pixelated;background:#fff;border-radius:8px;border:1px solid var(--color-border, #ece8e1)}.vpn-detail-footer{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px}.vpn-detail-footer-right{display:flex;gap:8px}.vpn-limits{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vpn-hint{margin:0;font-size:12.5px;color:var(--color-text-secondary, #64748b)}.vpn-created{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.vpn-created p{margin:0;font-size:13.5px;color:var(--color-text)}@media(max-width:640px){.vpn-client-list-head{display:none}.vpn-client-row{grid-template-columns:1fr;gap:4px}.vpn-col-uptime:before{content:"Uptime: ";color:var(--color-text-secondary, #64748b)}.vpn-col-data:before{content:"Dados: ";color:var(--color-text-secondary, #64748b)}.vpn-col-rate:before{content:"Taxa: ";color:var(--color-text-secondary, #64748b)}.vpn-detail-grid,.vpn-limits{grid-template-columns:1fr}}.vpn-usage{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--color-border, #ece8e1);padding-top:14px}.vpn-usage-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.vpn-usage-title{font-weight:600;font-size:13.5px;color:var(--color-text)}.vpn-usage-head .select-wrap{min-width:160px}.vpn-usage-loading{display:flex;justify-content:center;padding:20px 0}.vpn-usage-totals{font-size:12.5px;color:var(--color-text-secondary, #64748b)}.vpn-usage-empty{font-size:12.5px;color:var(--color-text-secondary, #64748b);padding:12px 0;text-align:center}.vpn-history{display:flex;flex-direction:column;gap:6px}.vpn-history-title{font-weight:600;font-size:13px;color:var(--color-text)}.vpn-history-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column}.vpn-history-row{display:grid;grid-template-columns:92px 1fr 110px 140px;gap:8px;align-items:center;padding:6px 8px;border-bottom:1px solid var(--color-border, #f1f5f9);font-size:12px}.vpn-history-row:last-child{border-bottom:none}.vpn-history-badge{padding:1px 8px;border-radius:999px;font-size:10.5px;font-weight:600;text-align:center}.vpn-history-badge--connect{background:#16a34a1f;color:#16a34a}.vpn-history-badge--disconnect{background:#dc26261a;color:#dc2626}.vpn-history-ts{color:var(--color-text-secondary, #64748b);font-variant-numeric:tabular-nums}.vpn-history-meta{color:var(--color-text-secondary, #64748b);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vpn-history-empty{font-size:12.5px;color:var(--color-text-secondary, #64748b)}.vpn-usage-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vpn-usage-toggle{display:inline-flex;padding:2px;border-radius:9px;background:var(--color-bg-subtle, #f1f5f9);border:1px solid var(--color-border, #ece8e1)}.vpn-usage-toggle button{padding:5px 10px;border:none;border-radius:7px;background:transparent;color:var(--color-text-secondary, #64748b);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.vpn-usage-toggle button.active{background:var(--color-surface, #fff);color:var(--color-text);box-shadow:0 1px 2px #0f172a14}.vpn-tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border, #ece8e1);margin-top:4px}.vpn-tabs button{padding:8px 12px;border:none;background:transparent;color:var(--color-text-secondary, #64748b);font-size:13px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.vpn-tabs button:hover{color:var(--color-text)}.vpn-tabs button.active{color:var(--color-primary, #2563eb);border-bottom-color:var(--color-primary, #2563eb)}.vpn-access-list{max-height:440px;overflow-y:auto;display:flex;flex-direction:column}.vpn-access-row{display:grid;grid-template-columns:1fr 56px 150px;gap:10px;align-items:center;padding:7px 8px;border-bottom:1px solid var(--color-border, #f1f5f9);font-size:12.5px}.vpn-access-row:last-child{border-bottom:none}.vpn-access-domain{font-family:SFMono-Regular,Consolas,Menlo,monospace;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vpn-access-count{text-align:right;font-weight:600;color:var(--color-text-secondary, #64748b);font-variant-numeric:tabular-nums}.vpn-access-ts{text-align:right;color:var(--color-text-secondary, #64748b);font-size:11.5px;white-space:nowrap}.vpn-access-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.vpn-pagination{display:flex;align-items:center;gap:8px}.vpn-pagination-info{font-size:12.5px;font-weight:600;color:var(--color-text-secondary, #64748b);font-variant-numeric:tabular-nums;min-width:44px;text-align:center}.crons-toolbar-actions{display:flex;gap:8px;flex-shrink:0}.crons-page .row-actions .btn-ghost{color:var(--color-text-secondary)}.crons-page .row-actions .btn-spinner{border-color:color-mix(in srgb,currentColor 35%,transparent);border-top-color:currentColor}.countdown-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.countdown-disabled{color:var(--color-text-muted);font-size:13px}.countdown-overdue{color:var(--color-warning, #b45309);font-weight:600}.cron-type-badge{display:inline-flex;align-items:center;gap:4px}.cron-sched-summary{color:var(--color-text-secondary);font-size:13px;max-width:260px;white-space:normal;line-height:1.35}.cron-popup-body{padding:16px 18px}.popup-footer-row__left .btn-spinner{border-color:color-mix(in srgb,currentColor 35%,transparent);border-top-color:currentColor}.cron-form-row{display:flex;gap:12px;align-items:center}.cron-form-row>*{flex:1}.cron-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:18px 0 8px}.cron-schedule-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.cron-schedule-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:12.5px;background:color-mix(in srgb,var(--color-accent-strong) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-accent-strong) 32%,transparent);color:var(--color-accent-strong)}.cron-schedule-chip button{background:none;border:none;cursor:pointer;color:inherit;display:flex;padding:0}.cron-headers-list{display:flex;flex-direction:column;gap:6px}.cron-header-row{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:center}.cron-header-remove{background:none;border:none;color:var(--color-danger);cursor:pointer;padding:6px;border-radius:6px;display:flex}.cron-header-remove:hover{background:color-mix(in srgb,var(--color-danger) 12%,transparent)}.freq-days-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;transition:var(--transition-theme)}.freq-day-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 60%,transparent);transition:var(--transition-theme)}.freq-day-row:nth-child(odd){background:color-mix(in srgb,var(--color-bg-subtle) 55%,transparent)}.freq-day-row:last-child{border-bottom:none}.freq-day-label{font-size:14px;color:var(--color-text-secondary);min-width:90px}.freq-day-row .input-wrap{width:120px}.freq-general-box{margin-top:16px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:14px;transition:var(--transition-theme)}.freq-general-box .input-wrap{width:130px}.freq-general-hint{font-size:12.5px;color:var(--color-text-muted);line-height:1.4}.cache-page{display:flex;flex-direction:column;gap:20px}.cache-toggle-wrap{display:flex;align-items:center;gap:8px}.cache-settings-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--color-muted);border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface)}.cache-settings-icon:hover{color:var(--color-primary);border-color:var(--color-primary)}.cache-refresh-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--color-muted);border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface);cursor:pointer}.cache-refresh-icon:hover{color:var(--color-primary);border-color:var(--color-primary)}.cache-refresh-icon:disabled{opacity:.6;cursor:not-allowed}.cache-refresh-icon.spinning svg{animation:cache-refresh-spin .7s linear infinite}@keyframes cache-refresh-spin{to{transform:rotate(360deg)}}.cache-row-actions{display:flex;align-items:center;gap:8px}.cache-site-purge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface);color:var(--color-muted);cursor:pointer;line-height:0}.cache-site-purge:hover{color:var(--color-danger, #dc2626);border-color:var(--color-danger, #dc2626)}.cache-site-purge:disabled{opacity:.5;cursor:not-allowed}.cache-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.cache-stat-card{display:flex;gap:12px;padding:14px;background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px}[data-theme=dark] .cache-stat-card{background:#252d38;border-color:#303a49}.cache-stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);flex-shrink:0}.cache-stat-value{font-weight:700;font-size:15px}.cache-stat-label{font-size:12px;color:var(--color-muted)}.cache-stat-sub{font-size:11px;color:var(--color-muted);margin-top:2px}.cache-disabled-hint,.cache-info,.cache-hint{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;padding:12px 14px;border-radius:12px;line-height:1.6}.cache-disabled-hint{background:color-mix(in srgb,var(--color-warning, #d97706) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-warning, #d97706) 20%,transparent);color:var(--color-muted)}.cache-info{background:var(--color-surface);color:var(--color-muted)}.cache-info code{background:var(--color-bg);padding:1px 5px;border-radius:4px;font-size:11px}.cache-hint{background:var(--color-surface);color:var(--color-muted)}.cache-hint code{background:var(--color-bg);padding:1px 4px;border-radius:4px;font-size:11px}.table-card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;font-weight:600}.table-card-header h3{margin:0;font-size:14px}.cache-ttl-hint{font-size:11px;color:var(--color-muted);margin-left:4px}.cache-purge-form{display:flex;flex-direction:column;gap:12px}.cache-purge-desc{font-size:13px;color:var(--color-muted);line-height:1.6;margin:0}.cache-purge-desc code{background:var(--color-bg);padding:1px 5px;border-radius:4px;font-size:11px}.cache-row-clickable{cursor:pointer}.cache-row-clickable:hover{background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.cache-files-popup{display:flex;flex-direction:column;gap:12px;min-width:520px}.cache-files-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.cache-files-search{display:flex;align-items:center;gap:8px;flex:1;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:6px 10px;background:var(--color-surface)}.cache-files-search input{flex:1;border:none;outline:none;background:transparent;font-size:13px}.cache-files-count{font-size:12px;color:var(--color-muted);white-space:nowrap}.cache-files-loading,.cache-files-empty{display:flex;align-items:center;gap:8px;justify-content:center;padding:24px;color:var(--color-muted);font-size:13px}.cache-files-table{font-size:12.5px}.cache-files-uri code{font-size:11px;word-break:break-all}.cache-files-hits{font-size:11px;color:var(--color-muted)}.cache-files-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.cache-files-pageinfo{font-size:12px;color:var(--color-muted)}.cache-files-fullscreen{display:flex;flex:1;min-height:0;height:100%;overflow:hidden}.cache-files-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden}.cache-files-pane--list{width:420px;min-width:320px;max-width:48%;border-right:1px solid var(--color-border, #e5e7eb);background:var(--color-bg)}.cache-files-pane--preview{flex:1;min-width:0;background:var(--color-bg)}.cache-files-pane--list .cache-files-toolbar{padding:12px;border-bottom:1px solid var(--color-border, #e5e7eb)}.cache-files-table-wrap{flex:1;overflow:auto;min-height:0}.cache-files-pane-footer{padding:10px 12px;border-top:1px solid var(--color-border, #e5e7eb);display:flex;justify-content:flex-end}.data-table tr.is-selected{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.cache-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-surface);flex-shrink:0}.cache-preview-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.cache-preview-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.cache-preview-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface);color:var(--color-muted);cursor:pointer}.cache-preview-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.cache-preview-body{flex:1;overflow:auto;padding:16px;background:var(--color-bg);min-height:0;display:flex;flex-direction:column}.cache-preview-text{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12.5px;background:var(--color-surface);padding:14px;border-radius:8px;border:1px solid var(--color-border, #e5e7eb);flex:1;overflow:auto}.cache-preview-textarea{width:100%;flex:1;min-height:320px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12.5px;line-height:1.6;padding:14px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--color-surface);color:var(--color-text);resize:none}.cache-preview-media{display:flex;justify-content:center;align-items:center;padding:12px;flex:1}.cache-preview-media img{max-width:100%;max-height:70vh;border-radius:8px;border:1px solid var(--color-border, #e5e7eb);object-fit:contain}.cache-preview-media video,.cache-preview-media audio{width:100%;max-width:720px;border-radius:8px}.cache-preview-placeholder,.cache-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--color-muted);text-align:center;flex:1}@media(max-width:860px){.cache-files-fullscreen{flex-direction:column}.cache-files-pane--list{width:100%;max-width:100%;border-right:none;border-bottom:1px solid var(--color-border, #e5e7eb);max-height:42%}}.cache-settings{display:flex;flex-direction:column;gap:18px;max-width:900px}.settings-section{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}[data-theme=dark] .settings-section{background:#252d38;border-color:#303a49}.settings-section h3{margin:0;font-size:14px;display:flex;align-items:center;gap:8px}.section-desc{margin:0;font-size:12.5px;color:var(--color-muted);line-height:1.6}.section-desc code{background:var(--color-bg);padding:1px 5px;border-radius:4px;font-size:11px}.filetype-grid{display:flex;flex-wrap:wrap;gap:8px}.filetype-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #ece8e1;border-radius:20px;font-size:13px;cursor:pointer;background:var(--color-bg)}[data-theme=dark] .filetype-chip{background:#1e232b;border-color:#303a49}.chip-active{background:color-mix(in srgb,var(--color-primary) 14%,transparent)!important;border-color:var(--color-primary)!important;color:var(--color-primary);font-weight:600}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.proxy-select-list{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px dashed #ece8e1;border-radius:10px;max-height:220px;overflow:auto}.proxy-check{display:flex;gap:8px;align-items:center;font-size:13px;cursor:pointer}.proxy-check-domain{font-family:monospace;background:var(--color-bg);padding:2px 6px;border-radius:4px;font-size:12px}.proxy-check-type{font-size:11px;color:var(--color-muted)}.cache-settings-hint{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--color-muted);background:color-mix(in srgb,var(--color-warning, #d97706) 10%,transparent);padding:8px 10px;border-radius:8px}@media(max-width:640px){.form-row-2,.form-row-3{grid-template-columns:1fr}}.login-form{display:flex;flex-direction:column;gap:14px}.login-submit{width:100%;margin-top:6px}.invite-success{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.invite-success p{margin:0;font-size:13.5px;color:#cbd5e1;line-height:1.5}.magic-verify{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:12px 0}.magic-verify-text{margin:0;font-size:15px;font-weight:600;color:#f1f5f9}.magic-verify-sub{margin:0;font-size:13px;color:#94a3b8}.magic-verify-error{background:#7f1d1d73;color:#fecaca;border:1px solid rgba(248,113,113,.25);border-radius:8px;padding:10px 12px;font-size:13px;width:100%}.magic-verify-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}.magic-verify-icon.success{background:#dcfce7;color:#166534}.magic-verify-icon.error{background:#fee2e2;color:#991b1b}.magic-verify-actions{margin-top:8px}.profile-page{display:flex;flex-direction:column;gap:16px;max-width:560px}.profile-card{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;box-shadow:none;overflow:hidden}.profile-card-header{padding:16px 18px 14px;border-bottom:1px solid #ece8e1;display:flex;flex-direction:column;gap:4px}.profile-card-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--color-text)}.profile-card-title svg{color:var(--color-primary)}.profile-card-subtitle{font-size:12.5px;color:var(--color-muted)}.profile-card-body{padding:18px;display:flex;flex-direction:column;gap:16px}.profile-avatar-section{display:flex;align-items:center;gap:14px;padding:14px;background:var(--color-bg);border:1px solid #ece8e1;border-radius:10px}.profile-avatar-large{width:48px;height:48px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.profile-avatar-meta{display:flex;flex-direction:column;gap:6px;min-width:0}.profile-avatar-email{font-size:14px;font-weight:600;color:var(--color-text);word-break:break-all}.profile-avatar-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.profile-created-at{font-size:12px;color:var(--color-muted)}.profile-form{display:flex;flex-direction:column;gap:14px}.profile-api-toggle{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--color-bg);border:1px solid #ece8e1;border-radius:10px}.profile-api-disabled{display:flex;align-items:center;gap:8px;padding:12px 14px;background:color-mix(in srgb,var(--color-danger) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-danger) 15%,transparent);border-radius:10px;font-size:12.5px;color:var(--color-text-secondary);line-height:1.4}.profile-api-disabled svg{color:var(--color-danger);flex-shrink:0}.profile-api-hint{margin:0;font-size:12.5px;color:var(--color-muted);line-height:1.4}.profile-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding-top:4px}.profile-password-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;font-size:13.5px;font-weight:600;color:var(--color-primary);cursor:pointer;text-decoration:none}.profile-password-link:hover{text-decoration:underline;color:var(--color-primary)}.profile-password-link:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:4px}.profile-master-notice{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,var(--color-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:10px;padding:14px;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.profile-master-notice svg{color:var(--color-primary);flex-shrink:0;margin-top:1px}.profile-master-notice p{margin:0}.profile-master-notice code{background:var(--color-bg-subtle);border:1px solid var(--color-border);padding:1px 5px;border-radius:4px;font-size:12px;color:var(--color-text)}.change-password-form{display:flex;flex-direction:column;gap:14px}.change-password-msg{font-size:13px;padding:10px 12px;border-radius:8px}.change-password-msg--error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.change-password-msg--success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}[data-theme=dark] .change-password-msg--error{color:#fecaca;background:#7f1d1d59;border-color:#dc262666}[data-theme=dark] .change-password-msg--success{color:#bbf7d0;background:#14532d59;border-color:#16a34a66}[data-theme=dark] .profile-master-notice{background:color-mix(in srgb,var(--color-primary) 14%,transparent);border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);color:var(--color-text-secondary)}[data-theme=dark] .profile-master-notice code{background:#1e232b;border-color:#303a49;color:#e2e8f0}[data-theme=dark] .profile-card{background:#252d38;border-color:#303a49}[data-theme=dark] .profile-card-header{border-bottom-color:#303a49}[data-theme=dark] .profile-avatar-section,[data-theme=dark] .profile-api-toggle{background:#1e232b;border-color:#303a49}.api-page{display:flex;flex-direction:column;gap:16px}.api-docs-card{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;padding:16px 18px;box-shadow:none;display:flex;flex-direction:column;gap:8px}.api-docs-header{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text)}.api-docs-header svg{color:var(--color-primary)}.api-docs-text{margin:0;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.api-docs-text code{background:var(--color-bg-subtle);border:1px solid var(--color-border);padding:1px 5px;border-radius:4px;font-size:12px;color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.api-docs-code{background:#0f172a;color:#e2e8f0;border-radius:8px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;overflow-x:auto;word-break:break-all;white-space:pre-wrap}.api-docs-hint{margin:0;font-size:12px;color:var(--color-muted);line-height:1.4}.api-form{display:flex;flex-direction:column;gap:14px;padding:16px}.api-scopes-grid{display:flex;flex-direction:column;gap:8px;margin-top:6px}.api-scope-item{display:grid;grid-template-columns:18px 1fr;gap:8px 10px;align-items:center;padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-subtle);cursor:pointer;transition:border-color .15s,background .15s;font-size:13px}.api-scope-item input{width:16px;height:16px;accent-color:var(--color-primary)}.api-scope-item--checked{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-bg-subtle))}.api-scope-item span:first-of-type{font-weight:600;color:var(--color-text)}.api-scope-code{grid-column:2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--color-muted)}.api-token-name{font-weight:600;color:var(--color-text);font-size:13.5px}.api-token-name--muted{color:var(--color-muted);font-weight:400;font-style:italic}.api-token-prefix{font-size:11px;color:var(--color-muted);margin-top:2px}.api-scopes{display:flex;flex-wrap:wrap;gap:6px;max-width:320px}.api-scopes .badge{font-size:11px;padding:2px 7px}.api-expired{color:var(--color-danger);font-weight:600}.api-never{color:var(--color-muted);font-style:italic}.api-row-expired{opacity:.65}.api-row-clickable{cursor:pointer;transition:background .15s ease}.api-row-clickable:hover{background:var(--color-bg-subtle)}.api-detail{display:flex;flex-direction:column;gap:12px;padding:16px}.api-detail-row{display:flex;flex-direction:column;gap:4px}.api-detail-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.api-detail-value{font-size:13.5px;color:var(--color-text)}.api-detail-scopes{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--color-border)}.api-detail-hint{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding:8px 10px;background:var(--color-bg-subtle);border:1px dashed var(--color-border);border-radius:8px}.api-created{display:flex;flex-direction:column;gap:12px;padding:16px}.api-created-warning{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-danger) 20%,transparent);border-radius:8px;padding:10px 12px}.api-created-warning svg{color:var(--color-danger);flex-shrink:0}.api-created-meta{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--color-text-secondary);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:8px;padding:10px 12px}.api-created-token-wrap{display:flex;gap:8px;align-items:stretch}.api-created-token{flex:1;min-width:0;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;font-size:12.5px;word-break:break-all;display:flex;align-items:center}[data-theme=dark] .api-docs-card{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .api-docs-code{background:#020617}[data-theme=dark] .api-scope-item{background:var(--color-bg-subtle);border-color:var(--color-border)}[data-theme=dark] .api-scope-item--checked{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 14%,transparent)}[data-theme=dark] .api-created-warning{background:#dc26261f;border-color:#dc26264d}[data-theme=dark] .api-created-meta,[data-theme=dark] .api-created-token{background:#0f172a;border-color:#334155}.swagger-page{display:flex;flex-direction:column;gap:16px;max-width:980px}.swagger-topbar{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.swagger-back{display:inline-flex;align-items:center;gap:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;color:var(--color-text);cursor:pointer}.swagger-back:hover{background:var(--color-bg-subtle)}.swagger-search{display:flex;align-items:center;gap:8px;flex:1;max-width:420px;min-width:220px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:8px 12px;color:var(--color-muted)}.swagger-search--header{max-width:340px;min-width:180px;padding:6px 10px;border-radius:999px;background:#fff;flex:0 1 280px}@media(max-width:640px){.swagger-search--header{min-width:0;flex:1 1 auto;max-width:200px}}.swagger-search-input{flex:1;border:none;outline:none;background:transparent;color:var(--color-text);font-size:13px}.swagger-hero{display:grid;grid-template-columns:56px 1fr;gap:14px;background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;padding:18px;box-shadow:none}.swagger-hero-icon{width:56px;height:56px;border-radius:14px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.swagger-hero-title{margin:0;font-size:20px;font-weight:800;color:var(--color-text)}.swagger-hero-sub{margin:4px 0 10px;font-size:13px;color:var(--color-muted);line-height:1.5}.swagger-hero-sub code{background:var(--color-bg-subtle);border:1px solid var(--color-border);padding:1px 5px;border-radius:4px;font-size:12px}.swagger-hero-meta{display:flex;flex-wrap:wrap;gap:8px}.swagger-hero-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:999px;padding:6px 10px;color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;overflow:hidden;text-overflow:ellipsis}.swagger-hero-badge code{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swagger-auth-card{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:none}.swagger-auth-title{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:var(--color-text)}.swagger-auth-card p{margin:0;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.swagger-auth-card code{background:var(--color-bg-subtle);border:1px solid var(--color-border);padding:1px 4px;border-radius:4px;font-size:11px}.swagger-code{background:#0f172a;color:#e2e8f0;border-radius:8px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.swagger-group{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;overflow:hidden;box-shadow:none}.swagger-group-header{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--color-surface);border:none;border-left:4px solid transparent;cursor:pointer;text-align:left}.swagger-group-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.swagger-group-title{font-weight:700;color:var(--color-text);flex:1}.swagger-group-count{font-size:12px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:999px;padding:2px 8px;color:var(--color-muted)}.swagger-group-body{border-top:1px solid var(--color-border)}.swagger-ep{border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.swagger-ep:last-child{border-bottom:none}.swagger-ep-head{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;background:transparent;border:none;cursor:pointer;text-align:left}.swagger-ep-head:hover{background:var(--color-bg-subtle)}.swagger-method{font-size:11px;font-weight:800;letter-spacing:.04em;padding:4px 8px;border-radius:6px;min-width:58px;text-align:center;color:#fff;flex-shrink:0}.swagger-method--get{background:#2563eb}.swagger-method--post{background:#16a34a}.swagger-method--put{background:#ea580c}.swagger-method--delete{background:#dc2626}.swagger-method--patch{background:#7c3aed}.swagger-ep-path{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:600;color:var(--color-text);flex:1;min-width:0;word-break:break-all}.swagger-ep-summary{font-size:12.5px;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.swagger-ep-auth{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--color-muted);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:999px;padding:3px 8px;flex-shrink:0}.swagger-ep-scope{font-size:11px;font-family:ui-monospace,monospace;background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:999px;padding:3px 8px;flex-shrink:0}.swagger-ep-body{padding:12px 14px 14px;background:color-mix(in srgb,var(--color-bg-subtle) 60%,var(--color-surface));border-top:1px dashed var(--color-border);display:flex;flex-direction:column;gap:10px}.swagger-ep-desc{margin:0;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.swagger-ep-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--color-muted)}.swagger-ep-meta code{background:var(--color-surface);border:1px solid var(--color-border);padding:1px 4px;border-radius:4px;font-size:11px}.swagger-ep-example{display:flex;flex-direction:column;gap:6px}.swagger-ep-example-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:var(--color-text)}.swagger-copy{display:inline-flex;align-items:center;gap:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;color:var(--color-text)}.swagger-copy:hover{background:var(--color-bg-subtle)}.swagger-footer{text-align:center;font-size:12px;color:var(--color-muted);padding:8px}.swagger-footer a{color:var(--color-primary);font-weight:600;text-decoration:none}.swagger-footer a:hover{text-decoration:underline}[data-theme=dark] .swagger-hero,[data-theme=dark] .swagger-group,[data-theme=dark] .swagger-auth-card{background:#252d38;border-color:#303a49;box-shadow:none}[data-theme=dark] .swagger-code{background:#020617}[data-theme=dark] .swagger-search--header{background:#1e293b;border-color:#334155;color:#94a3b8}.update-page-loading{display:flex;justify-content:center;padding:60px 0}.update-page{max-width:640px}.update-page-error{display:flex;align-items:flex-start;gap:8px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:13.5px;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.update-page-card{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;padding:24px 26px}.update-page-card-header{display:flex;align-items:center;gap:8px;margin-bottom:18px}.update-page-card-header h3{margin:0;font-size:16px;font-weight:700;color:var(--color-text)}.update-page-card-header svg{color:var(--color-primary)}.update-page-versions{display:flex;align-items:center;gap:16px;margin-bottom:14px}.update-version-box{flex:1;display:flex;flex-direction:column;gap:4px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:10px;padding:14px 16px}.update-version-box--new{border-color:#3b82f6;background:#eff6ff}[data-theme=dark] .update-version-box--new{background:#3b82f61f;border-color:#3b82f6}.update-version-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.update-version-value{font-size:20px;font-weight:800;color:var(--color-text);letter-spacing:-.02em}.update-version-digest{font-size:11px;color:var(--color-muted);font-family:monospace}.update-version-hint{font-size:12px;color:var(--color-muted)}.update-version-divider{font-size:20px;color:var(--color-muted);font-weight:600}.update-page-checked{font-size:12px;color:var(--color-muted);margin:0 0 16px}.update-page-alert{display:flex;align-items:center;gap:8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:10px 14px;border-radius:10px;font-size:13.5px;margin-bottom:18px}.update-page-ok{display:flex;align-items:center;gap:8px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:10px 14px;border-radius:10px;font-size:13.5px;margin-bottom:18px}[data-theme=dark] .update-page-alert{background:#3b82f626;border-color:#1e40af;color:#bfdbfe}[data-theme=dark] .update-page-ok{background:#22c55e1f;border-color:#166534;color:#bbf7d0}.update-page-actions{display:flex;gap:10px;flex-wrap:wrap}.update-page-actions .btn{display:inline-flex;align-items:center;gap:6px;padding:10px}.update-page-progress{margin:14px 0 0;font-size:13px;color:var(--color-muted);line-height:1.5}.update-confirm-body{display:flex;flex-direction:column;gap:10px;padding:4px 0;font-size:14px;color:var(--color-text);line-height:1.5}.update-confirm-body p{margin:0}.update-confirm-hint{font-size:12.5px;color:var(--color-muted)}.update-confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.up-row{display:flex;flex-direction:column;border-bottom:1px solid var(--color-border)}.up-row:last-child{border-bottom:none}.up-row-main-wrap{display:flex;align-items:stretch}.up-row-main{flex:1;display:grid;grid-template-columns:minmax(140px,2fr) minmax(90px,1fr) minmax(160px,3fr) minmax(70px,1fr) minmax(70px,1fr) minmax(240px,5fr) minmax(80px,1fr);align-items:center;gap:10px;padding:12px 16px;border:none;background:transparent;cursor:pointer;text-align:left;color:inherit;font-size:13px}.up-row-main:hover{background:var(--color-bg-subtle)}.up-name{font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-status{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700}.up-status.is-up{color:#16a34a}.up-status.is-down{color:#dc2626}.up-status.is-unknown{color:var(--color-muted)}.up-url,.up-ms,.up-pct,.up-last{color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.up-row-actions{display:flex;align-items:center;gap:2px;padding-right:10px}.up-strip{display:flex;align-items:stretch;gap:1px;height:16px;overflow:hidden}.up-bar{flex:0 0 3px;width:3px;border-radius:1px}.up-bar--up{background:#16a34a}.up-bar--down{background:#dc2626}.up-row-groups{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}.up-group-tag{font-size:11px;font-weight:600;color:var(--color-muted);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:999px;padding:2px 9px;cursor:pointer}.up-group-tag:hover{color:var(--color-primary);border-color:var(--color-primary)}@media(max-width:820px){.up-row-main{grid-template-columns:1fr auto;grid-template-areas:"name status" "url url" "ms pct" "strip strip" "last last";row-gap:4px}.up-name{grid-area:name}.up-status{grid-area:status}.up-url{grid-area:url}.up-ms{grid-area:ms}.up-pct{grid-area:pct}.up-strip{grid-area:strip}.up-last{grid-area:last}}.mon-subtitle{font-size:12.5px;font-weight:500;color:var(--color-muted)}.mon-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#16a34a;background:#16a34a1a;border:1px solid rgba(22,163,74,.25);border-radius:999px;padding:4px 10px}.mon-live-icon{animation:mon-spin 2.4s linear infinite}@keyframes mon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mon-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.mon-dot--online{background:#16a34a;box-shadow:0 0 0 3px #16a34a2e}.mon-dot--offline{background:#dc2626;box-shadow:0 0 0 3px #dc26262e}.mon-summary{margin-bottom:4px}.mon-stack{display:flex;flex-direction:column;gap:18px}.dash-card .mon-uptime-list,.dash-card .mon-events-list{border:none;border-radius:0;background:transparent}.mon-section{display:flex;flex-direction:column;gap:12px}.mon-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mon-section-head h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;color:var(--color-text)}.mon-section-link{font-size:12.5px;font-weight:600;color:var(--color-primary);text-decoration:none}.mon-section-link:hover{text-decoration:underline}.mon-server-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.mon-server-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;text-align:left;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:inherit;cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.mon-server-card:hover{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow)}.mon-server-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mon-server-name{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mon-server-state{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.mon-server-state--online{color:#16a34a}.mon-server-state--offline{color:#dc2626}.mon-server-ip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--color-muted)}.mon-server-gauge{display:flex;justify-content:center;margin:2px 0 4px}.mon-server-gauge .dash-gauge{margin:0}.mon-server-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mon-metric{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:8px;background:var(--color-bg-subtle);border:1px solid transparent}.mon-metric-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.mon-metric-value{font-size:14px;font-weight:700;color:var(--color-text)}.mon-metric--warning{background:#d977061a;border-color:#d977064d}.mon-metric--warning .mon-metric-value{color:#d97706}.mon-metric--critical{background:#dc26261a;border-color:#dc26264d}.mon-metric--critical .mon-metric-value{color:#dc2626}.mon-server-network{display:flex;gap:14px;font-size:12px;color:var(--color-muted)}.mon-server-network span{display:inline-flex;align-items:center;gap:4px}.mon-server-updated{font-size:11.5px;color:var(--color-muted)}.mon-uptime-list,.mon-events-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;background:var(--color-surface)}.mon-event-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--color-border);font-size:13px;color:inherit;text-decoration:none}.mon-event-row:last-child{border-bottom:none}.mon-event-row--link:hover{background:var(--color-bg-subtle)}.mon-event-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0}.mon-event-icon--success{background:#16a34a24;color:#16a34a}.mon-event-icon--info{background:#2563eb24;color:#2563eb}.mon-event-icon--warning{background:#d9770624;color:#d97706}.mon-event-icon--error{background:#dc262624;color:#dc2626}.mon-event-title{font-weight:600;color:var(--color-text);flex-shrink:0}.mon-event-message{color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.mon-event-time{margin-left:auto;font-size:11.5px;color:var(--color-muted);flex-shrink:0}[data-theme=dark] .mon-server-card,[data-theme=dark] .mon-uptime-list,[data-theme=dark] .mon-events-list{background:#1b222c;border-color:#2c3542}[data-theme=dark] .dash-card .mon-uptime-list,[data-theme=dark] .dash-card .mon-events-list{background:transparent;border-color:transparent}.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.res-card-metrics{display:flex;gap:8px;flex-wrap:wrap}.res-metric{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-muted);padding:5px 9px;border-radius:8px;background:var(--color-bg-subtle)}.res-metric strong{color:var(--color-text);font-weight:700;font-variant-numeric:tabular-nums}.res-metric--warning{background:#d977061a}.res-metric--warning strong{color:#d97706}.res-metric--critical{background:#dc26261a}.res-metric--critical strong{color:#dc2626}.rd-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.rd-header-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.rd-status{font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.03em}.rd-status--online{color:#16a34a}.rd-status--offline{color:#dc2626}.rd-header-sep{width:1px;height:14px;background:var(--color-border)}.rd-header-ip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--color-muted)}.rd-header-meta{color:var(--color-muted)}.rd-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.rd-terminal-panel{display:flex;flex-direction:column;gap:0}.rd-terminal-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 8px}.rd-terminal-panel-title{font-size:13px;font-weight:700;color:var(--color-text)}.rd-terminal-panel-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-muted);cursor:pointer}.rd-terminal-panel-close:hover{color:var(--color-text);border-color:var(--color-primary)}.rd-header-details{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-muted);cursor:pointer;flex-shrink:0}.rd-header-details:hover{color:var(--color-text);border-color:var(--color-primary)}.rd-header-details--active{color:var(--color-primary);border-color:var(--color-primary)}.rd-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.rd-metric{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.rd-metric-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.rd-metric-label{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-weight:600}.rd-metric-info{color:var(--color-muted);cursor:help;flex-shrink:0}.rd-metric-icon{color:var(--color-muted);display:inline-flex}.rd-metric-value{font-size:18px;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.rd-metric--warning{border-color:#d9770666}.rd-metric--warning .rd-metric-value{color:#d97706}.rd-metric--critical{border-color:#dc262666}.rd-metric--critical .rd-metric-value{color:#dc2626}.rd-metric-details{display:flex;flex-direction:column;gap:3px;padding-top:6px;border-top:1px solid var(--color-border)}.rd-metric-detail{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-variant-numeric:tabular-nums}.rd-metric-detail-label{color:var(--color-muted)}.rd-metric-detail-value{color:var(--color-text);font-weight:600}[data-theme=dark] .rd-metric-details{border-top-color:#2c3542}.rd-periods{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-subtle);width:fit-content}.rd-period{border:none;background:transparent;color:var(--color-muted);font-size:12.5px;font-weight:600;padding:5px 14px;border-radius:7px;cursor:pointer}.rd-period:hover{color:var(--color-text)}.rd-period--active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow)}.rd-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.rd-chart-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.rd-chart-title{font-size:13px;font-weight:700;color:var(--color-text)}.rd-chart-empty{padding:24px 0;text-align:center;font-size:12.5px;color:var(--color-muted)}[data-theme=dark] .rd-metric,[data-theme=dark] .rd-chart-card{background:#1b222c;border-color:#2c3542}.recipients-editor{display:flex;flex-direction:column;gap:10px}.recipients-editor-title{font-size:13px;font-weight:700;color:var(--color-text)}.recipients-editor-hint{margin:0;font-size:12px;color:var(--color-muted)}.recipients-editor-list{display:flex;flex-direction:column;gap:6px}.recipients-editor-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.recipients-editor-type{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;flex-shrink:0}.recipients-editor-type--email{color:#2563eb;background:#2563eb1f}.recipients-editor-type--telegram{color:#7c3aed;background:#7c3aed1f}.recipients-editor-value{flex:1;font-size:12.5px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipients-editor-remove{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-muted);cursor:pointer;padding:2px;border-radius:6px}.recipients-editor-remove:hover{color:#dc2626;background:#dc26261a}.recipients-editor-add{display:grid;grid-template-columns:120px 1fr auto;gap:8px;align-items:end}@media(max-width:640px){.recipients-editor-add{grid-template-columns:1fr}}[data-theme=dark] .recipients-editor-item{background:#1b222c;border-color:#2c3542}.up-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;background:var(--color-surface)}.up-form{display:flex;flex-direction:column;gap:14px}.up-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.up-form-groups{display:flex;flex-direction:column;gap:8px}.up-form-groups-title{font-size:13px;font-weight:700;color:var(--color-text)}.up-form-groups-hint{margin:0;font-size:12px;color:var(--color-muted)}.up-form-groups-empty{font-size:12.5px;color:var(--color-muted);padding:10px 12px;border:1px dashed var(--color-border);border-radius:8px}.up-form-groups-list{display:flex;flex-wrap:wrap;gap:8px;max-height:180px;overflow-y:auto}.up-form-group-option{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-size:12.5px;cursor:pointer}.up-form-group-option:hover{border-color:var(--color-primary)}.up-form-group-option--selected{border-color:var(--color-primary);background:#2563eb1a;color:var(--color-primary)}.up-form-group-check{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:4px;border:1px solid var(--color-border);flex-shrink:0}.up-form-group-option--selected .up-form-group-check{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.up-groups-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.up-groups-count{font-size:13px;color:var(--color-muted);font-weight:600}.up-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.up-group-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;text-align:left;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:inherit;cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.up-group-card:hover{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow)}.up-group-card--disabled{opacity:.65}.up-group-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.up-group-card-name{font-size:14px;font-weight:700;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-group-card-off{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);background:var(--color-bg-subtle);border-radius:999px;padding:2px 8px;flex-shrink:0}.up-group-card-stats{display:flex;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--color-muted)}.up-group-stat strong{color:var(--color-text);font-weight:700}.up-group-stat--up{color:#16a34a}.up-group-stat--down{color:#dc2626}.up-group-card-recipients{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-muted)}.up-group-form{display:flex;flex-direction:column;gap:16px;min-width:340px}.up-config{display:flex;flex-direction:column;gap:18px;min-width:320px}.up-config-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-subtle)}.up-config-toggle-text{display:flex;flex-direction:column;gap:2px}.up-config-toggle-text strong{font-size:13.5px;font-weight:600;color:var(--color-text)}.up-config-toggle-text span{font-size:12px;color:var(--color-muted);line-height:1.4}@media(max-width:640px){.up-form-row{grid-template-columns:1fr}.up-group-form{min-width:0}}[data-theme=dark] .up-list,[data-theme=dark] .up-group-card,[data-theme=dark] .up-form-group-option{background:#1b222c;border-color:#2c3542}.ud-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ud-status{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;padding:5px 12px;border-radius:999px}.ud-status--up{color:#16a34a;background:#16a34a1f}.ud-status--down{color:#dc2626;background:#dc26261f}.ud-status--unknown{color:var(--color-muted);background:var(--color-bg-subtle)}.ud-target{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--color-muted);word-break:break-all}.ud-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.ud-metric{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.ud-metric-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-weight:600}.ud-metric-value{font-size:20px;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.ud-metric-value--sm{font-size:14px}.ud-periods{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-subtle);width:fit-content}.ud-block{display:flex;flex-direction:column;gap:10px}.ud-block-head h3{margin:0;font-size:14px;font-weight:700;color:var(--color-text)}.ud-strip{display:flex;align-items:flex-end;gap:2px;height:44px;padding:6px 8px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);overflow:hidden}.ud-bar{flex:1;min-width:2px;height:100%;border-radius:2px}.ud-bar--up{background:#16a34a}.ud-bar--down{background:#dc2626}.ud-strip-empty{padding:14px 16px;font-size:12.5px;color:var(--color-muted);border:1px dashed var(--color-border);border-radius:10px}.ud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.ud-incidents,.ud-checks{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:var(--color-surface);max-height:340px;overflow-y:auto}.ud-incident{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--color-border)}.ud-incident:last-child{border-bottom:none}.ud-incident--open{background:#dc26260f}.ud-incident-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ud-incident-time{font-size:12.5px;font-weight:600;color:var(--color-text)}.ud-incident-cause{font-size:11.5px;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ud-incident-duration{font-size:11.5px;color:var(--color-muted);flex-shrink:0}.ud-check{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:8px 14px;border-bottom:1px solid var(--color-border);font-size:12.5px;font-variant-numeric:tabular-nums}.ud-check:last-child{border-bottom:none}.ud-check-time{color:var(--color-muted)}.ud-check-ms{color:var(--color-text);text-align:right}.ud-check-status{text-align:right;font-weight:700}.ud-check-status.is-up{color:#16a34a}.ud-check-status.is-down{color:#dc2626}[data-theme=dark] .ud-metric,[data-theme=dark] .ud-strip,[data-theme=dark] .ud-incidents,[data-theme=dark] .ud-checks{background:#1b222c;border-color:#2c3542}.ug-recipients{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.ug-recipients-head{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--color-text)}.ug-recipients-empty{font-size:12.5px;color:var(--color-muted)}.ug-recipients-list{display:flex;flex-wrap:wrap;gap:8px}.ug-recipient{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--color-text);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:999px;padding:4px 11px}.ug-recipient-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:999px}.ug-recipient--email .ug-recipient-type{color:#2563eb;background:#2563eb1f}.ug-recipient--telegram .ug-recipient-type{color:#7c3aed;background:#7c3aed1f}[data-theme=dark] .ug-recipients{background:#1b222c;border-color:#2c3542}:root{--color-bg: #f2f0eb;--color-surface: #ffffff;--color-border: #e8e6e1;--color-text: #12131a;--color-muted: #8a94a8;--color-primary: #2964c2;--color-primary-strong: #3b82f6;--color-danger: #dc2626;--color-success: #16a34a;--radius: 16px;--shadow: 0 8px 32px rgba(95, 109, 126, .08);--radius-lg: 20px;--color-bg-elevated: #ffffff;--color-bg-subtle: #f9f7f4;--color-bg-hover: #efece8;--color-bg-primary: #12131a;--color-text-muted: #8a94a8;--color-text-secondary: #3d4552;--color-accent-strong: #3b82f6;--color-focus-ring: rgba(126, 200, 166, .45);--color-button-primary-bg: #2964c2;--color-button-primary-border: #2964c2;--color-button-primary-text: #fff;--shell-radius-md: 10px;--shell-radius-sm: 12px;--card-shadow: 0 8px 32px rgba(95, 109, 126, .12);--transition-theme: background-color .2s ease, color .2s ease, border-color .2s ease;--color-accent-mint: #a8d5ba;--color-accent-mint-strong: #3b82f6;--color-accent-indigo: #6c5ce7;--color-sidebar-bg: #5b6b7e;--color-sidebar-border: #6b7d92}.popup-body{padding:10px}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;letter-spacing:-.01em}#root{min-height:100vh}.app-boot{min-height:100vh;display:flex;align-items:center;justify-content:center}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.page-toolbar-actions{display:flex;gap:8px;flex-shrink:0}.page-loading{display:flex;justify-content:center;padding:70px 0}.page-error{background:#fee2e2;color:#991b1b;border-radius:8px;padding:10px 14px;font-size:13.5px;word-break:break-word}.page-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:48px 16px;color:#94a3b8;font-size:14px;text-align:center;background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;box-shadow:none}.table-card{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;overflow:hidden;box-shadow:none}@media(max-width:900px){.table-card{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-card .data-table{min-width:560px}.page-toolbar{flex-direction:column;align-items:stretch}.page-toolbar-actions{width:100%;justify-content:flex-end}}.data-table{width:100%;border-collapse:collapse;border-radius:5px;overflow:hidden;box-shadow:0 0 0 1px #8989891f inset}.data-table th{text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-bg-subtle);padding:11px 16px;border-bottom:1px solid var(--color-muted);background:var(--color-muted);white-space:nowrap}.data-table td{padding:11px 16px;border-bottom:1px solid var(--color-border);font-size:13.5px;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--color-bg-subtle)}.table-empty{text-align:center;color:var(--color-muted);padding:40px 16px!important;font-size:13.5px}.cell-strong{font-weight:600;color:var(--color-text)}.cell-mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.cell-truncate{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions .btn-ghost{padding:5px 7px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}[data-theme=dark]{--color-bg: #1e232b;--color-surface: #252d38;--color-border: #303a49;--color-text: #e8ecef;--color-muted: #8a94a8;--color-primary: #3b82f6;color-scheme:dark;--color-bg-elevated: #252d38;--color-bg-subtle: #1e232b;--color-bg-hover: #303a49;--color-bg-primary: #12131a;--color-text-muted: #8a94a8;--color-text-secondary: #cbd5e1;--color-accent-strong: #3b82f6;--color-focus-ring: rgba(126, 200, 166, .45);--color-button-primary-bg: #2964c2;--color-button-primary-border: #2964c2;--color-button-primary-text: #fff;--card-shadow: 0 24px 60px rgba(0, 0, 0, .5);--color-sidebar-bg: #2a333e;--color-sidebar-border: #303a49}[data-theme=dark] body{background:#1e232b;color:#e8ecef}[data-theme=dark] .app-main{background:#1e232b}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#475569}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#64748b}[data-theme=dark] .topbar{background:transparent;border-bottom-color:transparent}[data-theme=dark] .topbar-title{color:#f1f5f9}[data-theme=dark] .topbar-theme-btn{border-color:#475569;color:#cbd5e1}[data-theme=dark] .topbar-theme-btn:hover{background:#334155;color:#f1f5f9}[data-theme=dark] .topbar-user-btn:hover{background:#334155}[data-theme=dark] .topbar-chevron{color:#64748b}[data-theme=dark] .topbar-dropdown{background:#1e293b;border-color:#334155;box-shadow:0 8px 24px #0006}[data-theme=dark] .topbar-dropdown-email{color:#e2e8f0;border-bottom-color:#334155}[data-theme=dark] .topbar-dropdown-item{color:#fca5a5}[data-theme=dark] .topbar-dropdown-item:hover{background:#dc262629}[data-theme=dark] .table-card{background:#252d38;border-color:#303a49;box-shadow:none}[data-theme=dark] .data-table th{color:var(--color-muted);border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle)}[data-theme=dark] .data-table tbody tr:hover{background:#26334d}[data-theme=dark] .data-table tbody tr:last-child td{border-bottom:none}[data-theme=dark] .cell-strong{color:#f1f5f9}[data-theme=dark] .cell-mono{color:#cbd5e1}[data-theme=dark] .table-empty{color:#94a3b8}[data-theme=dark] .page-error{background:#7f1d1d66;color:#fecaca}[data-theme=dark] .page-empty{background:#252d38;border-color:#303a49;color:#94a3b8;box-shadow:none}[data-theme=dark] .btn-secondary{background:#334155;color:#e2e8f0;border-color:#475569}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:#475569}[data-theme=dark] .btn-ghost{color:#94a3b8}[data-theme=dark] .btn-ghost:hover:not(:disabled){background:#334155;color:#e2e8f0}[data-theme=dark] .btn-danger{color:#fca5a5}[data-theme=dark] .btn-danger:hover:not(:disabled){background:#dc262629}[data-theme=dark] .input,[data-theme=dark] .select,[data-theme=dark] .textarea{background:#1e232b;color:#e2e8f0;border-color:#303a49;color-scheme:dark}[data-theme=dark] .input:focus,[data-theme=dark] .select:focus,[data-theme=dark] .textarea:focus{border-color:var(--color-primary)}[data-theme=dark] .input::placeholder,[data-theme=dark] .select::placeholder,[data-theme=dark] .textarea::placeholder{color:#64748b}[data-theme=dark] .input-label,[data-theme=dark] .select-label,[data-theme=dark] .textarea-label{color:#cbd5e1}[data-theme=dark] .input-hint,[data-theme=dark] .textarea-hint{color:#94a3b8}[data-theme=dark] .confirm-message{color:#cbd5e1}[data-theme=dark] .badge-blue{background:#1e3a8a;color:#bfdbfe}[data-theme=dark] .badge-green{background:#14532d;color:#bbf7d0}[data-theme=dark] .badge-red{background:#7f1d1d;color:#fecaca}[data-theme=dark] .badge-yellow{background:#78350f;color:#fde68a}[data-theme=dark] .badge-purple{background:#4c1d95;color:#ddd6fe}[data-theme=dark] .badge-gray{background:#334155;color:#cbd5e1}[data-theme=dark] .stat-card{background:#252d38;border-color:#303a49;box-shadow:none}[data-theme=dark] .stat-value{color:#f1f5f9}[data-theme=dark] .stat-label,[data-theme=dark] .stat-sub{color:#b9d3ff8f}[data-theme=dark] .app-card{background:#252d38;border-color:#303a49;box-shadow:none}[data-theme=dark] .app-card:hover{background:#2a333e;border-color:#3a4a5e;box-shadow:none}[data-theme=dark] .app-card-name{color:#f1f5f9}[data-theme=dark] .app-card-meta-item{color:#94a3b8;background:#1e232b;border-color:transparent}[data-theme=dark] .app-card-status-dot{border-color:#252d38}[data-theme=dark] .app-card-actions .btn-ghost{color:#8a94a8}[data-theme=dark] .app-card-actions .btn-ghost:hover:not(:disabled){background:#1e232b;color:#cbd5e1}[data-theme=dark] .group-card{background:#252d38;border-color:#303a49;box-shadow:none}[data-theme=dark] .group-card:hover{border-color:#3a4a5e;background:#2a333e;box-shadow:none}[data-theme=dark] .group-card-name,[data-theme=dark] .group-card-main{color:#a5b4fc}[data-theme=dark] .group-card-sub{color:#94a3b8}[data-theme=dark] .breadcrumb-item{color:#8a94a8}[data-theme=dark] .breadcrumb-item:hover{background:#252d38;color:#cbd5e1}[data-theme=dark] .breadcrumb-current{color:#e8ecef}[data-theme=dark] .breadcrumb-drop{background:#7ec8a624;box-shadow:0 0 0 2px #7ec8a647}[data-theme=dark] .app-root-drop{border-color:#3b82f6;background:#7ec8a614}[data-theme=dark] .app-root-empty,[data-theme=dark] .app-root-empty-sub{color:#64748b}.dashboard-panel{background:var(--color-surface);border:1px solid #ece8e1;border-radius:14px;padding:10px 20px 20px;box-shadow:none}.dashboard-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--color-border);height:36px;min-height:36px;max-height:36px;box-sizing:border-box;overflow:hidden}.dashboard-panel-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--color-text);margin:0}.dashboard-panel-error{background:#fee2e2;color:#991b1b;border-radius:8px;padding:10px 14px;font-size:13.5px}.dashboard-panel-error .muted{color:#7f1d1d}.dashboard-panel-error code{background:#fecaca;color:#991b1b;padding:1px 5px;border-radius:4px;font-size:12px}.dashboard-ok{background:#dcfce7;color:#166534;border-radius:8px;padding:10px 14px;font-size:13.5px}[data-theme=dark] .dashboard-panel{background:#252d38;border-color:#303a49;box-shadow:none}[data-theme=dark] .dashboard-panel-header{border-bottom-color:#303a49}[data-theme=dark] .dashboard-panel-title{color:#e8ecef}[data-theme=dark] .dashboard-panel-error{background:#7f1d1d59;color:#fecaca}[data-theme=dark] .dashboard-panel-error .muted{color:#fda4af}[data-theme=dark] .dashboard-panel-error code{background:#7f1d1d80;color:#fecaca}[data-theme=dark] .dashboard-ok{background:#14532d66;color:#bbf7d0}[data-theme=dark] .kv-item span{color:#94a3b8}[data-theme=dark] .kv-item strong,[data-theme=dark] .overview-row strong{color:#e2e8f0}[data-theme=dark] .overview-label{color:#b9d3ff8f}[data-theme=dark] .deploys-row:hover td{background:#26334d}[data-theme=dark] .deploys-app,[data-theme=dark] .git-account-name{color:#f1f5f9}[data-theme=dark] .git-account-test-result{color:#94a3b8}[data-theme=dark] .settings-card{background:#252d38;border-color:#303a49;box-shadow:none}[data-theme=dark] .settings-card-title{color:#f1f5f9}[data-theme=dark] .about-table td{border-bottom-color:#26334d}[data-theme=dark] .about-label{color:#94a3b8}[data-theme=dark] .about-value{color:#e2e8f0}[data-theme=dark] .form-checkbox{color:#cbd5e1}[data-theme=dark] .form-test-result{background:#14532d66;color:#bbf7d0}[data-theme=dark] .user-form-hint{color:#94a3b8}[data-theme=dark] .user-dropdown{background:#1e293b;border-color:#334155;box-shadow:0 8px 24px #0006}[data-theme=dark] .user-dropdown-item{color:#cbd5e1}[data-theme=dark] .user-dropdown-item:hover{background:#334155}[data-theme=dark] .user-dropdown-item-danger{color:#fca5a5}[data-theme=dark] .user-dropdown-item-danger:hover{background:#dc262629}[data-theme=dark] .user-protected-label{color:#64748b}[data-theme=dark] .auth-card{background:#252d38;border-color:#303a49;box-shadow:none}[data-theme=dark] .auth-title{color:#f1f5f9}[data-theme=dark] .auth-subtitle{color:#94a3b8}[data-theme=dark] .form-title{color:#f1f5f9}[data-theme=dark] .form-card{border-color:#303a49;box-shadow:none}[data-theme=dark] .form-actions,[data-theme=dark] .form-webhook{border-top-color:#334155}[data-theme=dark] .form-toggle-hint,[data-theme=dark] .form-webhook-hint{color:#94a3b8}[data-theme=dark] .form-webhook-label{color:#f1f5f9}[data-theme=dark] .form-webhook-input .input{background:#0f172a;color:#cbd5e1}[data-theme=dark] .spinner{border-color:#303a49;border-top-color:#3b82f6}
