@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";button{padding:0;margin:0;font-family:inherit;font-size:inherit;line-height:1;border:none;background:none;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;font-weight:500;line-height:1.5;border-radius:.5rem;transition:all .2s ease-in-out;cursor:pointer;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:focus{outline:none;box-shadow:0 0 0 3px #1c78e64d}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-xs{padding:.25rem .5rem;font-size:.75rem;border-radius:.375rem}.btn-sm{padding:.375rem .75rem;font-size:.8125rem;border-radius:.375rem}.btn-md{padding:.5rem 1rem;font-size:.875rem;border-radius:.5rem}.btn-lg{padding:.625rem 1.25rem;font-size:.9375rem;border-radius:.5rem}.btn-xl{padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem}.btn-primary{background-color:#1c78e6;color:#fff;border:none;box-shadow:0 4px 6px -1px #1c78e640}.btn-primary:hover:not(:disabled){background-color:#1565c0;box-shadow:0 10px 15px -3px #1c78e659;transform:translateY(-1px)}.btn-secondary{background-color:#fff;color:#374151;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px #0000001a}.btn-success{background-color:#24d678;color:#fff;border:none;box-shadow:0 4px 6px -1px #24d67840}.btn-success:hover:not(:disabled){background-color:#1b8a4a;box-shadow:0 10px 15px -3px #24d67859;transform:translateY(-1px)}.btn-danger{background-color:#dc2626;color:#fff;border:none;box-shadow:0 4px 6px -1px #dc262640}.btn-danger:hover:not(:disabled){background-color:#991b1b;box-shadow:0 10px 15px -3px #dc262659;transform:translateY(-1px)}.btn-warning{background-color:#ff8303;color:#fff;border:none;box-shadow:0 4px 6px -1px #ff830340}.btn-warning:hover:not(:disabled){background-color:#e67e00;box-shadow:0 10px 15px -3px #ff830359;transform:translateY(-1px)}.btn-ghost{background-color:transparent;color:#6b7280;border:none}.btn-ghost:hover:not(:disabled){background-color:#f3f4f6;color:#374151}.btn-icon-only{padding:.5rem;aspect-ratio:1}.btn-icon-only.btn-xs{padding:.25rem}.btn-icon-only.btn-sm{padding:.375rem}.btn-icon-only.btn-md{padding:.5rem}.btn-icon-only.btn-lg{padding:.625rem}.btn-icon-only.btn-xl{padding:.75rem}.icon-container{padding:.5rem;border-radius:.5rem}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.icon-xs{width:.875rem;height:.875rem}.icon-sm{width:1rem;height:1rem}.icon-md{width:1.25rem;height:1.25rem}.icon-lg{width:1.5rem;height:1.5rem}.icon-xl{width:2rem;height:2rem}.icon-2xl{width:2.5rem;height:2.5rem}.icon-3xl{width:3rem;height:3rem}.btn .icon{margin:-.125rem 0}.btn-xs .icon{width:.875rem;height:.875rem}.btn-sm .icon{width:1rem;height:1rem}.btn-md .icon{width:1.125rem;height:1.125rem}.btn-lg .icon{width:1.25rem;height:1.25rem}.btn-xl .icon{width:1.5rem;height:1.5rem}.icon-spin{animation:icon-spin 1s linear infinite}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-pulse{animation:icon-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes icon-pulse{0%,to{opacity:1}50%{opacity:.5}}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:500;line-height:1.5;border-radius:9999px;white-space:nowrap}.badge-xs{padding:.125rem .375rem;font-size:.5625rem}.badge-sm{padding:.25rem .5rem;font-size:.625rem}.badge-md{padding:.25rem .625rem;font-size:.6875rem}.badge-lg{padding:.375rem .75rem;font-size:.75rem}.badge .icon{width:.875rem;height:.875rem}.badge-success{background-color:#e8f5e9;color:#1b8a4a;border:1px solid #C8E6C9}.badge-error{background-color:#fee2e2;color:#991b1b;border:1px solid #FECACA}.badge-warning{background-color:#ffe4cc;color:#e67e00;border:1px solid #FFCB94}.badge-info{background-color:#e3f2fd;color:#1565c0;border:1px solid #BBDEFB}.badge-neutral{background-color:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border:1px solid #f3f4f6;padding:1rem}.card-sm{padding:.75rem;border-radius:.5rem}.card-md{padding:1rem;border-radius:.75rem}.card-lg{padding:1.5rem;border-radius:1rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}@media (min-width: 640px){.sm\:btn-xs{padding:.25rem .5rem;font-size:.75rem}.sm\:btn-sm{padding:.375rem .75rem;font-size:.8125rem}.sm\:btn-md{padding:.5rem 1rem;font-size:.875rem}.sm\:btn-lg{padding:.625rem 1.25rem;font-size:.9375rem}}@media (min-width: 768px){.md\:btn-xs{padding:.25rem .5rem;font-size:.75rem}.md\:btn-sm{padding:.375rem .75rem;font-size:.8125rem}.md\:btn-md{padding:.5rem 1rem;font-size:.875rem}.md\:btn-lg{padding:.625rem 1.25rem;font-size:.9375rem}}@media (min-width: 1024px){.lg\:btn-xs{padding:.25rem .5rem;font-size:.75rem}.lg\:btn-sm{padding:.375rem .75rem;font-size:.8125rem}.lg\:btn-md{padding:.5rem 1rem;font-size:.875rem}.lg\:btn-lg{padding:.625rem 1.25rem;font-size:.9375rem}}.grid-2{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 768px){.grid-2{grid-template-columns:repeat(2,1fr)}}.grid-3{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.grid-3{grid-template-columns:repeat(3,1fr)}}.grid-4{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}.grid-2-col{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 1024px){.grid-2-col{grid-template-columns:repeat(2,1fr)}}.grid-2x2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:6rem 0}.loading-container-sm{padding:2rem 0}.loading-container-lg{padding:10rem 0;min-height:60vh}.loading-container-full{position:fixed;inset:0;background:#fff4e6;z-index:9999}.loading-container-center{position:fixed;inset:0;width:100%;height:100vh;background:#f8fafc;z-index:1000}.loading-container-overlay{position:absolute;inset:0;background:#ff83031a;z-index:100}.loading-container-page-overlay{position:absolute;inset:0;background:#f8fafc;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-spinner{position:relative;width:4rem;height:4rem}.loading-spinner-sm{width:2rem;height:2rem}.loading-spinner-lg{width:6rem;height:6rem}.spinner-ring{width:100%;height:100%;border:4px solid #ffe4cc;border-radius:50%;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.loading-spinner-sm .spinner-ring{border-width:2px}.loading-spinner-lg .spinner-ring{border-width:6px}.spinner-icon{width:100%;height:100%;color:#ff8303;animation:spin 1s linear infinite;position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;line-height:1}.spinner-border{display:inline-block;width:2rem;height:2rem;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:2px}.spinner-border-lg{width:3rem;height:3rem;border-width:4px}.spinner-dots{display:flex;align-items:center;justify-content:center;gap:.5rem}.spinner-dots .dot{width:.75rem;height:.75rem;background-color:#fff;border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.spinner-dots .dot:nth-child(1){animation-delay:-.32s}.spinner-dots .dot:nth-child(2){animation-delay:-.16s}.spinner-dots .dot:nth-child(3){animation-delay:0s}.spinner-dots-sm .dot{width:.5rem;height:.5rem}.spinner-pulse{width:2.5rem;height:2.5rem;background-color:#fff;border-radius:50%;animation:pulse-scale 1.5s ease-in-out infinite}.spinner-pulse-sm{width:1.5rem;height:1.5rem}.spinner-pulse-lg{width:4rem;height:4rem}.loading-text{margin-top:1rem;color:#6b7280;font-weight:500;font-size:.875rem}.loading-text-sm{margin-top:.5rem;font-size:.75rem}.loading-text-lg{margin-top:1.5rem;font-size:1rem}.skeleton{background:#f0f0f0;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:.25rem}.skeleton-text{height:1rem;margin-bottom:.5rem}.skeleton-text-sm{height:.75rem}.skeleton-text-lg{height:1.5rem}.skeleton-title{height:1.5rem;width:60%;margin-bottom:1rem}.skeleton-avatar{width:3rem;height:3rem;border-radius:50%}.skeleton-avatar-sm{width:2rem;height:2rem}.skeleton-avatar-lg{width:4rem;height:4rem}.skeleton-card{height:120px;border-radius:.5rem}.skeleton-button{height:2.5rem;width:6rem;border-radius:.5rem}.skeleton-image{height:200px;border-radius:.5rem}.loading-overlay{position:absolute;inset:0;background:#fff;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:inherit}.loading-overlay-dark{background:#6b7280}.loading-overlay-dark .spinner-border,.loading-overlay-dark .spinner-icon,.loading-overlay-dark .loading-text{color:#fff}.btn-loading{position:relative;pointer-events:none}.btn-loading .btn-text{opacity:0}.btn-loading .spinner-border{position:absolute;width:1.25rem;height:1.25rem;border-width:2px}.progress-bar{width:100%;height:.5rem;background-color:#e5e7eb;border-radius:9999px;overflow:hidden}.progress-bar-fill{height:100%;background-color:#ff8303;border-radius:9999px;transition:width .3s ease}.progress-bar-indeterminate .progress-bar-fill{width:30%;animation:progress-indeterminate 1.5s ease-in-out infinite}.spinner-primary,.spinner-border.spinner-primary{color:#ff8303}.spinner-pulse.spinner-primary,.spinner-dots.spinner-primary .dot{background-color:#ff8303}.spinner-success,.spinner-border.spinner-success{color:#2bcbba}.spinner-pulse.spinner-success,.spinner-dots.spinner-success .dot{background-color:#2bcbba}.spinner-danger,.spinner-border.spinner-danger{color:#fc5c65}.spinner-pulse.spinner-danger,.spinner-dots.spinner-danger .dot{background-color:#fc5c65}.spinner-warning,.spinner-border.spinner-warning{color:#fd9644}.spinner-pulse.spinner-warning,.spinner-dots.spinner-warning .dot{background-color:#fd9644}.spinner-white,.spinner-border.spinner-white{color:#fff}.spinner-pulse.spinner-white,.spinner-dots.spinner-white .dot{background-color:#fff}.spinner-gray,.spinner-border.spinner-gray{color:#6b7280}.spinner-pulse.spinner-gray,.spinner-dots.spinner-gray .dot{background-color:#6b7280}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-scale{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64);--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-xxl: 32px;--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body{background-color:#f3f4f6;transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}:root{--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-xxl: 32px}.users-management-page,.analytics-container{min-height:100vh;padding-bottom:0;position:relative}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}h1{font-size:var(--font-size-xxl);font-weight:700;line-height:1.2}h2{font-size:var(--font-size-xl);font-weight:600;line-height:1.25}h3{font-size:var(--font-size-lg);font-weight:600;line-height:1.3}h4{font-size:var(--font-size-md);font-weight:600;line-height:1.35}h5{font-size:var(--font-size-sm);font-weight:500;line-height:1.4}h6{font-size:var(--font-size-xs);font-weight:500;line-height:1.45}.title-page{font-size:1.2rem;font-weight:700;color:#3867d6}.title-xl{font-size:1.125rem;font-weight:700;color:#1e293b}.title-lg{font-size:1rem;font-weight:700;color:#1e293b}.title-md{font-size:.95rem;font-weight:600;color:#374151}.title-sm{font-size:.875rem;font-weight:600;color:#374151}.subtitle-base{font-size:.875rem;color:#6b7280;margin-top:.25rem}.subtitle-sm{font-size:.75rem;color:#9ca3af}a,.green{text-decoration:none;color:#2bcbba;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#e0f7f6}}.main-content{height:100vh;overflow:hidden;display:flex;flex-direction:column;background:#f8fafc}.main-content .content-area{display:block;margin:60px 0 0 220px;min-width:0;height:calc(100vh - 60px);overflow-y:auto;overflow-x:hidden;transition:all .5s ease;flex:1}.main-content.sidebar-collapsed .content-area{margin-left:75px}.main-content.sidebar-collapsed .app-header{margin-left:85px;margin-right:15px;width:calc(100% - 110px)}@media (max-width: 768px){.main-content,.main-content.sidebar-collapsed{margin-left:0;width:100%}.main-content .content-area{margin:50px 0 0;width:100%}}.container{max-width:1200px;margin:0 auto;padding:0 1rem}@media (max-width: 768px){.container{padding:0 .5rem}}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-control{width:100%;padding:.75rem;border:2px solid #e1e5e9;border-radius:6px;font-size:1rem;transition:border-color .3s ease}.form-control:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .1rem #007bff40}.form-control:disabled{background-color:#f8f9fa;cursor:not-allowed}.card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 2px -2px #0000001a,0 4px 6px -2px #0000000d;margin-bottom:1rem}.card-title{margin:0;color:#333;font-size:1.25rem}.alert{padding:.75rem;border-radius:6px;margin-bottom:1rem}.alert-danger{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.section-card{background:#fff;border-radius:1rem;box-shadow:0 2px 2px -2px #0000001a,0 4px 6px -2px #0000000d;border:1px solid #f3f4f6;padding:1rem}.section-title{margin:0}.content-grid{display:flex;flex-direction:column;gap:1.5rem}.analytics-container{min-height:100vh}.health-status-card{position:relative;background:#fff;border-radius:.5rem;border:1px solid;padding:1rem;transition:all .3s ease;overflow:hidden}.health-status-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.status-indicator{position:absolute;top:0;left:0;width:100%;height:.4rem}.status-line-up{background:#2bcbba}.status-line-down{background:#fc5c65}.status-line-unknown{background:#9ca3af}.card-up{border-color:#b5eae5}.card-up:hover{border-color:#4dd8c8}.card-down{border-color:#ffb8c1}.card-down:hover{border-color:#ffe0e3}.card-unknown{border-color:#e5e7eb}.card-unknown:hover{border-color:#d1d5db}.header-left{display:flex;align-items:center;gap:.75rem}.card-title{font-size:.875rem;font-weight:600;color:#374151}.card-details{display:flex;flex-direction:column;gap:.5rem}.detail-row{display:flex;justify-content:space-between;font-size:.75rem}.detail-key{color:#9ca3af;text-transform:capitalize}.detail-value{color:#4b5563;font-weight:500;padding:.125rem .5rem;border-radius:.25rem}.metric-title{font-size:.75rem;font-weight:500;color:#9ca3af;letter-spacing:.05em;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-card{background:#fff;border-radius:.75rem;border:1px solid #f3f4f6;padding:1rem;transition:all .3s ease}.metric-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-color:#e5e7eb}.subtitle-dot{display:inline-block;width:.375rem;height:.375rem;border-radius:50%;background-color:#d1d5db}.footer{margin-top:2rem;margin-bottom:.5rem;text-align:center;font-size:.75rem;color:#9ca3af}.zenopcb-mobile-fab{display:none}@media (max-width: 768px){.zenopcb-mobile-fab{display:flex;align-items:center;justify-content:center;position:fixed;bottom:20px;left:16px;width:42px;height:42px;border-radius:12px;background:#ff8303;color:#fff;border:none;box-shadow:0 3px 12px #ff830366;cursor:pointer;z-index:9999;transition:transform .2s ease}.zenopcb-mobile-fab svg{width:18px;height:18px}.zenopcb-mobile-fab:active{transform:scale(.92)}}:root{--auth-primary: #FF8303;--auth-primary-hover: #E67E00;--auth-text-dark: #1a1a1a;--auth-text-medium: #666;--auth-text-light: #999;--auth-border: #e0e0e0;--auth-bg-light: #f8f9fa;--auth-error: #ef4444;--auth-error-bg: rgba(239, 68, 68, .15);--auth-error-border: rgba(239, 68, 68, .3);--auth-white: #ffffff}.login-layout,.auth-wrapper{height:100vh;max-height:100vh;display:flex;font-family:Inter,sans-serif;background:var(--auth-white);justify-content:center;overflow:hidden}.auth-left-panel,.login-container{flex:0 0 480px;background:var(--auth-white);display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden;height:100%;box-sizing:border-box}.auth-form-container,.login-card{width:100%;max-width:480px;margin:0 auto;position:relative;z-index:1}.auth-header,.login-header{text-align:center;margin-bottom:32px}.auth-title,.login-title{font-size:2rem;font-weight:700;color:var(--auth-text-dark);margin:0 0 8px}.auth-subtitle{font-size:1rem;color:var(--auth-text-light);margin:0}.login-logo{max-width:250px;height:auto;margin-bottom:.5rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.auth-form,.login-form{display:flex;flex-direction:column;gap:20px}.auth-form-group,.form-group{display:flex;flex-direction:column;gap:8px}.auth-label,.form-group label{font-size:.875rem;font-weight:500;color:var(--auth-text-dark)}.auth-input-wrap,.input-wrap{position:relative;display:flex;align-items:center}.auth-input-icon,.login-icon{position:absolute;left:14px;width:20px;height:20px;color:var(--auth-text-light);pointer-events:none;transition:color .3s}.auth-input,.input-wrap input{width:100%;padding:14px 14px 14px 48px;background:var(--auth-bg-light);border:1.5px solid var(--auth-border);border-radius:12px;font-size:.95rem;color:var(--auth-text-dark);transition:all .3s ease}.auth-input::-moz-placeholder,.input-wrap input::-moz-placeholder{color:var(--auth-text-light)}.auth-input::placeholder,.input-wrap input::placeholder{color:var(--auth-text-light)}.auth-input:focus,.input-wrap input:focus{outline:none;border-color:var(--auth-primary);background:var(--auth-white);box-shadow:0 0 0 3px #ff83031a}.auth-input:focus+.auth-input-icon,.auth-input-wrap:focus-within .auth-input-icon,.input-wrap input:focus+.login-icon{color:var(--auth-primary)}.auth-input:disabled,.input-wrap input:disabled{opacity:.6;cursor:not-allowed}.auth-password-toggle{position:absolute;right:14px;background:transparent;border:none;color:var(--auth-text-light);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .3s}.auth-password-toggle:hover,.auth-password-toggle:focus{color:var(--auth-primary);outline:none}.icon-toggle{width:20px;height:20px}.auth-error,.error-message{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--auth-error-bg);border:1px solid var(--auth-error-border);border-radius:10px;color:#fca5a5;font-size:.875rem}.error-icon{width:18px;height:18px;flex-shrink:0}.auth-options{display:flex;justify-content:space-between;align-items:center}.auth-checkbox-label{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--auth-text-medium);cursor:pointer}.auth-checkbox{width:16px;height:16px;accent-color:var(--auth-primary);cursor:pointer}.auth-forgot-link{font-size:.875rem;color:var(--auth-primary);text-decoration:none;transition:color .3s}.auth-forgot-link:hover{color:var(--auth-primary-hover);text-decoration:underline}.auth-submit-btn,.login-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--auth-primary) 0%,var(--auth-primary-hover) 100%);border:none;border-radius:12px;font-size:1rem;font-weight:600;color:var(--auth-white);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff83034d;letter-spacing:.5px}.auth-submit-btn:hover:not(:disabled),.login-button:hover:not(:disabled){background:linear-gradient(135deg,var(--auth-primary-hover) 0%,var(--auth-primary) 100%);box-shadow:0 6px 20px #ff830366;transform:translateY(-2px)}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled,.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-icon{width:20px;height:20px}.btn-icon.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-footer,.login-footer{text-align:center;margin-top:24px}.auth-footer p,.login-footer p{color:var(--auth-text-medium);font-size:.9rem;margin:0}.auth-link,.login-link{color:var(--auth-primary);text-decoration:none;font-weight:500;transition:color .3s}.auth-link:hover,.login-link:hover{color:var(--auth-primary-hover);text-decoration:underline}.recaptcha-notice{margin-top:16px;text-align:center}.recaptcha-notice p{font-size:11px;color:var(--auth-text-light);line-height:1.5;margin:0}.recaptcha-notice a{color:var(--auth-primary);text-decoration:none;transition:color .2s}.recaptcha-notice a:hover{color:var(--auth-primary-hover);text-decoration:underline}.auth-lang-selector,.lang-popup-switch{position:relative;margin-top:32px;display:flex;justify-content:center}.lang-btn,.flag-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--auth-bg-light);border:1px solid var(--auth-border);border-radius:10px;color:var(--auth-text-dark);font-size:.875rem;cursor:pointer;transition:all .3s}.lang-btn:hover,.flag-btn:hover{background:#efefef;border-color:#ccc}.lang-icon,.flag-img{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.chevron-icon{width:16px;height:16px;transition:transform .3s}.chevron-icon.rotate{transform:rotate(180deg)}.lang-dropdown,.lang-popup-dropdown{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background:var(--auth-white);border:1px solid var(--auth-border);border-radius:10px;box-shadow:0 4px 12px #0000001a;overflow:hidden;min-width:160px;z-index:20;display:flex;flex-direction:column}.lang-option,.lang-popup-option{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:transparent;border:none;color:var(--auth-text-dark);font-size:.9rem;cursor:pointer;transition:background .2s}.lang-option:hover,.lang-popup-option:hover{background:var(--auth-bg-light);color:var(--auth-primary)}.lang-flag{font-size:1.2rem}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease,transform .2s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translate(-50%) translateY(10px)}.auth-mobile-logo{display:none}.auth-right-panel{flex:1;align-items:center;justify-content:center;padding:20px 20px 40px;overflow:hidden}.hero-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;max-width:600px}.hero-decoration{position:absolute;width:300px;height:300px;border-radius:50%;background:#ffffff1a;filter:blur(60px)}.hero-decoration.top-left{top:-100px;left:-100px}.hero-decoration.bottom-right{bottom:-100px;right:-100px}.hero-image-container{position:relative;height:100%;max-width:800px;border-radius:24px;overflow:hidden;margin:10px 10px 20px}.hero-image{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}.hero-text{text-align:center;margin-top:40px;position:relative;z-index:1}.hero-title{font-size:2.5rem;font-weight:700;color:var(--auth-white);margin:0 0 16px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.hero-description{font-size:1.1rem;color:#ffffffe6;line-height:1.6;margin:0}@media (max-width: 900px){.auth-right-panel{display:none}.auth-left-panel,.login-container{flex:1 1 100%}}@media (max-width: 600px){.auth-mobile-logo{display:flex;justify-content:center;margin-bottom:16px}.auth-mobile-logo img{width:160px;height:auto;-o-object-fit:contain;object-fit:contain}.login-layout,.auth-wrapper{overflow-y:auto;overflow-x:hidden;height:100vh;max-height:100vh;-webkit-overflow-scrolling:touch}.auth-left-panel,.login-container{flex:1 1 100%;padding:48px 20px 24px;overflow:visible;min-height:100vh;height:auto;align-items:flex-start}.auth-form-container,.login-card{max-width:100%;width:100%;padding:0}.auth-title,.login-title{font-size:1.6rem}.auth-subtitle{font-size:.9rem}.auth-header,.login-header{margin-bottom:24px}.auth-form,.login-form{gap:16px}.auth-input,.input-wrap input{padding:12px 12px 12px 44px;font-size:.9rem}.auth-submit-btn,.login-button{padding:12px 20px;font-size:.95rem}.auth-options{flex-wrap:wrap;gap:8px}.auth-lang-selector,.lang-popup-switch{margin-top:24px}.auth-right-panel{display:none}}.sidebar[data-v-a6ae9dc7]{width:200px;height:calc(100vh - 30px);background:#fff;color:#1e293b;display:flex;flex-direction:column;position:fixed;z-index:100;box-shadow:0 2px 8px #0000001a;border:1px solid rgba(226,232,240,.5);transition:width .3s ease;border-radius:10px;margin:15px;overflow:hidden}.sidebar.collapsed[data-v-a6ae9dc7]{width:60px}.sidebar-logo[data-v-a6ae9dc7]{display:flex;align-items:center;justify-content:center;padding:16px 12px;border-bottom:1px solid #e2e8f0;transition:all .3s ease;min-height:70px;position:relative;z-index:102}.logo-img[data-v-a6ae9dc7]{width:80%;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.menu-btn[data-v-a6ae9dc7]{background:#f3f3f3a6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;padding:8px;border-radius:8px;width:40px;height:40px;position:relative;z-index:1000}.menu-btn[data-v-a6ae9dc7]:hover{background:#ff8303;transform:scale(1.05)}.menu-btn:hover .menu-icon[data-v-a6ae9dc7]{color:#fff}.menu-icon[data-v-a6ae9dc7]{width:20px;height:20px;color:#64748b;transition:all .3s ease}.sidebar-nav[data-v-a6ae9dc7]{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:60px;margin-top:0;position:relative;z-index:1}.nav-section[data-v-a6ae9dc7]{padding:0}.nav-item[data-v-a6ae9dc7],.nav-group-header[data-v-a6ae9dc7]{display:flex;align-items:center;gap:12px;padding:8px;color:#334155;text-decoration:none;font-size:14px;cursor:pointer;transition:all .3s ease;border-radius:0;position:relative;justify-content:flex-start}.sidebar.collapsed .nav-item[data-v-a6ae9dc7],.sidebar.collapsed .nav-group-header[data-v-a6ae9dc7]{gap:12px;padding:8px;justify-content:center}.nav-item[data-v-a6ae9dc7]:hover,.nav-group-header[data-v-a6ae9dc7]:hover{background:#f1f5f9}.sidebar.collapsed .nav-item[data-v-a6ae9dc7]:hover,.sidebar.collapsed .nav-group-header[data-v-a6ae9dc7]:hover{transform:none}.icon-wrapper[data-v-a6ae9dc7]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;border:2px solid transparent;flex-shrink:0;background:transparent}.nav-item-summary .nav-icon[data-v-a6ae9dc7]{color:#3867d6;transition:color .3s ease}.nav-item-summary:hover .nav-icon[data-v-a6ae9dc7]{color:#2c53b5}.nav-item-scada .nav-icon[data-v-a6ae9dc7]{color:#a55eea;transition:color .3s ease}.nav-item-scada:hover .nav-icon[data-v-a6ae9dc7]{color:#8e44d8}.nav-item-devices .nav-icon[data-v-a6ae9dc7]{color:#2bcbba;transition:color .3s ease}.nav-item-devices:hover .nav-icon[data-v-a6ae9dc7]{color:#0fb9b1}.nav-item-tasks .nav-icon[data-v-a6ae9dc7]{color:#3867d6;transition:color .3s ease}.nav-item-tasks:hover .nav-icon[data-v-a6ae9dc7]{color:#2c53b5}.nav-item-alarm .nav-icon[data-v-a6ae9dc7]{color:#fc5c65;transition:color .3s ease}.nav-item-alarm:hover .nav-icon[data-v-a6ae9dc7]{color:#eb3b5a}.nav-item-settings .nav-icon[data-v-a6ae9dc7]{color:#fd9644;transition:color .3s ease}.nav-item-settings:hover .nav-icon[data-v-a6ae9dc7]{color:#fa8231}.nav-item.active .icon-wrapper[data-v-a6ae9dc7]{background:#ff8303;border:3px solid #FF8303;box-shadow:0 4px 12px #ff83034d}.nav-item.active .nav-icon[data-v-a6ae9dc7]{color:#fff!important}.nav-item.active[data-v-a6ae9dc7]{color:#1e293b}.nav-item:hover .icon-wrapper[data-v-a6ae9dc7],.nav-group-header:hover .icon-wrapper[data-v-a6ae9dc7]{transform:scale(1.1)}.nav-icon[data-v-a6ae9dc7]{width:22px;height:22px;transition:color .3s ease;flex-shrink:0}.nav-text[data-v-a6ae9dc7]{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;display:flex;align-items:center}.nav-arrow[data-v-a6ae9dc7]{width:16px;height:16px;opacity:.7;color:#64748b;transition:transform .3s,color .3s;flex-shrink:0}.nav-group[data-v-a6ae9dc7]{margin-bottom:4px}.nav-sub-menu[data-v-a6ae9dc7]{padding-left:38px;display:flex;flex-direction:column;gap:2px}.nav-sub-item[data-v-a6ae9dc7]{display:flex;align-items:center;justify-content:space-between;color:#334155;font-size:13px;padding:8px 12px;border-radius:4px;text-decoration:none;transition:background .2s,color .2s;margin-bottom:2px}.nav-sub-item[data-v-a6ae9dc7]:hover,.nav-sub-item.active[data-v-a6ae9dc7]{background:#e0e7ef;color:#ff8303}.sidebar.collapsed .nav-sub-menu[data-v-a6ae9dc7]{display:none}.sidebar-footer[data-v-a6ae9dc7]{position:absolute;bottom:0;left:0;padding:12px;display:flex;justify-content:space-between;align-items:center;z-index:101}.sidebar.collapsed .sidebar-footer[data-v-a6ae9dc7]{width:48px;justify-content:space-between}.toggle-btn[data-v-a6ae9dc7]{background:#f3f3f3a6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;padding:8px;margin-bottom:5px;border-radius:8px;width:40px;height:40px}.toggle-btn[data-v-a6ae9dc7]:hover{background:#ff8303;transform:scale(1.05)}.toggle-btn:hover .toggle-icon[data-v-a6ae9dc7]{color:#fff}.toggle-icon[data-v-a6ae9dc7]{width:20px;height:20px;color:#64748b;transition:all .3s ease}.badge[data-v-a6ae9dc7]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;border-radius:5px;line-height:1}.sub-badge[data-v-a6ae9dc7]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:auto;background:#ef4444;color:#fff;font-size:10px;font-weight:600;border-radius:5px;line-height:1}.sidebar-nav[data-v-a6ae9dc7]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-a6ae9dc7]::-webkit-scrollbar-track{background:#f1f5f9}.sidebar-nav[data-v-a6ae9dc7]::-webkit-scrollbar-thumb{background:#e0e7ef;border-radius:3px}.sidebar-nav[data-v-a6ae9dc7]::-webkit-scrollbar-thumb:hover{background:#cbd5e1}@media (max-width: 768px){.sidebar[data-v-a6ae9dc7],.sidebar-footer[data-v-a6ae9dc7],.toggle-btn[data-v-a6ae9dc7]{display:none!important}}.app-header[data-v-b0520f70]{border-bottom:none;display:flex;align-items:center;justify-content:space-between;position:fixed;margin-left:230px;width:calc(100% - 255px);margin-right:15px;top:15px;z-index:999;gap:20px;transition:all .3s ease;border-radius:16px}.app-header.scrolled[data-v-b0520f70]{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.6);box-shadow:0 4px 20px #00000014;padding:10px 20px}.header-left[data-v-b0520f70]{display:flex;align-items:center;gap:12px;transition:all .3s ease}.page-title-wrapper[data-v-b0520f70]{display:flex;align-items:center;gap:8px;transition:all .3s ease}.page-icon[data-v-b0520f70]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#e67e00;font-size:24px;transition:all .3s ease}.back-btn[data-v-b0520f70]{width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000001a;border:1px solid rgba(226,232,240,.5);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#64748b}.back-btn[data-v-b0520f70]:hover{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;transform:translate(-2px);box-shadow:0 4px 12px #ff83034d}.page-title[data-v-b0520f70]{font-size:20px;font-weight:600;color:#1e293b;margin:0;transition:all .3s ease;white-space:nowrap}.sidebar-toggle[data-v-b0520f70]{background:#f8fafc;border:1px solid #e2e8f0;padding:10px;cursor:pointer;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#64748b;width:40px;height:40px}.sidebar-toggle[data-v-b0520f70]:hover{background:#f1f5f9;border-color:#cbd5e1;color:#3b82f6}.sidebar-toggle-icon[data-v-b0520f70]{width:20px;height:20px}.header-logo[data-v-b0520f70]{display:flex;align-items:center;gap:10px;padding:8px 16px;background:linear-gradient(135deg,#ff8303,#e67e00);border-radius:12px;box-shadow:0 2px 8px #ff830333}.logo-icon[data-v-b0520f70]{width:20px;height:20px;color:#fff}.logo-text[data-v-b0520f70]{font-size:16px;font-weight:700;color:#fff}.header-center[data-v-b0520f70]{flex:1;max-width:500px;margin:0 20px}.search-box[data-v-b0520f70]{position:relative;width:100%}.search-icon[data-v-b0520f70]{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#94a3b8;pointer-events:none}.search-input[data-v-b0520f70]{padding:10px 16px 10px 42px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;font-size:14px;color:#1e293b;outline:none;transition:all .2s ease}.search-input[data-v-b0520f70]::-moz-placeholder{color:#94a3b8}.search-input[data-v-b0520f70]::placeholder{color:#94a3b8}.search-input[data-v-b0520f70]:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.header-right[data-v-b0520f70]{display:flex;align-items:center;gap:12px}.header-nav[data-v-b0520f70]{display:flex;align-items:center;gap:8px}.nav-link-round[data-v-b0520f70]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#64748b;text-decoration:none;box-shadow:0 2px 8px #0000001a;border:1px solid rgba(226,232,240,.5);border-radius:12px;transition:all .2s ease}.nav-link-round[data-v-b0520f70]:hover{color:#fff;background:#e67e00;transform:translateY(-2px)}.user-menu[data-v-b0520f70]{position:relative}.user-avatar-wrapper[data-v-b0520f70]{height:40px;display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000001a;border:1px solid rgba(226,232,240,.5);cursor:pointer;transition:all .2s ease}.user-avatar-wrapper[data-v-b0520f70]:hover{background:linear-gradient(135deg,#ff8303,#e67e00);border-color:#e67e00;box-shadow:0 4px 12px #ff83034d;transform:translateY(-2px)}.user-avatar-wrapper:hover .user-name-header[data-v-b0520f70]{color:#fff}.user-avatar[data-v-b0520f70]{width:32px;height:32px;border-radius:50%;overflow:hidden;border:2px solid white;box-shadow:0 2px 8px #0000001a;flex-shrink:0;transition:all .2s ease}.user-avatar img[data-v-b0520f70]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.user-info-header[data-v-b0520f70]{display:flex;flex-direction:column;gap:2px}.user-name-header[data-v-b0520f70]{font-size:13px;font-weight:600;color:#1e293b;white-space:nowrap;transition:color .2s ease}.user-dropdown[data-v-b0520f70]{position:absolute;top:calc(100% + 10px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 25px #00000026;min-width:220px;z-index:1000;overflow:hidden}.user-info[data-v-b0520f70]{padding:16px;background:linear-gradient(135deg,#1c78e60d,#a830db0d);border-bottom:1px solid #e2e8f0}.user-name[data-v-b0520f70]{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:4px}.user-email[data-v-b0520f70]{font-size:12px;color:#64748b}.user-dropdown hr[data-v-b0520f70]{margin:0;border:none;border-top:1px solid #e2e8f0}.dropdown-item[data-v-b0520f70]{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;color:#1e293b;text-decoration:none;font-size:14px;border:none;background:none;text-align:left;cursor:pointer;transition:all .2s ease}.dropdown-item[data-v-b0520f70]:hover{background:#f8fafc;padding-left:20px}.dropdown-item.logout[data-v-b0520f70]{color:#ef4444}.dropdown-item.logout[data-v-b0520f70]:hover{background:#fef2f2;color:#dc2626}.dropdown-icon[data-v-b0520f70]{width:16px;height:16px;flex-shrink:0}@media (max-width: 768px){.app-header[data-v-b0520f70]{margin-left:14px!important;width:calc(100% - 28px)!important;margin-right:14px;top:10px;border-radius:14px;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:none!important;box-shadow:none!important;gap:10px}.back-btn[data-v-b0520f70]{display:flex;width:32px;height:32px;padding:0;background:#ffffffd9;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 4px #00000014;color:#333;align-items:center;justify-content:center;flex-shrink:0}.page-title[data-v-b0520f70]{font-size:15px}.page-icon[data-v-b0520f70]{width:32px;height:32px}.header-center[data-v-b0520f70]{display:none}.header-nav .nav-link-round[data-v-b0520f70]:nth-child(2),.header-nav .nav-link-round[data-v-b0520f70]:nth-child(3){display:none}.user-info-header[data-v-b0520f70]{display:none}.user-avatar-wrapper[data-v-b0520f70]{padding:4px}}.sidebar[data-v-d637f199]{width:200px;height:calc(100vh - 30px);background:#fff;color:#1e293b;display:flex;flex-direction:column;position:fixed;z-index:100;box-shadow:0 2px 8px #0000001a;border:1px solid rgba(226,232,240,.5);transition:width .3s ease;border-radius:10px;margin:15px;overflow:hidden}.sidebar-logo[data-v-d637f199]{display:flex;align-items:center;justify-content:center;padding:16px 12px;border-bottom:1px solid #e2e8f0;transition:all .3s ease;min-height:70px;position:relative;z-index:102}.logo-img[data-v-d637f199]{width:80%;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.menu-btn[data-v-d637f199]{background:#f3f3f3a6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;padding:8px;border-radius:8px;width:40px;height:40px;position:relative;z-index:1000}.menu-btn[data-v-d637f199]:hover{background:#eb3b5a;transform:scale(1.05)}.menu-btn:hover .menu-icon[data-v-d637f199]{color:#fff}.menu-icon[data-v-d637f199]{width:20px;height:20px;color:#64748b;transition:all .3s ease}.sidebar.collapsed[data-v-d637f199]{width:60px}.sidebar-nav[data-v-d637f199]{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:60px;margin-top:0;position:relative;z-index:1}.nav-section[data-v-d637f199]{padding:0}.nav-item[data-v-d637f199],.nav-group-header[data-v-d637f199]{display:flex;align-items:center;gap:12px;padding:8px;color:#334155;text-decoration:none;font-size:14px;cursor:pointer;transition:all .3s ease;border-radius:0;position:relative;justify-content:flex-start}.sidebar.collapsed .nav-item[data-v-d637f199],.sidebar.collapsed .nav-group-header[data-v-d637f199]{gap:12px;padding:8px;justify-content:center}.nav-item[data-v-d637f199]:hover,.nav-group-header[data-v-d637f199]:hover{background:#f1f5f9}.sidebar.collapsed .nav-item[data-v-d637f199]:hover,.sidebar.collapsed .nav-group-header[data-v-d637f199]:hover{transform:none}.icon-wrapper[data-v-d637f199]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;border:2px solid transparent;flex-shrink:0;background:transparent}.nav-item-dashboard .nav-icon[data-v-d637f199]{color:#3867d6;transition:color .3s ease}.nav-item-dashboard:hover .nav-icon[data-v-d637f199]{color:#2c53b5}.nav-item-users .nav-icon[data-v-d637f199]{color:#2bcbba;transition:color .3s ease}.nav-item-users:hover .nav-icon[data-v-d637f199]{color:#0fb9b1}.nav-item-devices .nav-icon[data-v-d637f199]{color:#a55eea;transition:color .3s ease}.nav-item-devices:hover .nav-icon[data-v-d637f199]{color:#8e44d8}.nav-item-monitoring .nav-icon[data-v-d637f199]{color:#fd9644;transition:color .3s ease}.nav-item-monitoring:hover .nav-icon[data-v-d637f199]{color:#fa8231}.nav-item-notifications .nav-icon[data-v-d637f199]{color:#fc5c65;transition:color .3s ease}.nav-item-notifications:hover .nav-icon[data-v-d637f199]{color:#eb3b5a}.nav-item-settings .nav-icon[data-v-d637f199]{color:#5f7fe6;transition:color .3s ease}.nav-item-settings:hover .nav-icon[data-v-d637f199]{color:#3867d6}.nav-item.active .icon-wrapper[data-v-d637f199]{background:#fd9644;border:3px solid #fd9644;box-shadow:0 4px 12px #fd96444d}.nav-item.active .nav-icon[data-v-d637f199]{color:#fff!important}.nav-item.active[data-v-d637f199]{color:#1e293b}.nav-item:hover .icon-wrapper[data-v-d637f199],.nav-group-header:hover .icon-wrapper[data-v-d637f199]{transform:scale(1.1)}.nav-icon[data-v-d637f199]{width:22px;height:22px;transition:color .3s ease;flex-shrink:0}.nav-text[data-v-d637f199]{flex:1;font-weight:500;white-space:nowrap;overflow:hidden}.nav-arrow[data-v-d637f199]{width:16px;height:16px;opacity:.7;color:#64748b;transition:transform .3s,color .3s;flex-shrink:0}.nav-group[data-v-d637f199]{margin-bottom:4px}.nav-sub-menu[data-v-d637f199]{padding-left:38px;display:flex;flex-direction:column;gap:2px}.nav-sub-item[data-v-d637f199]{display:flex;align-items:center;color:#334155;font-size:13px;padding:8px 12px;border-radius:4px;text-decoration:none;transition:background .2s,color .2s;margin-bottom:2px}.nav-sub-item[data-v-d637f199]:hover,.nav-sub-item.active[data-v-d637f199]{background:#e0e7ef;color:#2563eb}.sidebar.collapsed .nav-sub-menu[data-v-d637f199]{display:none}.sidebar-footer[data-v-d637f199]{position:fixed;bottom:12px;padding:12px;display:flex;justify-content:space-between;align-items:center;z-index:101}.sidebar.collapsed .sidebar-footer[data-v-d637f199]{width:48px;justify-content:space-between}.toggle-btn[data-v-d637f199]{background:#f3f3f3a6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;padding:8px;margin-bottom:5px;border-radius:8px;width:40px;height:40px}.toggle-btn[data-v-d637f199]:hover{background:#eb3b5a;transform:scale(1.05)}.toggle-btn:hover .toggle-icon[data-v-d637f199]{color:#fff}.toggle-icon[data-v-d637f199]{width:20px;height:20px;color:#64748b;transition:all .3s ease}.sidebar-nav[data-v-d637f199]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-d637f199]::-webkit-scrollbar-track{background:#f1f5f9}.sidebar-nav[data-v-d637f199]::-webkit-scrollbar-thumb{background:#e0e7ef;border-radius:3px}.sidebar-nav[data-v-d637f199]::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.mobile-overlay[data-v-21ec93e2]{position:fixed;inset:0;background:#00000080;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-drawer[data-v-21ec93e2]{position:fixed;top:0;left:0;width:280px;height:100vh;background:#fff;z-index:1001;display:flex;flex-direction:column;box-shadow:4px 0 24px #00000026;overflow-y:auto}.drawer-header[data-v-21ec93e2]{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 16px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.drawer-logo[data-v-21ec93e2]{height:48px;-o-object-fit:contain;object-fit:contain}.drawer-close[data-v-21ec93e2]{width:36px;height:36px;border:none;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s}.drawer-close[data-v-21ec93e2]:hover{background:#fee2e2;color:#ef4444}.drawer-nav[data-v-21ec93e2]{flex:1;padding:12px 0;overflow-y:auto}.drawer-item[data-v-21ec93e2]{display:flex;align-items:center;gap:14px;padding:5px 10px;color:#334155;font-size:15px;font-weight:500;text-decoration:none;transition:background .2s;cursor:pointer;border:none;background:none;width:100%;text-align:left}.drawer-item[data-v-21ec93e2]:hover{background:#f8fafc}.drawer-item.active[data-v-21ec93e2]{background:#fff8f0;color:#ff8303;font-weight:600}.drawer-item.active .drawer-icon-wrap[data-v-21ec93e2]{background:#ff8303;color:#fff}.drawer-icon-wrap[data-v-21ec93e2]{width:38px;height:38px;border-radius:10px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.drawer-item-summary .drawer-icon-wrap[data-v-21ec93e2]{color:#3867d6}.drawer-item-scada .drawer-icon-wrap[data-v-21ec93e2]{color:#a55eea}.drawer-item-devices .drawer-icon-wrap[data-v-21ec93e2]{color:#2bcbba}.drawer-item-alarm .drawer-icon-wrap[data-v-21ec93e2]{color:#fc5c65}.drawer-item-settings .drawer-icon-wrap[data-v-21ec93e2]{color:#fd9644}.drawer-group-header[data-v-21ec93e2]{justify-content:flex-start}.chevron[data-v-21ec93e2]{margin-left:auto;color:#94a3b8;transition:transform .2s}.chevron.open[data-v-21ec93e2]{transform:rotate(180deg)}.drawer-sub[data-v-21ec93e2]{padding:4px 0 4px 72px;background:#f8fafc}.drawer-sub-item[data-v-21ec93e2]{display:flex;align-items:center;justify-content:space-between;padding:5px 10px 5px 0;color:#475569;font-size:14px;text-decoration:none;border-radius:6px;transition:color .2s}.drawer-sub-item[data-v-21ec93e2]:hover{color:#ff8303}.drawer-sub-item.active[data-v-21ec93e2]{color:#ff8303;font-weight:600}.badge[data-v-21ec93e2]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;border-radius:5px;margin-left:6px}.sub-badge[data-v-21ec93e2]{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;border-radius:4px}.fade-enter-active[data-v-21ec93e2],.fade-leave-active[data-v-21ec93e2]{transition:opacity .25s ease}.fade-enter-from[data-v-21ec93e2],.fade-leave-to[data-v-21ec93e2]{opacity:0}.slide-enter-active[data-v-21ec93e2],.slide-leave-active[data-v-21ec93e2]{transition:transform .28s ease}.slide-enter-from[data-v-21ec93e2],.slide-leave-to[data-v-21ec93e2]{transform:translate(-100%)}.submenu-enter-active[data-v-21ec93e2],.submenu-leave-active[data-v-21ec93e2]{transition:all .2s ease;overflow:hidden}.submenu-enter-from[data-v-21ec93e2],.submenu-leave-to[data-v-21ec93e2]{max-height:0;opacity:0}.submenu-enter-to[data-v-21ec93e2],.submenu-leave-from[data-v-21ec93e2]{max-height:200px;opacity:1}.device-status-options[data-v-b63ec3f2]{display:flex;flex-direction:column;gap:12px;padding:16px}.section-title[data-v-b63ec3f2]{font-size:13px;font-weight:600;color:#64748b;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.option-group[data-v-b63ec3f2]{display:flex;flex-direction:column;gap:6px}.option-label[data-v-b63ec3f2]{font-size:13px;font-weight:500;color:#374151;display:block}.checkbox-label-inline[data-v-b63ec3f2]{display:flex;align-items:center;gap:8px;cursor:pointer}.option-input[data-v-b63ec3f2]{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#1e293b;font-size:13px;transition:border-color .2s,box-shadow .2s}.option-input[data-v-b63ec3f2]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}input[type=checkbox][data-v-b63ec3f2]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.device-status-widget[data-v-3c79265b]{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:8px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.widget-header[data-v-3c79265b]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:linear-gradient(135deg,#1e293b,#334155);color:#fff}.header-left[data-v-3c79265b]{display:flex;align-items:center;gap:8px}.header-icon[data-v-3c79265b]{color:#22c55e}.header-title[data-v-3c79265b]{font-size:13px;font-weight:600}.header-right[data-v-3c79265b]{display:flex;align-items:center;gap:8px}.online-badge[data-v-3c79265b]{background:#22c55e33;color:#22c55e;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.refresh-btn[data-v-3c79265b]{background:#ffffff1a;border:none;color:#fff;width:24px;height:24px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.refresh-btn[data-v-3c79265b]:hover{background:#fff3}.refresh-btn[data-v-3c79265b]:disabled{opacity:.5;cursor:not-allowed}.device-list[data-v-3c79265b]{flex:1;overflow-y:auto;padding:8px}.state-empty[data-v-3c79265b]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#94a3b8;font-size:12px}.device-item[data-v-3c79265b]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;margin-bottom:4px;background:#f8fafc;transition:background .15s}.device-item[data-v-3c79265b]:hover{background:#f1f5f9}.device-item.is-online[data-v-3c79265b]{background:#f0fdf4}.status-dot[data-v-3c79265b]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.online[data-v-3c79265b]{background:#22c55e;box-shadow:0 0 6px #22c55e80}.status-dot.offline[data-v-3c79265b]{background:#ef4444}.device-name[data-v-3c79265b]{flex:1;font-size:12px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-online[data-v-3c79265b]{color:#22c55e}.icon-offline[data-v-3c79265b]{color:#ef4444}.widget-footer[data-v-3c79265b]{padding:8px 12px;border-top:1px solid #e2e8f0;text-align:center}.more-text[data-v-3c79265b]{font-size:11px;color:#64748b}.animate-spin[data-v-3c79265b]{animation:spin-3c79265b 1s linear infinite}@keyframes spin-3c79265b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.unified-alarm-options[data-v-a0aa0795]{padding:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.options-title[data-v-a0aa0795]{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.options-section[data-v-a0aa0795]{margin-bottom:20px}.section-title[data-v-a0aa0795]{font-size:13px;font-weight:600;color:#64748b;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.input-group[data-v-a0aa0795]{margin-bottom:12px}.input-label[data-v-a0aa0795]{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.input-field[data-v-a0aa0795],.select-field[data-v-a0aa0795]{width:100%;padding:8px 12px;font-size:13px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#1e293b;transition:border-color .2s,box-shadow .2s}.input-field[data-v-a0aa0795]:focus,.select-field[data-v-a0aa0795]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.select-field[data-v-a0aa0795]{cursor:pointer}.checkbox-item[data-v-a0aa0795]{display:flex;align-items:center;gap:8px}.checkbox-item input[type=checkbox][data-v-a0aa0795]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.checkbox-label[data-v-a0aa0795]{font-size:13px;color:#374151;cursor:pointer}.unified-alarm-widget[data-v-6f2c55d6]{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:8px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.widget-header[data-v-6f2c55d6]{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(135deg,#1e293b,#334155);color:#fff}.header-left[data-v-6f2c55d6]{display:flex;align-items:center;gap:8px}.header-icon[data-v-6f2c55d6]{color:#fbbf24}.header-title[data-v-6f2c55d6]{font-size:14px;font-weight:600}.header-right[data-v-6f2c55d6]{display:flex;align-items:center;gap:8px}.alarm-badge[data-v-6f2c55d6]{min-width:24px;height:24px;padding:0 6px;border-radius:12px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.badge-success[data-v-6f2c55d6]{background:#10b981;color:#fff}.badge-critical[data-v-6f2c55d6]{background:#ef4444;color:#fff;animation:pulse-6f2c55d6 1.5s infinite}.badge-warning[data-v-6f2c55d6]{background:#f59e0b;color:#fff}.badge-info[data-v-6f2c55d6]{background:#3b82f6;color:#fff}@keyframes pulse-6f2c55d6{0%,to{opacity:1}50%{opacity:.7}}.refresh-btn[data-v-6f2c55d6]{background:#ffffff1a;border:none;color:#fff;padding:4px 6px;border-radius:4px;cursor:pointer;transition:background .2s}.refresh-btn[data-v-6f2c55d6]:hover:not(:disabled){background:#fff3}.refresh-btn[data-v-6f2c55d6]:disabled{opacity:.5;cursor:not-allowed}.filter-row[data-v-6f2c55d6]{padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.device-select[data-v-6f2c55d6]{width:100%;padding:6px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;background:#fff;cursor:pointer}.device-select[data-v-6f2c55d6]:focus{outline:none;border-color:#3b82f6}.alarm-list[data-v-6f2c55d6]{flex:1;overflow-y:auto;padding:8px}.state-empty[data-v-6f2c55d6]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;color:#94a3b8;font-size:13px}.empty-icon[data-v-6f2c55d6]{color:#10b981}.alarm-item[data-v-6f2c55d6]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#f8fafc;border-radius:8px;margin-bottom:6px;transition:background .15s;cursor:pointer;border-left:3px solid transparent}.alarm-item[data-v-6f2c55d6]:hover{background:#f1f5f9}.alarm-item[data-v-6f2c55d6]:last-child{margin-bottom:0}.alarm-item.alarm-unread[data-v-6f2c55d6]{background:#fef3c7}.alarm-item.alarm-unread[data-v-6f2c55d6]:hover{background:#fde68a}.alarm-content[data-v-6f2c55d6]{flex:1;min-width:0}.alarm-message[data-v-6f2c55d6]{font-size:13px;font-weight:500;color:#1e293b;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-meta[data-v-6f2c55d6]{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b;margin-bottom:4px}.alarm-value[data-v-6f2c55d6]{font-size:11px;color:#475569}.alarm-value strong[data-v-6f2c55d6]{color:#ef4444}.separator[data-v-6f2c55d6]{color:#cbd5e1}.ack-btn[data-v-6f2c55d6]{padding:4px 8px;background:#10b981;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s;flex-shrink:0;align-self:center}.ack-btn[data-v-6f2c55d6]:hover{background:#059669}.severity-critical[data-v-6f2c55d6]{border-left-color:#ef4444}.severity-warning[data-v-6f2c55d6]{border-left-color:#f59e0b}.severity-low[data-v-6f2c55d6]{border-left-color:#3b82f6}.severity-info[data-v-6f2c55d6]{border-left-color:#6b7280}.widget-footer[data-v-6f2c55d6]{padding:8px 12px;background:#f1f1f1;border-top:1px solid #e2e8f0;text-align:center}.more-text[data-v-6f2c55d6]{font-size:11px;color:#64748b}.animate-spin[data-v-6f2c55d6]{animation:spin-6f2c55d6 1s linear infinite}@keyframes spin-6f2c55d6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-fade-enter-active[data-v-6f2c55d6],.modal-fade-leave-active[data-v-6f2c55d6]{transition:opacity .2s}.modal-fade-enter-from[data-v-6f2c55d6],.modal-fade-leave-to[data-v-6f2c55d6]{opacity:0}.unified-alarm-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:99999}.unified-alarm-modal-container{background:#fff;border-radius:12px;width:90%;max-width:420px;max-height:80vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a}.unified-alarm-modal-header{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#1e293b,#334155);color:#fff}.unified-alarm-modal-header h3{flex:1;font-size:16px;font-weight:600;margin:0}.unified-alarm-modal-header .modal-icon-wrapper{width:36px;height:36px;background:#fbbf2433;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fbbf24}.unified-alarm-modal-header .modal-close-btn{background:#ffffff1a;border:none;color:#fff;padding:6px;border-radius:6px;cursor:pointer}.unified-alarm-modal-header .modal-close-btn:hover{background:#fff3}.unified-alarm-modal-container .modal-body{padding:16px}.unified-alarm-modal-container .detail-grid{display:grid;gap:12px}.unified-alarm-modal-container .detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f1f5f9}.unified-alarm-modal-container .detail-label{font-size:13px;color:#64748b}.unified-alarm-modal-container .detail-value{font-size:13px;font-weight:500;color:#1e293b}.unified-alarm-modal-container .detail-value.highlight{color:#ef4444;font-weight:600}.unified-alarm-modal-container .status-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.unified-alarm-modal-container .status-badge.unread{background:#fef3c7;color:#92400e}.unified-alarm-modal-container .status-badge.read{background:#d1fae5;color:#065f46}.unified-alarm-modal-container .detail-message{margin-top:12px;padding:12px;background:#f8fafc;border-radius:8px;font-size:13px;color:#475569}.unified-alarm-modal-container .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;background:#f8fafc;border-top:1px solid #e2e8f0}.unified-alarm-modal-container .btn-cancel,.unified-alarm-modal-container .btn-action{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.unified-alarm-modal-container .btn-cancel{background:#fff;border:1px solid #e2e8f0;color:#64748b}.unified-alarm-modal-container .btn-cancel:hover{background:#f1f5f9}.unified-alarm-modal-container .btn-action{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.unified-alarm-modal-container .btn-action:hover{box-shadow:0 4px 12px #3b82f659}.chart-line-widget[data-v-fb46be9e]{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:#fff;border-radius:8px;border:1px solid #e2e8f0;overflow:hidden;box-sizing:border-box}.chart-header[data-v-fb46be9e]{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:linear-gradient(to bottom,#f8fafc,#fff);border-bottom:1px solid #f1f5f9;flex-shrink:0;flex-wrap:wrap;gap:8px}.header-left[data-v-fb46be9e]{display:flex;flex-direction:column;gap:2px}.chart-title[data-v-fb46be9e]{font-weight:600;color:#1e293b}.header-right[data-v-fb46be9e]{display:flex;align-items:center;gap:8px}.time-range-buttons[data-v-fb46be9e]{display:flex;gap:3px;background:#f1f5f9;padding:3px;border-radius:6px}.range-btn[data-v-fb46be9e]{padding:4px 10px;font-weight:500;border:none;background:transparent;color:#64748b;border-radius:4px;cursor:pointer;transition:all .15s}.range-btn[data-v-fb46be9e]:hover{color:#1e293b;background:#e2e8f0}.range-btn.active[data-v-fb46be9e]{background:#1c78e6;color:#fff;box-shadow:0 1px 3px #1c78e64d}.date-controls[data-v-fb46be9e]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.control-group[data-v-fb46be9e]{display:flex;align-items:center;gap:6px}.control-group label[data-v-fb46be9e]{font-weight:500;color:#64748b}.date-input[data-v-fb46be9e]{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;min-width:140px}.date-input[data-v-fb46be9e]:focus{outline:none;border-color:#1c78e6;box-shadow:0 0 0 2px #1c78e61a}.refresh-btn[data-v-fb46be9e]{display:flex;align-items:center;gap:4px;padding:5px 12px;background:#1c78e6;color:#fff;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s}.refresh-btn[data-v-fb46be9e]:hover{background:#1565c0}.history-controls[data-v-fb46be9e]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.source-controls[data-v-fb46be9e]{display:flex;align-items:center;gap:8px}.source-select[data-v-fb46be9e]{padding:5px 24px 5px 8px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;cursor:pointer;min-width:100px;max-width:150px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.source-select[data-v-fb46be9e]:focus{outline:none;border-color:#1c78e6;box-shadow:0 0 0 2px #1c78e61a}.source-select[data-v-fb46be9e]:hover{border-color:#9ca3af}.device-select[data-v-fb46be9e]{background-color:#fef3c7;border-color:#fcd34d}.device-select[data-v-fb46be9e]:focus{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b1a}.monitor-select[data-v-fb46be9e]{background-color:#dbeafe;border-color:#93c5fd}.monitor-select[data-v-fb46be9e]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.reset-zoom-btn[data-v-fb46be9e]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;transition:all .2s}.reset-zoom-btn[data-v-fb46be9e]:hover{background:#e2e8f0;color:#334155;border-color:#cbd5e1}.statistics-bar[data-v-fb46be9e]{display:flex;align-items:center;gap:12px;padding:8px 16px;background:linear-gradient(to right,#f8fafc,#f1f5f9);border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;font-size:12px}.stat-item[data-v-fb46be9e]{display:flex;align-items:center;gap:4px}.stat-label[data-v-fb46be9e]{color:#64748b;font-weight:500}.stat-value[data-v-fb46be9e]{font-weight:600;font-size:13px}.stat-current[data-v-fb46be9e]{color:#1c78e6;background:#e0f2fe;padding:2px 8px;border-radius:4px}.stat-divider[data-v-fb46be9e]{color:#cbd5e1;font-weight:300}.chart-body[data-v-fb46be9e]{flex:1;display:flex;flex-direction:column;padding:12px;min-height:0;overflow:hidden}.chart-container[data-v-fb46be9e]{flex:1;position:relative;height:100%;min-height:120px;contain:layout style;transform:translateZ(0);will-change:contents;backface-visibility:hidden}.chart-canvas[data-v-fb46be9e]{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;isolation:isolate}@media (max-width: 480px){.chart-header[data-v-fb46be9e]{flex-direction:column;align-items:flex-start}.time-range-buttons[data-v-fb46be9e]{width:100%;justify-content:space-between}.range-btn[data-v-fb46be9e]{flex:1;text-align:center;padding:5px 4px}.date-controls[data-v-fb46be9e]{flex-direction:column;align-items:flex-start;gap:6px;width:100%}.date-input[data-v-fb46be9e]{width:100%}}.chart-options[data-v-59e86741]{padding:12px;background:#1e293b;overflow-y:auto}.option-group[data-v-59e86741]{margin-bottom:16px}.group-title[data-v-59e86741]{font-size:13px;font-weight:600;color:#f1f5f9;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #334155}.option-section[data-v-59e86741]{margin-bottom:14px;padding:10px;background:#0f172a;border-radius:6px;border:1px solid #334155}.section-title[data-v-59e86741]{font-size:11px;font-weight:600;color:#94a3b8;margin:0 0 10px;letter-spacing:.5px}.option-item[data-v-59e86741]{margin-bottom:10px}.option-item[data-v-59e86741]:last-child{margin-bottom:0}.option-item label[data-v-59e86741]{display:block;font-size:11px;font-weight:500;color:#cbd5e1;margin-bottom:4px}.option-row[data-v-59e86741]{display:flex;gap:10px}.option-item.half[data-v-59e86741]{flex:1}.checkbox-item[data-v-59e86741]{display:flex;align-items:center;gap:6px}.checkbox-item label[data-v-59e86741]{display:flex;align-items:center;gap:6px;font-size:11px;cursor:pointer;margin-bottom:0;color:#cbd5e1}.help-text[data-v-59e86741]{font-size:10px;color:#64748b;font-style:italic;margin-top:2px;display:block}.input-field[data-v-59e86741],.select-field[data-v-59e86741]{width:100%;padding:6px 10px;border:1px solid #475569;border-radius:4px;font-size:12px;background:#1e293b;color:#f1f5f9;transition:border-color .2s,box-shadow .2s}.input-field[data-v-59e86741]:focus,.select-field[data-v-59e86741]:focus{outline:none;border-color:#1c78e6;box-shadow:0 0 0 2px #1c78e633}.input-field[data-v-59e86741]::-moz-placeholder{color:#64748b}.input-field[data-v-59e86741]::placeholder{color:#64748b}.select-field option[data-v-59e86741]{background:#1e293b;color:#f1f5f9}.checkbox-field[data-v-59e86741]{width:auto;margin:0;accent-color:#1C78E6}.color-field[data-v-59e86741]{width:32px;height:32px;border:none;background:none;cursor:pointer;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;border-radius:4px}.color-field[data-v-59e86741]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-field[data-v-59e86741]::-webkit-color-swatch{border:none;border-radius:4px}.color-field[data-v-59e86741]::-moz-color-swatch{border:none;border-radius:4px}.series-management[data-v-59e86741],.columns-management[data-v-59e86741]{margin-top:12px}.section-header[data-v-59e86741]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-header label[data-v-59e86741]{font-size:11px;font-weight:600;color:#cbd5e1}.btn-add[data-v-59e86741]{display:flex;align-items:center;gap:4px;padding:5px 10px;background:#1c78e6;color:#fff;border:none;border-radius:4px;font-size:10px;cursor:pointer;transition:background-color .2s}.btn-add[data-v-59e86741]:hover{background:#1565c0}.series-item[data-v-59e86741],.column-item[data-v-59e86741]{background:#1e293b;border:1px solid #475569;border-radius:6px;padding:10px;margin-bottom:8px}.series-header[data-v-59e86741],.column-controls[data-v-59e86741]{display:grid;gap:8px;align-items:center;margin-bottom:8px}.series-header[data-v-59e86741]{grid-template-columns:1fr 50px 28px}.column-controls[data-v-59e86741]{grid-template-columns:1fr 1fr 80px 28px}.series-name-input[data-v-59e86741],.column-key-input[data-v-59e86741],.column-title-input[data-v-59e86741]{padding:5px 8px;border:1px solid #475569;border-radius:4px;font-size:11px;background:#0f172a;color:#f1f5f9}.series-name-input[data-v-59e86741]:focus,.column-key-input[data-v-59e86741]:focus,.column-title-input[data-v-59e86741]:focus{outline:none;border-color:#1c78e6}.color-input[data-v-59e86741]{width:32px;height:32px;border:none;background:none;cursor:pointer;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;border-radius:4px}.color-input[data-v-59e86741]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-input[data-v-59e86741]::-webkit-color-swatch{border:none;border-radius:4px}.color-input[data-v-59e86741]::-moz-color-swatch{border:none;border-radius:4px}.type-select[data-v-59e86741],.column-type-select[data-v-59e86741]{padding:5px 8px;border:1px solid #475569;border-radius:4px;font-size:10px;background:#0f172a;color:#f1f5f9}.btn-remove[data-v-59e86741]{width:26px;height:26px;background:#dc2626;color:#fff;border:none;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s}.btn-remove[data-v-59e86741]:hover{background:#b91c1c}.icon[data-v-59e86741]{width:12px;height:12px}.series-data[data-v-59e86741]{margin-top:8px}.series-data label[data-v-59e86741]{font-size:10px;color:#94a3b8;margin-bottom:4px}.data-textarea[data-v-59e86741]{width:100%;padding:6px 8px;border:1px solid #475569;border-radius:4px;font-size:10px;min-height:50px;resize:vertical;background:#0f172a;color:#f1f5f9}.data-textarea[data-v-59e86741]:focus{outline:none;border-color:#1c78e6;box-shadow:0 0 0 2px #1c78e633}.series-source[data-v-59e86741]{margin-top:8px;padding:8px;background:#0f172a;border:1px solid #334155;border-radius:4px}.source-row[data-v-59e86741]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.source-field[data-v-59e86741]{display:flex;flex-direction:column;gap:4px}.source-field label[data-v-59e86741]{font-size:10px;color:#94a3b8;font-weight:500}.date-range-section[data-v-59e86741]{margin-top:8px;padding-top:8px;border-top:1px dashed #475569}.tag-selection[data-v-59e86741]{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.btn-add-tag[data-v-59e86741]{display:flex;align-items:center;gap:4px;padding:5px 12px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:11px;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-add-tag[data-v-59e86741]:hover:not(:disabled){background:#059669}.btn-add-tag[data-v-59e86741]:disabled{opacity:.5;cursor:not-allowed}.data-row-controls[data-v-59e86741]{display:grid;grid-template-columns:1.2fr 1.2fr 28px;gap:8px;align-items:center}.row-device-select[data-v-59e86741],.row-data-select[data-v-59e86741]{padding:5px 8px;border:1px solid #475569;border-radius:4px;font-size:11px;background:#0f172a;color:#f1f5f9}.row-device-select[data-v-59e86741]:focus,.row-data-select[data-v-59e86741]:focus{outline:none;border-color:#1c78e6}.row-data-select[data-v-59e86741]:disabled{opacity:.5;cursor:not-allowed}.empty-rows-hint[data-v-59e86741]{text-align:center;padding:20px;color:#64748b;font-size:12px;font-style:italic;background:#0f172a;border-radius:6px;border:1px dashed #334155}.loading-hint[data-v-59e86741]{font-size:11px;color:#f59e0b;font-style:italic;margin-left:8px}.devices-count[data-v-59e86741]{font-size:10px;color:#22c55e;margin-left:8px}.section-subtitle[data-v-59e86741]{font-size:12px;font-weight:600;color:#cbd5e1;margin:0 0 8px}.hint-text[data-v-59e86741]{display:block;font-size:11px;color:#64748b;margin-top:4px;font-style:italic}.chart-table-widget[data-v-63bdfa69]{display:flex;flex-direction:column;width:100%;height:100%;background:#fff;border-radius:8px;border:1px solid #e2e8f0;overflow:hidden}.chart-header[data-v-63bdfa69]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f1f5f9;background:#f9fafb}.chart-title[data-v-63bdfa69]{font-size:14px;font-weight:600;color:#1e293b}.data-count[data-v-63bdfa69]{font-size:12px;color:#64748b}.chart-controls[data-v-63bdfa69]{display:flex;gap:8px;padding:10px 16px;border-bottom:1px solid #f1f5f9;background:#fafbfc}.control-item[data-v-63bdfa69]{display:flex;flex:1;min-width:0}.search-input[data-v-63bdfa69],.select-field[data-v-63bdfa69]{flex:1;padding:6px 10px;border:1px solid #e2e8f0;border-radius:4px;font-size:12px;background:#fff;color:#475569}.search-input[data-v-63bdfa69]:focus,.select-field[data-v-63bdfa69]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.chart-body[data-v-63bdfa69]{flex:1;overflow:hidden;display:flex;flex-direction:column}.table-container[data-v-63bdfa69]{flex:1;overflow-y:auto;overflow-x:auto}.data-table[data-v-63bdfa69]{width:100%;border-collapse:collapse;font-size:12px}.table-header[data-v-63bdfa69]{background:#f8fafc;color:#475569;font-weight:600;padding:0;text-align:left;border-bottom:1px solid #e2e8f0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.header-cell[data-v-63bdfa69]{display:flex;align-items:center;gap:4px;padding:8px 10px;cursor:pointer;transition:background .2s}.header-cell[data-v-63bdfa69]:hover{background:#f1f5f9}.sort-icon[data-v-63bdfa69]{font-size:10px;color:#3b82f6}.col-index[data-v-63bdfa69]{width:40px;text-align:center;background:#f8fafc;border-right:1px solid #e2e8f0}.table-row[data-v-63bdfa69]{border-bottom:1px solid #f1f5f9;transition:background .15s}.table-row[data-v-63bdfa69]:hover{background:#f9fafb}.data-table.striped tbody tr[data-v-63bdfa69]:nth-child(odd){background:#f9fafb}.data-table.striped tbody tr[data-v-63bdfa69]:nth-child(2n){background:#fff}.data-table.striped tbody tr[data-v-63bdfa69]:hover{background:#f1f5f9!important}.table-cell[data-v-63bdfa69]{padding:8px 10px;color:#475569;font-size:11px}.col-index[data-v-63bdfa69]{width:40px;text-align:center;color:#94a3b8;background:#fafbfc;border-right:1px solid #f1f5f9}.time-cell[data-v-63bdfa69]{color:#64748b;font-family:Courier New,monospace}.value-cell[data-v-63bdfa69]{font-weight:500;color:#1e293b}.empty-state[data-v-63bdfa69]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:200px;color:#94a3b8;font-size:12px}.chart-footer[data-v-63bdfa69]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid #f1f5f9;background:#f9fafb;font-size:12px}.pagination-info[data-v-63bdfa69]{color:#64748b}.pagination-controls[data-v-63bdfa69]{display:flex;align-items:center;gap:8px}.pagination-btn[data-v-63bdfa69]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.pagination-btn[data-v-63bdfa69]:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.pagination-btn[data-v-63bdfa69]:disabled{opacity:.5;cursor:not-allowed}.page-number[data-v-63bdfa69]{color:#64748b;font-size:11px;min-width:50px;text-align:center}@media (max-width: 768px){.chart-controls[data-v-63bdfa69]{flex-direction:column}.control-item[data-v-63bdfa69]{width:100%}.data-table[data-v-63bdfa69]{font-size:10px}.table-cell[data-v-63bdfa69],.header-cell[data-v-63bdfa69]{padding:6px 8px}.col-index[data-v-63bdfa69]{width:32px}.chart-header[data-v-63bdfa69]{flex-direction:column;align-items:flex-start;gap:6px}}.value-control-widget[data-v-11611521]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;height:100%;gap:8px}.control-label[data-v-11611521]{font-size:14px;font-weight:500;text-align:center;margin-bottom:4px}.control-container[data-v-11611521]{display:flex;align-items:center;justify-content:center}.control-btn[data-v-11611521]{display:flex;align-items:center;justify-content:center;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:0 2px 4px #0000001a}.control-btn[data-v-11611521]:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 8px #00000026}.control-btn[data-v-11611521]:active:not(:disabled){transform:scale(.95)}.control-btn[data-v-11611521]:disabled{opacity:.4;cursor:not-allowed}.minus-btn[data-v-11611521]:hover:not(:disabled){filter:brightness(.9)}.plus-btn[data-v-11611521]:hover:not(:disabled){filter:brightness(1.1)}.value-display[data-v-11611521]{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:0 16px;text-align:center}.current-value[data-v-11611521]{font-weight:700;font-variant-numeric:tabular-nums}.value-unit[data-v-11611521]{font-size:.7em;opacity:.7;font-weight:500}.range-labels[data-v-11611521]{display:flex;justify-content:space-between;width:100%;max-width:200px;font-size:11px;opacity:.6;margin-top:4px}.min-label[data-v-11611521],.max-label[data-v-11611521]{font-weight:500}.control-options[data-v-fcc545f7]{display:flex;flex-direction:column;font-size:13px}.options-section[data-v-fcc545f7]{background:#1e293b;padding:12px;display:flex;flex-direction:column;gap:10px}.section-title[data-v-fcc545f7]{margin:0 0 4px;font-size:12px;font-weight:600;color:#94a3b8;letter-spacing:.5px}.input-group[data-v-fcc545f7]{display:flex;flex-direction:column;gap:4px}.input-label[data-v-fcc545f7]{font-size:12px;font-weight:500;color:#cbd5e1}.input-field[data-v-fcc545f7]{padding:8px 10px;border:1px solid #475569;border-radius:6px;font-size:13px;background:#0f172a;color:#e2e8f0;transition:all .2s}.input-field[data-v-fcc545f7]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.input-row[data-v-fcc545f7]{display:flex;gap:8px;align-items:center}.input-row .input-field[data-v-fcc545f7]{flex:1}.input-small[data-v-fcc545f7]{width:70px!important;flex:none!important}.range-input[data-v-fcc545f7]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb;border-radius:3px;outline:none}.range-input[data-v-fcc545f7]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#2563eb;border-radius:50%;cursor:pointer}.value-display[data-v-fcc545f7]{font-size:12px;color:#94a3b8;text-align:center;margin-top:4px;font-weight:500}.color-row[data-v-fcc545f7]{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;padding-bottom:4px}.color-row[data-v-fcc545f7]::-webkit-scrollbar{height:4px}.color-row[data-v-fcc545f7]::-webkit-scrollbar-track{background:#1e293b;border-radius:2px}.color-row[data-v-fcc545f7]::-webkit-scrollbar-thumb{background:#475569;border-radius:2px}.color-row[data-v-fcc545f7]::-webkit-scrollbar-thumb:hover{background:#64748b}.color-item[data-v-fcc545f7]{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.color-label[data-v-fcc545f7]{font-size:11px;color:#94a3b8}.color-picker[data-v-fcc545f7]{width:32px;height:32px;border:none;background:none;cursor:pointer;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;border-radius:4px}.color-picker[data-v-fcc545f7]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-picker[data-v-fcc545f7]::-webkit-color-swatch{border:none;border-radius:4px}.color-picker[data-v-fcc545f7]::-moz-color-swatch{border:none;border-radius:4px}.checkbox-group[data-v-fcc545f7]{display:flex;flex-wrap:wrap;gap:8px 16px}.checkbox-item[data-v-fcc545f7]{display:flex;align-items:center;gap:6px;font-size:12px;color:#cbd5e1;cursor:pointer}.checkbox-item input[type=checkbox][data-v-fcc545f7]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.checkbox-item span[data-v-fcc545f7]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.slider-target,.slider-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing:border-box;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.slider-target{position:relative}.slider-base,.slider-connects{height:100%;position:relative;width:100%;z-index:1}.slider-connects{overflow:hidden;z-index:0}.slider-connect,.slider-origin{height:100%;position:absolute;right:0;top:0;transform-origin:0 0;transform-style:flat;width:100%;will-change:transform;z-index:1}.slider-txt-dir-rtl.slider-horizontal .slider-origin{left:0;right:auto}.slider-vertical .slider-origin{top:-100%;width:0}.slider-horizontal .slider-origin{height:0}.slider-handle{backface-visibility:hidden;position:absolute}.slider-touch-area{height:100%;width:100%}.slider-state-tap .slider-connect,.slider-state-tap .slider-origin{transition:transform .3s}.slider-state-drag *{cursor:inherit!important}.slider-tooltip-drag .slider-tooltip,.slider-tooltip-focus .slider-tooltip{display:none!important}.slider-tooltip-drag .slider-active .slider-tooltip,.slider-tooltip-drag.slider-state-drag .slider-tooltip:not(.slider-tooltip-hidden),.slider-tooltip-focus.slider-focused .slider-tooltip:not(.slider-tooltip-hidden){display:block!important}.slider-horizontal{height:var(--slider-height,6px)}.slider-horizontal .slider-handle{height:var(--slider-handle-height,16px);right:calc(var(--slider-handle-width, 16px)/2*-1);top:calc((var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2*-1 + -1px);width:var(--slider-handle-width,16px)}.slider-vertical{height:var(--slider-vertical-height,300px);width:var(--slider-height,6px)}.slider-vertical .slider-handle{bottom:calc(var(--slider-handle-width, 16px)/2*-1);height:var(--slider-handle-width,16px);right:calc((var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2*-1 + -1px);width:var(--slider-handle-height,16px)}.slider-txt-dir-rtl.slider-horizontal .slider-handle{left:calc(var(--slider-handle-width, 16px)/2*-1);right:auto}.slider-base{background-color:var(--slider-bg,#d1d5db)}.slider-base,.slider-connects{border-radius:var(--slider-radius,9999px)}.slider-connect{background:var(--slider-connect-bg,#10b981);cursor:pointer}.slider-draggable{cursor:ew-resize}.slider-vertical .slider-draggable{cursor:ns-resize}.slider-handle{background:var(--slider-handle-bg,#fff);border:var(--slider-handle-border,0);border-radius:var(--slider-handle-radius,9999px);box-shadow:var(--slider-handle-shadow,.5px .5px 2px 1px rgba(0,0,0,.32));cursor:grab;height:var(--slider-handle-height,16px);width:var(--slider-handle-width,16px)}.slider-handle:focus{box-shadow:0 0 0 var(--slider-handle-ring-width,3px) var(--slider-handle-ring-color,rgba(16,185,129,.188)),var(--slider-handle-shadow,.5px .5px 2px 1px rgba(0,0,0,.32));outline:none}.slider-active{box-shadow:var(--slider-handle-shadow-active,.5px .5px 2px 1px rgba(0,0,0,.42));cursor:grabbing}[disabled] .slider-connect{background:var(--slider-connect-bg-disabled,#9ca3af)}[disabled] .slider-handle,[disabled].slider-handle,[disabled].slider-target{cursor:not-allowed}[disabled] .slider-tooltip{background:var(--slider-tooltip-bg-disabled,#9ca3af);border-color:var(--slider-tooltip-bg-disabled,#9ca3af)}.slider-tooltip{background:var(--slider-tooltip-bg,#10b981);border:1px solid var(--slider-tooltip-bg,#10b981);border-radius:var(--slider-tooltip-radius,5px);color:var(--slider-tooltip-color,#fff);display:block;font-size:var(--slider-tooltip-font-size,.875rem);font-weight:var(--slider-tooltip-font-weight,600);line-height:var(--slider-tooltip-line-height,1.25rem);min-width:var(--slider-tooltip-min-width,20px);padding:var(--slider-tooltip-py,2px) var(--slider-tooltip-px,6px);position:absolute;text-align:center;white-space:nowrap}.slider-horizontal .slider-tooltip-top{bottom:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));left:50%;transform:translate(-50%)}.slider-horizontal .slider-tooltip-top:before{border:var(--slider-tooltip-arrow-size,5px) solid transparent;border-top-color:inherit;bottom:calc(var(--slider-tooltip-arrow-size, 5px)*-2);content:"";height:0;left:50%;position:absolute;transform:translate(-50%);width:0}.slider-horizontal .slider-tooltip-bottom{left:50%;top:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));transform:translate(-50%)}.slider-horizontal .slider-tooltip-bottom:before{border:var(--slider-tooltip-arrow-size,5px) solid transparent;border-bottom-color:inherit;content:"";height:0;left:50%;position:absolute;top:calc(var(--slider-tooltip-arrow-size, 5px)*-2);transform:translate(-50%);width:0}.slider-vertical .slider-tooltip-left{right:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));top:50%;transform:translateY(-50%)}.slider-vertical .slider-tooltip-left:before{border:var(--slider-tooltip-arrow-size,5px) solid transparent;border-left-color:inherit;content:"";height:0;position:absolute;right:calc(var(--slider-tooltip-arrow-size, 5px)*-2);top:50%;transform:translateY(-50%);width:0}.slider-vertical .slider-tooltip-right{left:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));top:50%;transform:translateY(-50%)}.slider-vertical .slider-tooltip-right:before{border:var(--slider-tooltip-arrow-size,5px) solid transparent;border-right-color:inherit;content:"";height:0;left:calc(var(--slider-tooltip-arrow-size, 5px)*-2);position:absolute;top:50%;transform:translateY(-50%);width:0}.slider-horizontal .slider-origin>.slider-tooltip{left:auto;transform:translate(50%)}.slider-horizontal .slider-origin>.slider-tooltip-top{bottom:calc(var(--slider-tooltip-arrow-size, 5px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) + 1px)}.slider-horizontal .slider-origin>.slider-tooltip-bottom{top:calc(var(--slider-tooltip-arrow-size, 5px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) + var(--slider-height, 6px) - 1px)}.slider-vertical .slider-origin>.slider-tooltip{top:auto;transform:translateY(calc((var(--slider-tooltip-line-height, 1.25rem) - var(--slider-tooltip-py, 2px))*-1 + 1px))}.slider-vertical .slider-origin>.slider-tooltip-left{right:calc(var(--slider-tooltip-arrow-size, 5px) + var(--slider-height, 6px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) - 1px)}.slider-vertical .slider-origin>.slider-tooltip-right{left:calc(var(--slider-tooltip-arrow-size, 5px) + var(--slider-height, 6px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) - var(--slider-height, 6px) + 1px)}.horizontal-slider-widget[data-v-3c205a14]{display:flex;align-items:center;justify-content:center;padding:16px;height:100%}.slider-container[data-v-3c205a14]{display:flex;flex-direction:column;gap:12px;width:100%;max-width:300px}.slider-label[data-v-3c205a14]{font-size:var(--78fb1b19);font-weight:500;text-align:center;margin-bottom:4px;color:var(--10e9dfe2)}.slider-content[data-v-3c205a14]{display:flex;align-items:center;gap:12px;width:100%}.vue-slider-wrapper[data-v-3c205a14]{flex:1;padding:0 4px}.slider-value[data-v-3c205a14]{font-size:var(--0172ae1d);color:var(--3414ea4c);font-weight:500;min-width:32px;text-align:center}.value-display[data-v-3c205a14]{text-align:center;margin-top:4px}.current-value[data-v-3c205a14]{font-size:var(--94f61554);font-weight:600;color:var(--3414ea4c)}[data-v-3c205a14] .slider-base{height:var(--03b0e7d6)!important;background-color:var(--3a1d1a6a)!important}[data-v-3c205a14] .slider-connects{height:var(--03b0e7d6)!important}[data-v-3c205a14] .slider-connect{height:var(--03b0e7d6)!important;border-radius:3px!important;background:var(--dbc1cb3a)!important}[data-v-3c205a14] .slider-origin{height:var(--03b0e7d6)!important}[data-v-3c205a14] .slider-handle{width:var(--31393138)!important;height:var(--31393138)!important;border-radius:50%!important;transition:all .3s ease!important;background-color:var(--377f5120)!important;border:2px solid var(--dbc1cb3a)!important;box-shadow:0 2px 4px #0000001a!important}[data-v-3c205a14] .slider-handle:hover{transform:scale(1.1)!important}[data-v-3c205a14] .vue-slider-dot-handle{border-radius:50%!important;transition:all .3s ease!important}[data-v-3c205a14] .vue-slider-dot-handle:hover{transform:scale(1.1)!important}[data-v-3c205a14] .vue-slider-dot-tooltip{font-size:12px!important;padding:4px 8px!important;border-radius:4px!important}[data-v-3c205a14] .vue-slider-mark{z-index:1!important}[data-v-3c205a14] .vue-slider-mark-step{width:2px!important;height:2px!important;border-radius:50%!important;background-color:#d1d5db!important}[data-v-3c205a14] .vue-slider-mark-label{font-size:10px!important;color:#6b7280!important;margin-top:6px!important}@media (max-width: 480px){.slider-container[data-v-3c205a14]{max-width:250px}.slider-value[data-v-3c205a14]{font-size:11px;min-width:28px}.current-value[data-v-3c205a14]{font-size:14px}}.vertical-slider-widget[data-v-0e4e1b4e]{display:flex;align-items:center;justify-content:center;padding:16px;height:100%;min-height:250px}.slider-container[data-v-0e4e1b4e]{display:flex;flex-direction:column;align-items:center;gap:12px;height:100%}.slider-label[data-v-0e4e1b4e]{font-size:var(--61f67e0e);font-weight:500;text-align:center;margin-bottom:4px;color:var(--3ef319f8)}.slider-content[data-v-0e4e1b4e]{display:flex;flex-direction:column;gap:12px;height:100%;flex:1;width:100%}.slider-row[data-v-0e4e1b4e]{display:flex;align-items:center;justify-content:center;gap:16px;height:100%}.value-display-left[data-v-0e4e1b4e]{display:flex;align-items:center;justify-content:center;min-width:60px}.slider-track-section[data-v-0e4e1b4e]{display:flex;flex-direction:column;align-items:center;gap:12px;height:100%;flex:1;max-width:100px}.vue-slider-wrapper[data-v-0e4e1b4e]{flex:1;height:100%;display:flex;justify-content:center;padding:4px 0}.slider-value[data-v-0e4e1b4e]{font-size:var(--37e3a9c8);color:var(--1d104d41);font-weight:500;min-width:30px;text-align:center}.current-value[data-v-0e4e1b4e]{font-size:var(--c2ff4f6a);font-weight:600;text-align:center;color:var(--1d104d41)}[data-v-0e4e1b4e] .slider-base{width:var(--44b07101)!important;background-color:var(--dbf16a94)!important}[data-v-0e4e1b4e] .slider-connects{width:var(--44b07101)!important}[data-v-0e4e1b4e] .slider-connect{width:var(--44b07101)!important;border-radius:3px!important;background:var(--7110b698)!important}[data-v-0e4e1b4e] .slider-origin{width:var(--44b07101)!important}[data-v-0e4e1b4e] .slider-handle{width:var(--2862f08f)!important;height:var(--2862f08f)!important;border-radius:50%!important;transition:all .3s ease!important;background-color:var(--32d5adea)!important;border:2px solid var(--7110b698)!important;box-shadow:0 2px 4px #0000001a!important}[data-v-0e4e1b4e] .slider-handle:hover{transform:scale(1.1)!important}[data-v-0e4e1b4e] .vue-slider-dot-handle{border-radius:50%!important;transition:all .3s ease!important}[data-v-0e4e1b4e] .vue-slider-dot-handle:hover{transform:scale(1.1)!important}[data-v-0e4e1b4e] .vue-slider-dot-tooltip{font-size:12px!important;padding:4px 8px!important;border-radius:4px!important}[data-v-0e4e1b4e] .vue-slider-mark{z-index:1!important}[data-v-0e4e1b4e] .vue-slider-mark-step{width:2px!important;height:2px!important;border-radius:50%!important;background-color:#d1d5db!important}[data-v-0e4e1b4e] .vue-slider-mark-label{font-size:10px!important;color:#6b7280!important;margin-left:6px!important}@media (max-width: 480px){.slider-container[data-v-0e4e1b4e]{max-height:250px}.slider-value[data-v-0e4e1b4e]{font-size:11px}.current-value[data-v-0e4e1b4e]{font-size:14px}}.gauge-svg[data-v-1ae9ef55],.gauge-svg[data-v-80cafa18],.gauge-svg[data-v-cb2376c2]{width:100%;height:100%}.gauge-options[data-v-777cd9de]{display:flex;flex-direction:column;font-size:13px}.options-section[data-v-777cd9de]{background:#1e293b;padding:12px;display:flex;flex-direction:column;gap:10px}.section-title[data-v-777cd9de]{margin:0 0 4px;font-size:12px;font-weight:600;color:#94a3b8;letter-spacing:.5px}.input-group[data-v-777cd9de]{display:flex;flex-direction:column;gap:4px}.input-label[data-v-777cd9de]{font-size:12px;font-weight:500;color:#cbd5e1}.input-field[data-v-777cd9de]{padding:8px 10px;border:1px solid #475569;border-radius:6px;font-size:13px;background:#0f172a;color:#e2e8f0;transition:all .2s}.input-field[data-v-777cd9de]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.input-row[data-v-777cd9de]{display:flex;gap:8px;align-items:center}.input-row .input-field[data-v-777cd9de]{flex:1}.input-small[data-v-777cd9de]{width:70px!important;flex:none!important}.range-input[data-v-777cd9de]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb;border-radius:3px;outline:none}.range-input[data-v-777cd9de]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#2563eb;border-radius:50%;cursor:pointer}.range-input[data-v-777cd9de]::-moz-range-thumb{width:16px;height:16px;background:#2563eb;border-radius:50%;cursor:pointer;border:none}.value-display[data-v-777cd9de]{width:70px;flex:none;padding:8px 10px;border:1px solid #475569;border-radius:6px;font-size:13px;background:#0f172a;color:#e2e8f0;text-align:center;font-weight:500}.color-row[data-v-777cd9de]{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;padding-bottom:4px}.color-row[data-v-777cd9de]::-webkit-scrollbar{height:4px}.color-row[data-v-777cd9de]::-webkit-scrollbar-track{background:#1e293b;border-radius:2px}.color-row[data-v-777cd9de]::-webkit-scrollbar-thumb{background:#475569;border-radius:2px}.color-row[data-v-777cd9de]::-webkit-scrollbar-thumb:hover{background:#64748b}.color-item[data-v-777cd9de]{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.color-label[data-v-777cd9de]{font-size:11px;color:#94a3b8}.color-picker[data-v-777cd9de]{width:32px;height:32px;border:none;background:none;cursor:pointer;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;border-radius:4px}.color-picker[data-v-777cd9de]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-picker[data-v-777cd9de]::-webkit-color-swatch{border:none;border-radius:4px}.color-picker[data-v-777cd9de]::-moz-color-swatch{border:none;border-radius:4px}.checkbox-group[data-v-777cd9de]{display:flex;flex-wrap:wrap;gap:8px 16px}.checkbox-item[data-v-777cd9de]{display:flex;align-items:center;gap:6px;font-size:12px;color:#cbd5e1;cursor:pointer}.checkbox-item input[type=checkbox][data-v-777cd9de]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.checkbox-item span[data-v-777cd9de]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.gauge-widget[data-v-3aa26ced]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.gauge-container[data-v-3aa26ced]{position:relative;width:auto;height:auto}.gauge-svg-wrapper[data-v-3aa26ced]{width:100%;height:100%}.gauge-value[data-v-3aa26ced]{position:absolute;bottom:8px;left:50%;transform:translate(-50%);text-align:center;display:flex;align-items:baseline;gap:2px;z-index:10}.gauge-number[data-v-3aa26ced]{font-weight:700}.gauge-unit[data-v-3aa26ced]{font-weight:400}.gauge-center-value[data-v-3aa26ced]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none}.gauge-center-value .gauge-number[data-v-3aa26ced]{line-height:1}.gauge-center-inline[data-v-3aa26ced]{display:flex;align-items:baseline;gap:6px}.gauge-center-inline .gauge-unit[data-v-3aa26ced]{opacity:.9}.gauge-svg[data-v-5d7bbb89],.gauge-svg[data-v-d53fbf79]{width:100%;height:100%}.gauge-container[data-v-6ee37bfa]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-width:20px;min-height:40px}.gauge-bar-container[data-v-6ee37bfa]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:max(2px,1%);box-sizing:border-box}.gauge-bar-bg[data-v-6ee37bfa]{width:max(0px,100%);height:100%;position:relative;border-radius:max(2px,1%);background-color:#f1f5f9;border:1px solid #e2e8f0;display:flex;align-items:flex-end;overflow:hidden;box-sizing:border-box}.gauge-bar-fill[data-v-6ee37bfa]{width:100%;background-color:#3b82f6;border-radius:0 0 max(1px,.5%) max(1px,.5%);min-height:2px;position:relative}.map-options[data-v-7e681450]{display:flex;flex-direction:column;font-size:13px}.option-group[data-v-7e681450]{background:#1e293b;padding:12px;display:flex;flex-direction:column;gap:10px}.group-title[data-v-7e681450]{margin:0 0 4px;font-size:12px;font-weight:600;color:#94a3b8;letter-spacing:.5px}.sub-title[data-v-7e681450]{margin:0 0 8px;font-size:11px;font-weight:600;color:#94a3b8;letter-spacing:.5px}.option-item[data-v-7e681450]{display:flex;flex-direction:column;gap:4px}.option-item label[data-v-7e681450]{display:block;font-size:12px;font-weight:500;color:#cbd5e1}.input-row[data-v-7e681450]{display:flex;gap:8px;align-items:center}.input-row .input-field[data-v-7e681450]{flex:1}.input-small[data-v-7e681450]{width:70px!important;flex:none!important}.input-field[data-v-7e681450],.select-field[data-v-7e681450]{width:100%;padding:8px 10px;border:1px solid #475569;border-radius:6px;font-size:13px;background:#0f172a;color:#e2e8f0;transition:all .2s}.input-field[data-v-7e681450]:focus,.select-field[data-v-7e681450]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.range-input[data-v-7e681450]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb;border-radius:3px;outline:none}.range-input[data-v-7e681450]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#2563eb;border-radius:50%;cursor:pointer}.range-input[data-v-7e681450]::-moz-range-thumb{width:16px;height:16px;background:#2563eb;border-radius:50%;cursor:pointer;border:none}.range-value[data-v-7e681450]{font-size:12px;color:#94a3b8;min-width:40px;text-align:center}.color-field[data-v-7e681450]{width:60px;height:32px;padding:2px;border:1px solid #475569;border-radius:6px;cursor:pointer;background:#0f172a}.coordinate-inputs[data-v-7e681450]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coordinate-input[data-v-7e681450]{padding:8px 10px;border:1px solid #475569;border-radius:6px;font-size:13px;background:#0f172a;color:#e2e8f0}.checkbox-item[data-v-7e681450]{display:flex;align-items:center;gap:6px;font-size:12px;color:#cbd5e1;cursor:pointer;width:100%}.checkbox-item label[data-v-7e681450]{display:flex;align-items:center;gap:6px;cursor:pointer;width:100%;margin:0}.checkbox-field[data-v-7e681450]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.display-options[data-v-7e681450]{background:#0f172a;border:1px solid #334155;padding:12px;border-radius:6px;margin-top:8px;display:flex;flex-direction:column;gap:8px}.markers-management[data-v-7e681450]{margin-top:8px}.section-header[data-v-7e681450]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header label[data-v-7e681450]{font-size:12px;font-weight:500;color:#cbd5e1}.btn-add[data-v-7e681450]{display:flex;align-items:center;gap:4px;padding:6px 12px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s}.btn-add[data-v-7e681450]:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 2px 8px #2563eb4d}.marker-item[data-v-7e681450]{background:#0f172a;border:1px solid #334155;border-radius:6px;padding:12px;margin-bottom:8px}.marker-header[data-v-7e681450]{display:grid;grid-template-columns:28px 1fr 40px 28px;gap:8px;align-items:center;margin-bottom:8px}.marker-index[data-v-7e681450]{font-size:11px;font-weight:600;color:#94a3b8;text-align:center}.marker-label-input[data-v-7e681450]{padding:6px 8px;border:1px solid #475569;border-radius:6px;font-size:12px;background:#1e293b;color:#e2e8f0}.color-input[data-v-7e681450]{width:32px;height:32px;border:none;background:none;cursor:pointer;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;border-radius:4px}.color-input[data-v-7e681450]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-input[data-v-7e681450]::-webkit-color-swatch{border:none;border-radius:4px}.color-input[data-v-7e681450]::-moz-color-swatch{border:none;border-radius:4px}.btn-remove[data-v-7e681450]{width:28px;height:28px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-remove[data-v-7e681450]:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 2px 8px #ef44444d}.icon[data-v-7e681450]{width:14px;height:14px}.marker-coordinates[data-v-7e681450]{display:grid;grid-template-columns:1fr 1fr 80px;gap:8px;margin-bottom:12px}.coord-group[data-v-7e681450]{display:flex;flex-direction:column;gap:2px}.coord-group label[data-v-7e681450]{font-size:10px;color:#94a3b8;margin:0}.size-input[data-v-7e681450]{padding:6px 8px;border:1px solid #475569;border-radius:6px;font-size:12px;background:#1e293b;color:#e2e8f0}.empty-markers[data-v-7e681450]{text-align:center;padding:24px 16px;background:#0f172a;border:2px dashed #334155;border-radius:8px;color:#94a3b8}.empty-markers .empty-icon[data-v-7e681450]{color:#475569;margin-bottom:8px}.empty-markers p[data-v-7e681450]{margin:0 0 4px;font-weight:500;color:#cbd5e1}.empty-markers span[data-v-7e681450]{font-size:12px}.marker-device-section[data-v-7e681450]{margin:12px 0;padding:12px;background:#0f172a;border:1px solid #334155;border-radius:6px}.marker-device-section .option-item[data-v-7e681450]{margin-bottom:8px}.marker-device-section .option-item[data-v-7e681450]:last-child{margin-bottom:0}.datamonitors-section[data-v-7e681450]{margin-top:12px;padding:10px;background:#1e293b;border:1px solid #334155;border-radius:6px}.section-header-small[data-v-7e681450]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-header-small label[data-v-7e681450]{font-size:11px;color:#cbd5e1;font-weight:500;margin:0}.btn-add-small[data-v-7e681450]{display:flex;align-items:center;gap:4px;padding:4px 8px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:4px;font-size:10px;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-small[data-v-7e681450]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 8px #3b82f64d;transform:translateY(-1px)}.btn-add-small[data-v-7e681450]:disabled{opacity:.5;cursor:not-allowed}.empty-datamonitors[data-v-7e681450]{padding:12px;text-align:center;color:#64748b;font-size:11px;font-style:italic}.datamonitor-item[data-v-7e681450]{display:flex;gap:6px;align-items:center;margin-bottom:6px}.datamonitor-item[data-v-7e681450]:last-child{margin-bottom:0}.select-field-small[data-v-7e681450]{flex:1;padding:6px 10px;border:1px solid #475569;border-radius:6px;font-size:12px;background:#0f172a;color:#e2e8f0;outline:none;cursor:pointer;transition:all .2s}.select-field-small[data-v-7e681450]:hover{border-color:#64748b}.select-field-small[data-v-7e681450]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.select-field-small[data-v-7e681450]:disabled{opacity:.5;cursor:not-allowed}.btn-remove-small[data-v-7e681450]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s;flex-shrink:0}.btn-remove-small[data-v-7e681450]:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 2px 8px #ef44444d;transform:translateY(-1px)}.marker-popup[data-v-7e681450]{margin-top:8px}.marker-popup label[data-v-7e681450]{display:block;font-size:11px;color:#94a3b8;margin-bottom:4px}.popup-textarea[data-v-7e681450]{width:100%;padding:8px;border:1px solid #475569;border-radius:6px;font-size:12px;resize:vertical;min-height:40px;background:#0f172a;color:#e2e8f0}.popup-textarea[data-v-7e681450]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.center-coordinate-display[data-v-7e681450]{display:flex;flex-direction:column;gap:8px}.coordinate-info[data-v-7e681450]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;font-family:Courier New,monospace;font-size:12px}.coord-label[data-v-7e681450]{color:#94a3b8;font-weight:500}.coord-value[data-v-7e681450]{color:#e2e8f0;font-weight:600;min-width:70px}.select-center-btn[data-v-7e681450]{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.select-center-btn[data-v-7e681450]:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 2px 8px #2563eb4d}.select-center-btn.active[data-v-7e681450]{background:linear-gradient(135deg,#f59e0b,#d97706);animation:pulse-btn-7e681450 1.5s infinite}@keyframes pulse-btn-7e681450{0%,to{opacity:1}50%{opacity:.8}}.hint-text[data-v-7e681450]{margin:0;padding:8px 12px;background:#422006;border:1px solid #78350f;border-radius:6px;font-size:11px;color:#fcd34d}.marker-coordinates-select[data-v-7e681450]{display:flex;flex-direction:column;gap:8px;padding:8px;background:#0f172a;border-radius:6px;margin-top:8px}.coordinate-info-row[data-v-7e681450]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.coordinate-info-row .coord-label[data-v-7e681450]{font-size:11px;color:#94a3b8;font-weight:500}.coordinate-info-row .coord-value[data-v-7e681450]{color:#e2e8f0;font-weight:600;font-size:12px;min-width:60px}.size-input-small[data-v-7e681450]{width:50px;padding:4px 6px;border:1px solid #475569;border-radius:6px;font-size:11px;text-align:center;background:#1e293b;color:#e2e8f0}.select-marker-btn[data-v-7e681450]{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.select-marker-btn[data-v-7e681450]:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 2px 8px #10b9814d}.select-marker-btn.active[data-v-7e681450]{background:linear-gradient(135deg,#f59e0b,#d97706);animation:pulse-btn-7e681450 1.5s infinite}.simple-map-widget[data-v-b16cb841]{width:100%;height:100%;background:#1e293b;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;position:relative}.map-header[data-v-b16cb841]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #334155;background:#0f172a;flex-shrink:0}.map-title[data-v-b16cb841]{font-size:13px;font-weight:600;color:#e2e8f0;margin:0}.map-controls[data-v-b16cb841]{display:flex;gap:4px}.control-btn[data-v-b16cb841]{width:26px;height:26px;border:none;background:#334155;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#94a3b8}.control-btn[data-v-b16cb841]:hover{background:#475569;color:#e2e8f0}.control-btn.active[data-v-b16cb841]{background:#3b82f6;color:#fff}.map-container[data-v-b16cb841]{flex:1;position:relative;min-height:0;width:100%;height:100%}.map-loading[data-v-b16cb841],.map-error[data-v-b16cb841]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#1e293b;color:#94a3b8;font-size:13px;z-index:1000}.loading-spinner[data-v-b16cb841]{width:32px;height:32px;border:3px solid #334155;border-top-color:#3b82f6;border-radius:50%;animation:spin-b16cb841 1s linear infinite}@keyframes spin-b16cb841{to{transform:rotate(360deg)}}.error-icon[data-v-b16cb841]{color:#ef4444}.retry-btn[data-v-b16cb841]{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s}.retry-btn[data-v-b16cb841]:hover{background:#2563eb}.add-marker-hint[data-v-b16cb841]{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 16px;background:#3b82f6f2;color:#fff;border-radius:20px;font-size:12px;z-index:1000;box-shadow:0 4px 12px #0000004d}.cancel-btn[data-v-b16cb841]{padding:4px 8px;background:#fff3;color:#fff;border:none;border-radius:4px;font-size:11px;cursor:pointer}.cancel-btn[data-v-b16cb841]:hover{background:#ffffff4d}.marker-modal-overlay[data-v-b16cb841]{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.marker-modal[data-v-b16cb841]{background:#1e293b;border-radius:12px;width:90%;max-width:360px;box-shadow:0 20px 40px #00000080;overflow:hidden}.modal-header[data-v-b16cb841]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#0f172a;border-bottom:1px solid #334155}.modal-header h4[data-v-b16cb841]{margin:0;font-size:14px;font-weight:600;color:#e2e8f0}.close-btn[data-v-b16cb841]{width:28px;height:28px;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-b16cb841]:hover{background:#334155;color:#e2e8f0}.modal-body[data-v-b16cb841]{padding:16px}.form-group[data-v-b16cb841]{margin-bottom:12px}.form-group label[data-v-b16cb841]{display:block;font-size:11px;font-weight:500;color:#94a3b8;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.form-row[data-v-b16cb841]{display:flex;gap:12px}.form-row .form-group[data-v-b16cb841]{flex:1}.form-input[data-v-b16cb841],.form-textarea[data-v-b16cb841]{width:100%;padding:8px 10px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:13px;outline:none;transition:border-color .2s}.form-input[data-v-b16cb841]:focus,.form-textarea[data-v-b16cb841]:focus{border-color:#3b82f6}.form-textarea[data-v-b16cb841]{min-height:60px;resize:vertical}.form-color[data-v-b16cb841]{width:40px;height:32px;padding:0;border:none;border-radius:6px;cursor:pointer}.form-range[data-v-b16cb841]{flex:1;height:4px;background:#334155;border-radius:2px;outline:none;cursor:pointer}.range-value[data-v-b16cb841]{font-size:11px;color:#94a3b8;margin-left:8px}.modal-footer[data-v-b16cb841]{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;background:#0f172a;border-top:1px solid #334155}.btn-cancel[data-v-b16cb841],.btn-confirm[data-v-b16cb841]{padding:8px 14px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-cancel[data-v-b16cb841]{background:#334155;color:#94a3b8}.btn-cancel[data-v-b16cb841]:hover{background:#475569;color:#e2e8f0}.btn-confirm[data-v-b16cb841]{background:#3b82f6;color:#fff}.btn-confirm[data-v-b16cb841]:hover{background:#2563eb}.map-legend[data-v-b16cb841]{padding:8px 12px;background:#0f172a;border-top:1px solid #334155;flex-shrink:0;max-height:120px;overflow-y:auto}.legend-header[data-v-b16cb841]{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.legend-icon[data-v-b16cb841]{color:#64748b}.legend-items[data-v-b16cb841]{display:flex;flex-direction:column;gap:4px}.legend-item[data-v-b16cb841]{display:flex;align-items:center;gap:8px;font-size:11px;padding:4px 6px;border-radius:4px;transition:background .2s}.legend-item[data-v-b16cb841]:hover{background:#334155}.legend-marker[data-v-b16cb841]{width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);flex-shrink:0}.legend-label[data-v-b16cb841]{color:#e2e8f0;font-weight:500;cursor:pointer;flex:1}.legend-label[data-v-b16cb841]:hover{color:#3b82f6}.legend-remove[data-v-b16cb841]{width:20px;height:20px;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s}.legend-item:hover .legend-remove[data-v-b16cb841]{opacity:1}.legend-remove[data-v-b16cb841]:hover{background:#ef4444;color:#fff}.map-stats[data-v-b16cb841]{display:flex;justify-content:space-around;padding:6px 12px;background:#0f172a;border-top:1px solid #334155;flex-shrink:0}.stat-item[data-v-b16cb841]{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-label[data-v-b16cb841]{font-size:9px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-b16cb841]{font-size:11px;font-weight:600;color:#e2e8f0}[data-v-b16cb841] .leaflet-container{background:#1e293b;font-family:inherit;width:100%!important;height:100%!important}[data-v-b16cb841] .leaflet-popup-content-wrapper{background:#1e293b;color:#e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000004d}[data-v-b16cb841] .marker-popup{min-width:180px}[data-v-b16cb841] .marker-popup strong{color:#3b82f6;font-size:14px;display:block;margin-bottom:8px}[data-v-b16cb841] .marker-data{margin:8px 0;padding:8px;background:#0f172a;border-left:3px solid #3b82f6;border-radius:4px}[data-v-b16cb841] .marker-data .data-label{color:#94a3b8;font-size:12px;font-weight:500}[data-v-b16cb841] .marker-data .data-value{color:#22c55e;font-size:16px;font-weight:600;margin-left:4px}[data-v-b16cb841] .marker-data-waiting{margin:8px 0;padding:6px;background:#0f172a;border-left:3px solid #64748b;border-radius:4px;color:#94a3b8;font-style:italic}[data-v-b16cb841] .marker-description{margin:8px 0;font-size:12px;color:#cbd5e1;line-height:1.4}[data-v-b16cb841] .marker-coords{display:block;margin-top:8px;padding-top:8px;border-top:1px solid #334155;color:#64748b;font-size:11px}[data-v-b16cb841] .leaflet-popup-content{margin:10px 12px;font-size:12px;line-height:1.4}[data-v-b16cb841] .leaflet-popup-tip{background:#1e293b}[data-v-b16cb841] .leaflet-control-attribution{display:none!important}[data-v-b16cb841] .custom-marker-icon{background:transparent!important;border:none!important;display:flex!important;align-items:center!important;justify-content:center!important}[data-v-b16cb841] .map-marker-pin{pointer-events:auto;transition:transform .1s ease}[data-v-b16cb841] .map-marker-pin:hover{transform:translate(-50%,-50%) scale(1.2)}[data-v-b16cb841] .flag-icon{background:transparent!important;border:none!important;display:flex!important;align-items:center!important;justify-content:center!important}[data-v-b16cb841] .vietnam-flag-marker{font-size:20px;text-shadow:0 2px 4px rgba(0,0,0,.5)}[data-v-b16cb841] .current-location-icon{background:transparent!important;border:none!important}[data-v-b16cb841] .current-location-marker{position:relative;width:24px;height:24px}[data-v-b16cb841] .pulse-ring{position:absolute;width:24px;height:24px;border:2px solid #3b82f6;border-radius:50%;animation:pulse-ring-b16cb841 2s infinite}[data-v-b16cb841] .marker-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#3b82f6;border:2px solid white;border-radius:50%;box-shadow:0 2px 4px #0000004d}@keyframes pulse-ring-b16cb841{0%{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}.map-container.selecting-mode[data-v-b16cb841]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='36' viewBox='0 0 24 36'%3E%3Cpath d='M12 0C5.4 0 0 5.4 0 12c0 7.5 12 24 12 24s12-16.5 12-24c0-6.6-5.4-12-12-12z' fill='%23ef4444'/%3E%3Ccircle cx='12' cy='12' r='5' fill='white'/%3E%3C/svg%3E") 12 36,crosshair!important}.map-container.selecting-mode[data-v-b16cb841] .leaflet-container{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='36' viewBox='0 0 24 36'%3E%3Cpath d='M12 0C5.4 0 0 5.4 0 12c0 7.5 12 24 12 24s12-16.5 12-24c0-6.6-5.4-12-12-12z' fill='%23ef4444'/%3E%3Ccircle cx='12' cy='12' r='5' fill='white'/%3E%3C/svg%3E") 12 36,crosshair!important}.map-container.selecting-center[data-v-b16cb841] .leaflet-container{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='%233b82f6' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='3' fill='%233b82f6'/%3E%3Cline x1='12' y1='0' x2='12' y2='6' stroke='%233b82f6' stroke-width='2'/%3E%3Cline x1='12' y1='18' x2='12' y2='24' stroke='%233b82f6' stroke-width='2'/%3E%3Cline x1='0' y1='12' x2='6' y2='12' stroke='%233b82f6' stroke-width='2'/%3E%3Cline x1='18' y1='12' x2='24' y2='12' stroke='%233b82f6' stroke-width='2'/%3E%3C/svg%3E") 12 12,crosshair!important}.selecting-indicator[data-v-b16cb841]{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:20px;font-size:12px;font-weight:500;box-shadow:0 4px 12px #f59e0b66;animation:pulse-indicator-b16cb841 1.5s infinite}@keyframes pulse-indicator-b16cb841{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.9;transform:translate(-50%) scale(1.02)}}.tracking-map-widget[data-v-56ed441f]{display:flex;flex-direction:column;width:100%;height:100%;background:#fff;border-radius:8px;overflow:hidden}.map-header[data-v-56ed441f]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.map-title[data-v-56ed441f]{font-size:14px;font-weight:600;color:#374151;margin:0}.map-controls[data-v-56ed441f]{display:flex;gap:8px}.tracking-btn[data-v-56ed441f],.clear-btn[data-v-56ed441f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease}.tracking-btn[data-v-56ed441f]:hover,.clear-btn[data-v-56ed441f]:hover{background:#f3f4f6;border-color:#9ca3af}.tracking-btn.active[data-v-56ed441f]{background:#3b82f6;border-color:#3b82f6;color:#fff}.map-container[data-v-56ed441f]{flex:1;position:relative;min-height:200px}.map-info[data-v-56ed441f]{display:flex;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-top:1px solid #e5e7eb}.info-item[data-v-56ed441f]{display:flex;flex-direction:column;align-items:center}.info-label[data-v-56ed441f]{font-size:11px;color:#6b7280;margin-bottom:2px}.info-value[data-v-56ed441f]{font-size:13px;font-weight:600;color:#374151}.custom-marker{background:transparent!important;border:none!important}.route-marker{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.route-marker.start{background:#10b981}.route-marker.end{background:#ef4444}.current-marker{width:16px;height:16px;background:#3b82f6;border:3px solid white;border-radius:50%;box-shadow:0 2px 8px #0000004d;animation:pulse-56ed441f 2s infinite}@keyframes pulse-56ed441f{0%{box-shadow:0 0 #3b82f6b3}70%{box-shadow:0 0 0 10px #3b82f600}to{box-shadow:0 0 #3b82f600}}.widget-frame[data-v-dffe2ff3]{display:flex;flex-direction:column;height:100%;background:transparent;border-radius:8px;overflow:hidden}.widget-frame-title[data-v-dffe2ff3]{padding:6px 10px;font-size:13px;font-weight:600;color:#0f172a;background:#f9fafbe6;border-bottom:1px solid #eef2f6}.widget-frame-title[data-v-dffe2ff3]:first-child{border-radius:8px 8px 0 0}.widget-frame-title[data-v-dffe2ff3]:last-child{border-radius:0 0 8px 8px;border-bottom:none;border-top:1px solid #eef2f6}.widget-frame-title.align-left[data-v-dffe2ff3]{text-align:left}.widget-frame-title.align-center[data-v-dffe2ff3]{text-align:center}.widget-frame-title.align-right[data-v-dffe2ff3]{text-align:right}.widget-frame-body[data-v-dffe2ff3]{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:8px}@keyframes scaleUp-d5e9dd06{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes outlineGlow-d5e9dd06{0%,to{filter:drop-shadow(0 0 3px rgba(59,130,246,.8)) drop-shadow(0 0 6px rgba(59,130,246,.6))}50%{filter:drop-shadow(0 0 8px rgba(59,130,246,1)) drop-shadow(0 0 15px rgba(59,130,246,.8)) drop-shadow(0 0 20px rgba(59,130,246,.6))}}@keyframes outlineGlowRed-d5e9dd06{0%,to{filter:drop-shadow(0 0 3px rgba(239,68,68,.8)) drop-shadow(0 0 6px rgba(239,68,68,.6))}50%{filter:drop-shadow(0 0 8px rgba(239,68,68,1)) drop-shadow(0 0 15px rgba(239,68,68,.8)) drop-shadow(0 0 20px rgba(239,68,68,.6))}}@keyframes outlineGlowGreen-d5e9dd06{0%,to{filter:drop-shadow(0 0 3px rgba(34,197,94,.8)) drop-shadow(0 0 6px rgba(34,197,94,.6))}50%{filter:drop-shadow(0 0 8px rgba(34,197,94,1)) drop-shadow(0 0 15px rgba(34,197,94,.8)) drop-shadow(0 0 20px rgba(34,197,94,.6))}}@keyframes outlineGlowOrange-d5e9dd06{0%,to{filter:drop-shadow(0 0 3px rgba(255,131,3,.8)) drop-shadow(0 0 6px rgba(255,131,3,.6))}50%{filter:drop-shadow(0 0 8px rgba(255,131,3,1)) drop-shadow(0 0 15px rgba(255,131,3,.8)) drop-shadow(0 0 20px rgba(255,131,3,.6))}}.widget-action-outline-glow[data-v-d5e9dd06]{animation:outlineGlow-d5e9dd06 var(--animation-duration, 2s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-outline-glow-red[data-v-d5e9dd06]{animation:outlineGlowRed-d5e9dd06 var(--animation-duration, 2s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-outline-glow-green[data-v-d5e9dd06]{animation:outlineGlowGreen-d5e9dd06 var(--animation-duration, 2s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-outline-glow-orange[data-v-d5e9dd06]{animation:outlineGlowOrange-d5e9dd06 var(--animation-duration, 2s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.interactive-widget[data-v-d5e9dd06]{transition:filter .1s,transform .1s}.interactive-widget[data-v-d5e9dd06]:hover{filter:brightness(1.1)}.interactive-widget[data-v-d5e9dd06]:active,.widget-pressed[data-v-d5e9dd06]{transform:scale(.97)!important}.scada-canvas-wrapper[data-v-d5e9dd06]{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;background-color:inherit}.scada-canvas-content[data-v-d5e9dd06]{position:relative;transform-origin:center center}.preview-widget[data-v-d5e9dd06]{position:absolute;box-sizing:border-box}.dialog-view-overlay[data-v-d5e9dd06]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center}.dialog-view-container[data-v-d5e9dd06]{position:relative;border-radius:8px;box-shadow:0 20px 40px #0000004d;overflow:hidden}.scada-loading-container[data-v-d5e9dd06],.scada-error-container[data-v-d5e9dd06],.scada-empty-container[data-v-d5e9dd06]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ffffffe6}.scada-loading-spinner[data-v-d5e9dd06]{width:48px;height:48px;border:4px solid rgba(255,255,255,.2);border-top-color:#ff8303;border-radius:50%;animation:spin-d5e9dd06 .8s linear infinite;margin-bottom:16px}.scada-loading-container p[data-v-d5e9dd06],.scada-error-container p[data-v-d5e9dd06],.scada-empty-container p[data-v-d5e9dd06]{color:#ffffffb3;font-size:14px;margin:8px 0 0}.scada-error-container h3[data-v-d5e9dd06],.scada-empty-container h3[data-v-d5e9dd06]{margin:16px 0 8px;font-size:18px;font-weight:600}input[type=color][data-v-d5e9dd06]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none!important;padding:0;background:transparent;cursor:pointer;overflow:hidden}input[type=color][data-v-d5e9dd06]::-webkit-color-swatch-wrapper{padding:0;border:none}input[type=color][data-v-d5e9dd06]::-webkit-color-swatch{border:none;border-radius:4px}input[type=color][data-v-d5e9dd06]::-moz-color-swatch{border:none;border-radius:4px}input[type=color][data-v-d5e9dd06]:focus{outline:none}.label-warning[data-v-d5e9dd06]{background-color:var(--8b896272)!important;border-color:var(--a874ea0a)!important}.label-critical[data-v-d5e9dd06]{background-color:var(--7ae60964)!important;border-color:var(--7d2f1bd8)!important}.scada-dashboard-root[data-v-d5e9dd06]{width:100vw;height:100vh;background:#2d3748;display:flex;flex-direction:column}.scada-toolbar[data-v-d5e9dd06]{display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:56px;background:#2d3748;border-bottom:1px solid #4a5568;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:10}.dashboard-title[data-v-d5e9dd06]{font-size:20px;font-weight:600;color:#e2e8f0;letter-spacing:1px}.toolbar-center[data-v-d5e9dd06]{display:flex;padding-left:70px;align-items:center;justify-content:center;height:auto}.toolbar-icon-group[data-v-d5e9dd06]{display:flex;gap:8px;align-items:center}.toolbar-icon[data-v-d5e9dd06]{width:18px;height:18px;color:#cbd5e0;transition:color .2s}.toolbar-zoom-group[data-v-d5e9dd06]{display:flex;flex-direction:column;align-items:center;position:relative;width:54px}.toolbar-zoom-indicator[data-v-d5e9dd06]{color:#2d3748;margin-top:2px;font-weight:600;background:#a0aec0;border-radius:6px;padding:0 6px;min-width:32px;text-align:center;box-shadow:0 1px 4px #0000001a;margin-bottom:2px}.toolbar-center-info[data-v-d5e9dd06]{flex:1;display:flex;padding:20px;justify-content:left;align-items:center}.view-size-info[data-v-d5e9dd06]{color:#a0aec0;font-size:13px;font-weight:500;background:#2d3748;padding:4px 12px;border-radius:6px;border:1px solid #4a5568}.toolbar-right[data-v-d5e9dd06]{display:flex;gap:8px}.toolbar-btn[data-v-d5e9dd06]{border:none;border-radius:6px;padding:8px;cursor:pointer;font-size:14px;color:#cbd5e0;background:transparent;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;transition:all .2s;position:relative}.toolbar-btn.active[data-v-d5e9dd06]{background:#3b82f6;color:#fff}.toolbar-btn.active .toolbar-icon[data-v-d5e9dd06]{color:#fff}.grid-size-control[data-v-d5e9dd06]{display:flex;align-items:center;gap:4px;margin-left:8px}.grid-size-select[data-v-d5e9dd06]{background:#2d3748;border:1px solid #4a5568;border-radius:4px;color:#cbd5e0;padding:4px 8px;min-width:60px}.grid-size-select[data-v-d5e9dd06]:focus{outline:none;border-color:#3b82f6}.toolbar-btn.primary[data-v-d5e9dd06]{font-weight:500;background:#4a5568;padding:8px 16px;min-width:auto}.toolbar-btn[data-v-d5e9dd06]:hover{color:#e2e8f0;background:#4a5568;transform:translateY(-1px)}.toolbar-zoom-display[data-v-d5e9dd06]{min-width:50px;background:#2d3748;border:1px solid #4a5568}.toolbar-zoom-text[data-v-d5e9dd06]{font-weight:600;color:#e2e8f0}.toolbar-zoom-display[data-v-d5e9dd06]:hover{background:#4a5568;border-color:#718096}.toolbar-btn[title*=nhỏ][data-v-d5e9dd06],.toolbar-btn[title*=to][data-v-d5e9dd06]{background:#4a5568;border:1px solid #718096}.toolbar-btn[title*=nhỏ][data-v-d5e9dd06]:hover,.toolbar-btn[title*=to][data-v-d5e9dd06]:hover{background:#718096;border-color:#a0aec0}.scada-main-layout[data-v-d5e9dd06]{flex:1;display:flex;height:calc(100vh - 96px);min-height:0}.scada-widget-manager[data-v-d5e9dd06]{width:280px;background:#2d3748;border-left:1px solid #4a5568;padding:12px 8px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;height:100%;position:relative;z-index:100}.widget-manager-tabs[data-v-d5e9dd06]{display:flex;gap:8px}.widget-manager-tabs button[data-v-d5e9dd06]{flex:1;padding:8px 0;border:none;background:#4a5568;color:#cbd5e0;font-weight:500;border-radius:6px;cursor:pointer;transition:background .2s,color .2s}.widget-manager-tabs button.active[data-v-d5e9dd06]{background:#718096;color:#e2e8f0}.widget-manager-title[data-v-d5e9dd06]{font-size:15px;color:#e2e8f0;font-weight:600;margin-bottom:8px;text-align:center}.widget-manager-empty[data-v-d5e9dd06]{color:#a0aec0;font-size:13px;text-align:center}.widget-manager-list[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:10px}.widget-manager-item[data-v-d5e9dd06]{background:#fff;border-radius:8px;box-shadow:0 1px 4px #3b82f60f;padding:8px;display:flex;flex-direction:column;gap:6px}.widget-manager-item.active[data-v-d5e9dd06]{border:2px solid #2563eb}.widget-manager-row[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px}.widget-manager-icon[data-v-d5e9dd06]{width:22px;height:22px;color:#2563eb}.widget-manager-input[data-v-d5e9dd06]{flex:1;font-size:13px;padding:2px 6px;border:1px solid #e5e7eb;border-radius:4px;background:#f8fafc;color:#2563eb}.widget-manager-note[data-v-d5e9dd06]{width:100%;padding:2px 6px;border:1px solid #e5e7eb;border-radius:4px;background:#f8fafc;color:#64748b;resize:none}.widget-manager-actions[data-v-d5e9dd06]{display:flex;gap:8px;margin-top:2px}.widget-manager-btn[data-v-d5e9dd06]{border:none;background:none;cursor:pointer;font-size:18px;color:#2563eb;padding:2px 6px;border-radius:4px;transition:background .2s,color .2s}.widget-manager-btn[data-v-d5e9dd06]:hover{background:#e0e7ef;color:#1e293b}.scada-sidebar[data-v-d5e9dd06]{max-width:200px;background:#2d3748;border-right:1px solid #4a5568;padding:12px 0;display:flex;flex-direction:column;gap:18px;overflow-y:auto;overflow-x:hidden;height:100%;position:relative;z-index:100}.sidebar-section[data-v-d5e9dd06]{margin-bottom:0}.sidebar-title[data-v-d5e9dd06]{font-size:13px;color:#a0aec0;font-weight:500;text-align:left;padding-left:12px}.sidebar-icons[data-v-d5e9dd06]{display:flex;flex-wrap:wrap;gap:8px;justify-content:left;padding-left:12px}.sidebar-icons[data-v-d5e9dd06]>*{width:32px;height:32px;color:#cbd5e0;background:#4a5568;border-radius:6px;box-shadow:0 1px 4px #0000001a;cursor:pointer;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center}.sidebar-icons[data-v-d5e9dd06]>*:hover{background:#718096;color:#e2e8f0}.switch-variants-grid[data-v-d5e9dd06]{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;padding-left:12px}.switch-icon[data-v-d5e9dd06]{position:relative;width:40px;height:40px;background:#4a5568;border-radius:8px;box-shadow:0 1px 4px #0000001a;cursor:grab;transition:all .2s ease;display:flex;align-items:center;justify-content:center;overflow:hidden}.switch-icon[data-v-d5e9dd06]:hover{background:#718096;transform:scale(1.05);box-shadow:0 2px 8px #0003}.switch-icon[data-v-d5e9dd06]:active{cursor:grabbing;transform:scale(.95)}.switch-icon img[data-v-d5e9dd06]{width:32px;height:32px;-o-object-fit:contain;object-fit:contain}.switch-variant-label[data-v-d5e9dd06]{position:absolute;bottom:2px;right:2px;font-size:9px;font-weight:600;color:#fff;background:#0009;padding:1px 4px;border-radius:3px;line-height:1}.drawing-tool.active[data-v-d5e9dd06]{background:#3b82f6!important;color:#fff!important;box-shadow:0 2px 8px #3b82f666}.drawing-preview[data-v-d5e9dd06]{transition:none!important;animation:none!important}.scada-canvas[data-v-d5e9dd06]{flex:1;background:#4a5568;position:relative;min-height:0;height:100%;overflow:hidden}.ruler-horizontal[data-v-d5e9dd06]{position:absolute;top:0;left:20px;right:0;height:20px;background:#2d3748;border-bottom:1px solid #4a5568;z-index:10}.ruler-horizontal .ruler-marks[data-v-d5e9dd06]{position:relative;height:100%}.ruler-horizontal .ruler-mark[data-v-d5e9dd06]{position:absolute;top:0;width:1px;background:#718096;height:8px}.ruler-horizontal .ruler-mark.major[data-v-d5e9dd06]{background:#e2e8f0;height:15px}.ruler-horizontal .ruler-mark.zero[data-v-d5e9dd06]{background:#3b82f6!important;height:20px!important;width:3px!important}.ruler-horizontal .ruler-label[data-v-d5e9dd06]{position:absolute;top:-2px;left:2px;font-size:9px;color:#e2e8f0;font-weight:500;white-space:nowrap;transform:scaleX(calc(1 / var(--scale, 1)))}.ruler-horizontal .ruler-mark.zero .ruler-label[data-v-d5e9dd06]{color:#3b82f6;font-weight:700;background:#1e293b;padding:1px 3px;border-radius:2px}.ruler-horizontal .ruler-mark.negative[data-v-d5e9dd06]{background:#ef4444!important}.ruler-horizontal .ruler-mark.negative.major[data-v-d5e9dd06]{height:15px}.ruler-horizontal .ruler-mark.negative .ruler-label[data-v-d5e9dd06]{color:#ef4444;background:#1e293b;padding:1px 3px;border-radius:2px}.ruler-vertical[data-v-d5e9dd06]{position:absolute;top:20px;left:0;width:20px;bottom:0;background:#2d3748;border-right:1px solid #4a5568;z-index:10}.ruler-vertical .ruler-marks[data-v-d5e9dd06]{position:relative;width:100%;height:100%}.ruler-vertical .ruler-mark[data-v-d5e9dd06]{position:absolute;left:0;height:1px;background:#718096;width:8px}.ruler-vertical .ruler-mark.major[data-v-d5e9dd06]{background:#e2e8f0;width:15px}.ruler-vertical .ruler-mark.zero[data-v-d5e9dd06]{background:#3b82f6!important;width:20px!important;height:3px!important}.ruler-vertical .ruler-label[data-v-d5e9dd06]{position:absolute;left:-2px;top:2px;font-size:9px;color:#e2e8f0;font-weight:500;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;transform:scaleY(calc(1 / var(--scale, 1)))}.ruler-vertical .ruler-mark.zero .ruler-label[data-v-d5e9dd06]{color:#3b82f6;font-weight:700;background:#1e293b;padding:1px 3px;border-radius:2px;writing-mode:horizontal-tb;text-orientation:initial}.ruler-vertical .ruler-mark.negative[data-v-d5e9dd06]{background:#ef4444!important}.ruler-vertical .ruler-mark.negative.major[data-v-d5e9dd06]{width:15px}.ruler-vertical .ruler-mark.negative .ruler-label[data-v-d5e9dd06]{color:#ef4444;background:#1e293b;padding:1px 3px;border-radius:2px;writing-mode:horizontal-tb;text-orientation:initial}.canvas-content[data-v-d5e9dd06]{position:absolute;inset:20px 0 0 20px;background:#4a5568;display:flex;align-items:center;justify-content:center;overflow:visible;transform:translateZ(0);backface-visibility:hidden}.origin-axis-x[data-v-d5e9dd06]{position:absolute;height:2px;background:#fff;z-index:2;opacity:.8}.origin-axis-y[data-v-d5e9dd06]{position:absolute;width:2px;background:#fff;z-index:2;opacity:.8}.grid-overlay[data-v-d5e9dd06]{position:absolute;top:0;left:0;z-index:10;pointer-events:none;background-image:linear-gradient(to right,rgba(34,197,94,.4) 1px,transparent 1px),linear-gradient(to bottom,rgba(34,197,94,.4) 1px,transparent 1px);background-size:20px 20px;opacity:1;transition:opacity .3s ease}.view-boundary[data-v-d5e9dd06]{position:absolute;top:40px;left:40px;border:3px solid #718096;box-shadow:0 4px 24px #00000026;z-index:1;overflow:hidden}.canvas-placeholder[data-v-d5e9dd06]{position:absolute;inset:0;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#a0aec0;font-size:18px;font-weight:500;letter-spacing:1px;border:2px dashed #718096;z-index:0}.canvas-widgets[data-v-d5e9dd06]{position:relative;width:100%;height:100%;transform:translateZ(0);will-change:transform;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;image-rendering:optimizeQuality}.canvas-widget[data-v-d5e9dd06]{border:none;background:transparent;box-shadow:none;transition:none;border-radius:10px;pointer-events:auto;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;will-change:auto}.canvas-widget[data-v-d5e9dd06] *{pointer-events:auto}.canvas-widget svg[data-v-d5e9dd06]{shape-rendering:geometricPrecision;image-rendering:optimizeQuality;backface-visibility:hidden}.canvas-widget polyline[data-v-d5e9dd06],.canvas-widget line[data-v-d5e9dd06],.canvas-widget path[data-v-d5e9dd06]{shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke}.canvas-widget.selected[data-v-d5e9dd06]{border:.5px solid #2563eb;border-radius:10px}.library-widget-container[data-v-d5e9dd06],.canvas-widget .library-widget-container[data-v-d5e9dd06] *,.canvas-widget.locked .library-widget-container[data-v-d5e9dd06],.canvas-widget.locked .library-widget-container[data-v-d5e9dd06] *{pointer-events:auto!important}.resize-handle[data-v-d5e9dd06]{position:absolute;right:-8px;bottom:-8px;width:16px;height:16px;background:#2563eb;border-radius:50%;cursor:nwse-resize;border:2px solid #fff;box-shadow:0 2px 8px #3b82f62e;z-index:2}.selection-overlay[data-v-d5e9dd06]{position:absolute;pointer-events:none;z-index:9999}.selection-border[data-v-d5e9dd06]{position:absolute;inset:0;border:1px solid rgba(79,141,255,.9);outline:1px solid rgba(79,141,255,.4);box-shadow:0 0 0 1px #4f8dff4d;border-radius:2px}.selection-pivot-line[data-v-d5e9dd06]{position:absolute;top:-30px;height:30px;width:2px;background:#4f8dffe6;transform:translate(-50%);pointer-events:none}.selection-handle[data-v-d5e9dd06]{position:absolute;width:12px;height:12px;background:#fff;border:2px solid #4f8dff;border-radius:2px;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000040;pointer-events:auto}.selection-pivot[data-v-d5e9dd06]{position:absolute;width:20px;height:20px;background:#16a34a;border:3px solid #ffffff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000059;pointer-events:auto;cursor:grab;transition:background .15s,transform .15s}.selection-pivot[data-v-d5e9dd06]:active{cursor:grabbing}.selection-pivot[data-v-d5e9dd06]:hover{background:#15803d}.widget-config-tabs[data-v-d5e9dd06]{background:#4a5568;border-radius:8px;box-shadow:0 1px 4px #0003;padding:8px}.widget-tabs-header[data-v-d5e9dd06]{display:flex;gap:8px;margin-bottom:8px}.widget-tabs-header button[data-v-d5e9dd06]{flex:1;padding:6px 0;border:none;background:#2d3748;color:#cbd5e0;font-weight:500;border-radius:6px;cursor:pointer;transition:background .2s,color .2s}.widget-tabs-header button.active[data-v-d5e9dd06]{background:#718096;color:#e2e8f0}.widget-tabs-content[data-v-d5e9dd06]{margin-top:4px}.widget-config-section[data-v-d5e9dd06]{margin-bottom:12px}.widget-config-title[data-v-d5e9dd06]{font-size:13px;color:#e2e8f0;font-weight:600;margin-bottom:6px}.widget-config-row[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.widget-config-row label[data-v-d5e9dd06]{min-width:80px;font-size:12px;color:#a0aec0}.widget-config-row input[type=number][data-v-d5e9dd06],.widget-config-row input[type=text][data-v-d5e9dd06],.widget-config-row select[data-v-d5e9dd06]{width:100%;padding:4px 8px;border:1px solid #718096;border-radius:6px;background:#2d3748;color:#e2e8f0;font-size:12px;height:28px;cursor:pointer}.widget-config-row select[data-v-d5e9dd06]{cursor:pointer}.widget-config-row input[type=color][data-v-d5e9dd06]{width:32px;height:32px;border:none;background:none;cursor:pointer;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;border-radius:4px}.widget-config-row input[type=color][data-v-d5e9dd06]::-webkit-color-swatch-wrapper{padding:0;border:none}.widget-config-row input[type=color][data-v-d5e9dd06]::-webkit-color-swatch{border:none;border-radius:4px}.widget-config-row input[type=color][data-v-d5e9dd06]::-moz-color-swatch{border:none;border-radius:4px}.widget-config-row input[type=range][data-v-d5e9dd06]{flex:1}@media (max-width: 900px){.scada-toolbar[data-v-d5e9dd06]{padding:0 8px}.scada-sidebar[data-v-d5e9dd06]{width:56px;padding:6px 0}.sidebar-icons[data-v-d5e9dd06]>*{width:22px;height:22px}.canvas-placeholder[data-v-d5e9dd06]{font-size:16px;padding:8px}}@media (max-width: 600px){.scada-dashboard-root[data-v-d5e9dd06],.scada-main-layout[data-v-d5e9dd06]{flex-direction:column}.scada-sidebar[data-v-d5e9dd06]{flex-direction:row;width:100%;height:56px;border-right:none;border-bottom:1px solid #e5e7eb;overflow-x:auto;overflow-y:hidden;padding:0 4px}.sidebar-section[data-v-d5e9dd06]{margin-bottom:0;margin-right:12px}.scada-canvas[data-v-d5e9dd06]{min-height:300px;height:auto}}.canvas-zoom-indicator[data-v-d5e9dd06]{position:absolute;right:16px;bottom:16px;background:#2563ebd9;color:#fff;padding:2px 10px;border-radius:8px;font-size:15px;z-index:10;pointer-events:none}.widget-manager-list-simple[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:6px}.widget-manager-item-simple[data-v-d5e9dd06]{display:flex;align-items:center;justify-content:space-between;background:#4a5568;border:1px solid #718096;border-radius:6px;box-shadow:0 1px 4px #0000001a;padding:4px 8px;transition:border .2s,box-shadow .2s;cursor:pointer}.widget-manager-item-simple.active[data-v-d5e9dd06]{border:2px solid #a0aec0;box-shadow:0 2px 8px #0003}.widget-names[data-v-d5e9dd06]{flex:1;display:flex;flex-direction:column;gap:2px;margin-right:8px;overflow:hidden}.widget-manager-name-primary[data-v-d5e9dd06]{font-size:14px;color:#e2e8f0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-manager-name-system[data-v-d5e9dd06]{font-size:11px;color:#94a3b8;font-weight:400;font-family:Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}.widget-manager-name[data-v-d5e9dd06]{flex:1;font-size:14px;color:#e2e8f0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}.widget-manager-btn-simple[data-v-d5e9dd06]{border:none;background:none;padding:2px 4px;margin-left:2px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.widget-manager-btn-simple[data-v-d5e9dd06]:hover{background:#2d3748;color:#e2e8f0}.widget-manager-icon-simple[data-v-d5e9dd06]{width:14px;height:14px;color:#cbd5e0;transition:color .2s}.widget-manager-list-advanced[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:6px}.widget-manager-hint[data-v-d5e9dd06]{font-size:11px;color:#94a3b8;margin-bottom:2px}.widget-manager-item-adv[data-v-d5e9dd06]{display:flex;flex-direction:column;background:#374151;border:1px solid #475569;border-radius:6px;padding:6px 8px;gap:4px;cursor:grab;transition:background .15s,border .15s}.widget-manager-item-adv.active[data-v-d5e9dd06]{border:2px solid #3b82f6;background:#1e293b}.widget-manager-item-adv.dragging[data-v-d5e9dd06]{opacity:.55}.widget-manager-item-adv.dragover[data-v-d5e9dd06]{outline:2px dashed #60a5fa}.widget-row-1[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px;width:100%}.widget-names-row[data-v-d5e9dd06]{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.widget-name-user[data-v-d5e9dd06]{font-size:14px;color:#f1f5f9;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-name-system[data-v-d5e9dd06]{font-size:11px;color:#94a3b8;font-weight:400;font-family:Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}.widget-row-2[data-v-d5e9dd06]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding-top:2px}.widget-properties[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px}.widget-prop[data-v-d5e9dd06]{display:flex;align-items:center;gap:4px;font-size:10px;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.widget-prop.visible.disabled[data-v-d5e9dd06]{color:#ef4444}.widget-prop.locked.active[data-v-d5e9dd06]{color:#f59e0b}.widget-prop.layer[data-v-d5e9dd06]{background:#1f2937;padding:2px 6px;border-radius:4px;border:1px solid #374151}.widget-toggles[data-v-d5e9dd06]{display:flex;gap:4px}.widget-toggle-btn[data-v-d5e9dd06]{background:#1f2937;border:1px solid #374151;color:#9ca3af;padding:4px;border-radius:4px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.widget-toggle-btn[data-v-d5e9dd06]:hover{background:#374151;border-color:#4b5563}.widget-toggle-btn.active[data-v-d5e9dd06]{background:#3b82f6;border-color:#2563eb;color:#fff}.drag-handle[data-v-d5e9dd06]{padding:2px 4px;cursor:grab;display:flex;align-items:center;justify-content:center;color:#94a3b8}.drag-handle[data-v-d5e9dd06]:hover{color:#fff}.layer-buttons[data-v-d5e9dd06]{display:flex;align-items:center;gap:2px;margin-left:auto}.layer-btn[data-v-d5e9dd06]{background:#475569;border:none;color:#e2e8f0;font-size:10px;line-height:1;padding:4px;border-radius:4px;cursor:pointer}.layer-btn[data-v-d5e9dd06]:hover{background:#3b82f6;color:#fff}.btn-property-open[data-v-d5e9dd06]{background:#475569;color:#e2e8f0;border:1px solid #718096;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px;box-shadow:0 1px #ffffff05 inset;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s}.btn-property-open[data-v-d5e9dd06]:hover{background:#3b82f6;color:#fff;border-color:#2563eb;box-shadow:0 8px 20px #2563eb1f;transform:translateY(-1px)}.btn-property-open[data-v-d5e9dd06]:focus{outline:none;box-shadow:0 0 0 4px #2563eb1f;border-color:#2563eb}.btn-property-open[data-v-d5e9dd06]:disabled{background:#334155;color:#64748b;cursor:not-allowed;border-color:#475569;transform:none;box-shadow:none}.btn-add[data-v-d5e9dd06]{background:#2563eb;color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;margin-top:6px;font-size:12px}.btn-add[data-v-d5e9dd06]:hover{background:#1d4ed8}.btn-danger[data-v-d5e9dd06]{background:#dc2626;color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px}.btn-danger[data-v-d5e9dd06]:hover{background:#b91c1c}.property-dialog[data-v-d5e9dd06]{display:flex;flex-direction:column}.property-tabs[data-v-d5e9dd06]{display:flex;gap:4px;padding:8px 12px 0}.property-tabs button[data-v-d5e9dd06]{flex:1;background:#475569;border:1px solid #64748b;color:#e2e8f0;padding:8px 10px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s;display:flex;align-items:center;justify-content:center;gap:6px}.property-tabs button .tab-icon[data-v-d5e9dd06]{font-size:14px}.property-tabs button .tab-icon-vue[data-v-d5e9dd06]{flex-shrink:0}.property-tabs button.active[data-v-d5e9dd06]{background:#2563eb;border-color:#1d4ed8;color:#fff;box-shadow:0 0 0 1px #2563eb66}.property-tabs button[data-v-d5e9dd06]:hover:not(.active){background:#51627a}.property-panel[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow-y:auto;padding-right:4px}.property-panel[data-v-d5e9dd06]::-webkit-scrollbar{width:6px}.property-panel[data-v-d5e9dd06]::-webkit-scrollbar-track{background:#1b242d;border-radius:3px}.property-panel[data-v-d5e9dd06]::-webkit-scrollbar-thumb{background:#4b5563;border-radius:3px}.property-panel[data-v-d5e9dd06]::-webkit-scrollbar-thumb:hover{background:#6b7280}.tab-description[data-v-d5e9dd06]{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#1e3a5f,#1e293b);border-radius:8px;border-left:3px solid #3b82f6;margin-bottom:8px}.tab-desc-icon[data-v-d5e9dd06]{font-size:18px;flex-shrink:0}.tab-desc-icon-vue[data-v-d5e9dd06]{flex-shrink:0;color:#60a5fa}.tab-desc-text[data-v-d5e9dd06]{font-size:13px;color:#94a3b8;line-height:1.5}.switch-state-config[data-v-d5e9dd06]{background:linear-gradient(135deg,#1e3a5f,#1e293b);border-radius:8px;padding:12px 16px;margin-bottom:12px;border:1px solid #374151}.switch-state-title[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#e2e8f0;margin-bottom:12px}.switch-state-row[data-v-d5e9dd06]{display:flex;gap:16px}.switch-state-row .state-item[data-v-d5e9dd06]{flex:1;display:flex;flex-direction:column;gap:4px}.switch-state-row .state-item label[data-v-d5e9dd06]{font-size:12px;color:#9ca3af}.switch-state-row .state-item input[data-v-d5e9dd06]{padding:6px 10px;background:#1f2937;border:1px solid #4b5563;border-radius:4px;color:#e2e8f0;font-size:13px}.switch-state-row .state-item input[data-v-d5e9dd06]:focus{outline:none;border-color:#3b82f6}.switch-state-hint[data-v-d5e9dd06]{margin-top:8px;font-size:11px;color:#6b7280;font-style:italic}.widget-settings-panel[data-v-d5e9dd06]{background:transparent;padding:0}.widget-settings-two-column-styled[data-v-d5e9dd06]{display:grid;grid-template-columns:520px 1fr;gap:16px;height:auto;min-height:auto}.widget-preview-column-styled[data-v-d5e9dd06]{border-radius:6px;padding:16px;display:flex;flex-direction:column}.preview-header-styled[data-v-d5e9dd06]{margin-bottom:12px;border-bottom:1px solid #2a3744;padding-bottom:8px}.preview-title-styled[data-v-d5e9dd06]{font-size:14px;font-weight:600;color:#cbd5e1;margin:0}.preview-container-styled[data-v-d5e9dd06]{flex:1;justify-content:center;align-items:center;min-height:320px}.actual-widget-preview-styled[data-v-d5e9dd06],.widget-preview-frame-styled[data-v-d5e9dd06]{width:100%;min-height:320px;padding:5px;border-radius:8px;overflow:hidden;display:flex;justify-content:center;align-items:center;background:#fff}.preview-widget-fallback-styled[data-v-d5e9dd06]{display:flex;align-items:center;justify-content:center}.generic-widget-preview-styled[data-v-d5e9dd06]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px}.widget-icon-large-styled[data-v-d5e9dd06]{font-size:32px;margin-bottom:8px;color:#94a3b8}.widget-info-styled[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:4px}.widget-title-styled[data-v-d5e9dd06]{font-size:14px;font-weight:600;color:#cbd5e1}.widget-subtitle-styled[data-v-d5e9dd06]{color:#94a3b8}.widget-options-column-styled[data-v-d5e9dd06]{background:#1b242d;border:1px solid #2a3744;border-radius:6px;display:flex;flex-direction:column;height:auto;overflow-y:visible}.options-header-styled[data-v-d5e9dd06]{padding:12px 16px;border-bottom:1px solid #2a3744;background:#25303b;border-radius:6px 6px 0 0}.options-title-styled[data-v-d5e9dd06]{font-size:14px;font-weight:600;color:#cbd5e1;margin:0 0 4px}.widget-type-name-styled[data-v-d5e9dd06]{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.widget-options-wrapper[data-v-d5e9dd06]{padding:0;margin:0;background:transparent}.widget-options-wrapper .chart-options[data-v-d5e9dd06]{background:transparent;overflow-y:visible}.widget-options-wrapper .option-section[data-v-d5e9dd06]{margin-bottom:16px;padding:12px;background:#27323d;border:1px solid #384554;border-radius:4px}.widget-options-wrapper .section-title[data-v-d5e9dd06]{font-size:11px;font-weight:600;color:#cbd5e1;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.widget-options-wrapper .option-item[data-v-d5e9dd06]{margin-bottom:8px}.widget-options-wrapper .option-item label[data-v-d5e9dd06]{font-size:10px;font-weight:500;color:#94a3b8;margin-bottom:3px}.widget-options-wrapper .input-field[data-v-d5e9dd06],.widget-options-wrapper .select-field[data-v-d5e9dd06],.widget-options-wrapper .textarea-field[data-v-d5e9dd06]{padding:4px 6px;font-size:11px;background:#1b242d;border:1px solid #384554;color:#e2e8f0;border-radius:3px}.widget-options-wrapper .input-field[data-v-d5e9dd06]:focus,.widget-options-wrapper .select-field[data-v-d5e9dd06]:focus,.widget-options-wrapper .textarea-field[data-v-d5e9dd06]:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.no-options-wrapper[data-v-d5e9dd06]{padding:32px 16px;display:flex;justify-content:center;align-items:center;min-height:200px}.no-options-content[data-v-d5e9dd06]{text-align:center}.no-options-icon[data-v-d5e9dd06]{font-size:32px;display:block;margin-bottom:12px}.property-list[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:6px;background:#1f2937;padding:10px 12px;border:1px solid #334155;border-radius:8px}.property-list select[data-v-d5e9dd06],.property-list input[data-v-d5e9dd06],.property-list textarea[data-v-d5e9dd06]{background:#334155;border:1px solid #475569;color:#e2e8f0;border-radius:6px;padding:6px 8px;font-size:13px;width:100%}.property-list textarea[data-v-d5e9dd06]{resize:vertical}.grid-2[data-v-d5e9dd06]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-label[data-v-d5e9dd06]{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin-bottom:2px}.event-config-group[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:6px;background:#293445;padding:8px 10px;border:1px solid #3a4a5f;border-radius:6px}.event-panel[data-v-d5e9dd06]{gap:10px}.event-item[data-v-d5e9dd06]{background:#1f2733;border:1px solid #32404f;border-radius:10px;overflow:hidden;transition:border-color .18s,background .18s}.event-item[data-v-d5e9dd06]:not(.collapsed):hover{border-color:#3f5366}.event-item-header[data-v-d5e9dd06]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:500;background:linear-gradient(90deg,#243140,#1e2732)}.event-item.collapsed .event-item-header[data-v-d5e9dd06]{border-radius:10px}.event-item-title[data-v-d5e9dd06]{display:flex;align-items:center;gap:6px;color:#cbd5e1;font-weight:500}.evt-type[data-v-d5e9dd06]{color:#60a5fa;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.evt-action[data-v-d5e9dd06]{color:#fbbf24;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.evt-sep[data-v-d5e9dd06]{opacity:.4}.evt-desc[data-v-d5e9dd06]{font-size:11px;color:#94a3b8;font-weight:400}.chevron[data-v-d5e9dd06]{display:inline-block;transform:rotate(0);transition:transform .2s;font-size:11px;color:#64748b}.chevron.open[data-v-d5e9dd06]{transform:rotate(90deg);color:#94a3b8}.event-item-body[data-v-d5e9dd06]{padding:12px 12px 14px;display:flex;flex-direction:column;gap:10px;animation:fadeIn-d5e9dd06 .25s}.row-compact[data-v-d5e9dd06]{display:flex;gap:12px}.row-compact .col[data-v-d5e9dd06]{flex:1;display:flex;flex-direction:column;gap:4px}.event-config-line[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:6px}.event-config-grid2[data-v-d5e9dd06]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.event-config-grid3[data-v-d5e9dd06]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.mini-btn[data-v-d5e9dd06]{background:#2d3a48;color:#cbd5e1;border:1px solid #3a4a5a;padding:2px 6px;border-radius:5px;font-size:11px;cursor:pointer;line-height:1.2}.mini-btn[data-v-d5e9dd06]:hover{background:#374656;color:#fff}.mini-btn.danger[data-v-d5e9dd06]{background:#432b2b;border-color:#613737;color:#fca5a5}.mini-btn.danger[data-v-d5e9dd06]:hover{background:#5a3232;color:#fff}.fade-scale-enter-active[data-v-d5e9dd06],.fade-scale-leave-active[data-v-d5e9dd06]{transition:all .18s ease}.fade-scale-enter-from[data-v-d5e9dd06],.fade-scale-leave-to[data-v-d5e9dd06]{opacity:0;transform:translateY(-4px) scale(.98)}.property-flat[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:6px}.property-row[data-v-d5e9dd06]{display:grid;grid-template-columns:140px 200px 1fr;gap:8px;align-items:center;padding:6px 8px}.mapping-input-group[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.mapping-input-group label[data-v-d5e9dd06]{min-width:40px;text-align:left;font-size:13px;color:#9ca3af;font-weight:500}.mapping-input-group input[data-v-d5e9dd06]{flex:1;padding:6px 10px;background:#27323d;border:1px solid #384554;color:#e2e8f0;border-radius:5px;font-size:13px}.mapping-input-group input[data-v-d5e9dd06]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.property-row.tag-row-full[data-v-d5e9dd06]{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:12px}.property-row.header[data-v-d5e9dd06]{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;background:#25303b;border:1px solid #2f3b47;border-radius:6px;padding:8px;font-weight:600}.property-row[data-v-d5e9dd06]:not(.header){background:#1b242d;border:1px solid #2a3744;border-radius:6px}.property-row[data-v-d5e9dd06]:not(.header):hover{background:#202b36}.property-row .col input[data-v-d5e9dd06]{width:100%;background:#27323d;border:1px solid #384554;color:#e2e8f0;border-radius:5px;font-size:12px;padding:6px 8px}.property-row .col input[data-v-d5e9dd06]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.property-row .field-col label[data-v-d5e9dd06]{color:#cbd5e1;font-weight:500;font-size:12px}.property-row .desc-col .desc-text[data-v-d5e9dd06]{color:#94a3b8;font-size:11px;font-style:italic}.checkbox-wrapper[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px}.checkbox-wrapper input[type=checkbox][data-v-d5e9dd06]{transform:scale(1.2);cursor:pointer}.checkbox-wrapper span[data-v-d5e9dd06]{color:#cbd5e1;font-size:12px}.event-flat[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:6px}.event-row[data-v-d5e9dd06]{display:grid;grid-template-columns:110px 140px 1fr 180px 70px;gap:8px;align-items:start;padding:4px 8px;border-bottom:1px solid #2f3b47}.event-row.header[data-v-d5e9dd06]{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;background:#25303b;border:1px solid #2f3b47;border-radius:6px;padding:6px 8px;font-weight:600}.event-row.footer-row[data-v-d5e9dd06]{border:none;justify-content:space-between;grid-template-columns:1fr 1fr}.event-row[data-v-d5e9dd06]:not(.header):not(.footer-row):hover{background:#202b36}.event-row[data-v-d5e9dd06]:not(.header):not(.footer-row){background:#1b242d;border:1px solid #2a3744;border-radius:6px}.event-row .col select[data-v-d5e9dd06],.event-row .col input[data-v-d5e9dd06],.event-row .col textarea[data-v-d5e9dd06]{width:100%;background:#27323d;border:1px solid #384554;color:#e2e8f0;border-radius:5px;font-size:12px;padding:4px 6px}.event-row .col textarea[data-v-d5e9dd06]{resize:vertical}.event-row .col select[data-v-d5e9dd06]:focus,.event-row .col input[data-v-d5e9dd06]:focus,.event-row .col textarea[data-v-d5e9dd06]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.tag-row-header[data-v-d5e9dd06]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #2a3744;margin-bottom:4px}.tag-row-header label[data-v-d5e9dd06]{color:#e2e8f0;font-weight:600;font-size:13px}.tag-row-hint[data-v-d5e9dd06]{font-size:11px;color:#64748b;font-style:italic}.tag-config-section[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:12px;width:100%}.tag-selector-row[data-v-d5e9dd06]{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;min-height:36px}.tag-label[data-v-d5e9dd06]{font-size:13px;color:#9ca3af;font-weight:500;text-align:right;white-space:nowrap}.tag-select[data-v-d5e9dd06]{width:100%;padding:8px 12px;border:1px solid #384554;border-radius:6px;background:#27323d;color:#e2e8f0;min-height:36px;font-size:13px}.tag-select[data-v-d5e9dd06]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.tag-select[data-v-d5e9dd06]:disabled{background:#1b242d;color:#6b7280;cursor:not-allowed}.tag-reload-btn[data-v-d5e9dd06]{padding:8px 12px;border:1px solid #384554;border-radius:6px;background:#27323d;color:#e2e8f0;font-size:14px;cursor:pointer;min-width:40px;height:36px;display:flex;align-items:center;justify-content:center;transition:all .2s}.tag-reload-btn[data-v-d5e9dd06]:hover:not(:disabled){background:#374151;border-color:#4b5563}.tag-reload-btn[data-v-d5e9dd06]:disabled{cursor:not-allowed;opacity:.6}.tag-reload-placeholder[data-v-d5e9dd06]{min-width:40px;height:36px;display:flex;align-items:center;justify-content:center}.tag-input-readonly[data-v-d5e9dd06]{width:100%;padding:8px 12px;border:1px solid #384554;border-radius:6px;background:#1b242d;color:#9ca3af;min-height:36px;font-size:13px}.tag-loading[data-v-d5e9dd06]{font-size:13px;color:#6b7280;font-style:italic;min-width:40px;text-align:center}.tag-instruction[data-v-d5e9dd06]{padding:12px 14px;background:#0f172a;border:1px solid #334155;border-radius:6px}.instruction-text[data-v-d5e9dd06]{font-size:12px;color:#fbbf24;line-height:1.5}.actions-compact[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:8px}.actions-list[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:6px}.action-item[data-v-d5e9dd06]{background:#1b242d;border:1px solid #2a3744;border-radius:8px;padding:8px;transition:background-color .2s}.action-item[data-v-d5e9dd06]:hover{background:#202b36}.action-main-row[data-v-d5e9dd06]{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:8px 0}.action-enable[data-v-d5e9dd06]{display:flex;align-items:center;padding-bottom:4px}.action-enable input[type=checkbox][data-v-d5e9dd06]{transform:scale(1.2);cursor:pointer}.action-device-selector[data-v-d5e9dd06],.action-datamonitor-selector[data-v-d5e9dd06],.action-condition[data-v-d5e9dd06],.action-effect[data-v-d5e9dd06],.action-timing[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:4px;min-width:120px}.action-device-selector label[data-v-d5e9dd06],.action-datamonitor-selector label[data-v-d5e9dd06],.action-condition label[data-v-d5e9dd06],.action-effect label[data-v-d5e9dd06],.action-timing label[data-v-d5e9dd06]{font-size:10px;color:#94a3b8;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.action-device-select[data-v-d5e9dd06],.action-datamonitor-select[data-v-d5e9dd06]{padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0;min-width:140px}.action-device-select[data-v-d5e9dd06]:focus,.action-datamonitor-select[data-v-d5e9dd06]:focus{outline:none;border-color:#60a5fa}.condition-row[data-v-d5e9dd06]{display:flex;gap:4px}.operator-select[data-v-d5e9dd06]{width:50px;padding:6px 4px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0;text-align:center}.condition-value-input[data-v-d5e9dd06]{width:80px;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0}.timing-single[data-v-d5e9dd06]{display:flex;align-items:center;gap:4px}.timing-input[data-v-d5e9dd06]{width:70px;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0}.timing-unit[data-v-d5e9dd06]{color:#94a3b8;font-size:11px;font-weight:500}.action-controls[data-v-d5e9dd06]{display:flex;gap:4px;align-items:flex-end;padding-bottom:4px;margin-left:auto}.action-basic[data-v-d5e9dd06]{display:grid;grid-template-columns:120px 1fr;gap:8px}.action-details-row[data-v-d5e9dd06]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding-top:6px;border-top:1px solid #2a3744}.detail-group[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:4px}.detail-group label[data-v-d5e9dd06]{font-size:10px;color:#94a3b8;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.timing-inputs[data-v-d5e9dd06],.condition-inputs[data-v-d5e9dd06],.animation-inputs[data-v-d5e9dd06]{display:flex;gap:4px}.loop-checkbox[data-v-d5e9dd06]{display:flex;align-items:center;gap:6px}.loop-checkbox input[type=checkbox][data-v-d5e9dd06]{transform:scale(1.1)}.loop-checkbox span[data-v-d5e9dd06]{color:#cbd5e1;font-size:11px}.actions-compact input[data-v-d5e9dd06],.actions-compact select[data-v-d5e9dd06]{background:#27323d;border:1px solid #384554;color:#e2e8f0;border-radius:4px;font-size:11px;padding:3px 6px;height:26px}.actions-compact input[data-v-d5e9dd06]:focus,.actions-compact select[data-v-d5e9dd06]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.tag-input[data-v-d5e9dd06]{min-width:100px}.effect-select[data-v-d5e9dd06]{min-width:120px}.bitmask-select[data-v-d5e9dd06]{min-width:70px}.direction-select[data-v-d5e9dd06]{min-width:100px}@media (max-width: 1100px){.action-basic[data-v-d5e9dd06]{grid-template-columns:100px 1fr}.action-details-row[data-v-d5e9dd06]{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (max-width: 880px){.action-main-row[data-v-d5e9dd06]{grid-template-columns:30px 1fr}.action-controls[data-v-d5e9dd06]{grid-column:1 / -1;justify-content:flex-end;margin-top:4px}.action-basic[data-v-d5e9dd06]{grid-template-columns:1fr}.action-details-row[data-v-d5e9dd06]{grid-template-columns:1fr;gap:8px}}.inline-pair[data-v-d5e9dd06]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.inline-triple[data-v-d5e9dd06]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.setvalue-config[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:6px;width:100%}.setvalue-row[data-v-d5e9dd06]{display:flex;gap:6px}.setvalue-row select[data-v-d5e9dd06],.setvalue-row input[data-v-d5e9dd06]{flex:1}.screen-select[data-v-d5e9dd06]{width:100%;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0;font-size:12px}.screen-select[data-v-d5e9dd06]:focus{outline:none;border-color:#60a5fa}.device-select[data-v-d5e9dd06],.datakey-select[data-v-d5e9dd06]{width:100%;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0;font-size:12px}.device-select[data-v-d5e9dd06]:focus,.datakey-select[data-v-d5e9dd06]:focus{outline:none;border-color:#60a5fa}.value-input[data-v-d5e9dd06]{width:100%;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0;font-size:12px}.value-input[data-v-d5e9dd06]:focus{outline:none;border-color:#60a5fa}.switch-values-inline[data-v-d5e9dd06]{display:flex;gap:8px;width:100%}.switch-value-item[data-v-d5e9dd06]{display:flex;align-items:center;gap:4px;flex:1}.switch-value-item label[data-v-d5e9dd06]{font-size:11px;color:#94a3b8;font-weight:500;white-space:nowrap}.value-input-small[data-v-d5e9dd06]{flex:1;padding:5px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0;font-size:12px;min-width:40px}.value-input-small[data-v-d5e9dd06]:focus{outline:none;border-color:#60a5fa}.icon-btn[data-v-d5e9dd06]{background:#2d3a48;border:1px solid #3a4a5a;color:#cbd5e1;padding:4px 6px;border-radius:5px;font-size:12px;cursor:pointer;margin-right:4px;display:inline-flex;align-items:center;justify-content:center}.icon-btn[data-v-d5e9dd06]:last-child{margin-right:0}.icon-btn[data-v-d5e9dd06]:hover{background:#374656;color:#fff}.icon-btn.danger[data-v-d5e9dd06]{background:#432b2b;border-color:#613737;color:#fca5a5}.icon-btn.danger[data-v-d5e9dd06]:hover{background:#5a3232;color:#fff}.icon-btn.test[data-v-d5e9dd06]{background:#10b981;border-color:#059669;color:#fff}.icon-btn.test[data-v-d5e9dd06]:hover{background:#059669}.icon-btn.small[data-v-d5e9dd06]{padding:2px 4px;font-size:10px}.add-context[data-v-d5e9dd06]{cursor:pointer;color:#60a5fa;font-size:13px}.add-context[data-v-d5e9dd06]:hover{text-decoration:underline}.add-binding[data-v-d5e9dd06]{cursor:pointer;color:#94a3b8;font-size:12px;text-align:right}.add-binding[data-v-d5e9dd06]:hover{color:#cbd5e1}.actions-flat[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:6px}.actions-row[data-v-d5e9dd06]{display:grid;grid-template-columns:50px 1fr 100px 80px 80px 160px 70px;gap:8px;align-items:center;padding:4px 8px}.actions-row.header[data-v-d5e9dd06]{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;background:#25303b;border:1px solid #2f3b47;border-radius:6px;padding:6px 8px;font-weight:600}.actions-row.footer-row[data-v-d5e9dd06]{border:none;grid-template-columns:1fr}.actions-row[data-v-d5e9dd06]:not(.header):not(.footer-row){background:#1b242d;border:1px solid #2a3744;border-radius:6px}.actions-row[data-v-d5e9dd06]:not(.header):not(.footer-row):hover{background:#202b36}.actions-row .col input[data-v-d5e9dd06],.actions-row .col select[data-v-d5e9dd06]{width:100%;background:#27323d;border:1px solid #384554;color:#e2e8f0;border-radius:5px;font-size:12px;padding:4px 6px}.actions-row .col input[data-v-d5e9dd06]:focus,.actions-row .col select[data-v-d5e9dd06]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.add-action[data-v-d5e9dd06]{cursor:pointer;color:#60a5fa;font-size:13px;padding:6px 4px}.add-action[data-v-d5e9dd06]:hover{text-decoration:underline}.widget-preview-section-compact[data-v-d5e9dd06]{grid-column:1 / -1;margin-bottom:8px;padding:12px 16px;background:#1b242d;border:1px solid #2a3744;border-radius:6px}.preview-header-compact[data-v-d5e9dd06]{margin-bottom:8px}.preview-title-compact[data-v-d5e9dd06]{font-weight:600;color:#cbd5e1;margin:0}.preview-container-compact[data-v-d5e9dd06]{display:flex;justify-content:center;align-items:center;min-height:120px}.actual-widget-preview-compact[data-v-d5e9dd06]{width:100%;max-width:200px;height:120px;display:flex;justify-content:center;align-items:center;background:#27323d;border:1px solid #384554;border-radius:6px;overflow:hidden}.preview-widget-fallback-compact[data-v-d5e9dd06]{width:100%;max-width:200px;height:120px;background:#27323d;border:1px solid #384554;border-radius:6px;display:flex;align-items:center;justify-content:center}.generic-widget-preview-compact[data-v-d5e9dd06]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px}.widget-icon-compact[data-v-d5e9dd06]{font-size:24px;margin-bottom:4px;color:#94a3b8}.widget-info-compact[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:2px}.widget-title-compact[data-v-d5e9dd06]{font-weight:600;color:#cbd5e1}.widget-subtitle-compact[data-v-d5e9dd06]{font-size:10px;color:#94a3b8}.no-options-text h5[data-v-d5e9dd06]{font-size:14px;font-weight:600;color:#cbd5e1;margin:0 0 4px}.no-options-text p[data-v-d5e9dd06]{color:#94a3b8;margin:0}@media (max-width:1100px){.actions-row[data-v-d5e9dd06]{grid-template-columns:40px 1fr 80px 70px 70px 140px 60px}}@media (max-width:900px){.actions-row[data-v-d5e9dd06]{grid-template-columns:40px 1fr 80px 70px 70px}.actions-row .mode-col[data-v-d5e9dd06],.actions-row .ctrl-col[data-v-d5e9dd06]{grid-column:1 / -1;display:flex;gap:8px}.actions-row .ctrl-col[data-v-d5e9dd06]{justify-content:flex-end}}@media (max-width: 1100px){.property-row[data-v-d5e9dd06]{grid-template-columns:120px 180px 1fr}.event-row[data-v-d5e9dd06]{grid-template-columns:90px 120px 1fr 150px 60px}}@media (max-width: 880px){.property-row[data-v-d5e9dd06]{grid-template-columns:1fr}.property-row .field-col[data-v-d5e9dd06]{margin-bottom:4px}.property-row .desc-col[data-v-d5e9dd06]{margin-top:4px;padding-left:8px}.event-row[data-v-d5e9dd06]{grid-template-columns:90px 120px 1fr}.event-row .desc-col[data-v-d5e9dd06],.event-row .ctrl-col[data-v-d5e9dd06]{grid-column:1 / -1;display:flex;gap:6px}.event-row .ctrl-col[data-v-d5e9dd06]{justify-content:flex-end}}.property-list select[data-v-d5e9dd06]:focus,.property-list input[data-v-d5e9dd06]:focus,.property-list textarea[data-v-d5e9dd06]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640}.property-actions-line[data-v-d5e9dd06]{display:flex;justify-content:flex-end}.sidebar-title-svg-group[data-v-d5e9dd06]{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-right:12px}.sidebar-group-name[data-v-d5e9dd06]{flex:1}.sidebar-group-arrow[data-v-d5e9dd06]{margin-left:16px;font-size:16px;color:#a0aec0;transition:color .2s}.view-section[data-v-d5e9dd06]{padding:0 12px;position:relative}.view-create-bar[data-v-d5e9dd06]{margin-bottom:8px;display:flex;gap:4px}.view-create-btn-small[data-v-d5e9dd06]{flex:1;display:flex;align-items:center;justify-content:center;padding:5px;background:#4a5568;color:#e2e8f0;border:1px solid #718096;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.view-create-btn-small[data-v-d5e9dd06]:hover{background:#718096;border-color:#a0aec0;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.view-create-icon[data-v-d5e9dd06]{width:14px;height:14px}.view-list[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;overflow-x:visible}.view-item[data-v-d5e9dd06]{display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:#4a5568;border:1px solid #718096;border-radius:6px;cursor:pointer;transition:all .2s;position:relative}.view-item[data-v-d5e9dd06]:hover{border-color:#a0aec0;box-shadow:0 2px 8px #0003}.view-item.active[data-v-d5e9dd06]{background:#718096;border-color:#a0aec0;box-shadow:0 2px 8px #0000004d}.view-name-wrapper[data-v-d5e9dd06]{flex:1;min-width:0}.view-name[data-v-d5e9dd06]{font-size:13px;font-weight:500;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-name-input[data-v-d5e9dd06]{width:100%;font-size:13px;font-weight:500;color:#2d3748;background:#e2e8f0;border:1px solid #a0aec0;border-radius:3px;padding:2px 4px;outline:none}.view-menu-wrapper[data-v-d5e9dd06]{position:relative}.view-menu-btn[data-v-d5e9dd06]{background:none;border:none;color:#a0aec0;font-size:16px;font-weight:700;cursor:pointer;border-radius:3px;transition:all .2s;line-height:1}.view-menu-btn[data-v-d5e9dd06]:hover{background:#2d3748;color:#e2e8f0}.view-menu-dropdown[data-v-d5e9dd06]{position:absolute;top:0;left:100%;margin-top:4px;margin-left:50px;background:#4a5568;border:1px solid #718096;border-radius:8px;box-shadow:0 10px 30px #0006;z-index:9999;min-width:80px;padding:4px}.menu-item[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;text-align:left;color:#e2e8f0;cursor:pointer;transition:background .2s}.menu-item[data-v-d5e9dd06]:hover{background:#2d3748}.menu-item.danger[data-v-d5e9dd06]{color:#fc8181}.menu-item.danger[data-v-d5e9dd06]:hover{background:#742a2a}.menu-item span[data-v-d5e9dd06]{font-size:14px}.color-palette[data-v-d5e9dd06]{height:40px;background:#2d3748;border-top:1px solid #4a5568;display:flex;align-items:center;padding:0 16px;gap:16px}.color-palette-info[data-v-d5e9dd06]{display:flex;align-items:center;gap:12px}.zoom-indicator[data-v-d5e9dd06]{color:#e2e8f0;font-weight:500;min-width:40px}.color-display[data-v-d5e9dd06]{display:flex;align-items:center}.current-colors[data-v-d5e9dd06]{display:flex;gap:4px}.color-box[data-v-d5e9dd06]{width:24px;height:24px;border:2px solid #4a5568;border-radius:3px;cursor:pointer;transition:all .2s;position:relative}.color-box[data-v-d5e9dd06]:hover{border-color:#e2e8f0;transform:scale(1.1)}.color-box.primary[data-v-d5e9dd06]{z-index:2}.color-box.secondary[data-v-d5e9dd06]{margin-left:-8px;z-index:1}.color-palette-colors[data-v-d5e9dd06]{display:flex;gap:2px;flex:1;overflow-x:auto;padding:4px 0}.palette-color[data-v-d5e9dd06]{width:20px;height:20px;border:1px solid #4a5568;border-radius:2px;cursor:pointer;transition:all .2s;flex-shrink:0}.palette-color[data-v-d5e9dd06]:hover{border-color:#e2e8f0;transform:scale(1.2);z-index:10;box-shadow:0 2px 8px #0000004d}.create-view-dialog-overlay[data-v-d5e9dd06]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:6000}.create-view-dialog[data-v-d5e9dd06]{background:#2d3748;border-radius:12px;box-shadow:0 24px 72px #0000008c;width:780px;max-width:96vw;max-height:96vh;min-height:70vh;overflow:hidden;display:flex;flex-direction:column}.create-view-dialog.create-view-modal[data-v-d5e9dd06]{width:480px;min-height:auto;max-height:90vh}.create-view-dialog.property-dialog[data-v-d5e9dd06]{width:60%;height:80%}.property-body[data-v-d5e9dd06]{padding:12px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;max-height:calc(100vh - 280px)}.create-view-header[data-v-d5e9dd06]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #4a5568;background:#1a202c}.create-view-header h3[data-v-d5e9dd06]{margin:0;font-size:18px;color:#fff;font-weight:600}.close-btn[data-v-d5e9dd06]{border:none;background:none;font-size:24px;color:#a0aec0;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s,color .2s}.close-btn[data-v-d5e9dd06]:hover{background:#718096;color:#e2e8f0}.create-view-close[data-v-d5e9dd06]{border:none;background:none;font-size:24px;color:#a0aec0;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s,color .2s}.create-view-close[data-v-d5e9dd06]:hover{background:#718096;color:#e2e8f0}.create-view-content[data-v-d5e9dd06]{padding:20px}.form-group[data-v-d5e9dd06]{margin-bottom:16px}.form-row[data-v-d5e9dd06]{display:flex;gap:16px}.form-row .form-group[data-v-d5e9dd06]{flex:1}.form-group label[data-v-d5e9dd06]{display:block;font-size:14px;color:#fff;font-weight:500;margin-bottom:8px}.form-input[data-v-d5e9dd06]{width:100%;padding:10px 12px;border:1px solid #4a5568;border-radius:6px;font-size:14px;color:#fff;background:#1a202c;transition:border-color .2s,box-shadow .2s}.form-input[data-v-d5e9dd06]:focus{outline:none;border-color:#63b3ed;box-shadow:0 0 0 3px #63b3ed33}.form-select[data-v-d5e9dd06]{width:100%;padding:10px 12px;border:1px solid #4a5568;border-radius:6px;font-size:14px;color:#fff;background:#1a202c;transition:border-color .2s,box-shadow .2s;cursor:pointer}.form-select[data-v-d5e9dd06]:focus{outline:none;border-color:#63b3ed;box-shadow:0 0 0 3px #63b3ed33}.form-select option[data-v-d5e9dd06]{background:#1a202c;color:#fff;padding:8px 12px}.size-display[data-v-d5e9dd06]{padding:10px 12px;border:1px solid #4a5568;border-radius:6px;font-size:14px;color:#a0aec0;background:#1a202c;font-family:monospace;text-align:center}.color-picker-group[data-v-d5e9dd06]{display:flex;gap:10px;align-items:center}.color-picker[data-v-d5e9dd06]{width:44px;height:32px;padding:0;border:none;border-radius:6px;cursor:pointer;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.color-picker[data-v-d5e9dd06]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-picker[data-v-d5e9dd06]::-webkit-color-swatch{border:none;border-radius:6px}.color-picker[data-v-d5e9dd06]::-moz-color-swatch{border:none;border-radius:6px}.color-picker[data-v-d5e9dd06]:focus{outline:none;box-shadow:0 0 0 2px #63b3ed66}.color-text[data-v-d5e9dd06]{flex:1;padding:10px 12px;border:1px solid #4a5568;border-radius:6px;font-size:14px;color:#fff;background:#1a202c}.create-view-actions[data-v-d5e9dd06]{display:flex;gap:12px;justify-content:flex-end;padding:16px 20px;border-top:1px solid #4a5568;background:#1a202c}.btn-cancel[data-v-d5e9dd06],.btn-create[data-v-d5e9dd06]{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel[data-v-d5e9dd06]{background:#4a5568;color:#fff}.btn-cancel[data-v-d5e9dd06]:hover{background:#718096}.btn-create[data-v-d5e9dd06]{background:#3182ce;color:#fff}.btn-create[data-v-d5e9dd06]:hover{background:#2b6cb0;transform:translateY(-1px);box-shadow:0 4px 12px #3182ce66}.btn-save[data-v-d5e9dd06]{background:#16a34a;color:#fff;padding:5px 10px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid #16a34a;transition:all .2s}.btn-save[data-v-d5e9dd06]:hover:not(:disabled){background:#15803d;border-color:#15803d;box-shadow:0 4px 12px #00000059;transform:translateY(-1px)}.btn-save[data-v-d5e9dd06]:active:not(:disabled){background:#166534;transform:translateY(0);box-shadow:none}.btn-save[data-v-d5e9dd06]:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed;opacity:.6}.canvas-widgets.drawing-active .canvas-widget[data-v-d5e9dd06]{pointer-events:none!important}.canvas-widgets.drawing-active[data-drawing-tool=pentool] .canvas-widget[data-v-d5e9dd06]{visibility:hidden!important}.canvas-widgets.drawing-active:not([data-drawing-tool=pentool]) .canvas-widget[data-v-d5e9dd06]{opacity:.5!important}.canvas-widgets.drawing-active[data-v-d5e9dd06]{cursor:crosshair!important}.dialog-view-overlay[data-v-d5e9dd06]{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog-view-container[data-v-d5e9dd06]{background:#fff;border-radius:8px;box-shadow:0 20px 60px #0006;max-width:95vw;max-height:95vh;overflow:hidden;display:flex;flex-direction:column}.dialog-view-header[data-v-d5e9dd06]{height:36px;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:space-between;padding:0 12px;cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dialog-view-title[data-v-d5e9dd06]{color:#fff;font-weight:500}.dialog-view-close[data-v-d5e9dd06]{background:transparent;border:none;color:#fff;font-size:20px;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .15s}.dialog-view-close[data-v-d5e9dd06]:hover{background:#ffffff1a}.dialog-view-content[data-v-d5e9dd06]{flex:1;overflow:auto}.scada-preview-modal-overlay[data-v-d5e9dd06]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:15000;overflow:hidden}.scada-preview-modal[data-v-d5e9dd06]{width:100%;height:100%;position:relative}.preview-exit-btn[data-v-d5e9dd06]{position:absolute;top:16px;right:16px;z-index:16000;width:40px;height:40px;background:#000000b3;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.preview-exit-btn[data-v-d5e9dd06]:hover{background:#ef4444e6;border-color:#fff6;transform:scale(1.05)}.preview-canvas-wrapper[data-v-d5e9dd06]{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;overflow-x:hidden;overflow-y:hidden;background:#000;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.preview-canvas-wrapper[data-v-d5e9dd06]::-webkit-scrollbar{height:10px}.preview-canvas-wrapper[data-v-d5e9dd06]::-webkit-scrollbar-track{background:#ffffff0d}.preview-canvas-wrapper[data-v-d5e9dd06]::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:5px}.preview-canvas-wrapper[data-v-d5e9dd06]::-webkit-scrollbar-thumb:hover{background:#ffffff80}.preview-canvas-content[data-v-d5e9dd06]{position:relative;flex-shrink:0}.preview-widget[data-v-d5e9dd06]{transition:all .2s ease}.preview-widget.interactive-widget[data-v-d5e9dd06]{transition:filter .15s ease-out}.preview-widget.interactive-widget[data-v-d5e9dd06]:hover{filter:brightness(1.08)}.preview-widget.widget-pressed[data-v-d5e9dd06],.widget-pressed[data-v-d5e9dd06]{transform:scale(.95) translateY(-1px)!important;transition:all .1s ease-out!important}.widget-element[data-v-d5e9dd06],.draggable-widget[data-v-d5e9dd06],[draggable=true][data-v-d5e9dd06]{transition:all .2s ease-out}.widget-element[data-v-d5e9dd06]:hover,.draggable-widget[data-v-d5e9dd06]:hover,[draggable=true][data-v-d5e9dd06]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.widget-library-modal-overlay[data-v-d5e9dd06]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center}.widget-library-modal[data-v-d5e9dd06]{background:#fff;border-radius:16px;box-shadow:0 25px 80px #00000059;width:90%;max-width:1100px;height:85%;max-height:750px;display:flex;flex-direction:column;overflow:hidden}.widget-library-modal-header[data-v-d5e9dd06]{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(to bottom,#f8fafc,#fff)}.widget-library-modal-title[data-v-d5e9dd06]{color:#1f2937;font-size:18px;font-weight:700;margin:0;display:flex;align-items:center;gap:10px}.widget-library-modal-title[data-v-d5e9dd06]:before{content:"";width:4px;height:20px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:2px}.widget-library-modal-close[data-v-d5e9dd06]{background:none;border:none;color:#9ca3af;font-size:24px;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.widget-library-modal-close[data-v-d5e9dd06]:hover{background:#fee2e2;color:#dc2626}.widget-library-modal-content[data-v-d5e9dd06]{display:flex;flex:1;overflow:hidden}.widget-library-categories[data-v-d5e9dd06]{width:180px;background:#f8fafc;border-right:1px solid #e5e7eb;overflow-y:auto;padding:12px 0;flex-shrink:0}.widget-library-category-item[data-v-d5e9dd06]{padding:12px 20px;color:#6b7280;cursor:pointer;transition:all .2s;border-left:3px solid transparent;font-size:13px;font-weight:500;margin:2px 8px;border-radius:0 8px 8px 0}.widget-library-category-item[data-v-d5e9dd06]:hover{background:#fff;color:#374151;border-left-color:#d1d5db}.widget-library-category-item.active[data-v-d5e9dd06]{background:#eff6ff;color:#2563eb;border-left-color:#2563eb;font-weight:600}.widget-library-grid-modal[data-v-d5e9dd06]{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;padding:20px;overflow-y:auto;background:#fff;align-content:start}.widget-library-modal-item[data-v-d5e9dd06]{background:#fff;border-radius:12px;padding:12px;cursor:pointer;transition:all .2s ease;border:1px solid #e5e7eb;display:flex;flex-direction:column;height:280px;box-shadow:0 1px 3px #0000000d}.widget-library-modal-item[data-v-d5e9dd06]:hover{border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 8px 20px #3b82f626}.widget-library-modal-item[data-v-d5e9dd06]:has(.thumbnail-vertical-slider){height:420px}.widget-library-modal-item:hover .widget-thumbnail-container[data-v-d5e9dd06]{border-color:#93c5fd;background:#f0f9ff}.widget-library-modal-preview[data-v-d5e9dd06]{width:100%;flex:1;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0}.widget-library-modal-preview[data-v-d5e9dd06]>*{pointer-events:none}.widget-thumbnail-container[data-v-d5e9dd06]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:8px;overflow:hidden;position:relative;transition:all .2s}.widget-thumbnail[data-v-d5e9dd06]{width:100%;height:100%;max-width:100%;max-height:100%;pointer-events:none;box-sizing:border-box;display:flex;justify-content:center}.widget-thumbnail-container.thumbnail-chart[data-v-d5e9dd06]{padding:0}.widget-thumbnail-container.thumbnail-chart .widget-thumbnail[data-v-d5e9dd06]{transform-origin:center center}.widget-thumbnail-container.thumbnail-control[data-v-d5e9dd06]{padding:8px;display:flex;align-items:center;justify-content:center;background:#fff}.widget-thumbnail-container.thumbnail-control .widget-thumbnail[data-v-d5e9dd06]{transform:scale(.75);transform-origin:center center;width:133%;height:133%;filter:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-thumbnail-container.thumbnail-circular-slider[data-v-d5e9dd06]{padding:10px;display:flex;align-items:center;justify-content:center;background:#fff}.widget-thumbnail-container.thumbnail-circular-slider .widget-thumbnail[data-v-d5e9dd06]{transform-origin:center center;width:154%;height:154%;filter:none}.widget-thumbnail-container.thumbnail-horizontal-slider[data-v-d5e9dd06]{padding:20px 12px;display:flex;align-items:center;justify-content:center;background:#fff}.widget-thumbnail-container.thumbnail-horizontal-slider .widget-thumbnail[data-v-d5e9dd06]{transform:scale(1.2);transform-origin:center center;width:150%;height:150%;filter:none}.widget-thumbnail-container.thumbnail-vertical-slider[data-v-d5e9dd06]{padding:12px 16px;display:flex;align-items:center;justify-content:center;background:#fff;min-height:360px}.widget-thumbnail-container.thumbnail-vertical-slider .widget-thumbnail[data-v-d5e9dd06]{transform-origin:center center;width:180%;height:180%;filter:none}.widget-thumbnail-container.thumbnail-gauge[data-v-d5e9dd06]{padding:10px}.widget-thumbnail-container.thumbnail-gauge .widget-thumbnail[data-v-d5e9dd06]{transform:scale(.8);transform-origin:center center;width:160%;height:160%}.widget-thumbnail-container.thumbnail-map[data-v-d5e9dd06]{padding:0}.widget-thumbnail-container.thumbnail-map .widget-thumbnail[data-v-d5e9dd06]{transform-origin:center center}.widget-thumbnail-container.thumbnail-alarm[data-v-d5e9dd06]{padding:0;overflow:hidden;align-items:flex-start;justify-content:flex-start}.widget-thumbnail-container.thumbnail-alarm .widget-thumbnail[data-v-d5e9dd06]{transform-origin:top left;margin:0}.widget-thumbnail-container.thumbnail-device[data-v-d5e9dd06]{padding:0;overflow:hidden;align-items:flex-start;justify-content:flex-start}.widget-thumbnail-container.thumbnail-device .widget-thumbnail[data-v-d5e9dd06]{transform-origin:top left;margin:0}.widget-thumbnail-container.thumbnail-vertical-box[data-v-d5e9dd06]{padding:8px;display:flex;align-items:center;justify-content:center}.widget-thumbnail-container.thumbnail-vertical-box .widget-thumbnail[data-v-d5e9dd06]{transform:scale(.45);transform-origin:center center;width:220%;height:220%}.widget-preview-placeholder[data-v-d5e9dd06]{width:100%;height:100%;min-height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:8px;color:#94a3b8}.widget-library-empty[data-v-d5e9dd06]{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;text-align:center}.widget-library-empty p[data-v-d5e9dd06]{margin-top:16px;font-size:14px;color:#6b7280}.widget-library-modal-name[data-v-d5e9dd06]{color:#374151;font-size:12px;font-weight:600;text-align:center;line-height:1.4;padding:10px 4px 4px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-library-modal-item.selected[data-v-d5e9dd06]{border-color:#2563eb;background:#eff6ff;box-shadow:0 4px 16px #2563eb40}.widget-library-modal-item.selected .widget-thumbnail-container[data-v-d5e9dd06]{border-color:#3b82f6;background:#dbeafe}.widget-library-modal-item.selected .widget-library-modal-name[data-v-d5e9dd06]{color:#1d4ed8;font-weight:700}.widget-library-modal-item.selected .widget-library-modal-preview[data-v-d5e9dd06]{background:#3b82f60d;border-color:#3b82f6}.widget-library-modal-footer[data-v-d5e9dd06]{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.widget-library-modal-footer .btn-cancel[data-v-d5e9dd06]{padding:10px 20px;background:#fff;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.widget-library-modal-footer .btn-cancel[data-v-d5e9dd06]:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.widget-library-modal-footer .btn-primary[data-v-d5e9dd06]{padding:10px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #2563eb40}.widget-library-modal-footer .btn-primary[data-v-d5e9dd06]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb59;transform:translateY(-1px)}.widget-library-modal-footer .btn-primary[data-v-d5e9dd06]:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.widget-library-container[data-v-d5e9dd06]{padding:8px 12px}.widget-library-button-full[data-v-d5e9dd06]{width:100%;height:40px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 4px #3b82f633;position:relative;overflow:hidden;font-size:14px;font-weight:500}.widget-library-button-full[data-v-d5e9dd06]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.widget-library-button-full[data-v-d5e9dd06]:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.widget-library-button-full[data-v-d5e9dd06]:hover:before{left:100%}.widget-library-button-full[data-v-d5e9dd06]:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f64d}@keyframes fadeIn-d5e9dd06{0%{opacity:0}to{opacity:1}}@keyframes fadeOut-d5e9dd06{0%{opacity:1}to{opacity:0}}@keyframes scaleUp-d5e9dd06{0%{transform:scale(1)}to{transform:scale(1.2)}}@keyframes scaleDown-d5e9dd06{0%{transform:scale(1)}to{transform:scale(.8)}}@keyframes shake-d5e9dd06{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes pulse-d5e9dd06{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes bounce-d5e9dd06{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-15px)}70%{transform:translateY(-7px)}90%{transform:translateY(-3px)}}@keyframes slideInUp-d5e9dd06{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown-d5e9dd06{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft-d5e9dd06{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight-d5e9dd06{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutUp-d5e9dd06{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes slideOutDown-d5e9dd06{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes slideOutLeft-d5e9dd06{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes slideOutRight-d5e9dd06{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes flash-d5e9dd06{0%,50%,to{opacity:1}25%,75%{opacity:.3}}@keyframes glow-d5e9dd06{0%,to{box-shadow:0 0 5px #3b82f699}50%{box-shadow:0 0 20px #3b82f6,0 0 30px #3b82f6cc}}@keyframes blink-d5e9dd06{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes turnClockwise-d5e9dd06{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes turnCounterClockwise-d5e9dd06{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes zoomIn-d5e9dd06{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}@keyframes zoomOut-d5e9dd06{0%{transform:scale(1);opacity:1}to{transform:scale(.3);opacity:0}}@keyframes rotate360-d5e9dd06{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wiggle-d5e9dd06{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes elastic-d5e9dd06{0%{transform:scale(1)}20%{transform:scale(1.2)}40%{transform:scale(.9)}60%{transform:scale(1.1)}80%{transform:scale(.95)}to{transform:scale(1)}}.widget-action-fade-in[data-v-d5e9dd06]{animation:fadeIn-d5e9dd06 var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-fade-out[data-v-d5e9dd06]{animation:fadeOut-d5e9dd06 var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-scale-up[data-v-d5e9dd06]{animation:scaleUp-d5e9dd06 var(--animation-duration, .5s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-scale-down[data-v-d5e9dd06]{animation:scaleDown-d5e9dd06 var(--animation-duration, .5s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-shake[data-v-d5e9dd06]{animation:shake-d5e9dd06 var(--animation-duration, .6s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-pulse[data-v-d5e9dd06]{animation:pulse-d5e9dd06 var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-bounce[data-v-d5e9dd06]{animation:bounce-d5e9dd06 var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-in-up[data-v-d5e9dd06]{animation:slideInUp-d5e9dd06 var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-in-down[data-v-d5e9dd06]{animation:slideInDown-d5e9dd06 var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-in-left[data-v-d5e9dd06]{animation:slideInLeft-d5e9dd06 var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-in-right[data-v-d5e9dd06]{animation:slideInRight-d5e9dd06 var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-out-up[data-v-d5e9dd06]{animation:slideOutUp-d5e9dd06 var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-out-down[data-v-d5e9dd06]{animation:slideOutDown-d5e9dd06 var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-out-left[data-v-d5e9dd06]{animation:slideOutLeft-d5e9dd06 var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-out-right[data-v-d5e9dd06]{animation:slideOutRight-d5e9dd06 var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-flash[data-v-d5e9dd06]{animation:flash-d5e9dd06 var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-glow[data-v-d5e9dd06]{animation:glow-d5e9dd06 var(--animation-duration, 2s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-blink[data-v-d5e9dd06]{animation:blink-d5e9dd06 var(--animation-duration, 1s) var(--animation-easing, step-end) var(--animation-delay, 0s) infinite}.widget-action-turn-cw[data-v-d5e9dd06]{animation:turnClockwise-d5e9dd06 var(--animation-duration, 2s) var(--animation-easing, linear) var(--animation-delay, 0s) infinite}.widget-action-turn-ccw[data-v-d5e9dd06]{animation:turnCounterClockwise-d5e9dd06 var(--animation-duration, 2s) var(--animation-easing, linear) var(--animation-delay, 0s) infinite}.widget-action-zoom-in[data-v-d5e9dd06]{animation:zoomIn-d5e9dd06 var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-zoom-out[data-v-d5e9dd06]{animation:zoomOut-d5e9dd06 var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-rotate-360[data-v-d5e9dd06]{animation:rotate360-d5e9dd06 var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-wiggle[data-v-d5e9dd06]{animation:wiggle-d5e9dd06 var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-elastic[data-v-d5e9dd06]{animation:elastic-d5e9dd06 var(--animation-duration, 1.2s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-hidden[data-v-d5e9dd06]{opacity:0!important;pointer-events:none;visibility:hidden}.widget-action-stopped[data-v-d5e9dd06] *{animation-play-state:paused!important}.actions-enhanced[data-v-d5e9dd06]{max-height:500px;overflow-y:auto;padding:16px}.actions-grid[data-v-d5e9dd06]{margin-bottom:20px}.action-card[data-v-d5e9dd06]{border:2px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .2s ease}.action-card[data-v-d5e9dd06]:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.action-header[data-v-d5e9dd06]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e5e7eb}.action-title[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px;font-weight:600;color:#374151}.action-title input[type=checkbox][data-v-d5e9dd06]{width:18px;height:18px;accent-color:#3b82f6}.action-title span[data-v-d5e9dd06]{font-size:14px;color:#6b7280;font-family:monospace}.action-body[data-v-d5e9dd06]{padding:16px}.action-section[data-v-d5e9dd06]{margin-bottom:20px}.action-section[data-v-d5e9dd06]:last-child{margin-bottom:0}.action-section h4[data-v-d5e9dd06]{margin:0 0 12px;font-size:13px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb;padding-bottom:6px}.form-grid[data-v-d5e9dd06]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.form-group[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:4px}.form-group label[data-v-d5e9dd06]{font-weight:500;color:#6b7280;display:flex;align-items:center;gap:6px}.form-group input[data-v-d5e9dd06],.form-group select[data-v-d5e9dd06]{border-radius:6px;font-size:13px;transition:all .2s ease}.form-group input[data-v-d5e9dd06]:focus,.form-group select[data-v-d5e9dd06]:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.effect-select[data-v-d5e9dd06]{font-weight:500}.effect-select optgroup[data-v-d5e9dd06]{font-weight:600;color:#374151;background:#f9fafb}.effect-select option[data-v-d5e9dd06]{font-weight:400;color:#6b7280;padding:4px 8px}.icon-btn.small[data-v-d5e9dd06]{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center}.add-action-section[data-v-d5e9dd06]{padding:16px;border-top:2px dashed #d1d5db;text-align:center}.action-buttons[data-v-d5e9dd06]{display:flex;gap:12px;justify-content:center;align-items:center}.action-controls[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px}.icon-btn.test[data-v-d5e9dd06]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;width:24px;height:24px;border-radius:4px;font-size:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #10b9814d}.icon-btn.test[data-v-d5e9dd06]:hover{transform:translateY(-1px);box-shadow:0 2px 6px #10b98166}.icon-btn.test[data-v-d5e9dd06]:active{transform:translateY(0);box-shadow:0 1px 2px #10b9814d}.test-all-btn[data-v-d5e9dd06]{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f59e0b4d}.test-all-btn[data-v-d5e9dd06]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.test-all-btn[data-v-d5e9dd06]:active{transform:translateY(0);box-shadow:0 2px 4px #f59e0b4d}.test-all-btn span[data-v-d5e9dd06]{font-size:14px}.form-hint[data-v-d5e9dd06]{font-size:11px;color:#6b7280;font-style:italic;margin-top:2px}.add-action-btn[data-v-d5e9dd06]{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d}.add-action-btn[data-v-d5e9dd06]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.add-action-btn[data-v-d5e9dd06]:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f64d}.add-action-btn span[data-v-d5e9dd06]{font-size:18px;font-weight:700}.form-group label input[type=checkbox][data-v-d5e9dd06]{width:16px;height:16px;margin-right:8px;accent-color:#3b82f6}@media (max-width: 768px){.form-grid[data-v-d5e9dd06]{grid-template-columns:1fr}.action-header[data-v-d5e9dd06]{flex-direction:column;gap:8px;align-items:flex-start}}.widget-library-button-full span[data-v-d5e9dd06]{font-weight:600;letter-spacing:.025em}.create-view-dialog-overlay.minimized[data-v-d5e9dd06]{opacity:0;pointer-events:none;transition:opacity .3s ease}.create-view-dialog-overlay.minimized .create-view-dialog[data-v-d5e9dd06]{transform:translate(100%);transition:transform .3s ease}.header-buttons[data-v-d5e9dd06]{display:flex;gap:8px;align-items:center}.restore-button[data-v-d5e9dd06]{background:#10b981;color:#fff;border:none;width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.restore-button[data-v-d5e9dd06]:hover{background:#059669}.floating-restore-button[data-v-d5e9dd06]{position:fixed;bottom:20px;right:20px;background:#3b82f6;color:#fff;border:none;padding:12px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:1000;transition:all .2s ease;display:flex;align-items:center;gap:8px}.floating-restore-button[data-v-d5e9dd06]:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 6px 16px #0003}.tag-apply-section[data-v-d5e9dd06]{margin-top:12px;padding:12px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.apply-tag-btn[data-v-d5e9dd06]{width:100%;background:#10b981;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.apply-tag-btn[data-v-d5e9dd06]:disabled{background:#9ca3af;cursor:not-allowed}.tag-info[data-v-d5e9dd06]{margin-top:8px;display:flex;flex-direction:column;gap:4px}.tag-info small[data-v-d5e9dd06]{color:#6b7280;font-size:11px}.tag-value[data-v-d5e9dd06]{color:#059669!important;font-weight:500}.tag-apply-section[data-v-d5e9dd06]{margin-top:10px;padding:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.apply-tag-btn[data-v-d5e9dd06]{background:#10b981;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s ease;width:100%}.apply-tag-btn[data-v-d5e9dd06]:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.apply-tag-btn[data-v-d5e9dd06]:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.tag-info[data-v-d5e9dd06]{margin-top:4px;display:flex;flex-direction:column;gap:2px}.tag-info small[data-v-d5e9dd06]{color:#6b7280;font-size:10px}.tag-value[data-v-d5e9dd06]{font-weight:600;color:#059669}.canvas-widget span[data-v-d5e9dd06]{display:inline-block;word-break:break-word;text-align:center}.canvas-widget .widget-value[data-v-d5e9dd06]{color:#059669;font-weight:600}.options-section-title[data-v-d5e9dd06]{margin:0 0 1rem;font-size:.95rem;font-weight:600;color:#374151;display:flex;align-items:center;gap:.5rem}.no-specific-options[data-v-d5e9dd06]{padding:1.5rem;text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:1rem}.option-info[data-v-d5e9dd06]{margin:0 0 .5rem;font-size:.9rem;color:#059669;font-weight:500}.option-hint[data-v-d5e9dd06]{margin:0;font-size:.8rem;color:#6b7280}.widget-settings-steps em[data-v-d5e9dd06]{color:#059669;font-style:normal;font-weight:500}.drawing-preview-layer[data-v-d5e9dd06]{transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;z-index:99999!important;position:absolute!important;pointer-events:none!important;isolation:isolate;mix-blend-mode:normal}.fixed-drawing-overlay[data-v-d5e9dd06]{transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;isolation:isolate}.fixed-drawing-overlay svg[data-v-d5e9dd06]{shape-rendering:geometricPrecision;image-rendering:optimizeQuality}.fixed-drawing-overlay polyline[data-v-d5e9dd06]{shape-rendering:geometricPrecision}.drawing-preview-layer svg[data-v-d5e9dd06]{shape-rendering:geometricPrecision;image-rendering:optimizeQuality;position:relative;z-index:1}.drawing-preview-layer polyline[data-v-d5e9dd06],.drawing-preview-layer line[data-v-d5e9dd06]{shape-rendering:geometricPrecision;stroke-linecap:round;stroke-linejoin:round}.tag-apply-section[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding:10px 12px;background:#1b242d;border:1px solid #2a3744;border-radius:6px}.tag-preview-info[data-v-d5e9dd06]{display:flex;flex-direction:row;align-items:center;gap:20px;padding:0;background:transparent;border:none;flex-wrap:wrap}.tag-preview-item[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px}.tag-preview-item[data-v-d5e9dd06]:not(:last-child):after{content:""}.tag-preview-label[data-v-d5e9dd06]{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.tag-preview-value[data-v-d5e9dd06]{font-size:13px;color:#e2e8f0;font-family:Courier New,monospace;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-value-highlight[data-v-d5e9dd06]{color:#10b981;font-weight:600;font-size:13px}.apply-tag-btn[data-v-d5e9dd06]{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.apply-tag-btn[data-v-d5e9dd06]:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.apply-tag-btn[data-v-d5e9dd06]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.apply-tag-btn[data-v-d5e9dd06]:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #10b9814d}.mapping-row-full[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:12px;padding:16px;background:#1e293b;border:1px solid #334155;border-radius:8px;align-items:self-start}.mapping-row-header[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:4px;padding-bottom:8px;border-bottom:1px solid #334155;text-align:left}.mapping-row-header label[data-v-d5e9dd06]{font-size:14px;font-weight:600;color:#e2e8f0;text-transform:none;letter-spacing:.5px;text-align:left}.mapping-row-hint[data-v-d5e9dd06]{font-size:12px;color:#94a3b8;font-style:italic;text-align:left}.mapping-config-section[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:16px}.mapping-checkbox-row[data-v-d5e9dd06]{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px}.mapping-checkbox-row .checkbox-item[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px;font-size:13px;color:#cbd5e1;cursor:pointer;margin:0}.mapping-checkbox-row .checkbox-item input[type=checkbox][data-v-d5e9dd06]{width:18px;height:18px;accent-color:#10b981;cursor:pointer}.mapping-hint-text[data-v-d5e9dd06]{font-size:11px;color:#64748b;font-style:italic}.mapping-values-grid[data-v-d5e9dd06]{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;padding:12px;background:#0f172a;border:1px solid #334155;border-radius:6px}.mapping-column[data-v-d5e9dd06]{display:flex;flex-direction:column;gap:10px}.mapping-column-label[data-v-d5e9dd06]{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.mapping-input-group[data-v-d5e9dd06]{display:flex;align-items:center;gap:8px}.mapping-input-group label[data-v-d5e9dd06]{font-size:12px;color:#cbd5e1;min-width:35px}.mapping-input-group input[data-v-d5e9dd06]{flex:1;padding:6px 10px;border:1px solid #475569;border-radius:4px;font-size:13px;background:#1e293b;color:#e2e8f0;transition:all .2s}.mapping-input-group input[data-v-d5e9dd06]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.mapping-arrow[data-v-d5e9dd06]{display:flex;align-items:center;justify-content:center;color:#10b981;font-size:20px}.mapping-preview[data-v-d5e9dd06]{display:flex;align-items:center;gap:12px;padding:10px 12px;background:linear-gradient(135deg,#1e3a5f,#1e293b);border-left:3px solid #10b981;border-radius:6px;flex-wrap:wrap}.mapping-preview-label[data-v-d5e9dd06]{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase}.mapping-preview-example[data-v-d5e9dd06]{font-size:12px;color:#cbd5e1}.mapping-preview-example strong[data-v-d5e9dd06]{color:#10b981;font-weight:700}.mapping-preview-divider[data-v-d5e9dd06]{color:#475569;font-size:14px}.scada-loading-overlay[data-v-d5e9dd06]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffffeb;z-index:100;gap:16px}.scada-load-error[data-v-d5e9dd06]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#ef4444;z-index:100}.loading-spinner[data-v-d5e9dd06]{width:48px;height:48px}.spinner-ring[data-v-d5e9dd06]{width:100%;height:100%;border:4px solid #FFE4CC;border-top-color:#ff8303;border-radius:50%;animation:spin-d5e9dd06 1s linear infinite}@keyframes spin-d5e9dd06{to{transform:rotate(360deg)}}.loading-text[data-v-d5e9dd06]{font-size:14px;color:#6b7280}[data-v-0eab5422]:root{--auth-primary: #FF8303;--auth-primary-hover: #E67E00;--auth-text-dark: #1a1a1a;--auth-text-medium: #666;--auth-text-light: #999;--auth-border: #e0e0e0;--auth-bg-light: #f8f9fa;--auth-error: #ef4444;--auth-error-bg: rgba(239, 68, 68, .15);--auth-error-border: rgba(239, 68, 68, .3);--auth-white: #ffffff}.login-layout[data-v-0eab5422],.auth-wrapper[data-v-0eab5422]{height:100vh;max-height:100vh;display:flex;font-family:Inter,sans-serif;background:var(--auth-white);justify-content:center;overflow:hidden}.auth-left-panel[data-v-0eab5422],.login-container[data-v-0eab5422]{flex:0 0 480px;background:var(--auth-white);display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden;height:100%;box-sizing:border-box}.auth-form-container[data-v-0eab5422],.login-card[data-v-0eab5422]{width:100%;max-width:480px;margin:0 auto;position:relative;z-index:1}.auth-header[data-v-0eab5422],.login-header[data-v-0eab5422]{text-align:center;margin-bottom:32px}.auth-title[data-v-0eab5422],.login-title[data-v-0eab5422]{font-size:2rem;font-weight:700;color:var(--auth-text-dark);margin:0 0 8px}.auth-subtitle[data-v-0eab5422]{font-size:1rem;color:var(--auth-text-light);margin:0}.login-logo[data-v-0eab5422]{max-width:250px;height:auto;margin-bottom:.5rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.auth-form[data-v-0eab5422],.login-form[data-v-0eab5422]{display:flex;flex-direction:column;gap:20px}.auth-form-group[data-v-0eab5422],.form-group[data-v-0eab5422]{display:flex;flex-direction:column;gap:8px}.auth-label[data-v-0eab5422],.form-group label[data-v-0eab5422]{font-size:.875rem;font-weight:500;color:var(--auth-text-dark)}.auth-input-wrap[data-v-0eab5422],.input-wrap[data-v-0eab5422]{position:relative;display:flex;align-items:center}.auth-input-icon[data-v-0eab5422],.login-icon[data-v-0eab5422]{position:absolute;left:14px;width:20px;height:20px;color:var(--auth-text-light);pointer-events:none;transition:color .3s}.auth-input[data-v-0eab5422],.input-wrap input[data-v-0eab5422]{width:100%;padding:14px 14px 14px 48px;background:var(--auth-bg-light);border:1.5px solid var(--auth-border);border-radius:12px;font-size:.95rem;color:var(--auth-text-dark);transition:all .3s ease}.auth-input[data-v-0eab5422]::-moz-placeholder,.input-wrap input[data-v-0eab5422]::-moz-placeholder{color:var(--auth-text-light)}.auth-input[data-v-0eab5422]::placeholder,.input-wrap input[data-v-0eab5422]::placeholder{color:var(--auth-text-light)}.auth-input[data-v-0eab5422]:focus,.input-wrap input[data-v-0eab5422]:focus{outline:none;border-color:var(--auth-primary);background:var(--auth-white);box-shadow:0 0 0 3px #ff83031a}.auth-input:focus+.auth-input-icon[data-v-0eab5422],.auth-input-wrap:focus-within .auth-input-icon[data-v-0eab5422],.input-wrap input:focus+.login-icon[data-v-0eab5422]{color:var(--auth-primary)}.auth-input[data-v-0eab5422]:disabled,.input-wrap input[data-v-0eab5422]:disabled{opacity:.6;cursor:not-allowed}.auth-password-toggle[data-v-0eab5422]{position:absolute;right:14px;background:transparent;border:none;color:var(--auth-text-light);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .3s}.auth-password-toggle[data-v-0eab5422]:hover,.auth-password-toggle[data-v-0eab5422]:focus{color:var(--auth-primary);outline:none}.icon-toggle[data-v-0eab5422]{width:20px;height:20px}.auth-error[data-v-0eab5422],.error-message[data-v-0eab5422]{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--auth-error-bg);border:1px solid var(--auth-error-border);border-radius:10px;color:#fca5a5;font-size:.875rem}.error-icon[data-v-0eab5422]{width:18px;height:18px;flex-shrink:0}.auth-options[data-v-0eab5422]{display:flex;justify-content:space-between;align-items:center}.auth-checkbox-label[data-v-0eab5422]{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--auth-text-medium);cursor:pointer}.auth-checkbox[data-v-0eab5422]{width:16px;height:16px;accent-color:var(--auth-primary);cursor:pointer}.auth-forgot-link[data-v-0eab5422]{font-size:.875rem;color:var(--auth-primary);text-decoration:none;transition:color .3s}.auth-forgot-link[data-v-0eab5422]:hover{color:var(--auth-primary-hover);text-decoration:underline}.auth-submit-btn[data-v-0eab5422],.login-button[data-v-0eab5422]{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--auth-primary) 0%,var(--auth-primary-hover) 100%);border:none;border-radius:12px;font-size:1rem;font-weight:600;color:var(--auth-white);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff83034d;letter-spacing:.5px}.auth-submit-btn[data-v-0eab5422]:hover:not(:disabled),.login-button[data-v-0eab5422]:hover:not(:disabled){background:linear-gradient(135deg,var(--auth-primary-hover) 0%,var(--auth-primary) 100%);box-shadow:0 6px 20px #ff830366;transform:translateY(-2px)}.auth-submit-btn[data-v-0eab5422]:active:not(:disabled){transform:translateY(0)}.auth-submit-btn[data-v-0eab5422]:disabled,.login-button[data-v-0eab5422]:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-icon[data-v-0eab5422]{width:20px;height:20px}.btn-icon.spin[data-v-0eab5422]{animation:spin-0eab5422 1s linear infinite}@keyframes spin-0eab5422{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-footer[data-v-0eab5422],.login-footer[data-v-0eab5422]{text-align:center;margin-top:24px}.auth-footer p[data-v-0eab5422],.login-footer p[data-v-0eab5422]{color:var(--auth-text-medium);font-size:.9rem;margin:0}.auth-link[data-v-0eab5422],.login-link[data-v-0eab5422]{color:var(--auth-primary);text-decoration:none;font-weight:500;transition:color .3s}.auth-link[data-v-0eab5422]:hover,.login-link[data-v-0eab5422]:hover{color:var(--auth-primary-hover);text-decoration:underline}.recaptcha-notice[data-v-0eab5422]{margin-top:16px;text-align:center}.recaptcha-notice p[data-v-0eab5422]{font-size:11px;color:var(--auth-text-light);line-height:1.5;margin:0}.recaptcha-notice a[data-v-0eab5422]{color:var(--auth-primary);text-decoration:none;transition:color .2s}.recaptcha-notice a[data-v-0eab5422]:hover{color:var(--auth-primary-hover);text-decoration:underline}.auth-lang-selector[data-v-0eab5422],.lang-popup-switch[data-v-0eab5422]{position:relative;margin-top:32px;display:flex;justify-content:center}.lang-btn[data-v-0eab5422],.flag-btn[data-v-0eab5422]{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--auth-bg-light);border:1px solid var(--auth-border);border-radius:10px;color:var(--auth-text-dark);font-size:.875rem;cursor:pointer;transition:all .3s}.lang-btn[data-v-0eab5422]:hover,.flag-btn[data-v-0eab5422]:hover{background:#efefef;border-color:#ccc}.lang-icon[data-v-0eab5422],.flag-img[data-v-0eab5422]{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.chevron-icon[data-v-0eab5422]{width:16px;height:16px;transition:transform .3s}.chevron-icon.rotate[data-v-0eab5422]{transform:rotate(180deg)}.lang-dropdown[data-v-0eab5422],.lang-popup-dropdown[data-v-0eab5422]{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background:var(--auth-white);border:1px solid var(--auth-border);border-radius:10px;box-shadow:0 4px 12px #0000001a;overflow:hidden;min-width:160px;z-index:20;display:flex;flex-direction:column}.lang-option[data-v-0eab5422],.lang-popup-option[data-v-0eab5422]{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:transparent;border:none;color:var(--auth-text-dark);font-size:.9rem;cursor:pointer;transition:background .2s}.lang-option[data-v-0eab5422]:hover,.lang-popup-option[data-v-0eab5422]:hover{background:var(--auth-bg-light);color:var(--auth-primary)}.lang-flag[data-v-0eab5422]{font-size:1.2rem}.fade-enter-active[data-v-0eab5422],.fade-leave-active[data-v-0eab5422]{transition:opacity .2s ease,transform .2s ease}.fade-enter-from[data-v-0eab5422],.fade-leave-to[data-v-0eab5422]{opacity:0;transform:translate(-50%) translateY(10px)}.auth-mobile-logo[data-v-0eab5422]{display:none}.auth-right-panel[data-v-0eab5422]{flex:1;align-items:center;justify-content:center;padding:20px 20px 40px;overflow:hidden}.hero-content[data-v-0eab5422]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;max-width:600px}.hero-decoration[data-v-0eab5422]{position:absolute;width:300px;height:300px;border-radius:50%;background:#ffffff1a;filter:blur(60px)}.hero-decoration.top-left[data-v-0eab5422]{top:-100px;left:-100px}.hero-decoration.bottom-right[data-v-0eab5422]{bottom:-100px;right:-100px}.hero-image-container[data-v-0eab5422]{position:relative;height:100%;max-width:800px;border-radius:24px;overflow:hidden;margin:10px 10px 20px}.hero-image[data-v-0eab5422]{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}.hero-text[data-v-0eab5422]{text-align:center;margin-top:40px;position:relative;z-index:1}.hero-title[data-v-0eab5422]{font-size:2.5rem;font-weight:700;color:var(--auth-white);margin:0 0 16px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.hero-description[data-v-0eab5422]{font-size:1.1rem;color:#ffffffe6;line-height:1.6;margin:0}@media (max-width: 900px){.auth-right-panel[data-v-0eab5422]{display:none}.auth-left-panel[data-v-0eab5422],.login-container[data-v-0eab5422]{flex:1 1 100%}}@media (max-width: 600px){.auth-mobile-logo[data-v-0eab5422]{display:flex;justify-content:center;margin-bottom:16px}.auth-mobile-logo img[data-v-0eab5422]{width:160px;height:auto;-o-object-fit:contain;object-fit:contain}.login-layout[data-v-0eab5422],.auth-wrapper[data-v-0eab5422]{overflow-y:auto;overflow-x:hidden;height:100vh;max-height:100vh;-webkit-overflow-scrolling:touch}.auth-left-panel[data-v-0eab5422],.login-container[data-v-0eab5422]{flex:1 1 100%;padding:48px 20px 24px;overflow:visible;min-height:100vh;height:auto;align-items:flex-start}.auth-form-container[data-v-0eab5422],.login-card[data-v-0eab5422]{max-width:100%;width:100%;padding:0}.auth-title[data-v-0eab5422],.login-title[data-v-0eab5422]{font-size:1.6rem}.auth-subtitle[data-v-0eab5422]{font-size:.9rem}.auth-header[data-v-0eab5422],.login-header[data-v-0eab5422]{margin-bottom:24px}.auth-form[data-v-0eab5422],.login-form[data-v-0eab5422]{gap:16px}.auth-input[data-v-0eab5422],.input-wrap input[data-v-0eab5422]{padding:12px 12px 12px 44px;font-size:.9rem}.auth-submit-btn[data-v-0eab5422],.login-button[data-v-0eab5422]{padding:12px 20px;font-size:.95rem}.auth-options[data-v-0eab5422]{flex-wrap:wrap;gap:8px}.auth-lang-selector[data-v-0eab5422],.lang-popup-switch[data-v-0eab5422]{margin-top:24px}.auth-right-panel[data-v-0eab5422]{display:none}}.modal-large[data-v-bd67759d]{max-width:640px}.screen-info-card[data-v-bd67759d]{display:flex;align-items:center;gap:16px;padding:16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px}.screen-icon[data-v-bd67759d]{color:#ff8303}.screen-details h4[data-v-bd67759d]{margin:0 0 4px;font-size:16px;font-weight:600;color:#1a1a1a}.screen-details p[data-v-bd67759d]{margin:0;font-size:13px;color:#666}.section-header[data-v-bd67759d]{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.section-header h4[data-v-bd67759d]{margin:0;font-size:14px;font-weight:600;color:#333}.add-share-form[data-v-bd67759d]{margin-bottom:24px;padding:16px;background:#fafafa;border-radius:8px}.form-row[data-v-bd67759d]{display:flex;gap:12px;margin-bottom:12px}.form-row[data-v-bd67759d]:last-child{margin-bottom:0}.flex-1[data-v-bd67759d]{flex:1}.flex-2[data-v-bd67759d]{flex:2}.form-actions[data-v-bd67759d]{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.form-select[data-v-bd67759d]{cursor:pointer}.error-message[data-v-bd67759d]{display:flex;align-items:center;gap:8px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#dc2626;font-size:13px;margin-bottom:16px}.empty-state-small[data-v-bd67759d]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:#999}.empty-state-small .empty-icon[data-v-bd67759d]{color:#ddd;margin-bottom:8px}.empty-state-small p[data-v-bd67759d]{margin:0;font-size:14px}.shares-list[data-v-bd67759d]{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.share-item[data-v-bd67759d]{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.share-item[data-v-bd67759d]:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.share-user-info[data-v-bd67759d]{display:flex;align-items:center;gap:10px;flex:2;min-width:0}.user-avatar[data-v-bd67759d]{width:32px;height:32px;background:linear-gradient(135deg,#ff8303,#e67e00);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.user-details[data-v-bd67759d]{display:flex;flex-direction:column;min-width:0}.user-name[data-v-bd67759d]{font-size:13px;font-weight:500;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email[data-v-bd67759d]{font-size:11px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-permissions[data-v-bd67759d],.share-expiry[data-v-bd67759d]{flex:1}.expiry-badge[data-v-bd67759d]{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#f3f4f6;border-radius:4px;font-size:11px;color:#666}.expiry-badge.expired[data-v-bd67759d]{background:#fef2f2;color:#dc2626}.expiry-badge.permanent[data-v-bd67759d]{background:#f0fdf4;color:#16a34a}.share-actions[data-v-bd67759d]{display:flex;gap:4px}.action-btn[data-v-bd67759d]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;cursor:pointer;transition:all .2s}.action-btn.btn-edit[data-v-bd67759d]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.action-btn.btn-edit[data-v-bd67759d]:hover{box-shadow:0 2px 8px #3b82f666}.action-btn.btn-danger[data-v-bd67759d]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.action-btn.btn-danger[data-v-bd67759d]:hover{box-shadow:0 2px 8px #ef444466}.action-btn[data-v-bd67759d]:disabled{opacity:.6;cursor:not-allowed}.btn-danger-outline[data-v-bd67759d]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;color:#dc2626;border:1.5px solid #dc2626;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger-outline[data-v-bd67759d]:hover:not(:disabled){background:#fef2f2}.btn-danger-outline[data-v-bd67759d]:disabled{opacity:.6;cursor:not-allowed}.user-info-display[data-v-bd67759d]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333}.modal-icon-share[data-v-bd67759d]{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;box-shadow:0 2px 8px #3b82f64d!important}.loading-container[data-v-bd67759d]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:#666}.loading-spinner[data-v-bd67759d]{width:32px;height:32px;border:3px solid #f3f4f6;border-top-color:#ff8303;border-radius:50%;animation:spin-bd67759d 1s linear infinite;margin-bottom:12px}@keyframes spin-bd67759d{to{transform:rotate(360deg)}}.badge[data-v-bd67759d]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500}.badge-success[data-v-bd67759d]{background:#d1fae5;color:#065f46}.badge-warning[data-v-bd67759d]{background:#fed7aa;color:#92400e}.badge-info[data-v-bd67759d]{background:#dbeafe;color:#1e40af}.badge-neutral[data-v-bd67759d]{background:#f3f4f6;color:#6b7280}.icon-spin[data-v-bd67759d]{animation:spin-bd67759d 1s linear infinite}.form-group[data-v-bd67759d]{margin-bottom:0}.form-label[data-v-bd67759d]{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#333}.required[data-v-bd67759d]{color:#ef4444}.form-input[data-v-bd67759d]{width:100%;padding:8px 12px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;outline:none;transition:all .2s}.form-input[data-v-bd67759d]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.form-hint[data-v-bd67759d]{display:block;margin-top:4px;font-size:11px;color:#999}.btn[data-v-bd67759d]{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-sm[data-v-bd67759d]{padding:8px 14px;font-size:13px}.btn-primary[data-v-bd67759d]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.btn-primary[data-v-bd67759d]:hover:not(:disabled){box-shadow:0 4px 12px #ff830359}.btn-primary[data-v-bd67759d]:disabled{opacity:.6;cursor:not-allowed}.modal-fade-enter-active[data-v-bd67759d],.modal-fade-leave-active[data-v-bd67759d]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-bd67759d],.modal-fade-leave-to[data-v-bd67759d]{opacity:0}.modal-overlay[data-v-bd67759d]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-overlay-nested[data-v-bd67759d]{z-index:1100;background:#000000a6}.modal-container[data-v-bd67759d]{background:#fff;border-radius:12px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column}.modal-small[data-v-bd67759d]{max-width:420px}.modal-header[data-v-bd67759d]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0}.modal-title-section[data-v-bd67759d]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-bd67759d]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#ff8303,#e67e00)}.modal-header h3[data-v-bd67759d]{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.modal-close[data-v-bd67759d]{background:none;border:none;cursor:pointer;color:#666;padding:8px;border-radius:6px;transition:all .2s}.modal-close[data-v-bd67759d]:hover{background:#f5f5f5;color:#333}.modal-body[data-v-bd67759d]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-bd67759d]{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #f0f0f0}.btn-cancel[data-v-bd67759d]{padding:10px 16px;background:#fff;color:#666;border:1.5px solid #e0e0e0;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel[data-v-bd67759d]:hover{background:#f9fafb;border-color:#d1d5db}.btn-save[data-v-bd67759d]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save[data-v-bd67759d]:hover:not(:disabled){box-shadow:0 4px 12px #ff830359}.btn-save[data-v-bd67759d]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.modal-overlay[data-v-bd67759d]{padding:12px;align-items:flex-end}.modal-container[data-v-bd67759d]{max-height:92vh;border-radius:12px}.modal-large[data-v-bd67759d]{max-width:100%}.modal-body[data-v-bd67759d]{padding:14px}.form-row[data-v-bd67759d]{flex-direction:column;gap:10px}.flex-2[data-v-bd67759d],.flex-1[data-v-bd67759d]{flex:none;width:100%}.add-share-form[data-v-bd67759d]{padding:12px}.share-item[data-v-bd67759d]{flex-wrap:wrap;gap:8px}.share-user-info[data-v-bd67759d]{flex:1 1 100%;min-width:0}.share-permissions[data-v-bd67759d],.share-expiry[data-v-bd67759d]{flex:0 0 auto}.share-actions[data-v-bd67759d]{flex:0 0 auto;margin-left:auto}.shares-list[data-v-bd67759d]{max-height:220px}.modal-footer[data-v-bd67759d]{flex-wrap:wrap;gap:8px;padding:12px 14px}.btn-danger-outline[data-v-bd67759d]{flex:1;justify-content:center}.btn-cancel[data-v-bd67759d]{flex:1;text-align:center;justify-content:center}}.scada-list-view[data-v-59f2eeec]{padding:15px;max-width:100%;overflow-x:hidden}.page-header[data-v-59f2eeec]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h2[data-v-59f2eeec]{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.header-subtitle[data-v-59f2eeec]{margin:0;color:#666;font-size:13px;display:flex;align-items:center;gap:8px}.stat-item[data-v-59f2eeec]{display:inline-flex;align-items:center;gap:4px}.stat-item.stat-shared[data-v-59f2eeec]{color:#7c3aed}.stat-divider[data-v-59f2eeec]{color:#ccc}.header-actions[data-v-59f2eeec]{display:flex;gap:8px}.btn[data-v-59f2eeec]{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-md[data-v-59f2eeec]{padding:8px 16px}.btn-sm[data-v-59f2eeec]{padding:6px 12px;font-size:13px}.search-box[data-v-59f2eeec]{position:relative;display:flex;align-items:center}.search-icon[data-v-59f2eeec]{position:absolute;left:10px;color:#9ca3af;pointer-events:none}.search-input[data-v-59f2eeec]{padding:6px 12px 6px 32px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;outline:none;transition:all .2s;color:#333}.search-input[data-v-59f2eeec]:focus{border-color:#ff8303;box-shadow:0 0 0 2px #ff83031a}.search-input[data-v-59f2eeec]::-moz-placeholder{color:#9ca3af}.search-input[data-v-59f2eeec]::placeholder{color:#9ca3af}.btn-primary[data-v-59f2eeec]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.btn-primary[data-v-59f2eeec]:hover{background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.btn-secondary[data-v-59f2eeec]{background:#fff;color:#333;border:1px solid #e0e0e0}.btn-secondary[data-v-59f2eeec]:hover:not(:disabled){background:#fafafa;border-color:#d0d0d0}.btn-secondary[data-v-59f2eeec]:disabled{opacity:.6;cursor:not-allowed}.filter-btn[data-v-59f2eeec]{position:relative;background:#fff;color:#666;border:1.5px solid #e0e0e0;transition:all .2s}.filter-btn[data-v-59f2eeec]:hover{border-color:#8b5cf6;color:#8b5cf6;background:#f5f3ff}.filter-btn.filter-active[data-v-59f2eeec]{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-color:transparent}.filter-btn.filter-active[data-v-59f2eeec]:hover{box-shadow:0 6px 20px #8b5cf673;transform:translateY(-1px)}.filter-badge[data-v-59f2eeec]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;background:#ffffff40;border-radius:9px;font-size:11px;font-weight:600}.filter-btn:not(.filter-active) .filter-badge[data-v-59f2eeec]{background:#8b5cf6;color:#fff}.loading-container[data-v-59f2eeec]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.loading-spinner[data-v-59f2eeec]{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:#ff8303;border-radius:50%;animation:spin-59f2eeec 1s linear infinite;margin-bottom:16px}@keyframes spin-59f2eeec{to{transform:rotate(360deg)}}.error-message[data-v-59f2eeec]{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;font-size:14px}.empty-state[data-v-59f2eeec]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon[data-v-59f2eeec]{color:#d1d5db;margin-bottom:16px}.empty-state h3[data-v-59f2eeec]{margin:0 0 8px;font-size:18px;font-weight:600;color:#374151}.empty-state p[data-v-59f2eeec]{margin:0 0 24px;color:#6b7280;font-size:14px}.empty-state p.no-devices-warning[data-v-59f2eeec]{display:flex;align-items:center;gap:8px;color:#d97706;background:#fef3c7;padding:12px 16px;border-radius:8px;border:1px solid #fcd34d}.scada-grid[data-v-59f2eeec]{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}@media (max-width: 1600px){.scada-grid[data-v-59f2eeec]{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1200px){.scada-grid[data-v-59f2eeec]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.scada-grid[data-v-59f2eeec]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.scada-list-view[data-v-59f2eeec]{padding:10px}.card-actions[data-v-59f2eeec]{gap:6px}.action-btn[data-v-59f2eeec]{width:34px;height:34px;border-radius:8px}}@media (max-width: 600px){.scada-grid[data-v-59f2eeec]{grid-template-columns:1fr}.page-header[data-v-59f2eeec]{flex-direction:column;gap:12px;align-items:stretch}.header-actions[data-v-59f2eeec]{flex-wrap:wrap;gap:8px}.search-box[data-v-59f2eeec]{flex:1;min-width:0}.search-input[data-v-59f2eeec]{width:100%}.filter-btn[data-v-59f2eeec],.btn-primary[data-v-59f2eeec]{flex:0 0 auto;white-space:nowrap}}.scada-card[data-v-59f2eeec]{background:#fff;border:1px solid rgba(226,232,240,.5);box-shadow:0 1px 4px #0000000d;border-radius:10px;padding:12px;display:flex;flex-direction:column;transition:all .2s}.scada-card[data-v-59f2eeec]:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.card-header[data-v-59f2eeec]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.card-icon[data-v-59f2eeec]{width:32px;height:32px;background:linear-gradient(135deg,#ff8303,#e67e00);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 4px #ff830333}.card-status[data-v-59f2eeec]{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.2px}.status-active[data-v-59f2eeec]{background:#d1fae5;color:#065f46}.status-inactive[data-v-59f2eeec]{background:#f3f4f6;color:#6b7280}.status-shared[data-v-59f2eeec]{display:flex;align-items:center;gap:3px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9}.scada-card.shared-card[data-v-59f2eeec]{border-color:#c4b5fd}.scada-card.shared-card .card-header[data-v-59f2eeec]{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.card-body[data-v-59f2eeec]{flex:1;margin-bottom:8px}.card-title[data-v-59f2eeec]{margin:0 0 4px;font-size:13px;font-weight:600;color:#1a1a1a;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-desc[data-v-59f2eeec]{margin:0 0 6px;font-size:11px;color:#6b7280;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta[data-v-59f2eeec]{display:flex;flex-wrap:wrap;gap:8px}.meta-item[data-v-59f2eeec]{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:#9ca3af}.meta-item.shared-by[data-v-59f2eeec]{color:#7c3aed;font-weight:500}.card-actions[data-v-59f2eeec]{display:flex;gap:4px;padding-top:8px;border-top:1px solid #f3f4f6}.action-btn[data-v-59f2eeec]{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;cursor:pointer;transition:all .2s;border:none}.action-btn.btn-view[data-v-59f2eeec]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb)}.action-btn.btn-view[data-v-59f2eeec]:hover{box-shadow:0 4px 12px #3b82f659;transform:translateY(-1px)}.action-btn.btn-edit[data-v-59f2eeec]{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a)}.action-btn.btn-edit[data-v-59f2eeec]:hover{box-shadow:0 4px 12px #22c55e59;transform:translateY(-1px)}.action-btn.btn-danger[data-v-59f2eeec]{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.action-btn.btn-danger[data-v-59f2eeec]:hover{box-shadow:0 4px 12px #ef444459;transform:translateY(-1px)}.action-btn.btn-settings[data-v-59f2eeec]{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.action-btn.btn-settings[data-v-59f2eeec]:hover{box-shadow:0 4px 12px #8b5cf659;transform:translateY(-1px)}.action-btn.btn-share[data-v-59f2eeec]{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706)}.action-btn.btn-share[data-v-59f2eeec]:hover{box-shadow:0 4px 12px #f59e0b59;transform:translateY(-1px)}.modal-fade-enter-active[data-v-59f2eeec],.modal-fade-leave-active[data-v-59f2eeec]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-59f2eeec],.modal-fade-leave-to[data-v-59f2eeec]{opacity:0}.modal-fade-enter-active .modal-container[data-v-59f2eeec],.modal-fade-leave-active .modal-container[data-v-59f2eeec]{transition:transform .3s ease}.modal-fade-enter-from .modal-container[data-v-59f2eeec],.modal-fade-leave-to .modal-container[data-v-59f2eeec]{transform:scale(.95)}.modal-overlay[data-v-59f2eeec]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-59f2eeec]{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column}.modal-small[data-v-59f2eeec]{max-width:420px}.modal-header[data-v-59f2eeec]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #f0f0f0;background:linear-gradient(to bottom,#fafafa,#fff)}.modal-title-section[data-v-59f2eeec]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-59f2eeec]{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;background:linear-gradient(135deg,#ff8303,#e67e00);box-shadow:0 2px 8px #ff83034d}.modal-icon-danger[data-v-59f2eeec]{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d}.modal-icon-info[data-v-59f2eeec]{background:linear-gradient(135deg,#1c78e6,#1565c0);box-shadow:0 2px 8px #1c78e64d}.desktop-required-content[data-v-59f2eeec]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:12px 0}.desktop-icon-large[data-v-59f2eeec]{color:#1c78e6;opacity:.8;margin-bottom:4px}.desktop-hint[data-v-59f2eeec]{margin:0;font-size:13px;color:#6b7280;line-height:1.6}.modal-header h3[data-v-59f2eeec]{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.modal-close[data-v-59f2eeec]{background:none;border:none;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:all .2s}.modal-close[data-v-59f2eeec]:hover{background:#f5f5f5;color:#333}.modal-body[data-v-59f2eeec]{padding:24px;overflow-y:auto;flex:1}.modal-text[data-v-59f2eeec]{margin:0 0 8px;font-size:14px;color:#1a1a1a;line-height:1.5}.warning-text[data-v-59f2eeec]{margin:0 0 16px;font-size:13px;color:#dc2626;font-weight:500;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.modal-footer[data-v-59f2eeec]{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid #f0f0f0;background:#fff}.form-group[data-v-59f2eeec]{margin-bottom:18px}.form-group[data-v-59f2eeec]:last-child{margin-bottom:0}.form-label[data-v-59f2eeec]{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:#1a1a1a}.required[data-v-59f2eeec]{color:#ef4444;margin-left:2px}.form-input[data-v-59f2eeec],.form-textarea[data-v-59f2eeec]{width:100%;padding:10px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;transition:all .2s;font-family:inherit;color:#1a1a1a;box-sizing:border-box}.form-input[data-v-59f2eeec]:hover,.form-textarea[data-v-59f2eeec]:hover{border-color:silver}.form-input[data-v-59f2eeec]:focus,.form-textarea[data-v-59f2eeec]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.form-textarea[data-v-59f2eeec]{resize:vertical;min-height:80px}.form-hint[data-v-59f2eeec]{display:block;margin-top:6px;font-size:12px;color:#999}.delete-input[data-v-59f2eeec]{border-color:#dc2626;font-family:monospace}.delete-input[data-v-59f2eeec]:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.toggle-container[data-v-59f2eeec]{display:flex;align-items:center;gap:12px}.toggle[data-v-59f2eeec]{position:relative;display:inline-block;width:44px;height:24px}.toggle input[data-v-59f2eeec]{opacity:0;width:0;height:0}.toggle-slider[data-v-59f2eeec]{position:absolute;cursor:pointer;inset:0;background-color:#e5e7eb;transition:.3s;border-radius:24px}.toggle-slider[data-v-59f2eeec]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle input:checked+.toggle-slider[data-v-59f2eeec]{background:linear-gradient(135deg,#22c55e,#16a34a)}.toggle input:checked+.toggle-slider[data-v-59f2eeec]:before{transform:translate(20px)}.toggle-label[data-v-59f2eeec]{font-size:14px;color:#374151}.btn-cancel[data-v-59f2eeec],.btn-save[data-v-59f2eeec],.btn-delete[data-v-59f2eeec]{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-cancel[data-v-59f2eeec]{background:#fff;color:#666;border:1.5px solid #e0e0e0}.btn-cancel[data-v-59f2eeec]:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.btn-save[data-v-59f2eeec]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;box-shadow:0 1px 3px #ff830333}.btn-save[data-v-59f2eeec]:hover:not(:disabled){background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.btn-save[data-v-59f2eeec]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-delete[data-v-59f2eeec]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 1px 3px #ef444433}.btn-delete[data-v-59f2eeec]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444459;transform:translateY(-1px)}.btn-delete[data-v-59f2eeec]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.icon-spin[data-v-59f2eeec]{animation:spin-59f2eeec 1s linear infinite}.modal-fade-enter-active[data-v-4ac8ae11],.modal-fade-leave-active[data-v-4ac8ae11]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-4ac8ae11],.modal-fade-leave-to[data-v-4ac8ae11]{opacity:0}.modal-fade-enter-active .plan-modal-container[data-v-4ac8ae11],.modal-fade-leave-active .plan-modal-container[data-v-4ac8ae11]{transition:transform .3s ease}.modal-fade-enter-from .plan-modal-container[data-v-4ac8ae11],.modal-fade-leave-to .plan-modal-container[data-v-4ac8ae11]{transform:scale(.97)}.modal-overlay[data-v-4ac8ae11]{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.plan-modal-container[data-v-4ac8ae11]{background:#fff;border-radius:12px;width:auto;max-width:min(1060px,calc(100vw - 40px));max-height:92vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #0000002e;overflow:hidden}.plan-modal-header[data-v-4ac8ae11]{display:flex;justify-content:space-between;align-items:center;padding:16px 24px 14px;border-bottom:1px solid #f0f0f0;background:linear-gradient(135deg,#fff8f0,#fff 60%);flex-shrink:0}.plan-modal-title[data-v-4ac8ae11]{display:flex;align-items:center;gap:14px}.plan-modal-icon[data-v-4ac8ae11]{width:40px;height:40px;border-radius:9px;background:linear-gradient(135deg,#ff8303,#e67e00);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;box-shadow:0 4px 12px #ff830359;flex-shrink:0}.plan-modal-title h3[data-v-4ac8ae11]{margin:0 0 2px;font-size:20px;font-weight:700;color:#1a1a1a}.plan-modal-title p[data-v-4ac8ae11]{margin:0;font-size:13px;color:#888}.modal-close[data-v-4ac8ae11]{background:none;border:none;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:all .2s}.modal-close[data-v-4ac8ae11]:hover{background:#f5f5f5;color:#333}.plan-cards-scroll[data-v-4ac8ae11]{display:flex;gap:14px;padding:24px 28px;overflow:visible;flex:1;align-items:stretch}.plan-cards-scroll[data-v-4ac8ae11]::-webkit-scrollbar{height:6px}.plan-cards-scroll[data-v-4ac8ae11]::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.plan-cards-scroll[data-v-4ac8ae11]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.plan-card[data-v-4ac8ae11]{flex:1 1 0;min-width:160px;background:#fafafa;border:2px solid #e5e7eb;border-radius:10px;padding:20px 16px 18px;display:flex;flex-direction:column;position:relative;transition:all .2s}.plan-top[data-v-4ac8ae11]{min-height:72px}.plan-card[data-v-4ac8ae11]:hover{border-color:#ff8303;box-shadow:0 8px 24px #ff830326;transform:translateY(-3px);background:#fff}.plan-card-popular[data-v-4ac8ae11]{border-color:#ff8303;background:#fff;box-shadow:0 4px 16px #ff83031f}.plan-card-free[data-v-4ac8ae11]{border-color:#6ee7b7;background:#f0fdf4}.plan-card-custom[data-v-4ac8ae11]{border-color:#a78bfa;background:#faf5ff}.plan-popular-badge[data-v-4ac8ae11]{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap;display:flex;align-items:center;gap:4px}.plan-free-badge[data-v-4ac8ae11]{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}.plan-code[data-v-4ac8ae11]{font-size:16px;font-weight:800;color:#1a1a1a;margin-bottom:6px;letter-spacing:.3px}.plan-card-custom .plan-code[data-v-4ac8ae11]{font-size:13px;line-height:1.4;color:#7c3aed}.plan-price[data-v-4ac8ae11]{display:flex;align-items:baseline;gap:3px;margin-bottom:2px;flex-wrap:wrap}.plan-price-amount[data-v-4ac8ae11]{font-size:18px;font-weight:700;color:#ef4444}.plan-price-unit[data-v-4ac8ae11]{font-size:11px;color:#9ca3af}.plan-price-free[data-v-4ac8ae11]{font-size:18px;font-weight:700;color:#10b981}.plan-price-custom[data-v-4ac8ae11]{font-size:15px;font-weight:700;color:#7c3aed}.plan-trial-note[data-v-4ac8ae11]{font-size:11px;color:#10b981;font-weight:500;margin-bottom:2px}.plan-divider[data-v-4ac8ae11]{height:1px;background:#e5e7eb;margin:12px 0 10px}.plan-card-free .plan-divider[data-v-4ac8ae11]{background:#bbf7d0}.plan-card-custom .plan-divider[data-v-4ac8ae11]{background:#ddd6fe}.plan-card-popular .plan-divider[data-v-4ac8ae11]{background:#fed7aa}.plan-features[data-v-4ac8ae11]{list-style:none;padding:0;margin:0 0 16px;flex:1;display:flex;flex-direction:column;gap:7px}.plan-features li[data-v-4ac8ae11]{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:#374151;line-height:1.4}.plan-feat-check[data-v-4ac8ae11]{color:#10b981;flex-shrink:0;margin-top:1px}.plan-card-custom .plan-features li[data-v-4ac8ae11]{color:#6d28d9;font-weight:500}.plan-select-btn[data-v-4ac8ae11]{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px;border:none;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:auto;white-space:nowrap}.plan-btn-free[data-v-4ac8ae11]{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.plan-btn-free[data-v-4ac8ae11]:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98159;transform:translateY(-1px)}.plan-btn-paid[data-v-4ac8ae11]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.plan-btn-paid[data-v-4ac8ae11]:hover{background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.plan-btn-contact[data-v-4ac8ae11]{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff}.plan-btn-contact[data-v-4ac8ae11]:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);box-shadow:0 4px 12px #7c3aed59;transform:translateY(-1px)}.plan-card-skeleton[data-v-4ac8ae11]{border-color:#e5e7eb!important;background:#fafafa!important;pointer-events:none;min-width:160px;gap:10px;display:flex;flex-direction:column}.skel[data-v-4ac8ae11]{border-radius:6px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skel-shimmer-4ac8ae11 1.4s infinite}@keyframes skel-shimmer-4ac8ae11{0%{background-position:200% 0}to{background-position:-200% 0}}.skel-code[data-v-4ac8ae11]{height:16px;width:60%;border-radius:4px}.skel-price[data-v-4ac8ae11]{height:22px;width:80%;border-radius:4px;margin-bottom:4px}.skel-divider[data-v-4ac8ae11]{height:1px;background:#e5e7eb;animation:none}.skel-feat[data-v-4ac8ae11]{height:12px;width:90%}.skel-feat-short[data-v-4ac8ae11]{width:65%}.skel-btn[data-v-4ac8ae11]{height:34px;width:100%;border-radius:7px;margin-top:auto}.plans-error[data-v-4ac8ae11]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:#9ca3af;text-align:center}.plans-error-icon[data-v-4ac8ae11]{color:#f59e0b}.plans-error p[data-v-4ac8ae11]{margin:0;font-size:14px;color:#6b7280}.plans-retry-btn[data-v-4ac8ae11]{display:flex;align-items:center;gap:6px;padding:8px 18px;border:1.5px solid #e0e0e0;background:#fff;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;color:#374151;transition:all .2s}.plans-retry-btn[data-v-4ac8ae11]:hover{border-color:#ff8303;color:#ff8303;background:#fff4e6}@media (max-width: 700px){.plan-modal-container[data-v-4ac8ae11]{border-radius:10px;max-height:95vh}.plan-modal-header[data-v-4ac8ae11]{padding:16px 20px 12px}.plan-modal-title h3[data-v-4ac8ae11]{font-size:16px}.plan-cards-scroll[data-v-4ac8ae11]{flex-direction:column;overflow-x:unset;overflow-y:auto;padding:16px 20px;gap:12px;align-items:stretch}.plan-card[data-v-4ac8ae11]{flex:none;width:100%}}.contact-fade-enter-active[data-v-4ac8ae11],.contact-fade-leave-active[data-v-4ac8ae11]{transition:opacity .25s ease}.contact-fade-enter-from[data-v-4ac8ae11],.contact-fade-leave-to[data-v-4ac8ae11]{opacity:0}.contact-fade-enter-active .contact-modal[data-v-4ac8ae11],.contact-fade-leave-active .contact-modal[data-v-4ac8ae11]{transition:transform .25s ease}.contact-fade-enter-from .contact-modal[data-v-4ac8ae11],.contact-fade-leave-to .contact-modal[data-v-4ac8ae11]{transform:scale(.95) translateY(10px)}.contact-overlay[data-v-4ac8ae11]{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.contact-modal[data-v-4ac8ae11]{background:#fff;border-radius:14px;width:100%;max-width:440px;box-shadow:0 24px 60px #0000002e;overflow:hidden;display:flex;flex-direction:column}.contact-header[data-v-4ac8ae11]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 16px;border-bottom:1px solid #f0f0f0;background:linear-gradient(135deg,#f0f7ff,#fff 60%)}.contact-header-left[data-v-4ac8ae11]{display:flex;align-items:center;gap:12px}.contact-icon[data-v-4ac8ae11]{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#1c78e6,#1565c0);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #1c78e659;flex-shrink:0}.contact-header h3[data-v-4ac8ae11]{margin:0 0 2px;font-size:17px;font-weight:700;color:#1a1a1a}.contact-header p[data-v-4ac8ae11]{margin:0;font-size:12px;color:#888}.contact-close[data-v-4ac8ae11]{background:none;border:none;cursor:pointer;color:#888;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;transition:all .2s;flex-shrink:0}.contact-close[data-v-4ac8ae11]:hover{background:#f5f5f5;color:#333}.contact-body[data-v-4ac8ae11]{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.contact-plan-row[data-v-4ac8ae11]{display:flex;align-items:center;gap:10px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px}.contact-plan-label[data-v-4ac8ae11]{font-size:13px;color:#6b7280;flex-shrink:0}.contact-plan-badge[data-v-4ac8ae11]{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.3px}.contact-badge-free[data-v-4ac8ae11]{background:#d1fae5;color:#065f46}.contact-badge-paid[data-v-4ac8ae11]{background:#ffedd5;color:#c2410c}.contact-badge-popular[data-v-4ac8ae11]{background:#fff3e0;color:#e67e00}.contact-badge-custom[data-v-4ac8ae11]{background:#ede9fe;color:#6d28d9}.contact-plan-price[data-v-4ac8ae11]{font-size:13px;color:#ef4444;font-weight:600;margin-left:auto}.contact-desc-box[data-v-4ac8ae11]{display:flex;align-items:flex-start;gap:8px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:10px 14px}.contact-desc-icon[data-v-4ac8ae11]{color:#3b82f6;flex-shrink:0;margin-top:2px}.contact-desc-box p[data-v-4ac8ae11]{margin:0;font-size:13px;color:#1e40af;line-height:1.5}.contact-form-group[data-v-4ac8ae11]{display:flex;flex-direction:column;gap:6px}.contact-label[data-v-4ac8ae11]{font-size:14px;font-weight:500;color:#1a1a1a}.required-star[data-v-4ac8ae11]{color:#ef4444;margin-left:2px}.contact-input[data-v-4ac8ae11]{width:100%;padding:11px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;transition:all .2s;font-family:inherit;color:#1a1a1a;box-sizing:border-box}.contact-input[data-v-4ac8ae11]:hover{border-color:#b0b0b0}.contact-input[data-v-4ac8ae11]:focus{border-color:#1c78e6;box-shadow:0 0 0 3px #1c78e61f}.contact-input-error[data-v-4ac8ae11]{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}.contact-field-error[data-v-4ac8ae11]{display:flex;align-items:center;gap:4px;font-size:12px;color:#ef4444;font-weight:500}.contact-textarea[data-v-4ac8ae11]{width:100%;padding:10px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:13px;outline:none;transition:all .2s;font-family:inherit;color:#1a1a1a;box-sizing:border-box;resize:vertical;min-height:60px}.contact-textarea[data-v-4ac8ae11]:hover{border-color:#b0b0b0}.contact-textarea[data-v-4ac8ae11]:focus{border-color:#1c78e6;box-shadow:0 0 0 3px #1c78e61f}.contact-char-count[data-v-4ac8ae11]{display:block;text-align:right;font-size:11px;color:#9ca3af;margin-top:2px}.contact-footer[data-v-4ac8ae11]{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid #f0f0f0}.contact-btn-cancel[data-v-4ac8ae11]{padding:10px 20px;border:1.5px solid #e0e0e0;background:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;color:#555;transition:all .2s}.contact-btn-cancel[data-v-4ac8ae11]:hover{background:#f9fafb;border-color:#d1d5db}.contact-btn-submit[data-v-4ac8ae11]{display:flex;align-items:center;gap:7px;padding:10px 22px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#1c78e6,#1565c0);color:#fff;box-shadow:0 2px 8px #1c78e640;transition:all .2s}.contact-btn-submit[data-v-4ac8ae11]:hover:not(:disabled){background:linear-gradient(135deg,#1565c0,#0d47a1);box-shadow:0 4px 14px #1c78e666;transform:translateY(-1px)}.contact-btn-submit[data-v-4ac8ae11]:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 480px){.contact-modal[data-v-4ac8ae11]{border-radius:10px}.contact-body[data-v-4ac8ae11]{padding:16px 18px}.contact-footer[data-v-4ac8ae11]{padding:14px 18px 18px}}.modal-fade-enter-active[data-v-6b134e2c],.modal-fade-leave-active[data-v-6b134e2c]{transition:opacity .25s ease}.modal-fade-enter-from[data-v-6b134e2c],.modal-fade-leave-to[data-v-6b134e2c]{opacity:0}.modal-fade-enter-active .modal-container[data-v-6b134e2c],.modal-fade-leave-active .modal-container[data-v-6b134e2c]{transition:transform .25s ease}.modal-fade-enter-from .modal-container[data-v-6b134e2c],.modal-fade-leave-to .modal-container[data-v-6b134e2c]{transform:scale(.97)}.modal-overlay[data-v-6b134e2c]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px}.modal-container[data-v-6b134e2c]{background:#fff;border-radius:12px;width:100%;max-width:460px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-6b134e2c]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0}.modal-title-section[data-v-6b134e2c]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-6b134e2c]{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b9814d;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.modal-header h3[data-v-6b134e2c]{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.modal-close[data-v-6b134e2c]{background:none;border:none;cursor:pointer;color:#999;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;transition:all .15s}.modal-close[data-v-6b134e2c]:hover{background:#f5f5f5;color:#333}.modal-body[data-v-6b134e2c]{padding:20px;display:flex;flex-direction:column;gap:16px}.loading-center[data-v-6b134e2c]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;color:#6b7280;font-size:13px}.info-rows[data-v-6b134e2c]{display:flex;flex-direction:column;gap:10px}.info-row[data-v-6b134e2c]{display:flex;align-items:center;gap:12px}.info-label[data-v-6b134e2c]{font-size:13px;font-weight:600;color:#6b7280;min-width:64px;flex-shrink:0}.info-value[data-v-6b134e2c]{font-size:13px;color:#1f2937}.fw-500[data-v-6b134e2c]{font-weight:500}.plan-row-value[data-v-6b134e2c]{display:flex;align-items:center;gap:8px}.plan-badge[data-v-6b134e2c]{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:700;letter-spacing:.3px}.badge-plan-free[data-v-6b134e2c]{background:#d1fae5;color:#065f46}.badge-plan-basic[data-v-6b134e2c]{background:#dbeafe;color:#1e40af}.badge-plan-standard[data-v-6b134e2c]{background:#ffedd5;color:#c2410c}.badge-plan-pro[data-v-6b134e2c]{background:#ede9fe;color:#5b21b6}.badge-plan-default[data-v-6b134e2c]{background:#f3f4f6;color:#374151}.btn-upgrade[data-v-6b134e2c]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1.5px solid #ff8303;background:#fff8f0;border-radius:6px;color:#e67e00;font-size:11px;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap}.btn-upgrade[data-v-6b134e2c]:hover{background:#ff8303;color:#fff;box-shadow:0 2px 8px #ff830359;transform:translateY(-1px)}.plan-specs[data-v-6b134e2c]{background:#f9fafb;border:1px solid #f0f0f0;border-radius:10px;padding:12px 14px}.plan-specs-title[data-v-6b134e2c]{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.plan-specs-grid[data-v-6b134e2c]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.spec-item[data-v-6b134e2c]{display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff;border-radius:7px;padding:8px 6px;border:1px solid #e5e7eb}.spec-value[data-v-6b134e2c]{font-size:18px;font-weight:700;color:#1a1a1a;line-height:1}.spec-label[data-v-6b134e2c]{font-size:10px;color:#9ca3af;text-align:center;font-weight:500}.token-section[data-v-6b134e2c]{background:#f9fafb;border-radius:10px;padding:14px}.token-label[data-v-6b134e2c]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#374151;margin-bottom:10px}.token-box[data-v-6b134e2c]{display:flex;align-items:flex-start;background:#1f2937;border-radius:8px;padding:12px;gap:8px}.token-defines[data-v-6b134e2c]{flex:1;display:flex;flex-direction:column;gap:6px;overflow-x:auto}.token-defines[data-v-6b134e2c]::-webkit-scrollbar{height:3px}.token-defines[data-v-6b134e2c]::-webkit-scrollbar-track{background:transparent}.token-defines[data-v-6b134e2c]::-webkit-scrollbar-thumb{background:#4b5563;border-radius:2px}.token-defines code[data-v-6b134e2c]{font-family:Fira Code,Consolas,monospace;font-size:12px;white-space:nowrap}.ck[data-v-6b134e2c]{color:#c084fc}.cn[data-v-6b134e2c]{color:#34d399}.cs[data-v-6b134e2c]{color:#fb923c}.btn-copy[data-v-6b134e2c]{background:#ffffff1a;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;padding:6px 8px;flex-shrink:0;transition:all .15s;display:flex;align-items:center}.btn-copy[data-v-6b134e2c]:hover{background:#fff3;color:#fff}.modal-footer[data-v-6b134e2c]{display:flex;justify-content:flex-end;padding:14px 20px;border-top:1px solid #f0f0f0}.btn-cancel[data-v-6b134e2c]{display:flex;align-items:center;gap:6px;padding:8px 18px;border:1.5px solid #e0e0e0;border-radius:7px;background:#fff;color:#666;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.btn-cancel[data-v-6b134e2c]:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.device-all-view[data-v-0dc27c1e]{padding:15px;margin-bottom:5px;min-height:100%}.device-all-header[data-v-0dc27c1e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.device-all-header h2[data-v-0dc27c1e]{font-size:17px;font-weight:600;color:#1a1a1a;margin:0 0 2px}.device-all-header p[data-v-0dc27c1e]{margin:0;color:#666;font-size:12px}.header-subtitle[data-v-0dc27c1e]{display:flex;align-items:center;gap:8px;margin-top:4px}.stat-item[data-v-0dc27c1e]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#666}.stat-dot[data-v-0dc27c1e]{width:8px;height:8px;border-radius:50%}.stat-dot.online[data-v-0dc27c1e]{background:#22c55e}.stat-dot.offline[data-v-0dc27c1e]{background:#ef4444}.stat-divider[data-v-0dc27c1e]{color:#ccc}.device-all-actions[data-v-0dc27c1e]{display:flex;gap:8px}.device-type-tabs[data-v-0dc27c1e]{display:flex;gap:6px;margin-bottom:10px;background:#fff;padding:8px 12px;border-radius:8px;border:1px solid rgba(226,232,240,.5);box-shadow:0 1px 4px #0000000f}.tab-btn[data-v-0dc27c1e]{display:flex;align-items:center;gap:6px;padding:6px 14px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.tab-btn[data-v-0dc27c1e]:hover{background:#f5f5f5;color:#333}.tab-btn.active[data-v-0dc27c1e]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.tab-btn.active[data-v-0dc27c1e]:hover{background:linear-gradient(135deg,#e67e00,#ff8303)}.tab-count[data-v-0dc27c1e]{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;background:#0000001a}.tab-btn.active .tab-count[data-v-0dc27c1e]{background:#ffffff40}.error-banner[data-v-0dc27c1e]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fee2e2;border:1px solid #ef4444;border-radius:8px;margin-bottom:16px;color:#991b1b;font-size:13px}.btn-retry[data-v-0dc27c1e]{margin-left:auto;padding:6px 12px;background:#ef4444;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.btn-retry[data-v-0dc27c1e]:hover{background:#dc2626}.ws-status-banner[data-v-0dc27c1e]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-bottom:16px;color:#92400e;font-size:13px}.btn-reconnect[data-v-0dc27c1e]{margin-left:auto;padding:6px 12px;background:#f59e0b;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.btn-reconnect[data-v-0dc27c1e]:hover{background:#d97706}.btn[data-v-0dc27c1e]{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-0dc27c1e]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.btn-primary[data-v-0dc27c1e]:hover{background:linear-gradient(135deg,#e67e00,#ff8303);box-shadow:0 4px 12px #ff83034d}.btn-primary[data-v-0dc27c1e]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-0dc27c1e]{background:#fff;color:#333;border:1px solid #e0e0e0}.btn-secondary[data-v-0dc27c1e]:hover{background:#fafafa;border-color:#d0d0d0}.btn-secondary[data-v-0dc27c1e]:disabled{opacity:.6;cursor:not-allowed}.spinning[data-v-0dc27c1e]{animation:spin-0dc27c1e 1s linear infinite}@keyframes spin-0dc27c1e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon[data-v-0dc27c1e]{width:16px;height:16px}.filters-section[data-v-0dc27c1e]{background:#fff;border:1px solid rgba(226,232,240,.5);box-shadow:0 1px 4px #0000000f;border-radius:10px;padding:10px 14px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:12px}.filters-left[data-v-0dc27c1e]{display:flex;flex-wrap:wrap;gap:8px;flex:1}.filters-right[data-v-0dc27c1e]{display:flex;align-items:center;gap:10px;flex-shrink:0}.filter-input[data-v-0dc27c1e]{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#333;background:#fff;outline:none;transition:border-color .2s;min-width:200px;flex:1}.filter-input[data-v-0dc27c1e]:focus{border-color:#ff8303}.filter-select[data-v-0dc27c1e]{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#333;background:#fff;outline:none;transition:border-color .2s;min-width:150px;cursor:pointer}.filter-select[data-v-0dc27c1e]:focus{border-color:#ff8303}.device-all-grid-wrapper[data-v-0dc27c1e]{background:#fff;border:1px solid rgba(226,232,240,.5);box-shadow:0 1px 4px #0000000f;border-radius:10px;overflow:hidden;min-height:auto}.devices-container[data-v-0dc27c1e]{background:#fff;overflow:hidden}.devices-header[data-v-0dc27c1e]{display:grid;grid-template-columns:3fr 1.5fr 1.5fr 120px 100px;gap:10px;padding:8px 14px;background:#f9fafb;border-bottom:1px solid #f3f4f6;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.header-cell[data-v-0dc27c1e]{display:flex;align-items:center;background:#f9fafb;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.devices-list[data-v-0dc27c1e]{max-height:70vh;overflow-y:auto}.device-row[data-v-0dc27c1e]{display:grid;grid-template-columns:3fr 1.5fr 1.5fr 120px 100px;gap:10px;padding:8px 14px;border-bottom:1px solid #f3f4f6;transition:background .15s;cursor:pointer;font-size:13px}.device-row[data-v-0dc27c1e]:hover{background:#f9fafb}.device-row[data-v-0dc27c1e]:last-child{border-bottom:none}.device-row.device-offline[data-v-0dc27c1e]{cursor:not-allowed;opacity:.6}.device-row.device-offline[data-v-0dc27c1e]:hover{background:transparent}.row-cell[data-v-0dc27c1e]{display:flex;align-items:center}.device-info[data-v-0dc27c1e]{display:flex;align-items:center;gap:8px}.device-icon[data-v-0dc27c1e]{width:28px;height:28px;background:#ffe4cc;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#e67e00;flex-shrink:0}.device-details h4[data-v-0dc27c1e]{margin:0 0 2px;font-size:13px;font-weight:500;color:#1a1a1a}.device-id[data-v-0dc27c1e]{font-size:11px;color:#999}.owner-info[data-v-0dc27c1e]{display:flex;flex-direction:column;gap:2px}.owner-name[data-v-0dc27c1e]{font-size:13px;font-weight:500;color:#1a1a1a}.owner-email[data-v-0dc27c1e]{font-size:11px;color:#999}.type-badge[data-v-0dc27c1e]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:#f0fdf4;color:#16a34a;white-space:nowrap}.group-badge[data-v-0dc27c1e]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:#f5f5f5;color:#666;white-space:nowrap}.permission-badge[data-v-0dc27c1e]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap}.permission-badge.full[data-v-0dc27c1e]{background:#dbeafe;color:#1d4ed8}.permission-badge.view[data-v-0dc27c1e]{background:#f3f4f6;color:#6b7280}.status-badge[data-v-0dc27c1e]{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap}.status-badge.online[data-v-0dc27c1e]{background:#f0fdf4;color:#16a34a}.status-badge.offline[data-v-0dc27c1e]{background:#fef2f2;color:#dc2626}.status-dot[data-v-0dc27c1e]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-dot.online[data-v-0dc27c1e]{background:#22c55e;box-shadow:0 0 8px #22c55e66}.status-dot.offline[data-v-0dc27c1e]{background:#ef4444;box-shadow:0 0 8px #ef444466}.empty-state[data-v-0dc27c1e]{display:flex;align-items:center;justify-content:center;padding:40px 16px;color:#999;font-size:13px}.empty-content[data-v-0dc27c1e]{text-align:center;color:#999}.empty-icon[data-v-0dc27c1e]{margin-bottom:16px;color:#ccc}.empty-content h3[data-v-0dc27c1e]{margin:0 0 8px;font-size:16px;font-weight:500;color:#666}.empty-content p[data-v-0dc27c1e]{margin:0;font-size:13px;color:#999}.pagination-info[data-v-0dc27c1e]{color:#6b7280;font-size:13px}.pagination-info strong[data-v-0dc27c1e]{color:#1e293b;font-weight:600}.pagination-controls[data-v-0dc27c1e]{display:flex;align-items:center;gap:8px}.page-size-select[data-v-0dc27c1e]{padding:4px 8px;border:1px solid #e0e0e0;border-radius:5px;font-size:12px;outline:none;cursor:pointer;background:#fff}.pagination-text[data-v-0dc27c1e]{color:#666;font-size:12px}.pagination-nav[data-v-0dc27c1e]{display:flex;gap:4px}.nav-btn[data-v-0dc27c1e]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;background:#fff;border-radius:5px;cursor:pointer;color:#333;font-size:16px;transition:all .15s}.nav-btn[data-v-0dc27c1e]:hover:not(:disabled){border-color:#ff8303;color:#ff8303}.nav-btn[data-v-0dc27c1e]:disabled{opacity:.4;cursor:not-allowed}.action-buttons[data-v-0dc27c1e]{display:flex;gap:4px}.action-btn[data-v-0dc27c1e]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;cursor:pointer;transition:all .2s;border:none}.action-btn.btn-edit[data-v-0dc27c1e]{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a)}.action-btn.btn-edit[data-v-0dc27c1e]:hover{box-shadow:0 4px 12px #22c55e59;background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px)}.action-btn.btn-danger[data-v-0dc27c1e]{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.action-btn.btn-danger[data-v-0dc27c1e]:hover{box-shadow:0 4px 12px #ef444459;background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.modal-fade-enter-active[data-v-0dc27c1e],.modal-fade-leave-active[data-v-0dc27c1e]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-0dc27c1e],.modal-fade-leave-to[data-v-0dc27c1e]{opacity:0}.modal-fade-enter-active .modal-container[data-v-0dc27c1e],.modal-fade-leave-active .modal-container[data-v-0dc27c1e]{transition:transform .3s ease}.modal-fade-enter-from .modal-container[data-v-0dc27c1e],.modal-fade-leave-to .modal-container[data-v-0dc27c1e]{transform:scale(.95)}.modal-overlay[data-v-0dc27c1e]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-0dc27c1e]{background:#fff;border-radius:12px;width:100%;max-width:520px;max-height:90vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column}.modal-small[data-v-0dc27c1e]{max-width:420px}.modal-header[data-v-0dc27c1e]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #f0f0f0;background:linear-gradient(to bottom,#fafafa,#fff)}.modal-title-section[data-v-0dc27c1e]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-0dc27c1e]{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;background:linear-gradient(135deg,#ff8303,#e67e00);box-shadow:0 2px 8px #ff83034d}.modal-icon-danger[data-v-0dc27c1e]{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d}.modal-header h3[data-v-0dc27c1e]{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.modal-close[data-v-0dc27c1e]{background:none;border:none;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:all .2s}.modal-close[data-v-0dc27c1e]:hover{background:#f5f5f5;color:#333}.modal-body[data-v-0dc27c1e]{padding:24px;overflow-y:auto;flex:1}.modal-text[data-v-0dc27c1e]{margin:0 0 16px;font-size:14px;color:#1a1a1a;line-height:1.5}.warning-text[data-v-0dc27c1e]{margin:0;font-size:13px;color:#dc2626;font-weight:500;display:flex;align-items:flex-start;gap:8px;padding:12px;background:#fef2f2;border-radius:8px}.modal-footer[data-v-0dc27c1e]{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid #f0f0f0;background:#fff}.form-group[data-v-0dc27c1e]{margin-bottom:18px}.form-label[data-v-0dc27c1e]{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:#1a1a1a}.required[data-v-0dc27c1e]{color:#ef4444;margin-left:2px}.form-input[data-v-0dc27c1e]{width:100%;padding:10px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;transition:all .2s;font-family:inherit;color:#1a1a1a}.form-input[data-v-0dc27c1e]:hover{border-color:silver}.form-input[data-v-0dc27c1e]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.btn-cancel[data-v-0dc27c1e],.btn-save[data-v-0dc27c1e],.btn-delete[data-v-0dc27c1e]{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-cancel[data-v-0dc27c1e]{background:#fff;color:#666;border:1.5px solid #e0e0e0}.btn-cancel[data-v-0dc27c1e]:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.btn-save[data-v-0dc27c1e]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;box-shadow:0 1px 3px #ff830333;border:1.5px solid transparent}.btn-save[data-v-0dc27c1e]:hover:not(:disabled){background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.btn-save[data-v-0dc27c1e]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-delete[data-v-0dc27c1e]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 1px 3px #ef444433;border:1.5px solid transparent}.btn-delete[data-v-0dc27c1e]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444459;transform:translateY(-1px)}.btn-delete[data-v-0dc27c1e]:disabled{opacity:.6;cursor:not-allowed}.modal-icon-success[data-v-0dc27c1e]{background:linear-gradient(135deg,#059669,#10b981)}.create-info-banner[data-v-0dc27c1e]{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#eff6ff;border-radius:8px;font-size:12px;color:#1e40af;margin-bottom:16px;line-height:1.5}.create-error-msg[data-v-0dc27c1e]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fef2f2;border-radius:8px;font-size:12px;color:#dc2626;margin-top:8px}.form-hint[data-v-0dc27c1e]{display:block;font-size:11px;color:#9ca3af;margin-top:4px}.success-info-rows[data-v-0dc27c1e]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.success-info-row[data-v-0dc27c1e]{display:flex;align-items:center;gap:8px}.info-label[data-v-0dc27c1e]{font-size:13px;font-weight:600;color:#6b7280;min-width:55px}.info-value[data-v-0dc27c1e]{font-size:13px;color:#1f2937}.badge-dev0[data-v-0dc27c1e]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;background-color:#fef3c7;color:#92400e;border:1px dashed #f59e0b}.token-section[data-v-0dc27c1e]{background:#f9fafb;border-radius:10px;padding:14px}.token-section .form-label[data-v-0dc27c1e]{display:flex;align-items:center;gap:6px;margin-bottom:8px}.token-box[data-v-0dc27c1e]{display:flex;align-items:center;background:#1f2937;border-radius:8px;padding:8px 12px;gap:8px}.token-box code[data-v-0dc27c1e]{flex:1;color:#10b981;font-size:12px;font-family:Fira Code,monospace;word-break:break-all}.token-box-multiline[data-v-0dc27c1e]{align-items:flex-start;padding:12px}.token-defines[data-v-0dc27c1e]{flex:1;display:flex;flex-direction:column;gap:6px;overflow-x:auto}.token-defines[data-v-0dc27c1e]::-webkit-scrollbar{height:3px}.token-defines[data-v-0dc27c1e]::-webkit-scrollbar-track{background:transparent}.token-defines[data-v-0dc27c1e]::-webkit-scrollbar-thumb{background:#4b5563;border-radius:2px}.token-defines code[data-v-0dc27c1e]{flex:none;white-space:nowrap;font-size:13px;font-family:Fira Code,Consolas,Courier New,monospace;line-height:1.6;color:#d4d4d4}.ck[data-v-0dc27c1e]{color:#c586c0}.cn[data-v-0dc27c1e]{color:#4ec9b0}.cs[data-v-0dc27c1e]{color:#ce9178}.btn-copy-token[data-v-0dc27c1e]{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.btn-copy-token[data-v-0dc27c1e]:hover{color:#fff;background:#ffffff1a}.token-warning[data-v-0dc27c1e]{display:flex;align-items:center;gap:6px;font-size:11px;color:#d97706;margin-top:8px}.mqtt-guide[data-v-0dc27c1e]{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.mqtt-guide strong[data-v-0dc27c1e]{font-size:12px;color:#374151;display:block;margin-bottom:6px}.mqtt-row[data-v-0dc27c1e]{font-size:12px;color:#6b7280;margin-bottom:3px}.mqtt-row code[data-v-0dc27c1e]{background:#e5e7eb;padding:1px 5px;border-radius:3px;font-size:11px;color:#1f2937}.action-btn.btn-info[data-v-0dc27c1e]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb)}.action-btn.btn-info[data-v-0dc27c1e]:hover{box-shadow:0 4px 12px #3b82f659;background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.device-id-value[data-v-0dc27c1e]{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px;color:#6b7280;word-break:break-all}.loading-container[data-v-0dc27c1e]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.loading-spinner[data-v-0dc27c1e]{width:48px;height:48px}.spinner-ring[data-v-0dc27c1e]{width:100%;height:100%;border:4px solid #FFE4CC;border-top-color:#ff8303;border-radius:50%;animation:spin-0dc27c1e 1s linear infinite}@keyframes spin-0dc27c1e{to{transform:rotate(360deg)}}.loading-text[data-v-0dc27c1e]{font-size:14px;color:#6b7280}.devices-mobile-cards[data-v-0dc27c1e]{display:none}@media (max-width: 768px){.device-all-view[data-v-0dc27c1e]{padding:10px}.device-all-header[data-v-0dc27c1e]{flex-direction:column;align-items:stretch;gap:10px}.device-all-header h2[data-v-0dc27c1e]{font-size:16px}.device-all-actions[data-v-0dc27c1e]{display:flex;gap:8px}.device-all-actions .btn[data-v-0dc27c1e]{flex:1;justify-content:center;font-size:12px;padding:7px 10px}.device-type-tabs[data-v-0dc27c1e]{padding:6px 8px}.tab-btn[data-v-0dc27c1e]{flex:1;justify-content:center;font-size:12px;padding:6px 8px}.filters-section[data-v-0dc27c1e]{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.filters-left[data-v-0dc27c1e]{flex-direction:column;gap:6px}.filter-input[data-v-0dc27c1e],.filter-select[data-v-0dc27c1e]{min-width:0;width:100%}.filters-right[data-v-0dc27c1e]{justify-content:space-between;width:100%}.devices-desktop[data-v-0dc27c1e]{display:none!important}.devices-mobile-cards[data-v-0dc27c1e]{display:flex;flex-direction:column;gap:8px;padding:8px}.device-mobile-card[data-v-0dc27c1e]{background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:12px;cursor:pointer;transition:box-shadow .2s,border-color .2s}.device-mobile-card[data-v-0dc27c1e]:active{border-color:#ff8303;box-shadow:0 2px 8px #ff83031f}.device-mobile-card.device-offline[data-v-0dc27c1e]{cursor:not-allowed;opacity:.6}.device-mobile-card.device-offline[data-v-0dc27c1e]:active{border-color:#f0f0f0;box-shadow:none}.mobile-card-top[data-v-0dc27c1e]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mobile-card-meta[data-v-0dc27c1e]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.mobile-card-actions[data-v-0dc27c1e]{display:flex;gap:6px;padding-top:8px;border-top:1px solid #f3f4f6}.mobile-card-actions .action-btn[data-v-0dc27c1e]{width:32px;height:32px}.owner-badge[data-v-0dc27c1e]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:#f3e8ff;color:#7c3aed}.error-banner[data-v-0dc27c1e],.ws-status-banner[data-v-0dc27c1e]{flex-direction:column;gap:8px;text-align:center}.btn-retry[data-v-0dc27c1e],.btn-reconnect[data-v-0dc27c1e]{margin-left:0;align-self:center}}.loading-center[data-v-0dc27c1e]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;color:#6b7280}.device-group-devices[data-v-c97f7830]{padding:15px;min-height:100vh;background:#fafafa}.devices-header[data-v-c97f7830]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.btn-back[data-v-c97f7830]{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #e0e0e0;background:#fff;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;color:#333;transition:all .2s}.btn-back[data-v-c97f7830]:hover{background:#fafafa;border-color:#d0d0d0}.header-title[data-v-c97f7830]{flex:1;margin-left:12px}.header-title h3[data-v-c97f7830]{margin:0 0 4px;font-size:20px;font-weight:600;color:#1a1a1a}.header-title p[data-v-c97f7830]{margin:0;font-size:13px;color:#666}.btn-primary[data-v-c97f7830]{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-c97f7830]:hover{background:linear-gradient(135deg,#e67e00,#ff8303);box-shadow:0 2px 8px #ff83034d}.devices-content[data-v-c97f7830]{background:#fff;border:1px solid rgba(226,232,240,.5);box-shadow:0 2px 8px #0000001a;border-radius:12px;overflow:hidden}.loading-state[data-v-c97f7830]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.loading-state p[data-v-c97f7830]{margin-top:12px;font-size:14px}.empty-state[data-v-c97f7830]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.spinning[data-v-c97f7830]{animation:spin-c97f7830 1s linear infinite}@keyframes spin-c97f7830{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-icon[data-v-c97f7830]{margin-bottom:16px;color:#ccc}.empty-state h4[data-v-c97f7830]{margin:0 0 8px;font-size:16px;color:#666}.empty-state p[data-v-c97f7830]{margin:0;font-size:14px;color:#999}.devices-table-wrapper[data-v-c97f7830]{background:#fff;overflow:hidden}.devices-table[data-v-c97f7830]{width:100%}.table-header[data-v-c97f7830]{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 120px;gap:16px;padding:14px 20px;background:#f9fafb;border-bottom:1px solid #f3f4f6;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.header-cell[data-v-c97f7830]{display:flex;align-items:center;background:#f9fafb;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.table-body[data-v-c97f7830]{max-height:70vh;overflow-y:auto}.table-row[data-v-c97f7830]{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 120px;gap:16px;padding:14px 20px;border-bottom:1px solid #f3f4f6;transition:background .15s;font-size:13px;cursor:pointer}.table-row[data-v-c97f7830]:hover{background:#f9fafb}.table-row[data-v-c97f7830]:last-child{border-bottom:none}.row-cell[data-v-c97f7830]{display:flex;align-items:center}.device-col[data-v-c97f7830]{min-width:200px}.device-info[data-v-c97f7830]{display:flex;align-items:center;gap:12px}.device-icon[data-v-c97f7830]{width:36px;height:36px;background:linear-gradient(135deg,#ff8303,#e67e00);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 4px #0000001a}.device-details[data-v-c97f7830]{display:flex;flex-direction:column;gap:2px}.device-name[data-v-c97f7830]{margin:0;font-size:13px;font-weight:500;color:#1a1a1a}.device-id[data-v-c97f7830]{font-size:11px;color:#999;font-family:Courier New,monospace}.type-col[data-v-c97f7830]{min-width:150px}.device-type[data-v-c97f7830]{font-size:13px;color:#666}.status-col[data-v-c97f7830]{min-width:120px;justify-content:center}.badge-status[data-v-c97f7830]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.badge-active[data-v-c97f7830]{background:#f0fdf4;color:#16a34a}.badge-inactive[data-v-c97f7830]{background:#f3f4f6;color:#6b7280}.date-col[data-v-c97f7830]{min-width:100px}.date-text[data-v-c97f7830]{font-size:13px;color:#666}.actions-col[data-v-c97f7830]{min-width:120px;justify-content:center}.btn-remove[data-v-c97f7830]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;cursor:pointer;transition:all .2s;border:none;color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-remove[data-v-c97f7830]:hover{box-shadow:0 4px 12px #ef444459;background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.modal-fade-enter-active[data-v-c97f7830],.modal-fade-leave-active[data-v-c97f7830]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-c97f7830],.modal-fade-leave-to[data-v-c97f7830]{opacity:0}.modal-overlay[data-v-c97f7830]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-c97f7830]{background:#fff;border-radius:12px;width:100%;max-width:540px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-small[data-v-c97f7830]{max-width:420px}.modal-header[data-v-c97f7830]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #f0f0f0;background:linear-gradient(to bottom,#fafafa,#fff)}.modal-title-section[data-v-c97f7830]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-c97f7830]{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;background:linear-gradient(135deg,#ff8303,#e67e00);box-shadow:0 2px 8px #ff83034d}.modal-icon-danger[data-v-c97f7830]{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d}.modal-header h3[data-v-c97f7830]{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.modal-close[data-v-c97f7830]{background:none;border:none;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:all .2s}.modal-close[data-v-c97f7830]:hover{background:#f5f5f5;color:#333}.modal-body[data-v-c97f7830]{padding:0 24px 24px;overflow-y:auto;flex:1}.modal-text[data-v-c97f7830]{margin:0 0 8px;font-size:14px;color:#1a1a1a;line-height:1.5}.warning-text[data-v-c97f7830]{margin:0;font-size:13px;color:#dc2626;font-weight:500}.search-box[data-v-c97f7830]{margin-bottom:16px}.form-input[data-v-c97f7830]{width:100%;padding:10px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;transition:all .2s;color:#1a1a1a}.form-input[data-v-c97f7830]:hover{border-color:silver}.form-input[data-v-c97f7830]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.available-devices[data-v-c97f7830]{max-height:400px;overflow-y:auto}.loading-inline[data-v-c97f7830],.empty-inline[data-v-c97f7830]{padding:40px;text-align:center;color:#999;font-size:14px}.loading-inline[data-v-c97f7830]{display:flex;align-items:center;justify-content:center;gap:8px}.device-item[data-v-c97f7830]{display:flex;align-items:center;gap:12px;padding:12px;border:1.5px solid #e0e0e0;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s;background:#fff}.device-item[data-v-c97f7830]:hover{border-color:#ff8303;background:#fff4e6}.device-item.selected[data-v-c97f7830]{border-color:#ff8303;background:#fff4e6;box-shadow:0 2px 8px #ff830326}.device-item-info[data-v-c97f7830]{flex:1}.device-item-info h5[data-v-c97f7830]{margin:0 0 2px;font-size:13px;font-weight:500;color:#1a1a1a}.device-item-info span[data-v-c97f7830]{font-size:12px;color:#999}.device-item-check[data-v-c97f7830]{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 4px #ff83034d}.modal-footer[data-v-c97f7830]{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid #f0f0f0;background:#fff}.btn-cancel[data-v-c97f7830],.btn-save[data-v-c97f7830]{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-cancel[data-v-c97f7830]{background:#fff;color:#666;border:1.5px solid #e0e0e0}.btn-cancel[data-v-c97f7830]:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.btn-save[data-v-c97f7830]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;box-shadow:0 1px 3px #ff830333;border:1.5px solid transparent}.btn-save[data-v-c97f7830]:hover:not(:disabled){background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.btn-save[data-v-c97f7830]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-delete[data-v-c97f7830]{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:1.5px solid transparent;box-shadow:0 1px 3px #ef444433}.btn-delete[data-v-c97f7830]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444459;transform:translateY(-1px)}.btn-delete[data-v-c97f7830]:disabled{opacity:.6;cursor:not-allowed}.devices-mobile-cards[data-v-c97f7830]{display:none}.device-mobile-card[data-v-c97f7830]{background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:12px;transition:box-shadow .2s,border-color .2s}.mobile-card-top[data-v-c97f7830]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mobile-card-meta[data-v-c97f7830]{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#9ca3af;margin-bottom:10px}.mobile-card-actions[data-v-c97f7830]{padding-top:8px;border-top:1px solid #f3f4f6;display:flex;justify-content:flex-end}.mobile-card-actions .btn-remove[data-v-c97f7830]{width:auto;height:auto;padding:6px 12px;border-radius:6px;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500}@media (max-width: 768px){.device-group-devices[data-v-c97f7830]{padding:10px}.devices-header[data-v-c97f7830]{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}.header-title[data-v-c97f7830]{margin-left:0}.header-title h3[data-v-c97f7830]{font-size:16px}.btn-back[data-v-c97f7830]{width:-moz-fit-content;width:fit-content}.btn-primary[data-v-c97f7830]{width:100%;justify-content:center;padding:10px 16px}.devices-table-wrapper[data-v-c97f7830]{display:none}.devices-mobile-cards[data-v-c97f7830]{display:flex;flex-direction:column;gap:8px;padding:8px}.modal-overlay[data-v-c97f7830]{padding:12px}.available-devices[data-v-c97f7830]{max-height:320px}}.device-group-view[data-v-5d463fb7]{min-height:100vh;padding:15px}.device-group-header[data-v-5d463fb7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.device-group-header h2[data-v-5d463fb7]{font-size:17px;font-weight:600;color:#1a1a1a;margin:0 0 2px}.header-subtitle[data-v-5d463fb7]{margin:0;color:#666;font-size:12px;display:flex;align-items:center;gap:6px}.stat-item[data-v-5d463fb7]{display:inline-flex;align-items:center;gap:4px}.stat-divider[data-v-5d463fb7]{color:#ccc}.device-group-actions[data-v-5d463fb7]{display:flex;gap:8px}.filters-section[data-v-5d463fb7]{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid rgba(226,232,240,.5);box-shadow:0 1px 4px #0000000f;border-radius:10px;padding:10px 14px;margin-bottom:10px;gap:12px;flex-wrap:wrap}.filters-left[data-v-5d463fb7]{display:flex;gap:8px;flex:1}.filters-right[data-v-5d463fb7]{display:flex;align-items:center;gap:10px}.filter-input[data-v-5d463fb7]{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;color:#333;background:#fff;outline:none;transition:border-color .2s;flex:1;min-width:200px;max-width:300px}.filter-input[data-v-5d463fb7]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.loading-state[data-v-5d463fb7]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;color:#666}.loading-state p[data-v-5d463fb7]{margin-top:12px;font-size:14px}.btn[data-v-5d463fb7]{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-5d463fb7]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.btn-primary[data-v-5d463fb7]:hover{background:linear-gradient(135deg,#e67e00,#ff8303);box-shadow:0 2px 8px #ff83034d}.btn-primary[data-v-5d463fb7]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-5d463fb7]{background:#fff;color:#333;border:1px solid #e0e0e0}.btn-secondary[data-v-5d463fb7]:hover{background:#fafafa;border-color:#d0d0d0}.btn-secondary[data-v-5d463fb7]:disabled{opacity:.6;cursor:not-allowed}.spinning[data-v-5d463fb7]{animation:spin-5d463fb7 1s linear infinite}@keyframes spin-5d463fb7{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.device-group-grid-wrapper[data-v-5d463fb7]{background:#fff;border:1px solid rgba(226,232,240,.5);box-shadow:0 1px 4px #0000000f;border-radius:10px;overflow:hidden;min-height:auto}.groups-container[data-v-5d463fb7]{background:#fff;overflow:hidden}.groups-header[data-v-5d463fb7]{display:grid;grid-template-columns:2fr 2.5fr .8fr 1fr 120px;gap:10px;padding:8px 14px;background:#f9fafb;border-bottom:1px solid #f3f4f6;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.header-cell[data-v-5d463fb7]{display:flex;align-items:center;background:#f9fafb;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.group-col[data-v-5d463fb7],.description-col[data-v-5d463fb7]{min-width:200px}.count-col[data-v-5d463fb7]{min-width:80px;justify-content:center}.date-col[data-v-5d463fb7]{min-width:100px;color:#333}.actions-col[data-v-5d463fb7]{min-width:120px;justify-content:center}.groups-list[data-v-5d463fb7]{max-height:70vh;overflow-y:auto}.group-row[data-v-5d463fb7]{display:grid;grid-template-columns:2fr 2.5fr .8fr 1fr 120px;gap:10px;padding:8px 14px;border-bottom:1px solid #f3f4f6;transition:background .15s;font-size:13px;cursor:pointer}.group-row[data-v-5d463fb7]:hover{background:#f9fafb}.group-row[data-v-5d463fb7]:last-child{border-bottom:none}.row-cell[data-v-5d463fb7]{display:flex;align-items:center}.group-info[data-v-5d463fb7]{display:flex;align-items:center;gap:8px}.group-icon[data-v-5d463fb7]{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 4px #0000001a}.group-details h4[data-v-5d463fb7]{margin:0;font-size:13px;font-weight:500;color:#1a1a1a}.description-text[data-v-5d463fb7]{color:#666;font-size:13px}.count-badge[data-v-5d463fb7]{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:24px;padding:2px 8px;background:#f0fdf4;color:#16a34a;border-radius:4px;font-size:11px;font-weight:500}.action-buttons[data-v-5d463fb7]{display:flex;gap:4px}.action-btn[data-v-5d463fb7]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;cursor:pointer;transition:all .2s;border:none}.action-btn.btn-view[data-v-5d463fb7]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb)}.action-btn.btn-view[data-v-5d463fb7]:hover{box-shadow:0 4px 12px #3b82f659;background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.action-btn.btn-edit[data-v-5d463fb7]{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a)}.action-btn.btn-edit[data-v-5d463fb7]:hover{box-shadow:0 4px 12px #22c55e59;background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px)}.action-btn.btn-danger[data-v-5d463fb7]{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.action-btn.btn-danger[data-v-5d463fb7]:hover{box-shadow:0 4px 12px #ef444459;background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.empty-state[data-v-5d463fb7]{display:flex;align-items:center;justify-content:center;padding:40px 16px;color:#999;font-size:13px}.empty-content[data-v-5d463fb7]{text-align:center;color:#999}.empty-icon[data-v-5d463fb7]{margin-bottom:16px;color:#ccc}.empty-content h3[data-v-5d463fb7]{margin:0 0 8px;font-size:16px;font-weight:500;color:#666}.empty-content p[data-v-5d463fb7]{margin:0;font-size:13px;color:#999}.pagination[data-v-5d463fb7]{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:8px 12px;border-radius:8px;font-size:12px;margin-top:8px}.pagination-info[data-v-5d463fb7]{color:#666;font-size:12px}.pagination-info strong[data-v-5d463fb7]{color:#1a1a1a;font-weight:600}.pagination-controls[data-v-5d463fb7]{display:flex;align-items:center;gap:8px}.page-size-select[data-v-5d463fb7]{padding:4px 8px;border:1px solid #e0e0e0;border-radius:5px;font-size:12px;outline:none;cursor:pointer;background:#fff}.pagination-text[data-v-5d463fb7]{color:#666;font-size:12px}.pagination-nav[data-v-5d463fb7]{display:flex;gap:4px}.nav-btn[data-v-5d463fb7]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;background:#fff;border-radius:5px;cursor:pointer;color:#333;font-size:16px;transition:all .15s}.nav-btn[data-v-5d463fb7]:hover:not(:disabled){border-color:#ff8303;color:#ff8303;background:#fff4e6}.nav-btn[data-v-5d463fb7]:disabled{opacity:.4;cursor:not-allowed}.modal-fade-enter-active[data-v-5d463fb7],.modal-fade-leave-active[data-v-5d463fb7]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-5d463fb7],.modal-fade-leave-to[data-v-5d463fb7]{opacity:0}.modal-fade-enter-active .modal-container[data-v-5d463fb7],.modal-fade-leave-active .modal-container[data-v-5d463fb7]{transition:transform .3s ease}.modal-fade-enter-from .modal-container[data-v-5d463fb7],.modal-fade-leave-to .modal-container[data-v-5d463fb7]{transform:scale(.95)}.modal-overlay[data-v-5d463fb7]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-5d463fb7]{background:#fff;border-radius:12px;width:100%;max-width:520px;max-height:90vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column}.modal-small[data-v-5d463fb7]{max-width:420px}.modal-header[data-v-5d463fb7]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #f0f0f0;background:linear-gradient(to bottom,#fafafa,#fff)}.modal-title-section[data-v-5d463fb7]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-5d463fb7]{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #ff83034d}.modal-header h3[data-v-5d463fb7]{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.modal-close[data-v-5d463fb7]{background:none;border:none;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:all .2s}.modal-close[data-v-5d463fb7]:hover{background:#f5f5f5;color:#333}.modal-body[data-v-5d463fb7]{padding:0 24px 24px;overflow-y:auto;flex:1}.form-group[data-v-5d463fb7]{margin-bottom:18px}.form-label[data-v-5d463fb7]{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:#1a1a1a}.required[data-v-5d463fb7]{color:#ef4444;margin-left:2px}.form-input[data-v-5d463fb7],.form-textarea[data-v-5d463fb7]{width:100%;padding:9px 12px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;transition:all .2s;font-family:inherit;color:#1a1a1a}.form-input[data-v-5d463fb7]:hover,.form-textarea[data-v-5d463fb7]:hover{border-color:silver}.form-input[data-v-5d463fb7]:focus,.form-textarea[data-v-5d463fb7]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.form-textarea[data-v-5d463fb7]{resize:vertical;min-height:100px}.form-hint[data-v-5d463fb7]{display:block;margin-top:6px;font-size:12px;color:#999}.warning-text[data-v-5d463fb7]{margin:8px 0 0;font-size:13px;color:#dc2626}.color-selector[data-v-5d463fb7]{display:flex;gap:12px;align-items:center}.color-preview-wrapper[data-v-5d463fb7]{position:relative}.color-picker-input[data-v-5d463fb7]{position:absolute;opacity:0;width:0;height:0}.color-preview[data-v-5d463fb7]{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;border:3px solid white;box-shadow:0 0 0 1.5px #e0e0e0,0 2px 8px #0000001a;transition:all .2s}.color-preview[data-v-5d463fb7]:hover{transform:scale(1.05);box-shadow:0 0 0 1.5px #6366f1,0 4px 12px #6366f14d}.color-code-input[data-v-5d463fb7]{flex:1;font-family:Courier New,monospace;text-transform:uppercase}.color-presets[data-v-5d463fb7]{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.color-preset-btn[data-v-5d463fb7]{width:38px;height:38px;border-radius:8px;border:3px solid white;cursor:pointer;transition:all .2s;box-shadow:0 0 0 1.5px #e0e0e0}.color-preset-btn[data-v-5d463fb7]:hover{transform:scale(1.1);box-shadow:0 0 0 2px #ff8303,0 2px 8px #ff83034d}.color-preset-btn.active[data-v-5d463fb7]{box-shadow:0 0 0 3px #ff8303,0 2px 8px #ff83034d;transform:scale(1.05)}.modal-footer[data-v-5d463fb7]{display:flex;justify-content:flex-end;gap:12px;padding:10px;border-top:1px solid #f0f0f0;background:#fff}.btn-cancel[data-v-5d463fb7],.btn-save[data-v-5d463fb7]{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-cancel[data-v-5d463fb7]{background:#fff;color:#666;border:1.5px solid #e0e0e0}.btn-cancel[data-v-5d463fb7]:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.btn-save[data-v-5d463fb7]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;box-shadow:0 1px 3px #ff830333;border:1.5px solid transparent}.btn-save[data-v-5d463fb7]:hover:not(:disabled){background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.btn-save[data-v-5d463fb7]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-delete[data-v-5d463fb7]{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;background:#ef4444;color:#fff;border:1.5px solid transparent}.btn-delete[data-v-5d463fb7]:hover:not(:disabled){background:#dc2626}.btn-delete[data-v-5d463fb7]:disabled{opacity:.6;cursor:not-allowed}.groups-mobile-cards[data-v-5d463fb7]{display:none}@media (max-width: 768px){.device-group-view[data-v-5d463fb7]{padding:10px}.device-group-header[data-v-5d463fb7]{flex-direction:column;align-items:stretch;gap:10px}.device-group-header h2[data-v-5d463fb7]{font-size:16px}.device-group-actions[data-v-5d463fb7]{display:flex;gap:8px}.device-group-actions .btn[data-v-5d463fb7]{flex:1;justify-content:center;font-size:12px;padding:7px 10px}.filters-section[data-v-5d463fb7]{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.filters-left[data-v-5d463fb7]{flex-direction:column}.filter-input[data-v-5d463fb7]{min-width:0;max-width:none;width:100%}.filters-right[data-v-5d463fb7]{justify-content:space-between;width:100%}.groups-container[data-v-5d463fb7]{display:none!important}.groups-mobile-cards[data-v-5d463fb7]{display:flex;flex-direction:column;gap:8px;padding:8px}.group-mobile-card[data-v-5d463fb7]{background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:12px;cursor:pointer;transition:box-shadow .2s,border-color .2s}.group-mobile-card[data-v-5d463fb7]:active{border-color:#ff8303;box-shadow:0 2px 8px #ff83031f}.mobile-card-top[data-v-5d463fb7]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.mobile-card-top .group-details h4[data-v-5d463fb7]{font-size:14px}.mobile-card-top .description-text[data-v-5d463fb7]{font-size:12px;color:#999;display:block;margin-top:2px}.mobile-card-meta[data-v-5d463fb7]{display:flex;gap:8px;margin-bottom:8px}.mobile-date[data-v-5d463fb7]{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#9ca3af}.mobile-card-actions[data-v-5d463fb7]{display:flex;gap:6px;padding-top:8px;border-top:1px solid #f3f4f6}.mobile-card-actions .action-btn[data-v-5d463fb7]{width:32px;height:32px}.pagination-bottom[data-v-5d463fb7]{flex-direction:column;gap:8px;align-items:center}}.admin-main[data-v-6582f6c9]{min-height:100vh;background:#f8fafc;flex:1;display:flex;flex-direction:column}.page-content[data-v-6582f6c9]{flex:1;padding:10px;margin-bottom:5px}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--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-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--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(90deg,#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-colored:#ddd}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;transform:translate3d(0,0,var(--toastify-z-index) px);width:var(--toastify-toast-width);z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translate(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translate(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translate(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px #0000001a,0 2px 15px #0000000d;box-sizing:border-box;cursor:pointer;direction:ltr;display:flex;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:var(--toastify-toast-max-height);min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px;white-space:pre-wrap}.Toastify__toast-body>div:last-child{flex:1}.Toastify__toast-icon{display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:var(--toastify-color-info);color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:var(--toastify-color-success);color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:var(--toastify-color-warning);color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:var(--toastify-color-error);color:var(--toastify-text-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--default{background:var(--toastify-color-progress-colored)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--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{background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentcolor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@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,0,0)}to{opacity:0;transform:translate3d(2000px,0,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,0,0)}to{opacity:0;transform:translate3d(-2000px,0,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,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,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,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-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--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-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__none{0%,60%,75%,90%,to{animation-duration:0;animation-timing-function:none}0%{opacity:1;transform:translateZ(0)}to{transform:translateZ(0)}}.Toastify__none-enter--bottom-center,.Toastify__none-enter--bottom-left,.Toastify__none-enter--bottom-right,.Toastify__none-enter--top-center,.Toastify__none-enter--top-left,.Toastify__none-enter--top-right{animation-name:Toastify__none}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform: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%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.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:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-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--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}
