@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-surface: #ffffff;--color-surface-raised: #f9fafb;--color-surface-overlay: #f3f4f6;--color-surface-sunken: #f3f4f6;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-border-medium: #d1d5db;--color-text-primary: #1a1a1a;--color-text-secondary: #374151;--color-text-muted: #6b7280;--color-text-subtle: #9ca3af;--color-primary: #FF8303;--color-primary-hover: #E67E00;--color-primary-bg: #FFE4CC;--color-primary-border: #FFCB94;--color-blue: #1C78E6;--color-blue-hover: #1565C0;--color-blue-bg: #E3F2FD;--color-blue-border: #BBDEFB;--color-green: #24D678;--color-green-hover: #1B8A4A;--color-green-bg: #E8F5E9;--color-green-border: #C8E6C9;--color-red: #DC2626;--color-red-hover: #991B1B;--color-red-bg: #FEE2E2;--color-red-border: #FECACA;--color-orange: #FF8303;--color-orange-hover: #E67E00;--color-orange-bg: #FFE4CC;--color-orange-border: #FFCB94;--color-purple: #A830DB;--color-purple-hover: #7B1FA2;--color-purple-bg: #F3E5F5;--color-purple-border: #E1BEE7;--color-yellow: #F59E0B;--color-yellow-bg: #FEF3C7;--color-yellow-border: #FDE68A;--color-neutral-bg: #f3f4f6;--color-neutral-text: #4b5563;--color-neutral-border: #e5e7eb;--color-input-bg: #ffffff;--color-input-border: #e0e0e0;--color-input-focus-border: #FF8303;--color-input-focus-shadow: rgba(255, 131, 3, .1);--color-input-placeholder: #9ca3af;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .12);--shadow-card: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-dropdown: 0 10px 25px rgba(0, 0, 0, .12), 0 4px 8px rgba(0, 0, 0, .08);--color-body-bg: #f3f4f6;--color-sidebar-bg: #1a2035;--color-sidebar-text: rgba(255, 255, 255, .7);--color-sidebar-text-active: #ffffff;--color-sidebar-item-hover: rgba(255, 255, 255, .08);--color-sidebar-item-active: rgba(255, 131, 3, .2);--color-sidebar-border: rgba(255, 255, 255, .1);--color-header-bg: #ffffff;--color-header-border: #f0f0f0;--color-header-shadow: 0 1px 4px rgba(0, 0, 0, .05);--color-header-icon: #555;--color-header-icon-hover-bg: #f3f4f6}[data-theme=dark]{--color-surface: #1e1e1e;--color-surface-raised: #252525;--color-surface-overlay: #2e2e2e;--color-surface-sunken: #181818;--color-border: #3a3a3a;--color-border-light: #2e2e2e;--color-border-medium: #484848;--color-text-primary: #f0f0f0;--color-text-secondary: #d1d5db;--color-text-muted: #9ca3af;--color-text-subtle: #6b7280;--color-primary: #FF8303;--color-primary-hover: #FF9933;--color-primary-bg: #2e1e0d;--color-primary-border: #3e2810;--color-blue: #4B9FFF;--color-blue-hover: #60aeff;--color-blue-bg: #1a2e4a;--color-blue-border: #1e3a5a;--color-green: #34D678;--color-green-hover: #4de890;--color-green-bg: #0d2e1a;--color-green-border: #0e3820;--color-red: #F87171;--color-red-hover: #fc8e8e;--color-red-bg: #2e0d0d;--color-red-border: #3e1010;--color-orange: #FF8303;--color-orange-hover: #FF9933;--color-orange-bg: #2e1e0d;--color-orange-border: #3e2810;--color-purple: #C77DFF;--color-purple-hover: #d498ff;--color-purple-bg: #1e0d2e;--color-purple-border: #2e1040;--color-yellow: #FBBF24;--color-yellow-bg: #2e2000;--color-yellow-border: #3e2c00;--color-neutral-bg: #2e2e2e;--color-neutral-text: #9ca3af;--color-neutral-border: #3a3a3a;--color-input-bg: #2a2a2a;--color-input-border: #444444;--color-input-focus-border: #FF8303;--color-input-focus-shadow: rgba(255, 131, 3, .15);--color-input-placeholder: #6b7280;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .5);--shadow-card: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-dropdown: 0 10px 25px rgba(0, 0, 0, .5), 0 4px 8px rgba(0, 0, 0, .3);--color-body-bg: #141414;--color-sidebar-bg: #111827;--color-sidebar-text: rgba(255, 255, 255, .6);--color-sidebar-text-active: #ffffff;--color-sidebar-item-hover: rgba(255, 255, 255, .06);--color-sidebar-item-active: rgba(255, 131, 3, .25);--color-sidebar-border: rgba(255, 255, 255, .08);--color-header-bg: #1e1e1e;--color-header-border: #2e2e2e;--color-header-shadow: 0 1px 4px rgba(0, 0, 0, .3);--color-header-icon: #9ca3af;--color-header-icon-hover-bg: #2e2e2e}*,*:before,*:after{transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}.icon-spin,.icon-pulse,.spinner-ring,[class*=animation],[class*=animate]{transition:none!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface-raised)}::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle)}::-webkit-scrollbar-corner{background:var(--color-surface-raised)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-medium) var(--color-surface-raised)}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:var(--color-blue);color:#fff;border:none;box-shadow:0 4px 6px -1px #1c78e640}.btn-primary:hover:not(:disabled){background-color:var(--color-blue-hover);box-shadow:0 10px 15px -3px #1c78e659;transform:translateY(-1px)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-raised);border-color:var(--color-border-medium);box-shadow:var(--shadow-md)}.btn-success{background-color:var(--color-green);color:#fff;border:none;box-shadow:0 4px 6px -1px #24d67840}.btn-success:hover:not(:disabled){background-color:var(--color-green-hover);box-shadow:0 10px 15px -3px #24d67859;transform:translateY(-1px)}.btn-danger{background-color:var(--color-red);color:#fff;border:none;box-shadow:0 4px 6px -1px #dc262640}.btn-danger:hover:not(:disabled){background-color:var(--color-red-hover);box-shadow:0 10px 15px -3px #dc262659;transform:translateY(-1px)}.btn-warning{background-color:var(--color-primary);color:#fff;border:none;box-shadow:0 4px 6px -1px #ff830340}.btn-warning:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:0 10px 15px -3px #ff830359;transform:translateY(-1px)}.btn-ghost{background-color:transparent;color:var(--color-text-muted);border:none}.btn-ghost:hover:not(:disabled){background-color:var(--color-neutral-bg);color:var(--color-text-secondary)}.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:var(--color-green-bg);color:var(--color-green-hover);border:1px solid var(--color-green-border)}.badge-error{background-color:var(--color-red-bg);color:var(--color-red-hover);border:1px solid var(--color-red-border)}.badge-warning{background-color:var(--color-orange-bg);color:var(--color-orange-hover);border:1px solid var(--color-orange-border)}.badge-info{background-color:var(--color-blue-bg);color:var(--color-blue-hover);border:1px solid var(--color-blue-border)}.badge-neutral{background-color:var(--color-neutral-bg);color:var(--color-neutral-text);border:1px solid var(--color-neutral-border)}.card{background:var(--color-surface);border-radius:.75rem;box-shadow:var(--shadow-card);border:1px solid var(--color-border-light);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}.sortable-th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s,background .15s}.sortable-th:hover{background:var(--color-surface-overlay);color:#ff8303!important}.sortable-th:hover .sort-icon{color:#ff8303}.sort-icon{margin-left:4px;color:var(--color-text-subtle);vertical-align:middle;transition:color .15s;flex-shrink:0}.sortable-th.is-sorted .sort-icon{color:#ff8303}.std-table{width:100%;border-collapse:collapse}.std-table thead{background:var(--color-surface-raised);border-bottom:1px solid var(--color-border-light);position:sticky;top:0;z-index:10}.std-table th{padding:9px 12px;text-align:left;font-size:13px;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.std-table td{padding:9px 12px;font-size:13px;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light)}.std-table tbody tr{transition:background .15s}.std-table tbody tr:hover{background:var(--color-surface-raised)}.std-table tbody tr:last-child td{border-bottom:none}.loading-container{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;min-height:60vh;padding:2rem;box-sizing:border-box;background:transparent}.loading-container .ov-icon{color:#ff8303}.loading-container .loading-text{color:var(--color-text-secondary)}.loading-container-sm{display:flex;flex:0 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;width:100%;min-height:auto;padding:2rem 0;box-sizing:border-box}.loading-container-lg{padding:10rem 0;min-height:60vh}.loading-container-full{position:fixed;inset:0;background:var(--color-primary-bg);z-index:9999}.loading-container-center{position:fixed;inset:0;width:100%;height:100vh;background:var(--color-surface-raised);z-index:1000}.loading-container-overlay{position:absolute;inset:0;background:#ff83031a;z-index:100}.loading-container-page-overlay{position:absolute;inset:0;background:var(--color-surface-raised);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 var(--color-primary-bg);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:var(--color-primary);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:0;color:var(--color-text-muted);font-weight:400;font-size:.875rem}.loading-text-sm{margin-top:.5rem;font-size:.75rem}.loading-text-lg{margin-top:1.5rem;font-size:1rem}.skeleton{background:var(--color-surface-overlay);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:transparent;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 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:var(--color-body-bg);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}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:var(--color-blue)}.title-xl{font-size:1.125rem;font-weight:700;color:var(--color-text-primary)}.title-lg{font-size:1rem;font-weight:700;color:var(--color-text-primary)}.title-md{font-size:.95rem;font-weight:600;color:var(--color-text-secondary)}.title-sm{font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.subtitle-base{font-size:.875rem;color:var(--color-text-muted);margin-top:.25rem}.subtitle-sm{font-size:.75rem;color:var(--color-text-subtle)}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:var(--color-surface-raised)}.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:var(--color-text-primary)}.form-control{width:100%;padding:.75rem;border:2px solid var(--color-input-border);border-radius:6px;font-size:1rem;background-color:var(--color-input-bg);color:var(--color-text-primary);transition:border-color .3s ease}.form-control:focus{outline:none;border-color:var(--color-input-focus-border);box-shadow:0 0 0 3px var(--color-input-focus-shadow)}.form-control:disabled{background-color:var(--color-surface-raised);cursor:not-allowed}.card{background:var(--color-surface);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-md);margin-bottom:1rem}.card-title{margin:0;color:var(--color-text-primary);font-size:1.25rem}.alert{padding:.75rem;border-radius:6px;margin-bottom:1rem}.alert-danger{background-color:var(--color-red-bg);color:var(--color-red-hover);border:1px solid var(--color-red-border)}.alert-success{background-color:var(--color-green-bg);color:var(--color-green-hover);border:1px solid var(--color-green-border)}.alert-info{background-color:var(--color-blue-bg);color:var(--color-blue-hover);border:1px solid var(--color-blue-border)}.section-card{background:var(--color-surface);border-radius:1rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);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:var(--color-surface);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:var(--color-green-border)}.card-up:hover{border-color:var(--color-green)}.card-down{border-color:var(--color-red-border)}.card-down:hover{border-color:var(--color-red)}.card-unknown{border-color:var(--color-border)}.card-unknown:hover{border-color:var(--color-border-medium)}.ping-container{position:relative;display:inline-flex;align-items:center;justify-content:center;width:8px;height:8px;flex-shrink:0}.ping-animation{position:absolute;inset:0;border-radius:50%;background:var(--color-green);opacity:.6;animation:pingPulse 1.5s ease-out infinite}.ping-dot{position:relative;width:6px;height:6px;border-radius:50%;background:var(--color-green);flex-shrink:0}.offline-dot{width:6px;height:6px;border-radius:50%;background:var(--color-red);flex-shrink:0}@keyframes pingPulse{0%{transform:scale(1);opacity:.6}to{transform:scale(2.2);opacity:0}}.header-left{display:flex;align-items:center;gap:.75rem}.card-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.card-details{display:flex;flex-direction:column;gap:.5rem}.detail-row{display:flex;justify-content:space-between;font-size:.75rem}.detail-key{color:var(--color-text-subtle);text-transform:capitalize}.detail-value{color:var(--color-text-muted);font-weight:500;padding:.125rem .5rem;border-radius:.25rem}.metric-title{font-size:.75rem;font-weight:500;color:var(--color-text-subtle);letter-spacing:.05em;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-card{background:var(--color-surface);border-radius:.75rem;border:1px solid var(--color-border-light);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:var(--color-border-medium)}.footer{margin-top:2rem;margin-bottom:.5rem;text-align:center;font-size:.75rem;color:var(--color-text-subtle)}.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)}}[data-theme=dark] .main-content{background:var(--color-body-bg)}: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}[data-theme=dark]{--auth-text-dark: #f0f0f0;--auth-text-medium: #9ca3af;--auth-text-light: #6b7280;--auth-border: #444444;--auth-bg-light: #2a2a2a;--auth-white: #1e1e1e}.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-terms-group{padding:12px 14px;background:var(--auth-bg-light);border:1.5px solid var(--auth-border);border-radius:10px}.terms-label{align-items:flex-start!important}.terms-label .auth-checkbox{margin-top:2px;flex-shrink:0}.terms-text{font-size:.875rem;color:var(--auth-text-medium);line-height:1.5}.terms-link{color:var(--auth-primary);text-decoration:none;font-weight:500;transition:color .2s}.terms-link:hover{color:var(--auth-primary-hover);text-decoration:underline}.auth-bottom-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:32px}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--auth-bg-light);border:1px solid var(--auth-border);border-radius:10px;color:var(--auth-text-dark);cursor:pointer;transition:all .3s;flex-shrink:0}.theme-toggle-btn:hover{background:var(--auth-primary);border-color:var(--auth-primary);color:#fff;transform:scale(1.05)}.theme-icon{width:18px;height:18px}.auth-lang-selector,.lang-popup-switch{position:relative;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-bottom-row{margin-top:24px}.auth-right-panel{display:none}}.sidebar[data-v-2fc62e3a]{width:200px;height:calc(100vh - 30px);background:var(--color-surface);color:var(--color-text-primary);display:flex;flex-direction:column;position:fixed;z-index:100;box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:width .3s ease;border-radius:10px;margin:15px;overflow:hidden}.sidebar.collapsed[data-v-2fc62e3a]{width:60px;overflow:visible}.sidebar.collapsed .sidebar-nav[data-v-2fc62e3a]{overflow:visible}.sidebar-logo[data-v-2fc62e3a]{display:flex;align-items:center;justify-content:center;padding:16px 12px;border-bottom:1px solid var(--color-border);transition:all .3s ease;min-height:70px;position:relative;z-index:102}.logo-img[data-v-2fc62e3a]{width:80%;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.menu-btn[data-v-2fc62e3a]{background:var(--color-surface-overlay);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-2fc62e3a]:hover{background:#ff8303;transform:scale(1.05)}.menu-btn:hover .menu-icon[data-v-2fc62e3a]{color:#fff}.menu-icon[data-v-2fc62e3a]{width:20px;height:20px;color:var(--color-text-muted);transition:all .3s ease}.sidebar-nav[data-v-2fc62e3a]{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:60px;margin-top:0;position:relative;z-index:1}.nav-section[data-v-2fc62e3a]{padding:0}.nav-item[data-v-2fc62e3a],.nav-group-header[data-v-2fc62e3a]{display:flex;align-items:center;gap:12px;padding:8px;color:var(--color-text-secondary);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-2fc62e3a],.sidebar.collapsed .nav-group-header[data-v-2fc62e3a]{gap:12px;padding:8px;justify-content:center}.nav-item[data-v-2fc62e3a]:hover,.nav-group-header[data-v-2fc62e3a]:hover{background:var(--color-surface-overlay)}.sidebar.collapsed .nav-item[data-v-2fc62e3a]:hover,.sidebar.collapsed .nav-group-header[data-v-2fc62e3a]:hover{transform:none}.icon-wrapper[data-v-2fc62e3a]{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-2fc62e3a]{color:#3867d6;transition:color .3s ease}.nav-item-summary:hover .nav-icon[data-v-2fc62e3a]{color:#2c53b5}.nav-item-scada .nav-icon[data-v-2fc62e3a]{color:#a55eea;transition:color .3s ease}.nav-item-scada:hover .nav-icon[data-v-2fc62e3a]{color:#8e44d8}.nav-item-devices .nav-icon[data-v-2fc62e3a]{color:#2bcbba;transition:color .3s ease}.nav-item-devices:hover .nav-icon[data-v-2fc62e3a]{color:#0fb9b1}.nav-item-tasks .nav-icon[data-v-2fc62e3a]{color:#3867d6;transition:color .3s ease}.nav-item-tasks:hover .nav-icon[data-v-2fc62e3a]{color:#2c53b5}.nav-item-alarm .nav-icon[data-v-2fc62e3a]{color:#fc5c65;transition:color .3s ease}.nav-item-alarm:hover .nav-icon[data-v-2fc62e3a]{color:#eb3b5a}.nav-item-settings .nav-icon[data-v-2fc62e3a]{color:#fd9644;transition:color .3s ease}.nav-item-settings:hover .nav-icon[data-v-2fc62e3a]{color:#fa8231}.nav-item.active .icon-wrapper[data-v-2fc62e3a]{background:#ff8303;border:3px solid #FF8303;box-shadow:0 4px 12px #ff83034d}.nav-item.active .nav-icon[data-v-2fc62e3a]{color:#fff!important}.nav-item.active[data-v-2fc62e3a]{color:var(--color-text-primary)}.nav-item:hover .icon-wrapper[data-v-2fc62e3a],.nav-group-header:hover .icon-wrapper[data-v-2fc62e3a]{transform:scale(1.1)}.nav-icon[data-v-2fc62e3a]{width:22px;height:22px;transition:color .3s ease;flex-shrink:0}.nav-text[data-v-2fc62e3a]{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;display:flex;align-items:center}.nav-arrow[data-v-2fc62e3a]{width:16px;height:16px;opacity:.7;color:var(--color-text-muted);transition:transform .3s,color .3s;flex-shrink:0}.nav-group[data-v-2fc62e3a]{margin-bottom:4px;position:relative}.nav-flyout[data-v-2fc62e3a]{position:absolute;left:calc(100% + 8px);top:0;min-width:185px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:6px 0;box-shadow:0 8px 24px #00000026,0 2px 8px #00000014;z-index:9999}.nav-flyout-title[data-v-2fc62e3a]{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--color-text-muted);padding:6px 14px 8px;border-bottom:1px solid var(--color-border-light);margin-bottom:4px;white-space:nowrap}.nav-flyout-item[data-v-2fc62e3a]{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;font-size:13px;font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.nav-flyout-item[data-v-2fc62e3a]:hover,.nav-flyout-item.active[data-v-2fc62e3a]{background:var(--color-surface-overlay);color:#ff8303}.flyout-badge[data-v-2fc62e3a]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;border-radius:5px}.flyout-count[data-v-2fc62e3a]{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;border-radius:5px}.nav-sub-menu[data-v-2fc62e3a]{padding-left:38px;display:flex;flex-direction:column;gap:2px}.nav-sub-item[data-v-2fc62e3a]{display:flex;align-items:center;justify-content:space-between;color:var(--color-text-secondary);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-2fc62e3a]:hover,.nav-sub-item.active[data-v-2fc62e3a]{background:var(--color-surface-overlay);color:var(--color-primary)}.sidebar.collapsed .nav-sub-menu[data-v-2fc62e3a]{display:none}.sidebar-footer[data-v-2fc62e3a]{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;display:flex;justify-content:flex-end;align-items:center;z-index:101}.sidebar.collapsed .sidebar-footer[data-v-2fc62e3a]{padding:8px 4px;justify-content:center}.nav-item-support .nav-icon[data-v-2fc62e3a]{color:#0068ff;transition:color .3s ease}.nav-item-support:hover .nav-icon[data-v-2fc62e3a]{color:#0052cc}.nav-item-support:hover .icon-wrapper[data-v-2fc62e3a]{transform:scale(1.1)}.toggle-btn[data-v-2fc62e3a]{background:var(--color-surface-overlay);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-2fc62e3a]:hover{background:#ff8303;transform:scale(1.05)}.toggle-btn:hover .toggle-icon[data-v-2fc62e3a]{color:#fff}.toggle-icon[data-v-2fc62e3a]{width:20px;height:20px;color:var(--color-text-muted);transition:all .3s ease}.badge[data-v-2fc62e3a]{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-2fc62e3a]{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-2fc62e3a]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-2fc62e3a]::-webkit-scrollbar-track{background:var(--color-surface-raised)}.sidebar-nav[data-v-2fc62e3a]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.sidebar-nav[data-v-2fc62e3a]::-webkit-scrollbar-thumb:hover{background:var(--color-border-medium)}@media (max-width: 768px){.sidebar[data-v-2fc62e3a],.sidebar-footer[data-v-2fc62e3a],.toggle-btn[data-v-2fc62e3a]{display:none!important}}.sidebar.collapsed .nav-group-header.flyout-active[data-v-2fc62e3a]{background:var(--color-surface-overlay)}.sidebar.collapsed .nav-group-header.flyout-active .icon-wrapper[data-v-2fc62e3a]{background:#ff8303;border-color:#ff8303;box-shadow:0 4px 12px #ff83034d;transform:scale(1.1)}.sidebar.collapsed .nav-group-header.flyout-active .nav-icon[data-v-2fc62e3a]{color:#fff!important}[data-theme=dark] .sidebar[data-v-2fc62e3a]{border-color:transparent}.app-header[data-v-44bb7e85]{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-44bb7e85]{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);box-shadow:0 4px 20px #00000014;padding:10px 20px}.header-left[data-v-44bb7e85]{display:flex;align-items:center;gap:12px;transition:all .3s ease}.page-title-wrapper[data-v-44bb7e85]{display:flex;align-items:center;gap:8px;transition:all .3s ease}.page-icon[data-v-44bb7e85]{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-44bb7e85]{width:40px;height:40px;border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-md);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--color-text-muted)}.back-btn[data-v-44bb7e85]:hover{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;transform:translate(-2px);box-shadow:0 4px 12px #ff83034d}.page-title[data-v-44bb7e85]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0;transition:all .3s ease;white-space:nowrap}.sidebar-toggle[data-v-44bb7e85]{background:var(--color-surface-raised);border:1px solid var(--color-border);padding:10px;cursor:pointer;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--color-text-muted);width:40px;height:40px}.sidebar-toggle[data-v-44bb7e85]:hover{background:var(--color-surface-overlay);border-color:var(--color-border-medium);color:var(--color-blue)}.sidebar-toggle-icon[data-v-44bb7e85]{width:20px;height:20px}.header-logo[data-v-44bb7e85]{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-44bb7e85]{width:20px;height:20px;color:#fff}.logo-text[data-v-44bb7e85]{font-size:16px;font-weight:700;color:#fff}.header-center[data-v-44bb7e85]{flex:1;max-width:500px;margin:0 20px}.search-box[data-v-44bb7e85]{position:relative;width:100%}.search-icon[data-v-44bb7e85]{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-subtle);pointer-events:none}.search-input[data-v-44bb7e85]{padding:10px 16px 10px 42px;border:1px solid var(--color-input-border);border-radius:12px;background:var(--color-input-bg);font-size:14px;color:var(--color-text-primary);outline:none;transition:all .2s ease}.search-input[data-v-44bb7e85]::-moz-placeholder{color:var(--color-input-placeholder)}.search-input[data-v-44bb7e85]::placeholder{color:var(--color-input-placeholder)}.search-input[data-v-44bb7e85]:focus{background:var(--color-surface);border-color:var(--color-blue);box-shadow:0 0 0 3px #3b82f61a}.header-right[data-v-44bb7e85]{display:flex;align-items:center;gap:12px}.header-nav[data-v-44bb7e85]{display:flex;align-items:center;gap:8px}.nav-link-round[data-v-44bb7e85]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-text-muted);text-decoration:none;background:var(--color-surface);box-shadow:var(--shadow-md);border:1px solid var(--color-border);border-radius:12px;transition:all .2s ease}.nav-link-round[data-v-44bb7e85]:hover{color:#fff;background:#e67e00;transform:translateY(-2px)}.lang-label[data-v-44bb7e85]{font-size:11px;font-weight:700;letter-spacing:.5px}.user-menu[data-v-44bb7e85]{position:relative}.user-avatar-wrapper[data-v-44bb7e85]{height:40px;display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow-md);border:1px solid var(--color-border);cursor:pointer;transition:all .2s ease}.user-avatar-wrapper[data-v-44bb7e85]: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-44bb7e85]{color:#fff}.user-avatar[data-v-44bb7e85]{width:32px;height:32px;border-radius:50%;overflow:hidden;border:2px solid white;box-shadow:var(--shadow-md);flex-shrink:0;transition:all .2s ease}.user-avatar img[data-v-44bb7e85]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.user-info-header[data-v-44bb7e85]{display:flex;flex-direction:column;gap:2px}.user-name-header[data-v-44bb7e85]{font-size:13px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;transition:color .2s ease}.user-dropdown[data-v-44bb7e85]{position:absolute;top:calc(100% + 10px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-dropdown);min-width:220px;z-index:1000;overflow:hidden}.user-info[data-v-44bb7e85]{padding:16px;background:linear-gradient(135deg,#1c78e60d,#a830db0d);border-bottom:1px solid var(--color-border)}.user-name[data-v-44bb7e85]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.user-email[data-v-44bb7e85]{font-size:12px;color:var(--color-text-muted)}.user-dropdown hr[data-v-44bb7e85]{margin:0;border:none;border-top:1px solid var(--color-border)}.dropdown-item[data-v-44bb7e85]{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;color:var(--color-text-primary);text-decoration:none;font-size:14px;border:none;background:none;text-align:left;cursor:pointer;transition:all .2s ease}.dropdown-item[data-v-44bb7e85]:hover{background:var(--color-surface-raised);padding-left:20px}.dropdown-item.logout[data-v-44bb7e85]{color:#ef4444}.dropdown-item.logout[data-v-44bb7e85]:hover{background:var(--color-red-bg);color:var(--color-red)}.dropdown-icon[data-v-44bb7e85]{width:16px;height:16px;flex-shrink:0}@media (max-width: 768px){.app-header[data-v-44bb7e85]{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-44bb7e85]{display:flex;width:32px;height:32px;padding:0;background:#ffffffd9;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 4px #00000014;color:var(--color-text-primary);align-items:center;justify-content:center;flex-shrink:0}.page-title[data-v-44bb7e85]{font-size:15px}.page-icon[data-v-44bb7e85]{width:32px;height:32px}.header-center[data-v-44bb7e85]{display:none}.header-nav .nav-link-round[data-v-44bb7e85]:nth-child(2),.header-nav .nav-link-round[data-v-44bb7e85]:nth-child(3){display:none}.user-info-header[data-v-44bb7e85]{display:none}.user-avatar-wrapper[data-v-44bb7e85]{padding:4px}}[data-theme=dark] .app-header.scrolled[data-v-44bb7e85]{background:#1e1e1eeb;border-color:var(--color-border);box-shadow:0 4px 20px #00000059}.sidebar[data-v-b3153773]{width:200px;height:calc(100vh - 30px);background:var(--color-surface);color:var(--color-text-primary);display:flex;flex-direction:column;position:fixed;z-index:100;box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:width .3s ease;border-radius:10px;margin:15px;overflow:hidden}.sidebar-logo[data-v-b3153773]{display:flex;align-items:center;justify-content:center;padding:16px 12px;border-bottom:1px solid var(--color-border);transition:all .3s ease;min-height:70px;position:relative;z-index:102}.logo-img[data-v-b3153773]{width:80%;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.menu-btn[data-v-b3153773]{background:var(--color-surface-overlay);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-b3153773]:hover{background:#ff8303;transform:scale(1.05)}.menu-btn:hover .menu-icon[data-v-b3153773]{color:#fff}.menu-icon[data-v-b3153773]{width:20px;height:20px;color:var(--color-text-muted);transition:all .3s ease}.sidebar.collapsed[data-v-b3153773]{width:60px;overflow:visible}.sidebar.collapsed .sidebar-nav[data-v-b3153773]{overflow:visible}.sidebar-nav[data-v-b3153773]{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:60px;margin-top:0;position:relative;z-index:1}.nav-section[data-v-b3153773]{padding:0}.nav-item[data-v-b3153773],.nav-group-header[data-v-b3153773]{display:flex;align-items:center;gap:12px;padding:8px;color:var(--color-text-secondary);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-b3153773],.sidebar.collapsed .nav-group-header[data-v-b3153773]{gap:12px;padding:8px;justify-content:center}.nav-item[data-v-b3153773]:hover,.nav-group-header[data-v-b3153773]:hover{background:var(--color-surface-overlay)}.sidebar.collapsed .nav-item[data-v-b3153773]:hover,.sidebar.collapsed .nav-group-header[data-v-b3153773]:hover{transform:none}.sidebar.collapsed .nav-group-header.flyout-active[data-v-b3153773]{background:var(--color-surface-overlay)}.sidebar.collapsed .nav-group-header.flyout-active .icon-wrapper[data-v-b3153773]{background:#fd9644;border-color:#fd9644;box-shadow:0 4px 12px #fd96444d;transform:scale(1.1)}.sidebar.collapsed .nav-group-header.flyout-active .nav-icon[data-v-b3153773]{color:#fff!important}.icon-wrapper[data-v-b3153773]{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-b3153773]{color:#3867d6;transition:color .3s ease}.nav-item-dashboard:hover .nav-icon[data-v-b3153773]{color:#2c53b5}.nav-item-users .nav-icon[data-v-b3153773]{color:#2bcbba;transition:color .3s ease}.nav-item-users:hover .nav-icon[data-v-b3153773]{color:#0fb9b1}.nav-item-devices .nav-icon[data-v-b3153773]{color:#a55eea;transition:color .3s ease}.nav-item-devices:hover .nav-icon[data-v-b3153773]{color:#8e44d8}.nav-item-monitoring .nav-icon[data-v-b3153773]{color:#fd9644;transition:color .3s ease}.nav-item-monitoring:hover .nav-icon[data-v-b3153773]{color:#fa8231}.nav-item-storage .nav-icon[data-v-b3153773]{color:#20bf6b;transition:color .3s ease}.nav-item-storage:hover .nav-icon[data-v-b3153773]{color:#0a9e53}.nav-item-notifications .nav-icon[data-v-b3153773]{color:#fc5c65;transition:color .3s ease}.nav-item-notifications:hover .nav-icon[data-v-b3153773]{color:#eb3b5a}.nav-item-tracking .nav-icon[data-v-b3153773]{color:#45aaf2;transition:color .3s ease}.nav-item-tracking:hover .nav-icon[data-v-b3153773]{color:#2d98da}.nav-item-settings .nav-icon[data-v-b3153773]{color:#5f7fe6;transition:color .3s ease}.nav-item-settings:hover .nav-icon[data-v-b3153773]{color:#3867d6}.nav-item.active .icon-wrapper[data-v-b3153773]{background:#fd9644;border:3px solid #fd9644;box-shadow:0 4px 12px #fd96444d}.nav-item.active .nav-icon[data-v-b3153773]{color:#fff!important}.nav-item.active[data-v-b3153773]{color:var(--color-text-primary)}.nav-item:hover .icon-wrapper[data-v-b3153773],.nav-group-header:hover .icon-wrapper[data-v-b3153773]{transform:scale(1.1)}.nav-icon[data-v-b3153773]{width:22px;height:22px;transition:color .3s ease;flex-shrink:0}.nav-text[data-v-b3153773]{flex:1;font-weight:500;white-space:nowrap;overflow:hidden}.nav-arrow[data-v-b3153773]{width:16px;height:16px;opacity:.7;color:var(--color-text-muted);transition:transform .3s,color .3s;flex-shrink:0}.nav-group[data-v-b3153773]{margin-bottom:4px;position:relative}.nav-flyout[data-v-b3153773]{position:absolute;left:calc(100% + 8px);top:0;min-width:185px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:6px 0;box-shadow:0 8px 24px #00000026,0 2px 8px #00000014;z-index:9999}.nav-flyout-title[data-v-b3153773]{font-size:11px;font-weight:700;color:var(--color-text-muted);padding:6px 14px 8px;border-bottom:1px solid var(--color-border-light);margin-bottom:4px;white-space:nowrap}.nav-flyout-item[data-v-b3153773]{display:block;padding:9px 16px;font-size:13px;font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.nav-flyout-item[data-v-b3153773]:hover,.nav-flyout-item.active[data-v-b3153773]{background:var(--color-surface-overlay);color:#fd9644}.nav-sub-menu[data-v-b3153773]{padding-left:38px;display:flex;flex-direction:column;gap:2px}.nav-sub-item[data-v-b3153773]{display:flex;align-items:center;color:var(--color-text-secondary);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-b3153773]:hover,.nav-sub-item.active[data-v-b3153773]{background:var(--color-surface-overlay);color:var(--color-blue)}.sidebar.collapsed .nav-sub-menu[data-v-b3153773]{display:none}.sidebar-footer[data-v-b3153773]{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;display:flex;justify-content:flex-end;align-items:center;z-index:101}.sidebar.collapsed .sidebar-footer[data-v-b3153773]{padding:8px 4px;justify-content:center}.toggle-btn[data-v-b3153773]{background:var(--color-surface-overlay);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-b3153773]:hover{background:#ff8303;transform:scale(1.05)}.toggle-btn:hover .toggle-icon[data-v-b3153773]{color:#fff}.toggle-icon[data-v-b3153773]{width:20px;height:20px;color:var(--color-text-muted);transition:all .3s ease}.sidebar-nav[data-v-b3153773]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-b3153773]::-webkit-scrollbar-track{background:var(--color-surface-raised)}.sidebar-nav[data-v-b3153773]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.sidebar-nav[data-v-b3153773]::-webkit-scrollbar-thumb:hover{background:var(--color-border-medium)}@media (max-width: 768px){.sidebar[data-v-b3153773],.sidebar-footer[data-v-b3153773]{display:none!important}}[data-theme=dark] .sidebar[data-v-b3153773]{border-color:transparent}.admin-mobile-fab[data-v-bb1742db],.admin-mobile-overlay[data-v-bb1742db],.admin-mobile-drawer[data-v-bb1742db]{display:none}@media (max-width: 768px){.admin-mobile-fab[data-v-bb1742db]{display:flex;align-items:center;justify-content:center;position:fixed;bottom:20px;left:20px;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#fd9644,#fa8231);border:none;cursor:pointer;z-index:1000;box-shadow:0 4px 16px #fd964473;transition:transform .2s ease,box-shadow .2s ease}.admin-mobile-fab[data-v-bb1742db]:active{transform:scale(.92);box-shadow:0 2px 8px #fd96444d}.admin-mobile-overlay[data-v-bb1742db]{display:block;position:fixed;inset:0;background:#00000073;z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-mobile-drawer[data-v-bb1742db]{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:280px;height:100dvh;background:var(--color-surface);z-index:1200;overflow-y:auto;box-shadow:4px 0 24px #00000026}.drawer-header[data-v-bb1742db]{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--color-border);background:var(--color-surface-raised)}.drawer-logo[data-v-bb1742db]{height:36px;-o-object-fit:contain;object-fit:contain}.drawer-close[data-v-bb1742db]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--color-surface-overlay);border-radius:8px;cursor:pointer;color:var(--color-text-muted);transition:background .15s}.drawer-close[data-v-bb1742db]:hover{background:var(--color-border)}.drawer-nav[data-v-bb1742db]{flex:1;padding:8px 0;overflow-y:auto}.drawer-item[data-v-bb1742db]{display:flex;align-items:center;gap:12px;padding:11px 16px;color:var(--color-text-secondary);text-decoration:none;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s;border-radius:0}.drawer-item[data-v-bb1742db]:hover{background:var(--color-surface-raised)}.drawer-item.active[data-v-bb1742db]{background:var(--color-primary-bg);color:var(--color-primary-hover)}.drawer-item.active .drawer-icon-wrap[data-v-bb1742db]{background:#fd9644;color:#fff}.drawer-icon-wrap[data-v-bb1742db]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-overlay);color:var(--color-text-muted);flex-shrink:0;transition:all .2s}.drawer-item-dashboard .drawer-icon-wrap[data-v-bb1742db]{color:#3867d6;background:#e8eefe}.drawer-item-users .drawer-icon-wrap[data-v-bb1742db]{color:#2bcbba;background:#e0faf8}.drawer-item-devices .drawer-icon-wrap[data-v-bb1742db]{color:#a55eea;background:#f3e8fe}.drawer-item-monitoring .drawer-icon-wrap[data-v-bb1742db]{color:#fd9644;background:#fff0e0}.drawer-item-storage .drawer-icon-wrap[data-v-bb1742db]{color:#20bf6b;background:#e0faf0}.drawer-item-notifications .drawer-icon-wrap[data-v-bb1742db]{color:#fc5c65;background:#fee8ea}.drawer-item-tracking .drawer-icon-wrap[data-v-bb1742db]{color:#20bf6b;background:#e0faf0}.drawer-item-settings .drawer-icon-wrap[data-v-bb1742db]{color:#5f7fe6;background:#edf0ff}.chevron[data-v-bb1742db]{margin-left:auto;color:var(--color-text-subtle);transition:transform .2s}.chevron.open[data-v-bb1742db]{transform:rotate(180deg)}.drawer-sub[data-v-bb1742db]{background:var(--color-surface-raised);border-left:3px solid var(--color-border);margin-left:16px}.drawer-sub-item[data-v-bb1742db]{display:block;padding:10px 16px;color:var(--color-text-muted);text-decoration:none;font-size:13px;transition:color .15s,background .15s}.drawer-sub-item[data-v-bb1742db]:hover{color:var(--color-primary-hover);background:var(--color-primary-bg)}.drawer-sub-item.active[data-v-bb1742db]{color:var(--color-primary);font-weight:600;background:var(--color-primary-bg)}.drawer-footer[data-v-bb1742db]{padding:12px 16px;border-top:1px solid var(--color-border)}.drawer-logout[data-v-bb1742db]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:var(--color-red-bg);color:var(--color-red);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.drawer-logout[data-v-bb1742db]:hover{background:var(--color-red-border)}}.fade-enter-active[data-v-bb1742db],.fade-leave-active[data-v-bb1742db]{transition:opacity .25s ease}.fade-enter-from[data-v-bb1742db],.fade-leave-to[data-v-bb1742db]{opacity:0}.slide-enter-active[data-v-bb1742db],.slide-leave-active[data-v-bb1742db]{transition:transform .28s cubic-bezier(.4,0,.2,1)}.slide-enter-from[data-v-bb1742db],.slide-leave-to[data-v-bb1742db]{transform:translate(-100%)}.submenu-enter-active[data-v-bb1742db],.submenu-leave-active[data-v-bb1742db]{transition:all .2s ease;overflow:hidden}.submenu-enter-from[data-v-bb1742db],.submenu-leave-to[data-v-bb1742db]{max-height:0;opacity:0}.submenu-enter-to[data-v-bb1742db],.submenu-leave-from[data-v-bb1742db]{max-height:200px;opacity:1}[data-theme=dark] .drawer-item-dashboard .drawer-icon-wrap[data-v-bb1742db]{background:#3867d633}[data-theme=dark] .drawer-item-users .drawer-icon-wrap[data-v-bb1742db]{background:#2bcbba33}[data-theme=dark] .drawer-item-devices .drawer-icon-wrap[data-v-bb1742db]{background:#a55eea33}[data-theme=dark] .drawer-item-storage .drawer-icon-wrap[data-v-bb1742db]{background:#20bf6b33}[data-theme=dark] .drawer-item-notifications .drawer-icon-wrap[data-v-bb1742db]{background:#fc5c6533}[data-theme=dark] .drawer-item-tracking .drawer-icon-wrap[data-v-bb1742db]{background:#20bf6b33}.mobile-overlay[data-v-912c5b99]{position:fixed;inset:0;background:#00000080;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-drawer[data-v-912c5b99]{position:fixed;top:0;left:0;width:280px;height:100vh;background:var(--color-surface);z-index:1001;display:flex;flex-direction:column;box-shadow:4px 0 24px #00000026;overflow-y:auto}.drawer-header[data-v-912c5b99]{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.drawer-logo[data-v-912c5b99]{height:48px;-o-object-fit:contain;object-fit:contain}.drawer-close[data-v-912c5b99]{width:36px;height:36px;border:none;background:var(--color-surface-overlay);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-muted);transition:all .2s}.drawer-close[data-v-912c5b99]:hover{background:var(--color-red-bg);color:var(--color-red)}.drawer-nav[data-v-912c5b99]{flex:1;padding:12px 0;overflow-y:auto}.drawer-item[data-v-912c5b99]{display:flex;align-items:center;gap:14px;padding:5px 10px;color:var(--color-text-secondary);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-912c5b99]:hover{background:var(--color-surface-raised)}.drawer-item.active[data-v-912c5b99]{background:var(--color-primary-bg);color:var(--color-primary);font-weight:600}.drawer-item.active .drawer-icon-wrap[data-v-912c5b99]{background:#ff8303;color:#fff}.drawer-icon-wrap[data-v-912c5b99]{width:38px;height:38px;border-radius:10px;background:var(--color-surface-overlay);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.drawer-item-summary .drawer-icon-wrap[data-v-912c5b99]{color:#3867d6}.drawer-item-scada .drawer-icon-wrap[data-v-912c5b99]{color:#a55eea}.drawer-item-devices .drawer-icon-wrap[data-v-912c5b99]{color:#2bcbba}.drawer-item-alarm .drawer-icon-wrap[data-v-912c5b99]{color:#fc5c65}.drawer-item-settings .drawer-icon-wrap[data-v-912c5b99]{color:#fd9644}.drawer-item-support .drawer-icon-wrap[data-v-912c5b99]{color:#0068ff}.drawer-group-header[data-v-912c5b99]{justify-content:flex-start}.chevron[data-v-912c5b99]{margin-left:auto;color:var(--color-text-subtle);transition:transform .2s}.chevron.open[data-v-912c5b99]{transform:rotate(180deg)}.drawer-sub[data-v-912c5b99]{padding:4px 0 4px 72px;background:var(--color-surface-raised)}.drawer-sub-item[data-v-912c5b99]{display:flex;align-items:center;justify-content:space-between;padding:5px 10px 5px 0;color:var(--color-text-muted);font-size:14px;text-decoration:none;border-radius:6px;transition:color .2s}.drawer-sub-item[data-v-912c5b99]:hover{color:#ff8303}.drawer-sub-item.active[data-v-912c5b99]{color:#ff8303;font-weight:600}.badge[data-v-912c5b99]{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-912c5b99]{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-912c5b99],.fade-leave-active[data-v-912c5b99]{transition:opacity .25s ease}.fade-enter-from[data-v-912c5b99],.fade-leave-to[data-v-912c5b99]{opacity:0}.slide-enter-active[data-v-912c5b99],.slide-leave-active[data-v-912c5b99]{transition:transform .28s ease}.slide-enter-from[data-v-912c5b99],.slide-leave-to[data-v-912c5b99]{transform:translate(-100%)}.submenu-enter-active[data-v-912c5b99],.submenu-leave-active[data-v-912c5b99]{transition:all .2s ease;overflow:hidden}.submenu-enter-from[data-v-912c5b99],.submenu-leave-to[data-v-912c5b99]{max-height:0;opacity:0}.submenu-enter-to[data-v-912c5b99],.submenu-leave-from[data-v-912c5b99]{max-height:200px;opacity:1}.modal-fade-enter-active[data-v-ef4ced76],.modal-fade-leave-active[data-v-ef4ced76]{transition:opacity .2s ease}.modal-fade-enter-from[data-v-ef4ced76],.modal-fade-leave-to[data-v-ef4ced76]{opacity:0}.modal-fade-enter-active .modal-container[data-v-ef4ced76],.modal-fade-leave-active .modal-container[data-v-ef4ced76]{transition:transform .2s ease}.modal-fade-enter-from .modal-container[data-v-ef4ced76],.modal-fade-leave-to .modal-container[data-v-ef4ced76]{transform:scale(.95)}.confirm-dialog-overlay[data-v-ef4ced76]{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100000}.modal-container[data-v-ef4ced76]{background:var(--color-surface);border-radius:12px;width:100%;max-width:420px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #00000040}.modal-header[data-v-ef4ced76]{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-raised)}.modal-title-section[data-v-ef4ced76]{display:flex;align-items:center;gap:10px}.modal-icon[data-v-ef4ced76]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;background:linear-gradient(135deg,#ff8303,#e67e00);box-shadow:0 2px 6px #ff83034d}.modal-icon.is-alert[data-v-ef4ced76]{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 6px #f59e0b4d}.modal-header h3[data-v-ef4ced76]{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary)}.modal-body[data-v-ef4ced76]{padding:18px 16px}.confirm-dialog-message[data-v-ef4ced76]{margin:0;font-size:13px;line-height:1.55;color:var(--color-text-primary);white-space:pre-line;word-break:break-word}.modal-footer[data-v-ef4ced76]{display:flex;justify-content:flex-end;gap:8px;padding:11px 16px;border-top:1px solid var(--color-border-light)}.btn-cancel[data-v-ef4ced76]{padding:7px 16px;border:1.5px solid var(--color-border);border-radius:7px;font-size:12px;font-weight:500;cursor:pointer;background:var(--color-surface);color:var(--color-text-muted)}.btn-cancel[data-v-ef4ced76]:hover{background:var(--color-surface-overlay)}.btn-save[data-v-ef4ced76]{display:flex;align-items:center;gap:5px;padding:7px 16px;border:none;border-radius:7px;font-size:12px;font-weight:500;cursor:pointer;color:#fff;background:linear-gradient(135deg,#ff8303,#e67e00)}.btn-save[data-v-ef4ced76]:hover{filter:brightness(1.05)}.device-status-options[data-v-19702f9f]{padding:12px;background:transparent;font-size:13px}.group-title[data-v-19702f9f]{font-size:13px;font-weight:600;color:#f1f5f9;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #334155}.group-desc[data-v-19702f9f]{margin:-4px 0 14px;font-size:13px;color:var(--color-text-muted)}.options-section[data-v-19702f9f]{margin-bottom:16px;padding:12px;background:#27323d;border:1px solid #384554;border-radius:4px}.section-head[data-v-19702f9f]{display:flex;align-items:center;gap:8px;margin:-12px -12px 12px;padding:10px 12px;border-bottom:1px solid #334155;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.section-head[data-v-19702f9f]:hover{background:#14202e;border-radius:4px 4px 0 0}.options-section.section-collapsed[data-v-19702f9f]{padding-bottom:0}.options-section.section-collapsed .section-head[data-v-19702f9f]{margin-bottom:0;border-bottom:none}.options-section.section-collapsed .section-head[data-v-19702f9f]:hover{border-radius:4px}.section-head-icon[data-v-19702f9f]{color:#60a5fa;flex-shrink:0}.section-head-title[data-v-19702f9f]{flex:1;font-size:13px;font-weight:600;color:#f1f5f9}.section-head-chevron[data-v-19702f9f]{color:var(--color-text-muted);flex-shrink:0}.section-body[data-v-19702f9f]{display:flex;flex-direction:column;gap:12px}.option-group[data-v-19702f9f]{display:flex;flex-direction:column;gap:4px}.option-label[data-v-19702f9f]{font-size:13px;font-weight:500;color:var(--color-text-subtle);display:block}.checkbox-label-inline[data-v-19702f9f]{display:flex;align-items:center;gap:8px;cursor:pointer}.input-field[data-v-19702f9f]{width:100%;padding:6px 8px;border:1px solid #384554;border-radius:3px;font-size:13px;background:#1b242d;color:#e2e8f0;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.input-field[data-v-19702f9f]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.color-picker-row[data-v-19702f9f]{display:flex;align-items:center;gap:8px}.color-input[data-v-19702f9f]{width:36px;height:32px;flex-shrink:0;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-19702f9f]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-input[data-v-19702f9f]::-webkit-color-swatch{border:none;border-radius:4px}.color-input[data-v-19702f9f]::-moz-color-swatch{border:none;border-radius:4px}.color-text-input[data-v-19702f9f]{flex:1;min-width:0}input[type=checkbox][data-v-19702f9f]{width:16px;height:16px;cursor:pointer;accent-color:#FF8303}.device-status-widget[data-v-60a203eb]{display:flex;flex-direction:column;height:100%;background:var(--color-surface);border-radius:8px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.widget-header[data-v-60a203eb]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.header-left[data-v-60a203eb]{display:flex;align-items:center;gap:8px}.header-icon[data-v-60a203eb]{color:#22c55e}.header-title[data-v-60a203eb]{font-size:13px;font-weight:600;color:var(--color-text-primary)}.header-right[data-v-60a203eb]{display:flex;align-items:center;gap:8px}.online-badge[data-v-60a203eb]{background:#22c55e33;color:#22c55e;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.refresh-btn[data-v-60a203eb]{background:var(--color-surface-overlay);border:none;color:var(--color-text-secondary);width:24px;height:24px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.refresh-btn[data-v-60a203eb]:hover{background:var(--color-border)}.refresh-btn[data-v-60a203eb]:disabled{opacity:.5;cursor:not-allowed}.device-list[data-v-60a203eb]{flex:1;overflow-y:auto;padding:8px}.state-empty[data-v-60a203eb]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--color-text-subtle);font-size:12px}.device-item[data-v-60a203eb]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;margin-bottom:4px;background:var(--color-surface-raised);transition:background .15s}.device-item[data-v-60a203eb]:hover{background:var(--color-surface-overlay)}.device-item.is-online[data-v-60a203eb]{background:var(--color-green-bg)}.status-dot[data-v-60a203eb]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.online[data-v-60a203eb]{background:#22c55e;box-shadow:0 0 6px #22c55e80}.status-dot.offline[data-v-60a203eb]{background:#ef4444}.device-name[data-v-60a203eb]{flex:1;font-size:12px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-online[data-v-60a203eb]{color:#22c55e}.icon-offline[data-v-60a203eb]{color:#ef4444}.widget-footer[data-v-60a203eb]{padding:8px 12px;border-top:1px solid var(--color-border);text-align:center}.more-text[data-v-60a203eb]{font-size:11px;color:var(--color-text-muted)}.animate-spin[data-v-60a203eb]{animation:spin-60a203eb 1s linear infinite}@keyframes spin-60a203eb{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.unified-alarm-options[data-v-704b8568]{padding:12px;background:transparent;font-size:13px}.group-title[data-v-704b8568]{font-size:13px;font-weight:600;color:#f1f5f9;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #334155}.group-desc[data-v-704b8568]{margin:-4px 0 14px;font-size:13px;color:var(--color-text-muted)}.options-section[data-v-704b8568]{margin-bottom:16px;padding:12px;background:#27323d;border:1px solid #384554;border-radius:4px}.section-head[data-v-704b8568]{display:flex;align-items:center;gap:8px;margin:-12px -12px 12px;padding:10px 12px;border-bottom:1px solid #334155;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.section-head[data-v-704b8568]:hover{background:#14202e;border-radius:4px 4px 0 0}.options-section.section-collapsed[data-v-704b8568]{padding-bottom:0}.options-section.section-collapsed .section-head[data-v-704b8568]{margin-bottom:0;border-bottom:none}.options-section.section-collapsed .section-head[data-v-704b8568]:hover{border-radius:4px}.section-head-icon[data-v-704b8568]{color:#60a5fa;flex-shrink:0}.section-head-title[data-v-704b8568]{flex:1;font-size:13px;font-weight:600;color:#f1f5f9}.section-head-chevron[data-v-704b8568]{color:var(--color-text-muted);flex-shrink:0}.section-body[data-v-704b8568]{display:flex;flex-direction:column;gap:12px}.input-group[data-v-704b8568]{display:flex;flex-direction:column;gap:4px}.input-label[data-v-704b8568]{font-size:13px;font-weight:500;color:var(--color-text-subtle)}.input-field[data-v-704b8568],.select-field[data-v-704b8568]{width:100%;padding:6px 8px;border:1px solid #384554;border-radius:3px;font-size:13px;background:#1b242d;color:#e2e8f0;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.input-field[data-v-704b8568]:focus,.select-field[data-v-704b8568]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.select-field[data-v-704b8568]{cursor:pointer}.checkbox-item[data-v-704b8568]{display:flex;align-items:center;gap:8px}.checkbox-item input[type=checkbox][data-v-704b8568]{width:16px;height:16px;cursor:pointer;accent-color:#FF8303}.checkbox-label[data-v-704b8568]{font-size:13px;color:#cbd5e1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.unified-alarm-widget[data-v-41fd84be]{display:flex;flex-direction:column;height:100%;background:var(--color-surface);border-radius:8px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.widget-header[data-v-41fd84be]{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.header-left[data-v-41fd84be]{display:flex;align-items:center;gap:8px}.header-icon[data-v-41fd84be]{color:#fbbf24}.header-title[data-v-41fd84be]{font-size:14px;font-weight:600;color:var(--color-text-primary)}.header-right[data-v-41fd84be]{display:flex;align-items:center;gap:8px}.alarm-badge[data-v-41fd84be]{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-41fd84be]{background:#10b981;color:#fff}.badge-critical[data-v-41fd84be]{background:#ef4444;color:#fff;animation:pulse-41fd84be 1.5s infinite}.badge-warning[data-v-41fd84be]{background:#f59e0b;color:#fff}.badge-info[data-v-41fd84be]{background:#3b82f6;color:#fff}@keyframes pulse-41fd84be{0%,to{opacity:1}50%{opacity:.7}}.refresh-btn[data-v-41fd84be]{background:var(--color-surface-overlay);border:none;color:var(--color-text-secondary);padding:4px 6px;border-radius:4px;cursor:pointer;transition:background .2s}.refresh-btn[data-v-41fd84be]:hover:not(:disabled){background:var(--color-border)}.refresh-btn[data-v-41fd84be]:disabled{opacity:.5;cursor:not-allowed}.filter-row[data-v-41fd84be]{padding:8px 12px;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border)}.device-select[data-v-41fd84be]{width:100%;padding:6px 10px;border:1px solid var(--color-border-medium);border-radius:6px;font-size:12px;background:var(--color-input-bg);color:var(--color-text-primary);cursor:pointer}.device-select[data-v-41fd84be]:focus{outline:none;border-color:#3b82f6}.alarm-list[data-v-41fd84be]{flex:1;overflow-y:auto;padding:8px}.state-empty[data-v-41fd84be]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--color-text-subtle);font-size:13px}.empty-icon[data-v-41fd84be]{color:#10b981}.alarm-item[data-v-41fd84be]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--color-surface-raised);border-radius:8px;margin-bottom:6px;transition:background .15s;cursor:pointer;border-left:3px solid transparent}.alarm-item[data-v-41fd84be]:hover{background:var(--color-surface-overlay)}.alarm-item[data-v-41fd84be]:last-child{margin-bottom:0}.alarm-item.alarm-unread[data-v-41fd84be]{background:var(--color-yellow-bg)}.alarm-item.alarm-unread[data-v-41fd84be]:hover{background:#fde68a4d}.alarm-content[data-v-41fd84be]{flex:1;min-width:0}.alarm-message[data-v-41fd84be]{font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-meta[data-v-41fd84be]{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-muted);margin-bottom:4px}.alarm-value[data-v-41fd84be]{font-size:11px;color:var(--color-text-secondary)}.alarm-value strong[data-v-41fd84be]{color:#ef4444}.separator[data-v-41fd84be]{color:var(--color-text-subtle)}.ack-btn[data-v-41fd84be]{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-41fd84be]:hover{background:#059669}.severity-critical[data-v-41fd84be]{border-left-color:#ef4444}.severity-warning[data-v-41fd84be]{border-left-color:#f59e0b}.severity-low[data-v-41fd84be]{border-left-color:#3b82f6}.severity-info[data-v-41fd84be]{border-left-color:var(--color-text-muted)}.widget-footer[data-v-41fd84be]{padding:8px 12px;background:var(--color-surface-raised);border-top:1px solid var(--color-border);text-align:center}.more-text[data-v-41fd84be]{font-size:11px;color:var(--color-text-muted)}.animate-spin[data-v-41fd84be]{animation:spin-41fd84be 1s linear infinite}@keyframes spin-41fd84be{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-fade-enter-active[data-v-41fd84be],.modal-fade-leave-active[data-v-41fd84be]{transition:opacity .2s}.modal-fade-enter-from[data-v-41fd84be],.modal-fade-leave-to[data-v-41fd84be]{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:var(--color-surface);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 var(--color-border)}.unified-alarm-modal-container .detail-label{font-size:13px;color:var(--color-text-muted)}.unified-alarm-modal-container .detail-value{font-size:13px;font-weight:500;color:var(--color-text-primary)}.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:var(--color-yellow-bg);color:var(--color-orange-hover)}.unified-alarm-modal-container .status-badge.read{background:var(--color-green-bg);color:var(--color-green-hover)}.unified-alarm-modal-container .detail-message{margin-top:12px;padding:12px;background:var(--color-surface-raised);border-radius:8px;font-size:13px;color:var(--color-text-secondary)}.unified-alarm-modal-container .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;background:var(--color-surface-raised);border-top:1px solid var(--color-border)}.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:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.unified-alarm-modal-container .btn-cancel:hover{background:var(--color-surface-overlay)}.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-bbbba0a9]{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:var(--color-surface);border-radius:8px;border:1px solid var(--color-border);overflow:hidden;box-sizing:border-box}.chart-header[data-v-bbbba0a9]{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);flex-shrink:0;flex-wrap:wrap;gap:8px}.header-left[data-v-bbbba0a9]{display:flex;flex-direction:column;gap:2px}.chart-title[data-v-bbbba0a9]{font-weight:600;color:var(--color-text-primary)}.header-right[data-v-bbbba0a9]{display:flex;align-items:center;gap:8px}.time-range-buttons[data-v-bbbba0a9]{display:flex;gap:3px;background:var(--color-surface-overlay);padding:3px;border-radius:6px}.range-btn[data-v-bbbba0a9]{padding:4px 10px;font-weight:500;border:none;background:transparent;color:var(--color-text-muted);border-radius:4px;cursor:pointer;transition:all .15s}.range-btn[data-v-bbbba0a9]:hover{color:var(--color-text-primary);background:var(--color-surface-overlay)}.range-btn.active[data-v-bbbba0a9]{background:#1c78e6;color:#fff;box-shadow:0 1px 3px #1c78e64d}.date-controls[data-v-bbbba0a9]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.control-group[data-v-bbbba0a9]{display:flex;align-items:center;gap:6px}.control-group label[data-v-bbbba0a9]{font-weight:500;color:var(--color-text-muted)}.date-input[data-v-bbbba0a9]{padding:4px 8px;border:1px solid var(--color-border-medium);border-radius:4px;background:var(--color-surface);color:var(--color-text-secondary);min-width:140px}.date-input[data-v-bbbba0a9]:focus{outline:none;border-color:#1c78e6;box-shadow:0 0 0 2px #1c78e61a}.refresh-btn[data-v-bbbba0a9]{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-bbbba0a9]:hover{background:#1565c0}.history-controls[data-v-bbbba0a9]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.source-controls[data-v-bbbba0a9]{display:flex;align-items:center;gap:8px}.source-select[data-v-bbbba0a9]{padding:5px 24px 5px 8px;border:1px solid var(--color-border-medium);border-radius:4px;background:var(--color-surface);color:var(--color-text-secondary);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-bbbba0a9]:focus{outline:none;border-color:#1c78e6;box-shadow:0 0 0 2px #1c78e61a}.source-select[data-v-bbbba0a9]:hover{border-color:var(--color-text-subtle)}.device-select[data-v-bbbba0a9]{background-color:#fcd34d26;border-color:#fcd34d}.device-select[data-v-bbbba0a9]:focus{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b1a}.monitor-select[data-v-bbbba0a9]{background-color:#93c5fd26;border-color:#93c5fd}.monitor-select[data-v-bbbba0a9]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.reset-zoom-btn[data-v-bbbba0a9]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--color-surface-overlay);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;transition:all .2s}.reset-zoom-btn[data-v-bbbba0a9]:hover{background:var(--color-surface-sunken);color:var(--color-text-secondary);border-color:var(--color-border-medium)}.statistics-bar[data-v-bbbba0a9]{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--color-surface-overlay);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);font-size:12px}.stat-item[data-v-bbbba0a9]{display:flex;align-items:center;gap:4px}.stat-label[data-v-bbbba0a9]{color:var(--color-text-muted);font-weight:500}.stat-value[data-v-bbbba0a9]{font-weight:600;font-size:13px}.stat-current[data-v-bbbba0a9]{color:#1c78e6;background:#e0f2fe;padding:2px 8px;border-radius:4px}.stat-divider[data-v-bbbba0a9]{color:#cbd5e1;font-weight:300}.chart-body[data-v-bbbba0a9]{flex:1;display:flex;flex-direction:column;padding:12px;min-height:0;overflow:hidden}.chart-container[data-v-bbbba0a9]{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-bbbba0a9]{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;isolation:isolate}@media (max-width: 480px){.chart-header[data-v-bbbba0a9]{flex-direction:column;align-items:flex-start}.time-range-buttons[data-v-bbbba0a9]{width:100%;justify-content:space-between}.range-btn[data-v-bbbba0a9]{flex:1;text-align:center;padding:5px 4px}.date-controls[data-v-bbbba0a9]{flex-direction:column;align-items:flex-start;gap:6px;width:100%}.date-input[data-v-bbbba0a9]{width:100%}}.chart-options[data-v-73e2c518]{padding:12px;background:#1e293b}.option-group[data-v-73e2c518]{margin-bottom:16px}.group-title[data-v-73e2c518]{font-size:13px;font-weight:600;color:#f1f5f9;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #334155}.option-section[data-v-73e2c518]{margin-bottom:12px;padding:12px;background:#0f172a;border-radius:8px;border:1px solid #334155}.group-desc[data-v-73e2c518]{margin:-4px 0 14px;font-size:13px;color:var(--color-text-muted)}.section-head[data-v-73e2c518]{display:flex;align-items:center;gap:8px;margin:-12px -12px 12px;padding:10px 12px;border-bottom:1px solid #334155;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.section-head[data-v-73e2c518]:hover{background:#14202e;border-radius:8px 8px 0 0}.option-section.section-collapsed[data-v-73e2c518]{padding-bottom:0}.option-section.section-collapsed .section-head[data-v-73e2c518]{margin-bottom:0;border-bottom:none}.option-section.section-collapsed .section-head[data-v-73e2c518]:hover{border-radius:8px}.section-head-icon[data-v-73e2c518]{color:#60a5fa;flex-shrink:0}.section-head-title[data-v-73e2c518]{flex:1;font-size:13px;font-weight:600;color:#f1f5f9}.section-head-chevron[data-v-73e2c518]{color:var(--color-text-muted);flex-shrink:0}.checkbox-grid[data-v-73e2c518]{display:flex;flex-wrap:wrap;gap:6px 20px}.checkbox-grid .checkbox-item[data-v-73e2c518]{margin-bottom:0}.section-body .option-row[data-v-73e2c518]{margin-bottom:12px}.data-rows-head[data-v-73e2c518]{display:grid;grid-template-columns:18px minmax(0,1fr) minmax(0,1fr) 28px;gap:8px;padding:0 2px 2px}.data-rows-head-label[data-v-73e2c518]{grid-column:span 1;font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px}.data-rows-head-label[data-v-73e2c518]:first-child{grid-column:2}.row-grip[data-v-73e2c518]{display:flex;align-items:center;justify-content:center;color:#475569}.btn-add-row[data-v-73e2c518]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px;margin-top:8px;background:transparent;color:#60a5fa;border:1px dashed #3b5b80;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.btn-add-row[data-v-73e2c518]:hover:not(:disabled){background:#60a5fa14;border-color:#60a5fa}.btn-add-row[data-v-73e2c518]:disabled{opacity:.5;cursor:not-allowed}.rows-hint[data-v-73e2c518]{margin:8px 0 0;font-size:13px;color:var(--color-text-muted)}.section-title[data-v-73e2c518]{font-size:13px;font-weight:600;color:var(--color-text-subtle);margin:0 0 10px;letter-spacing:.5px}.option-item[data-v-73e2c518]{margin-bottom:12px}.option-item[data-v-73e2c518]:last-child{margin-bottom:0}.option-item label[data-v-73e2c518]{display:block;font-size:13px;font-weight:500;color:#cbd5e1;margin-bottom:6px}.option-row[data-v-73e2c518]{display:flex;gap:10px}.option-item.half[data-v-73e2c518]{flex:1}.checkbox-item[data-v-73e2c518]{display:flex;align-items:center;gap:6px}.checkbox-item label[data-v-73e2c518]{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;margin-bottom:0;color:#cbd5e1}.help-text[data-v-73e2c518]{font-size:12px;color:var(--color-text-muted);font-style:italic;margin-top:2px;display:block}.input-field[data-v-73e2c518],.select-field[data-v-73e2c518]{width:100%;padding:6px 10px;border:1px solid #475569;border-radius:4px;font-size:13px;background:#1e293b;color:#f1f5f9;transition:border-color .2s,box-shadow .2s}.input-field[data-v-73e2c518]:focus,.select-field[data-v-73e2c518]:focus{outline:none;border-color:#1c78e6;box-shadow:0 0 0 2px #1c78e633}.input-field[data-v-73e2c518]::-moz-placeholder{color:var(--color-text-muted)}.input-field[data-v-73e2c518]::placeholder{color:var(--color-text-muted)}.select-field option[data-v-73e2c518]{background:#1e293b;color:#f1f5f9}.checkbox-field[data-v-73e2c518]{width:auto;margin:0;accent-color:#1C78E6}.color-field[data-v-73e2c518]{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-73e2c518]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-field[data-v-73e2c518]::-webkit-color-swatch{border:none;border-radius:4px}.color-field[data-v-73e2c518]::-moz-color-swatch{border:none;border-radius:4px}.series-management[data-v-73e2c518],.columns-management[data-v-73e2c518]{margin-top:12px}.section-header[data-v-73e2c518]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-header label[data-v-73e2c518]{font-size:13px;font-weight:600;color:#cbd5e1}.btn-add[data-v-73e2c518]{display:flex;align-items:center;gap:4px;padding:5px 10px;background:#1c78e6;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s}.btn-add[data-v-73e2c518]:hover{background:#1565c0}.series-item[data-v-73e2c518],.column-item[data-v-73e2c518]{background:#1e293b;border:1px solid #475569;border-radius:6px;padding:10px;margin-bottom:8px}.section-body .column-item[data-v-73e2c518]{background:transparent;border:none;padding:0;margin-bottom:8px}.section-body .series-item[data-v-73e2c518]{background:transparent;border:none;border-bottom:1px solid #2a3a4d;border-radius:0;padding:0 0 14px;margin-bottom:14px}.section-body .series-item[data-v-73e2c518]:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.series-header[data-v-73e2c518],.column-controls[data-v-73e2c518]{display:grid;gap:8px;align-items:center;margin-bottom:8px}.series-header[data-v-73e2c518]{grid-template-columns:1fr 50px 28px}.column-controls[data-v-73e2c518]{grid-template-columns:1fr 1fr 80px 28px}.series-name-input[data-v-73e2c518],.column-key-input[data-v-73e2c518],.column-title-input[data-v-73e2c518]{padding:5px 8px;border:1px solid #475569;border-radius:4px;font-size:13px;background:#0f172a;color:#f1f5f9}.series-name-input[data-v-73e2c518]:focus,.column-key-input[data-v-73e2c518]:focus,.column-title-input[data-v-73e2c518]:focus{outline:none;border-color:#1c78e6}.color-input[data-v-73e2c518]{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-73e2c518]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-input[data-v-73e2c518]::-webkit-color-swatch{border:none;border-radius:4px}.color-input[data-v-73e2c518]::-moz-color-swatch{border:none;border-radius:4px}.type-select[data-v-73e2c518],.column-type-select[data-v-73e2c518]{padding:5px 8px;border:1px solid #475569;border-radius:4px;font-size:12px;background:#0f172a;color:#f1f5f9}.btn-remove[data-v-73e2c518]{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-73e2c518]:hover{background:#b91c1c}.icon[data-v-73e2c518]{width:12px;height:12px}.series-data[data-v-73e2c518]{margin-top:8px}.series-data label[data-v-73e2c518]{font-size:12px;color:var(--color-text-subtle);margin-bottom:4px}.data-textarea[data-v-73e2c518]{width:100%;padding:6px 8px;border:1px solid #475569;border-radius:4px;font-size:12px;min-height:50px;resize:vertical;background:#0f172a;color:#f1f5f9}.data-textarea[data-v-73e2c518]:focus{outline:none;border-color:#1c78e6;box-shadow:0 0 0 2px #1c78e633}.series-source[data-v-73e2c518]{margin-top:8px}.source-row[data-v-73e2c518]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.source-field[data-v-73e2c518]{display:flex;flex-direction:column;gap:4px}.source-field label[data-v-73e2c518]{font-size:12px;color:var(--color-text-subtle);font-weight:500}.date-range-section[data-v-73e2c518]{margin-top:8px;padding-top:8px;border-top:1px dashed #475569}.tag-selection[data-v-73e2c518]{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.btn-add-tag[data-v-73e2c518]{display:flex;align-items:center;gap:4px;padding:5px 12px;background:#10b981;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-add-tag[data-v-73e2c518]:hover:not(:disabled){background:#059669}.btn-add-tag[data-v-73e2c518]:disabled{opacity:.5;cursor:not-allowed}.data-row-controls[data-v-73e2c518]{display:grid;grid-template-columns:18px minmax(0,1fr) minmax(0,1fr) 28px;gap:8px;align-items:center}.row-device-select[data-v-73e2c518],.row-data-select[data-v-73e2c518]{width:100%;min-width:0;padding:5px 8px;border:1px solid #475569;border-radius:4px;font-size:13px;background:#0f172a;color:#f1f5f9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-device-select[data-v-73e2c518]:focus,.row-data-select[data-v-73e2c518]:focus{outline:none;border-color:#1c78e6}.row-data-select[data-v-73e2c518]:disabled{opacity:.5;cursor:not-allowed}.empty-rows-hint[data-v-73e2c518]{text-align:center;padding:20px;color:var(--color-text-muted);font-size:13px;font-style:italic;background:#0f172a;border-radius:6px;border:1px dashed #334155}.section-subtitle[data-v-73e2c518]{font-size:13px;font-weight:600;color:#cbd5e1;margin:0 0 8px}.loading-hint[data-v-73e2c518]{font-size:13px;color:#f59e0b;font-style:italic;margin-left:8px}.devices-count[data-v-73e2c518]{font-size:12px;color:#22c55e;margin-left:8px}.hint-text[data-v-73e2c518]{display:block;font-size:13px;color:var(--color-text-muted);margin-top:4px;font-style:italic}.chart-table-widget[data-v-852c899c]{display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-surface);border-radius:8px;border:1px solid var(--color-border);overflow:hidden}.chart-header[data-v-852c899c]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-raised)}.chart-title[data-v-852c899c]{font-size:14px;font-weight:600;color:var(--color-text-primary)}.data-count[data-v-852c899c]{font-size:12px;color:var(--color-text-muted)}.chart-controls[data-v-852c899c]{display:flex;gap:8px;padding:10px 16px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-sunken)}.control-item[data-v-852c899c]{display:flex;flex:1;min-width:0}.search-input[data-v-852c899c],.select-field[data-v-852c899c]{flex:1;padding:6px 10px;border:1px solid var(--color-border);border-radius:4px;font-size:12px;background:var(--color-surface);color:var(--color-text-secondary)}.search-input[data-v-852c899c]:focus,.select-field[data-v-852c899c]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.chart-body[data-v-852c899c]{flex:1;overflow:hidden;display:flex;flex-direction:column}.table-container[data-v-852c899c]{flex:1;overflow-y:auto;overflow-x:auto}.data-table[data-v-852c899c]{width:100%;border-collapse:collapse;font-size:12px}.table-header[data-v-852c899c]{background:var(--color-surface-raised);color:var(--color-text-secondary);font-weight:600;padding:0;text-align:left;border-bottom:1px solid var(--color-border);-webkit-user-select:none;-moz-user-select:none;user-select:none}.header-cell[data-v-852c899c]{display:flex;align-items:center;gap:4px;padding:8px 10px;cursor:pointer;transition:background .2s}.header-cell[data-v-852c899c]:hover{background:var(--color-surface-overlay)}.sort-icon[data-v-852c899c]{font-size:10px;color:var(--color-primary)}.col-index[data-v-852c899c]{width:40px;text-align:center;background:var(--color-surface-raised);border-right:1px solid var(--color-border)}.table-row[data-v-852c899c]{border-bottom:1px solid var(--color-border-light);transition:background .15s}.table-row[data-v-852c899c]:hover{background:var(--color-surface-raised)}.data-table.striped tbody tr[data-v-852c899c]:nth-child(odd){background:var(--color-surface-raised)}.data-table.striped tbody tr[data-v-852c899c]:nth-child(2n){background:var(--color-surface)}.data-table.striped tbody tr[data-v-852c899c]:hover{background:var(--color-surface-overlay)!important}.table-cell[data-v-852c899c]{padding:8px 10px;color:var(--color-text-secondary);font-size:11px}.col-index[data-v-852c899c]{width:40px;text-align:center;color:var(--color-text-subtle);background:var(--color-surface-overlay);border-right:1px solid var(--color-border-light)}.time-cell[data-v-852c899c]{color:var(--color-text-muted)}.value-cell[data-v-852c899c]{font-weight:500;color:var(--color-text-primary)}.empty-state[data-v-852c899c]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:200px;color:var(--color-text-subtle);font-size:12px}.chart-footer[data-v-852c899c]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--color-border-light);background:var(--color-surface-raised);font-size:12px}.pagination-info[data-v-852c899c]{color:var(--color-text-muted)}.pagination-controls[data-v-852c899c]{display:flex;align-items:center;gap:8px}.pagination-btn[data-v-852c899c]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.pagination-btn[data-v-852c899c]:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6;background:var(--color-blue-bg)}.pagination-btn[data-v-852c899c]:disabled{opacity:.5;cursor:not-allowed}.page-number[data-v-852c899c]{color:var(--color-text-muted);font-size:11px;min-width:50px;text-align:center}@media (max-width: 768px){.chart-controls[data-v-852c899c]{flex-direction:column}.control-item[data-v-852c899c]{width:100%}.data-table[data-v-852c899c]{font-size:10px}.table-cell[data-v-852c899c],.header-cell[data-v-852c899c]{padding:6px 8px}.col-index[data-v-852c899c]{width:32px}.chart-header[data-v-852c899c]{flex-direction:column;align-items:flex-start;gap:6px}}.value-control-widget[data-v-09a19ed9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;height:100%;gap:8px}.control-label[data-v-09a19ed9]{font-size:14px;font-weight:500;text-align:center;margin-bottom:4px}.control-container[data-v-09a19ed9]{display:flex;align-items:center;justify-content:center}.control-btn[data-v-09a19ed9]{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-09a19ed9]:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 8px #00000026}.control-btn[data-v-09a19ed9]:active:not(:disabled){transform:scale(.95)}.control-btn[data-v-09a19ed9]:disabled{opacity:.4;cursor:not-allowed}.minus-btn[data-v-09a19ed9]:hover:not(:disabled){filter:brightness(.9)}.plus-btn[data-v-09a19ed9]:hover:not(:disabled){filter:brightness(1.1)}.value-display[data-v-09a19ed9]{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:0 16px;text-align:center}.current-value[data-v-09a19ed9]{font-weight:700;font-variant-numeric:tabular-nums}.value-unit[data-v-09a19ed9]{font-size:.7em;opacity:.7;font-weight:500}.range-labels[data-v-09a19ed9]{display:flex;justify-content:space-between;width:100%;max-width:200px;font-size:11px;opacity:.6;margin-top:4px}.min-label[data-v-09a19ed9],.max-label[data-v-09a19ed9]{font-weight:500}.control-options[data-v-54477b72]{padding:12px;background:transparent;font-size:13px}.group-title[data-v-54477b72]{font-size:13px;font-weight:600;color:#f1f5f9;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #334155}.group-desc[data-v-54477b72]{margin:-4px 0 14px;font-size:13px;color:var(--color-text-muted)}.options-section[data-v-54477b72]{margin-bottom:16px;padding:12px;background:#27323d;border:1px solid #384554;border-radius:4px}.section-head[data-v-54477b72]{display:flex;align-items:center;gap:8px;margin:-12px -12px 12px;padding:10px 12px;border-bottom:1px solid #334155;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.section-head[data-v-54477b72]:hover{background:#14202e;border-radius:4px 4px 0 0}.section-head-icon[data-v-54477b72]{color:#60a5fa;flex-shrink:0}.section-head-title[data-v-54477b72]{flex:1;font-size:13px;font-weight:600;color:#f1f5f9}.section-head-chevron[data-v-54477b72]{color:var(--color-text-muted);flex-shrink:0}.section-body[data-v-54477b72]{display:flex;flex-direction:column;gap:12px}.options-section.section-collapsed[data-v-54477b72]{padding-bottom:0}.options-section.section-collapsed .section-head[data-v-54477b72]{margin-bottom:0;border-bottom:none}.options-section.section-collapsed .section-head[data-v-54477b72]:hover{border-radius:4px}.section-title[data-v-54477b72]{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--color-text-subtle);letter-spacing:.5px}.input-group[data-v-54477b72]{display:flex;flex-direction:column;gap:4px}.input-label[data-v-54477b72]{font-size:13px;font-weight:500;color:var(--color-text-subtle)}.input-field[data-v-54477b72]{width:100%;padding:6px 8px;border:1px solid #384554;border-radius:3px;font-size:13px;background:#1b242d;color:#e2e8f0;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.input-field[data-v-54477b72]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.field-row[data-v-54477b72]{display:flex;gap:10px}.field-row .input-group[data-v-54477b72]{flex:1;min-width:0}.input-row[data-v-54477b72]{display:flex;gap:8px;align-items:center}.input-row .input-field[data-v-54477b72]{flex:1}.input-small[data-v-54477b72]{width:70px!important;flex:none!important}.range-input[data-v-54477b72]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-border);border-radius:3px;outline:none}.range-input[data-v-54477b72]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#2563eb;border-radius:50%;cursor:pointer}.value-display[data-v-54477b72]{font-size:12px;color:var(--color-text-subtle);text-align:center;margin-top:4px;font-weight:500}.color-row[data-v-54477b72]{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;padding-bottom:4px}.color-row[data-v-54477b72]::-webkit-scrollbar{height:4px}.color-row[data-v-54477b72]::-webkit-scrollbar-track{background:#1e293b;border-radius:2px}.color-row[data-v-54477b72]::-webkit-scrollbar-thumb{background:#475569;border-radius:2px}.color-row[data-v-54477b72]::-webkit-scrollbar-thumb:hover{background:#64748b}.color-item[data-v-54477b72]{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.color-label[data-v-54477b72]{font-size:12px;color:var(--color-text-subtle)}.color-picker[data-v-54477b72]{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-54477b72]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-picker[data-v-54477b72]::-webkit-color-swatch{border:none;border-radius:4px}.color-picker[data-v-54477b72]::-moz-color-swatch{border:none;border-radius:4px}.checkbox-group[data-v-54477b72]{display:flex;flex-wrap:wrap;gap:8px 16px}.checkbox-item[data-v-54477b72]{display:flex;align-items:center;gap:6px;font-size:13px;color:#cbd5e1;cursor:pointer}.checkbox-item input[type=checkbox][data-v-54477b72]{width:16px;height:16px;accent-color:var(--color-blue);cursor:pointer}.checkbox-item span[data-v-54477b72]{-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-32edd2f8]{display:flex;align-items:center;justify-content:center;padding:16px;height:100%}.slider-container[data-v-32edd2f8]{display:flex;flex-direction:column;gap:12px;width:100%}.slider-label[data-v-32edd2f8]{font-size:var(--2dacb318);font-weight:500;text-align:center;margin-bottom:4px;color:var(--2e72fb6a)}.slider-content[data-v-32edd2f8]{display:flex;align-items:center;gap:12px;width:100%}.vue-slider-wrapper[data-v-32edd2f8]{flex:1;padding:0 4px}.slider-value[data-v-32edd2f8]{font-size:var(--3a17d404);color:var(--2e72fb6a);font-weight:500;min-width:32px;text-align:center}.value-display[data-v-32edd2f8]{text-align:center;margin-top:4px}.current-value[data-v-32edd2f8]{font-size:var(--6a368d55);font-weight:600;color:var(--2e72fb6a)}[data-v-32edd2f8] .slider-base{height:var(--cdc92f92)!important;background-color:var(--3c12976c)!important}[data-v-32edd2f8] .slider-connects{height:var(--cdc92f92)!important}[data-v-32edd2f8] .slider-connect{height:var(--cdc92f92)!important;border-radius:3px!important;background:var(--abf6b3bc)!important}[data-v-32edd2f8] .slider-origin{height:var(--cdc92f92)!important}[data-v-32edd2f8] .slider-handle{width:var(--7ccde7c5)!important;height:var(--7ccde7c5)!important;border-radius:50%!important;transition:all .3s ease!important;background-color:var(--debf147e)!important;border:2px solid var(--abf6b3bc)!important;box-shadow:0 2px 4px #0000001a!important}[data-v-32edd2f8] .slider-handle:hover{transform:scale(1.1)!important}[data-v-32edd2f8] .vue-slider-dot-handle{border-radius:50%!important;transition:all .3s ease!important}[data-v-32edd2f8] .vue-slider-dot-handle:hover{transform:scale(1.1)!important}[data-v-32edd2f8] .vue-slider-dot-tooltip{font-size:12px!important;padding:4px 8px!important;border-radius:4px!important}[data-v-32edd2f8] .vue-slider-mark{z-index:1!important}[data-v-32edd2f8] .vue-slider-mark-step{width:2px!important;height:2px!important;border-radius:50%!important;background-color:var(--color-border-medium)!important}[data-v-32edd2f8] .vue-slider-mark-label{font-size:10px!important;color:var(--color-text-muted)!important;margin-top:6px!important}@media (max-width: 480px){.slider-container[data-v-32edd2f8]{max-width:250px}.slider-value[data-v-32edd2f8]{font-size:11px;min-width:28px}.current-value[data-v-32edd2f8]{font-size:14px}}.vertical-slider-widget[data-v-ed08e82f]{display:flex;align-items:center;justify-content:center;padding:16px;height:100%}.slider-container[data-v-ed08e82f]{display:flex;flex-direction:column;align-items:center;gap:12px;height:100%}.slider-label[data-v-ed08e82f]{font-size:var(--14c9dd28);font-weight:500;text-align:center;margin-bottom:4px;color:var(--6038a74a)}.slider-content[data-v-ed08e82f]{display:flex;flex-direction:column;gap:12px;height:100%;flex:1;width:100%}.slider-row[data-v-ed08e82f]{display:flex;align-items:center;justify-content:center;gap:16px;height:100%}.value-display-left[data-v-ed08e82f]{display:flex;align-items:center;justify-content:center;min-width:60px}.slider-track-section[data-v-ed08e82f]{display:flex;flex-direction:column;align-items:center;gap:12px;height:100%;flex:1;max-width:100px}.vue-slider-wrapper[data-v-ed08e82f]{flex:1;height:100%;display:flex;justify-content:center;padding:4px 0}.slider-value[data-v-ed08e82f]{font-size:var(--4107a424);color:var(--6038a74a);font-weight:500;min-width:30px;text-align:center}.current-value[data-v-ed08e82f]{font-size:var(--5153b765);font-weight:600;text-align:center;color:var(--6038a74a)}[data-v-ed08e82f] .slider-base{width:var(--69ccf827)!important;background-color:var(--32713948)!important}[data-v-ed08e82f] .slider-connects{width:var(--69ccf827)!important}[data-v-ed08e82f] .slider-connect{width:var(--69ccf827)!important;border-radius:3px!important;background:var(--20f5d79c)!important}[data-v-ed08e82f] .slider-origin{width:var(--69ccf827)!important}[data-v-ed08e82f] .slider-handle{width:var(--4d7f77b5)!important;height:var(--4d7f77b5)!important;border-radius:50%!important;transition:all .3s ease!important;background-color:var(--3b5541b1)!important;border:2px solid var(--20f5d79c)!important;box-shadow:0 2px 4px #0000001a!important}[data-v-ed08e82f] .slider-handle:hover{transform:scale(1.1)!important}[data-v-ed08e82f] .vue-slider-dot-handle{border-radius:50%!important;transition:all .3s ease!important}[data-v-ed08e82f] .vue-slider-dot-handle:hover{transform:scale(1.1)!important}[data-v-ed08e82f] .vue-slider-dot-tooltip{font-size:12px!important;padding:4px 8px!important;border-radius:4px!important}[data-v-ed08e82f] .vue-slider-mark{z-index:1!important}[data-v-ed08e82f] .vue-slider-mark-step{width:2px!important;height:2px!important;border-radius:50%!important;background-color:var(--color-border-medium)!important}[data-v-ed08e82f] .vue-slider-mark-label{font-size:10px!important;color:var(--color-text-muted)!important;margin-left:6px!important}@media (max-width: 480px){.slider-container[data-v-ed08e82f]{max-height:250px}.slider-value[data-v-ed08e82f]{font-size:11px}.current-value[data-v-ed08e82f]{font-size:14px}}.gauge-svg[data-v-10866190],.gauge-svg[data-v-7830e4ba],.gauge-svg[data-v-bcd68f49]{width:100%;height:100%}.gauge-options[data-v-b30ffc44]{padding:12px;background:transparent;font-size:13px}.group-title[data-v-b30ffc44]{font-size:13px;font-weight:600;color:#f1f5f9;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #334155}.group-desc[data-v-b30ffc44]{margin:-4px 0 14px;font-size:13px;color:var(--color-text-muted)}.options-section[data-v-b30ffc44]{margin-bottom:16px;padding:12px;background:#27323d;border:1px solid #384554;border-radius:4px}.section-head[data-v-b30ffc44]{display:flex;align-items:center;gap:8px;margin:-12px -12px 12px;padding:10px 12px;border-bottom:1px solid #334155;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.section-head[data-v-b30ffc44]:hover{background:#14202e;border-radius:4px 4px 0 0}.options-section.section-collapsed[data-v-b30ffc44]{padding-bottom:0}.options-section.section-collapsed .section-head[data-v-b30ffc44]{margin-bottom:0;border-bottom:none}.options-section.section-collapsed .section-head[data-v-b30ffc44]:hover{border-radius:4px}.section-head-icon[data-v-b30ffc44]{color:#60a5fa;flex-shrink:0}.section-head-title[data-v-b30ffc44]{flex:1;font-size:13px;font-weight:600;color:#f1f5f9}.section-head-chevron[data-v-b30ffc44]{color:var(--color-text-muted);flex-shrink:0}.section-body[data-v-b30ffc44]{display:flex;flex-direction:column;gap:12px}.field-row[data-v-b30ffc44]{display:flex;gap:10px}.field-row .input-group[data-v-b30ffc44]{flex:1;min-width:0}.input-group[data-v-b30ffc44]{display:flex;flex-direction:column;gap:4px}.input-label[data-v-b30ffc44]{font-size:13px;font-weight:500;color:var(--color-text-subtle)}.input-field[data-v-b30ffc44]{width:100%;padding:6px 8px;border:1px solid #384554;border-radius:3px;font-size:13px;background:#1b242d;color:#e2e8f0;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.input-field[data-v-b30ffc44]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.input-row[data-v-b30ffc44]{display:flex;gap:8px;align-items:center}.range-input[data-v-b30ffc44]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#384554;border-radius:3px;outline:none}.range-input[data-v-b30ffc44]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#ff8303;border-radius:50%;cursor:pointer}.range-input[data-v-b30ffc44]::-moz-range-thumb{width:16px;height:16px;background:#ff8303;border-radius:50%;cursor:pointer;border:none}.value-display[data-v-b30ffc44]{min-width:70px;flex:none;padding:6px 8px;border:1px solid #384554;border-radius:3px;font-size:13px;background:#1b242d;color:#e2e8f0;text-align:center;font-weight:500}.color-row[data-v-b30ffc44]{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;padding-bottom:4px}.color-row[data-v-b30ffc44]::-webkit-scrollbar{height:4px}.color-row[data-v-b30ffc44]::-webkit-scrollbar-track{background:#1b242d;border-radius:2px}.color-row[data-v-b30ffc44]::-webkit-scrollbar-thumb{background:#475569;border-radius:2px}.color-item[data-v-b30ffc44]{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.color-label[data-v-b30ffc44]{font-size:12px;color:var(--color-text-subtle)}.color-picker[data-v-b30ffc44]{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-b30ffc44]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-picker[data-v-b30ffc44]::-webkit-color-swatch{border:none;border-radius:4px}.color-picker[data-v-b30ffc44]::-moz-color-swatch{border:none;border-radius:4px}.checkbox-group[data-v-b30ffc44]{display:flex;flex-wrap:wrap;gap:8px 16px}.checkbox-item[data-v-b30ffc44]{display:flex;align-items:center;gap:6px;font-size:13px;color:#cbd5e1;cursor:pointer}.checkbox-item input[type=checkbox][data-v-b30ffc44]{width:16px;height:16px;accent-color:#FF8303;cursor:pointer}.checkbox-item span[data-v-b30ffc44]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.gauge-widget[data-v-4b7b031f]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.gauge-container[data-v-4b7b031f]{position:relative;width:auto;height:auto}.gauge-svg-wrapper[data-v-4b7b031f]{width:100%;height:100%}.gauge-value[data-v-4b7b031f]{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-4b7b031f]{font-weight:700}.gauge-unit[data-v-4b7b031f]{font-weight:400}.gauge-center-value[data-v-4b7b031f]{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-4b7b031f]{line-height:1}.gauge-center-inline[data-v-4b7b031f]{display:flex;align-items:baseline;gap:6px}.gauge-center-inline .gauge-unit[data-v-4b7b031f]{opacity:.9}.gauge-svg[data-v-9a907d13],.gauge-svg[data-v-da8f0576]{width:100%;height:100%}.gauge-container[data-v-1efc57c4]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-width:20px;min-height:40px}.gauge-bar-container[data-v-1efc57c4]{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-1efc57c4]{width:max(0px,100%);height:100%;position:relative;border-radius:max(2px,1%);background-color:var(--color-surface-overlay);border:1px solid var(--color-border);display:flex;align-items:flex-end;overflow:hidden;box-sizing:border-box}.gauge-bar-fill[data-v-1efc57c4]{width:100%;background-color:#ff8303;border-radius:0 0 max(1px,.5%) max(1px,.5%);min-height:2px;position:relative}.map-options[data-v-3d72266f]{display:flex;flex-direction:column;padding:12px;background:transparent;font-size:13px}.group-title[data-v-3d72266f]{font-size:13px;font-weight:600;color:#f1f5f9;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #334155}.group-desc[data-v-3d72266f]{margin:0 0 4px;font-size:13px;color:var(--color-text-muted)}.options-section[data-v-3d72266f]{margin-bottom:16px;padding:12px;background:#27323d;border:1px solid #384554;border-radius:4px}.section-head[data-v-3d72266f]{display:flex;align-items:center;gap:8px;margin:-12px -12px 12px;padding:10px 12px;border-bottom:1px solid #334155;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.section-head[data-v-3d72266f]:hover{background:#14202e;border-radius:4px 4px 0 0}.options-section.section-collapsed[data-v-3d72266f]{padding-bottom:0}.options-section.section-collapsed .section-head[data-v-3d72266f]{margin-bottom:0;border-bottom:none}.options-section.section-collapsed .section-head[data-v-3d72266f]:hover{border-radius:4px}.section-head-icon[data-v-3d72266f]{color:#60a5fa;flex-shrink:0}.section-head-title[data-v-3d72266f]{flex:1;font-size:13px;font-weight:600;color:#f1f5f9}.section-head-chevron[data-v-3d72266f]{color:var(--color-text-muted);flex-shrink:0}.section-body[data-v-3d72266f]{display:flex;flex-direction:column;gap:10px}.option-item[data-v-3d72266f]{display:flex;flex-direction:column;gap:4px}.option-item label[data-v-3d72266f]{display:block;font-size:13px;font-weight:500;color:var(--color-text-subtle)}.input-row[data-v-3d72266f]{display:flex;gap:8px;align-items:center}.input-row .input-field[data-v-3d72266f]{flex:1}.input-small[data-v-3d72266f]{width:70px!important;flex:none!important}.input-field[data-v-3d72266f],.select-field[data-v-3d72266f]{width:100%;padding:6px 8px;border:1px solid #384554;border-radius:3px;font-size:13px;background:#1b242d;color:#e2e8f0;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.input-field[data-v-3d72266f]:focus,.select-field[data-v-3d72266f]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.range-input[data-v-3d72266f]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#384554;border-radius:3px;outline:none}.range-input[data-v-3d72266f]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#ff8303;border-radius:50%;cursor:pointer}.range-input[data-v-3d72266f]::-moz-range-thumb{width:16px;height:16px;background:#ff8303;border-radius:50%;cursor:pointer;border:none}.range-value[data-v-3d72266f]{font-size:12px;color:var(--color-text-subtle);min-width:40px;text-align:center}.color-field[data-v-3d72266f]{width:60px;height:32px;padding:2px;border:1px solid #384554;border-radius:3px;cursor:pointer;background:#1b242d}.checkbox-item[data-v-3d72266f]{display:flex;align-items:center;gap:6px;font-size:13px;color:#cbd5e1;cursor:pointer;width:100%}.checkbox-item label[data-v-3d72266f]{display:flex;align-items:center;gap:6px;cursor:pointer;width:100%;margin:0}.checkbox-field[data-v-3d72266f]{width:16px;height:16px;accent-color:#FF8303;cursor:pointer}.section-header label[data-v-3d72266f]{font-size:13px;font-weight:500;color:#cbd5e1}.btn-add[data-v-3d72266f]{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-add[data-v-3d72266f]:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 2px 8px #2563eb4d}.marker-item[data-v-3d72266f]{background:#1b242d;border:1px solid #384554;border-radius:6px;padding:12px;margin-bottom:8px}.marker-header[data-v-3d72266f]{display:grid;grid-template-columns:28px 1fr 40px 28px;gap:8px;align-items:center;margin-bottom:8px}.marker-index[data-v-3d72266f]{font-size:11px;font-weight:600;color:var(--color-text-subtle);text-align:center}.marker-label-input[data-v-3d72266f]{padding:6px 8px;border:1px solid #384554;border-radius:6px;font-size:12px;background:#27323d;color:#e2e8f0}.color-input[data-v-3d72266f]{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-3d72266f]::-webkit-color-swatch-wrapper{padding:0;border:none}.color-input[data-v-3d72266f]::-webkit-color-swatch{border:none;border-radius:4px}.color-input[data-v-3d72266f]::-moz-color-swatch{border:none;border-radius:4px}.btn-remove[data-v-3d72266f]{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-3d72266f]:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 2px 8px #ef44444d}.icon[data-v-3d72266f]{width:14px;height:14px}.empty-markers[data-v-3d72266f]{text-align:center;padding:24px 16px;background:#1b242d;border:2px dashed #384554;border-radius:8px;color:var(--color-text-subtle)}.empty-markers .empty-icon[data-v-3d72266f]{color:#475569;margin-bottom:8px}.empty-markers p[data-v-3d72266f]{margin:0 0 4px;font-weight:500;color:#cbd5e1}.empty-markers span[data-v-3d72266f]{font-size:12px}.marker-device-section[data-v-3d72266f]{margin:12px 0;padding:12px;background:#1b242d;border:1px solid #384554;border-radius:6px}.marker-device-section .option-item[data-v-3d72266f]{margin-bottom:8px}.marker-device-section .option-item[data-v-3d72266f]:last-child{margin-bottom:0}.datamonitors-section[data-v-3d72266f]{margin-top:12px;padding:10px;background:#27323d;border:1px solid #384554;border-radius:6px}.section-header-small[data-v-3d72266f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-header-small label[data-v-3d72266f]{font-size:11px;color:#cbd5e1;font-weight:500;margin:0}.btn-add-small[data-v-3d72266f]{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-3d72266f]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 8px #3b82f64d;transform:translateY(-1px)}.btn-add-small[data-v-3d72266f]:disabled{opacity:.5;cursor:not-allowed}.empty-datamonitors[data-v-3d72266f]{padding:12px;text-align:center;color:var(--color-text-muted);font-size:11px;font-style:italic}.datamonitor-item[data-v-3d72266f]{display:flex;gap:6px;align-items:center;margin-bottom:6px}.datamonitor-item[data-v-3d72266f]:last-child{margin-bottom:0}.select-field-small[data-v-3d72266f]{flex:1;padding:6px 10px;border:1px solid #384554;border-radius:6px;font-size:12px;background:#1b242d;color:#e2e8f0;outline:none;cursor:pointer;transition:all .2s}.select-field-small[data-v-3d72266f]:hover{border-color:var(--color-text-muted)}.select-field-small[data-v-3d72266f]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.select-field-small[data-v-3d72266f]:disabled{opacity:.5;cursor:not-allowed}.btn-remove-small[data-v-3d72266f]{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-3d72266f]:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 2px 8px #ef44444d;transform:translateY(-1px)}.marker-popup[data-v-3d72266f]{margin-top:8px}.marker-popup label[data-v-3d72266f]{display:block;font-size:11px;color:var(--color-text-subtle);margin-bottom:4px}.popup-textarea[data-v-3d72266f]{width:100%;padding:8px;border:1px solid #384554;border-radius:6px;font-size:12px;resize:vertical;min-height:40px;background:#1b242d;color:#e2e8f0;box-sizing:border-box}.popup-textarea[data-v-3d72266f]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.center-coordinate-display[data-v-3d72266f]{display:flex;flex-direction:column;gap:8px}.coordinate-info[data-v-3d72266f]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#1b242d;border:1px solid #384554;border-radius:6px;font-family:Courier New,monospace;font-size:12px}.coord-label[data-v-3d72266f]{color:var(--color-text-subtle);font-weight:500}.coord-value[data-v-3d72266f]{color:#e2e8f0;font-weight:600;min-width:70px}.select-center-btn[data-v-3d72266f]{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-3d72266f]:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 2px 8px #2563eb4d}.select-center-btn.active[data-v-3d72266f]{background:linear-gradient(135deg,#f59e0b,#d97706);animation:pulse-btn-3d72266f 1.5s infinite}@keyframes pulse-btn-3d72266f{0%,to{opacity:1}50%{opacity:.8}}.hint-text[data-v-3d72266f]{margin:0;padding:8px 12px;background:#422006;border:1px solid #78350f;border-radius:6px;font-size:11px;color:#fcd34d}.marker-coordinates-select[data-v-3d72266f]{display:flex;flex-direction:column;gap:8px;padding:8px;background:#1b242d;border-radius:6px;margin-top:8px}.coordinate-info-row[data-v-3d72266f]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.coordinate-info-row .coord-label[data-v-3d72266f]{font-size:11px;color:var(--color-text-subtle);font-weight:500}.coordinate-info-row .coord-value[data-v-3d72266f]{color:#e2e8f0;font-weight:600;font-size:12px;min-width:60px}.size-input-small[data-v-3d72266f]{width:50px;padding:4px 6px;border:1px solid #384554;border-radius:6px;font-size:11px;text-align:center;background:#27323d;color:#e2e8f0}.select-marker-btn[data-v-3d72266f]{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-3d72266f]:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 2px 8px #10b9814d}.select-marker-btn.active[data-v-3d72266f]{background:linear-gradient(135deg,#f59e0b,#d97706);animation:pulse-btn-3d72266f 1.5s infinite}.simple-map-widget[data-v-2980e306]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;position:relative}.map-header[data-v-2980e306]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-raised);flex-shrink:0}.map-title[data-v-2980e306]{font-size:13px;font-weight:600;color:var(--color-text-primary);margin:0}.map-controls[data-v-2980e306]{display:flex;gap:4px}.control-btn[data-v-2980e306]{width:26px;height:26px;border:none;background:var(--color-surface-overlay);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--color-text-secondary)}.control-btn[data-v-2980e306]:hover{background:var(--color-border);color:var(--color-text-primary)}.control-btn.active[data-v-2980e306]{background:#3b82f6;color:#fff}.map-container[data-v-2980e306]{flex:1;position:relative;min-height:0;width:100%;height:100%}.loading-container[data-v-2980e306],.map-error[data-v-2980e306]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--color-surface);color:var(--color-text-subtle);font-size:13px;z-index:1000}.error-icon[data-v-2980e306]{color:#ef4444}.retry-btn[data-v-2980e306]{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s}.retry-btn[data-v-2980e306]:hover{background:#2563eb}.add-marker-hint[data-v-2980e306]{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-2980e306]{padding:4px 8px;background:#fff3;color:#fff;border:none;border-radius:4px;font-size:11px;cursor:pointer}.cancel-btn[data-v-2980e306]:hover{background:#ffffff4d}.marker-modal-overlay[data-v-2980e306]{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.marker-modal[data-v-2980e306]{background:var(--color-surface);border-radius:12px;width:90%;max-width:360px;box-shadow:0 20px 40px #00000080;overflow:hidden}.modal-header[data-v-2980e306]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border)}.modal-header h4[data-v-2980e306]{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary)}.close-btn[data-v-2980e306]{width:28px;height:28px;border:none;background:transparent;color:var(--color-text-subtle);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-2980e306]:hover{background:var(--color-surface-overlay);color:var(--color-text-primary)}.modal-body[data-v-2980e306]{padding:16px}.form-group[data-v-2980e306]{margin-bottom:12px}.form-group label[data-v-2980e306]{display:block;font-size:11px;font-weight:500;color:var(--color-text-subtle);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.form-row[data-v-2980e306]{display:flex;gap:12px}.form-row .form-group[data-v-2980e306]{flex:1}.form-input[data-v-2980e306],.form-textarea[data-v-2980e306]{width:100%;padding:8px 10px;background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);font-size:13px;outline:none;transition:border-color .2s}.form-input[data-v-2980e306]:focus,.form-textarea[data-v-2980e306]:focus{border-color:#3b82f6}.form-textarea[data-v-2980e306]{min-height:60px;resize:vertical}.form-color[data-v-2980e306]{width:40px;height:32px;padding:0;border:none;border-radius:6px;cursor:pointer}.form-range[data-v-2980e306]{flex:1;height:4px;background:var(--color-surface-overlay);border-radius:2px;outline:none;cursor:pointer}.range-value[data-v-2980e306]{font-size:11px;color:var(--color-text-subtle);margin-left:8px}.modal-footer[data-v-2980e306]{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;background:var(--color-surface-raised);border-top:1px solid var(--color-border)}.btn-cancel[data-v-2980e306],.btn-confirm[data-v-2980e306]{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-2980e306]{background:var(--color-surface-overlay);color:var(--color-text-secondary)}.btn-cancel[data-v-2980e306]:hover{background:var(--color-border);color:var(--color-text-primary)}.btn-confirm[data-v-2980e306]{background:#3b82f6;color:#fff}.btn-confirm[data-v-2980e306]:hover{background:#2563eb}.map-legend[data-v-2980e306]{padding:8px 12px;background:var(--color-surface-raised);border-top:1px solid var(--color-border);flex-shrink:0;max-height:120px;overflow-y:auto}.legend-header[data-v-2980e306]{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:10px;font-weight:600;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.5px}.legend-icon[data-v-2980e306]{color:var(--color-text-muted)}.legend-items[data-v-2980e306]{display:flex;flex-direction:column;gap:4px}.legend-item[data-v-2980e306]{display:flex;align-items:center;gap:8px;font-size:11px;padding:4px 6px;border-radius:4px;transition:background .2s}.legend-item[data-v-2980e306]:hover{background:var(--color-surface-overlay)}.legend-marker[data-v-2980e306]{width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);flex-shrink:0}.legend-label[data-v-2980e306]{color:var(--color-text-primary);font-weight:500;cursor:pointer;flex:1}.legend-label[data-v-2980e306]:hover{color:#3b82f6}.legend-remove[data-v-2980e306]{width:20px;height:20px;border:none;background:transparent;color:var(--color-text-muted);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-2980e306]{opacity:1}.legend-remove[data-v-2980e306]:hover{background:#ef4444;color:#fff}.map-stats[data-v-2980e306]{display:flex;justify-content:space-around;padding:6px 12px;background:var(--color-surface-raised);border-top:1px solid var(--color-border);flex-shrink:0}.stat-item[data-v-2980e306]{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-label[data-v-2980e306]{font-size:9px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-2980e306]{font-size:11px;font-weight:600;color:var(--color-text-primary)}[data-v-2980e306] .leaflet-container{background:#1e293b;font-family:inherit;width:100%!important;height:100%!important}[data-v-2980e306] .leaflet-popup-content-wrapper{background:#1e293b;color:#e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000004d}[data-v-2980e306] .marker-popup{min-width:180px}[data-v-2980e306] .marker-popup strong{color:#3b82f6;font-size:14px;display:block;margin-bottom:8px}[data-v-2980e306] .marker-data{margin:8px 0;padding:8px;background:#0f172a;border-left:3px solid #3b82f6;border-radius:4px}[data-v-2980e306] .marker-data .data-label{color:var(--color-text-subtle);font-size:12px;font-weight:500}[data-v-2980e306] .marker-data .data-value{color:#22c55e;font-size:16px;font-weight:600;margin-left:4px}[data-v-2980e306] .marker-data-waiting{margin:8px 0;padding:6px;background:#0f172a;border-left:3px solid #64748b;border-radius:4px;color:var(--color-text-subtle);font-style:italic}[data-v-2980e306] .marker-description{margin:8px 0;font-size:12px;color:#cbd5e1;line-height:1.4}[data-v-2980e306] .marker-coords{display:block;margin-top:8px;padding-top:8px;border-top:1px solid #334155;color:var(--color-text-muted);font-size:11px}[data-v-2980e306] .leaflet-popup-content{margin:10px 12px;font-size:12px;line-height:1.4}[data-v-2980e306] .leaflet-popup-tip{background:#1e293b}[data-v-2980e306] .leaflet-control-attribution{display:none!important}[data-v-2980e306] .custom-marker-icon{background:transparent!important;border:none!important;display:flex!important;align-items:center!important;justify-content:center!important}[data-v-2980e306] .map-marker-pin{pointer-events:auto;transition:transform .1s ease}[data-v-2980e306] .map-marker-pin:hover{transform:translate(-50%,-50%) scale(1.2)}[data-v-2980e306] .flag-icon{background:transparent!important;border:none!important;display:flex!important;align-items:center!important;justify-content:center!important}[data-v-2980e306] .vietnam-flag-marker{font-size:20px;text-shadow:0 2px 4px rgba(0,0,0,.5)}[data-v-2980e306] .current-location-icon{background:transparent!important;border:none!important}[data-v-2980e306] .current-location-marker{position:relative;width:24px;height:24px}[data-v-2980e306] .pulse-ring{position:absolute;width:24px;height:24px;border:2px solid #3b82f6;border-radius:50%;animation:pulse-ring-2980e306 2s infinite}[data-v-2980e306] .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-2980e306{0%{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}.map-container.selecting-mode[data-v-2980e306]{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-2980e306] .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-2980e306] .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-2980e306]{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-2980e306 1.5s infinite}@keyframes pulse-indicator-2980e306{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.9;transform:translate(-50%) scale(1.02)}}.tracking-map-widget[data-v-087ed3a1]{display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-surface);border-radius:8px;overflow:hidden}.map-header[data-v-087ed3a1]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface-raised)}.map-title[data-v-087ed3a1]{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin:0}.map-controls[data-v-087ed3a1]{display:flex;gap:8px}.tracking-btn[data-v-087ed3a1],.clear-btn[data-v-087ed3a1]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border-medium);background:var(--color-surface);border-radius:6px;cursor:pointer;transition:all .2s ease}.tracking-btn[data-v-087ed3a1]:hover,.clear-btn[data-v-087ed3a1]:hover{background:var(--color-surface-overlay);border-color:var(--color-text-subtle)}.tracking-btn.active[data-v-087ed3a1]{background:#3b82f6;border-color:#3b82f6;color:#fff}.map-container[data-v-087ed3a1]{flex:1;position:relative;min-height:200px}.map-info[data-v-087ed3a1]{display:flex;justify-content:space-between;padding:12px 16px;background:var(--color-surface-raised);border-top:1px solid var(--color-border)}.info-item[data-v-087ed3a1]{display:flex;flex-direction:column;align-items:center}.info-label[data-v-087ed3a1]{font-size:11px;color:var(--color-text-muted);margin-bottom:2px}.info-value[data-v-087ed3a1]{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.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-087ed3a1 2s infinite}@keyframes pulse-087ed3a1{0%{box-shadow:0 0 #3b82f6b3}70%{box-shadow:0 0 0 10px #3b82f600}to{box-shadow:0 0 #3b82f600}}.widget-frame[data-v-45306a04]{display:flex;flex-direction:column;height:100%;background:transparent;border-radius:8px;overflow:hidden}.widget-frame-title[data-v-45306a04]{padding:6px 10px;font-size:13px;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-raised);border-bottom:1px solid var(--color-border)}.widget-frame-title[data-v-45306a04]:first-child{border-radius:8px 8px 0 0}.widget-frame-title[data-v-45306a04]:last-child{border-radius:0 0 8px 8px;border-bottom:none;border-top:1px solid var(--color-border)}.widget-frame-title.align-left[data-v-45306a04]{text-align:left}.widget-frame-title.align-center[data-v-45306a04]{text-align:center}.widget-frame-title.align-right[data-v-45306a04]{text-align:right}.widget-frame-body[data-v-45306a04]{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:8px}.info-btn[data-v-c77599a6]{color:#94a3b8}.info-btn[data-v-c77599a6]:hover{color:#ff8303}.shortcut-panel{background:#1a2332;border:1px solid #2a3744;border-radius:10px;box-shadow:0 12px 32px #00000080;overflow:hidden}.shortcut-panel-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#141e2b;border-bottom:1px solid #2a3744;color:#e2e8f0;font-size:13px;font-weight:600}.shortcut-close{margin-left:auto;background:none;border:none;color:#64748b;cursor:pointer;display:flex;align-items:center;padding:2px;border-radius:4px;transition:color .15s}.shortcut-close:hover{color:#e2e8f0}.shortcut-list{padding:6px 0;max-height:380px;overflow-y:auto}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;gap:12px;transition:background .1s}.shortcut-row:hover{background:#ff83030f}.shortcut-keys{display:flex;align-items:center;gap:3px;flex-shrink:0}.shortcut-panel kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;background:#0f1923;border:1px solid #3a4a5c;border-bottom-width:2px;border-radius:4px;font-family:Courier New,monospace;font-size:10px;color:#cbd5e1;white-space:nowrap;min-width:20px}.shortcut-desc{font-size:12px;color:#94a3b8;text-align:right;flex:1}.shortcut-fade-enter-active,.shortcut-fade-leave-active{transition:opacity .15s ease,transform .15s ease}.shortcut-fade-enter-from,.shortcut-fade-leave-to{opacity:0;transform:translateY(-6px)}.ds-section[data-v-564b7cc2]{margin:12px 12px 4px;padding:12px;background:#27323d;border:1px solid #384554;border-radius:4px}.ds-section.ds-collapsed[data-v-564b7cc2]{padding-bottom:0}.ds-head[data-v-564b7cc2]{display:flex;align-items:center;gap:8px;margin:-12px -12px 12px;padding:10px 12px;border-bottom:1px solid #334155;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ds-head[data-v-564b7cc2]:hover{background:#14202e;border-radius:4px 4px 0 0}.ds-section.ds-collapsed .ds-head[data-v-564b7cc2]{margin-bottom:0;border-bottom:none}.ds-section.ds-collapsed .ds-head[data-v-564b7cc2]:hover{border-radius:4px}.ds-head-icon[data-v-564b7cc2]{color:#60a5fa;flex-shrink:0}.ds-head-title[data-v-564b7cc2]{flex:1;font-size:13px;font-weight:600;color:#f1f5f9}.ds-head-chevron[data-v-564b7cc2]{color:var(--color-text-muted);flex-shrink:0}.ds-body[data-v-564b7cc2]{display:flex;flex-direction:column;gap:12px}.ds-row[data-v-564b7cc2]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.ds-field[data-v-564b7cc2]{display:flex;flex-direction:column;gap:4px;min-width:0}.ds-field>label[data-v-564b7cc2]{font-size:13px;font-weight:500;color:var(--color-text-subtle)}.ds-select[data-v-564b7cc2]{width:100%;min-width:0;padding:6px 8px;border:1px solid #384554;border-radius:3px;font-size:13px;background:#1b242d;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:border-color .2s,box-shadow .2s}.ds-select[data-v-564b7cc2]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.ds-select[data-v-564b7cc2]:disabled{opacity:.5;cursor:not-allowed}.ds-scale[data-v-564b7cc2]{display:flex;flex-direction:column;gap:10px;padding-top:10px;border-top:1px dashed #384554}.ds-checkbox[data-v-564b7cc2]{display:flex;align-items:center;gap:6px;font-size:13px;color:#cbd5e1;cursor:pointer}.ds-checkbox input[data-v-564b7cc2]{width:15px;height:15px;accent-color:#3b82f6;cursor:pointer}.ds-scale-grid[data-v-564b7cc2]{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}.ds-scale-col[data-v-564b7cc2]{display:flex;flex-direction:column;gap:6px;min-width:0}.ds-scale-col-label[data-v-564b7cc2]{font-size:12px;font-weight:600;color:var(--color-text-subtle)}.ds-scale-field[data-v-564b7cc2]{display:flex;align-items:center;gap:6px}.ds-scale-field>label[data-v-564b7cc2]{font-size:12px;color:var(--color-text-muted);width:26px;flex-shrink:0}.ds-scale-field input[data-v-564b7cc2]{width:100%;min-width:0;padding:5px 8px;border:1px solid #384554;border-radius:3px;font-size:13px;background:#1b242d;color:#e2e8f0}.ds-scale-field input[data-v-564b7cc2]:focus{outline:none;border-color:#3b82f6}.ds-scale-arrow[data-v-564b7cc2]{color:#60a5fa;display:flex;align-items:center}.ds-scale-arith[data-v-564b7cc2]{display:flex;align-items:center;gap:8px}.ds-arith-label[data-v-564b7cc2]{font-size:12px;color:var(--color-text-subtle);flex:1;min-width:0}.ds-arith-op[data-v-564b7cc2]{width:48px;flex-shrink:0;padding:5px 4px;border:1px solid #384554;border-radius:3px;font-size:14px;text-align:center;background:#1b242d;color:#e2e8f0}.ds-arith-operand[data-v-564b7cc2]{width:80px;flex-shrink:0;padding:5px 8px;border:1px solid #384554;border-radius:3px;font-size:13px;background:#1b242d;color:#e2e8f0}.ds-arith-op[data-v-564b7cc2]:focus,.ds-arith-operand[data-v-564b7cc2]:focus{outline:none;border-color:#3b82f6}@keyframes scaleUp{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes outlineGlow{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{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{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{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{animation:outlineGlow var(--animation-duration, 2s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-outline-glow-red{animation:outlineGlowRed var(--animation-duration, 2s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-outline-glow-green{animation:outlineGlowGreen var(--animation-duration, 2s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-outline-glow-orange{animation:outlineGlowOrange var(--animation-duration, 2s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.interactive-widget{transition:filter .1s,transform .1s}.interactive-widget:hover{filter:brightness(1.1)}.interactive-widget:active,.widget-pressed{transform:scale(.97)!important}.scada-canvas-wrapper{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;background-color:inherit}.scada-canvas-content{position:relative;transform-origin:center center}.preview-widget{position:absolute;box-sizing:border-box}.dialog-view-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center}.dialog-view-container{position:relative;border-radius:8px;box-shadow:0 20px 40px #0000004d;overflow:hidden}.scada-loading-container,.scada-error-container,.scada-empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ffffffe6}.scada-loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.2);border-top-color:#ff8303;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.scada-loading-container p,.scada-error-container p,.scada-empty-container p{color:#ffffffb3;font-size:14px;margin:8px 0 0}.scada-error-container h3,.scada-empty-container h3{margin:16px 0 8px;font-size:18px;font-weight:600}input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none!important;padding:0;background:transparent;cursor:pointer;overflow:hidden}input[type=color]::-webkit-color-swatch-wrapper{padding:0;border:none}input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}input[type=color]::-moz-color-swatch{border:none;border-radius:4px}input[type=color]:focus{outline:none}.label-warning{background-color:var(--3cc98b28)!important;border-color:var(--e6198ac8)!important}.label-critical{background-color:var(--4a1f5923)!important;border-color:var(--7c913f52)!important}.scada-dashboard-root{width:100vw;height:100vh;background:#2d3748;display:flex;flex-direction:column;-moz-user-select:none;user-select:none;-webkit-user-select:none}.scada-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:42px;background:#2d3748;border-bottom:1px solid #4a5568;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:10}.dashboard-title{font-size:13px;font-weight:600;color:#e2e8f0;letter-spacing:.5px}.toolbar-center{display:flex;padding-left:40px;align-items:center;justify-content:center;height:auto}.toolbar-icon-group{display:flex;gap:2px;align-items:center}.toolbar-icon{width:14px;height:14px;color:#cbd5e0;transition:color .2s}.toolbar-zoom-group{display:flex;flex-direction:column;align-items:center;position:relative;width:54px}.toolbar-zoom-indicator{color:var(--color-text-secondary);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{flex:1;display:flex;padding:12px;justify-content:left;align-items:center}.view-size-info{color:var(--color-text-subtle);font-size:11px;font-weight:500;background:#2d3748;padding:2px 8px;border-radius:4px;border:1px solid #4a5568}.toolbar-right{display:flex;gap:6px;align-items:center}.toolbar-btn{border:none;border-radius:5px;padding:5px 7px;cursor:pointer;font-size:12px;color:#cbd5e0;background:transparent;display:flex;align-items:center;gap:4px;justify-content:center;min-width:28px;height:28px;transition:all .2s;position:relative}.toolbar-btn.active{background:#3b82f6;color:#fff}.toolbar-btn.active .toolbar-icon{color:#fff}.grid-size-control{display:flex;align-items:center;gap:4px;margin-left:4px}.grid-size-select{background:#2d3748;border:1px solid #4a5568;border-radius:4px;color:#cbd5e0;padding:2px 4px;font-size:11px;min-width:52px}.grid-size-select:focus{outline:none;border-color:#3b82f6}.toolbar-btn.primary{font-weight:600;font-size:12px;background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;padding:5px 12px;min-width:auto;height:28px;box-shadow:0 2px 6px #ff830359}.toolbar-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#ff9520,#ff8303);transform:translateY(-1px);box-shadow:0 4px 10px #ff830373}.toolbar-btn.primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.toolbar-btn.preview{font-weight:600;font-size:12px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:5px 12px;min-width:auto;height:28px;box-shadow:0 2px 6px #2563eb59}.toolbar-btn.preview:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6);transform:translateY(-1px);box-shadow:0 4px 10px #2563eb73}.toolbar-btn:hover:not(.primary):not(.preview){color:#e2e8f0;background:#4a5568}.toolbar-zoom-display{min-width:42px;background:#2d3748;border:1px solid #4a5568}.toolbar-zoom-text{font-size:11px;font-weight:600;color:#e2e8f0}.toolbar-zoom-display:hover{background:#4a5568;border-color:var(--color-text-muted)}.toolbar-btn[title*=nhỏ],.toolbar-btn[title*=to]{background:#4a5568;border:1px solid #718096}.toolbar-btn[title*=nhỏ]:hover,.toolbar-btn[title*=to]:hover{background:#718096;border-color:var(--color-text-subtle)}.scada-main-layout{flex:1;display:flex;height:calc(100vh - 78px);min-height:0}.scada-status-bar{height:36px;background:#232d3a;border-top:1px solid #3a4a5c;display:flex;align-items:center;padding:0 10px;gap:4px;flex-shrink:0;z-index:10;overflow:hidden}.status-bar-group{display:flex;align-items:center;gap:3px}.status-bar-sep{width:1px;height:18px;background:#3a4a5c;margin:0 6px;flex-shrink:0}.status-bar-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#94a3b8;border-radius:4px;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.status-bar-btn:hover{background:#2d3a4a;color:#e2e8f0}.status-bar-zoom{min-width:44px;height:24px;border:1px solid #3a4a5c;background:#1a2332;color:#e2e8f0;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;text-align:center;padding:0 4px;transition:background .15s}.status-bar-zoom:hover{background:#2d3a4a}.status-color-label{font-size:10px;color:#64748b;margin-right:2px;flex-shrink:0}.status-color-swatch-wrap{position:relative;width:22px;height:22px;border-radius:4px;border:1px solid #3a4a5c;overflow:hidden;cursor:pointer;flex-shrink:0}.status-color-swatch{width:100%;height:100%}.status-color-input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0;border:none}.status-quick-color{width:18px;height:18px;border-radius:3px;border:1px solid rgba(255,255,255,.15);cursor:pointer;flex-shrink:0;transition:transform .1s,border-color .1s}.status-quick-color:hover{transform:scale(1.2);border-color:#ff8303;z-index:1}.status-bar-info{font-size:10px;color:#64748b;font-family:Courier New,monospace;white-space:nowrap;padding:0 4px}.scada-widget-manager{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{display:flex;gap:6px}.widget-manager-tabs button{flex:1;padding:5px 0;border:none;background:#4a5568;color:#cbd5e0;font-size:12px;font-weight:500;border-radius:5px;cursor:pointer;transition:background .2s,color .2s}.widget-manager-tabs button.active{background:#718096;color:#e2e8f0}.widget-manager-title{font-size:12px;color:#e2e8f0;font-weight:600;margin-bottom:5px;text-align:center}.widget-manager-empty{color:var(--color-text-subtle);font-size:13px;text-align:center;padding:16px 8px}.widget-manager-list{display:flex;flex-direction:column;gap:10px}.widget-manager-item{background:var(--color-surface);border-radius:8px;box-shadow:0 1px 4px #3b82f60f;padding:8px;display:flex;flex-direction:column;gap:6px}.widget-manager-item.active{border:2px solid #2563eb}.widget-manager-row{display:flex;align-items:center;gap:8px}.widget-manager-icon{width:22px;height:22px;color:var(--color-blue)}.widget-manager-input{flex:1;font-size:13px;padding:2px 6px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface-raised);color:var(--color-blue)}.widget-manager-note{width:100%;padding:2px 6px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface-raised);color:var(--color-text-muted);resize:none}.widget-manager-actions{display:flex;gap:8px;margin-top:2px}.widget-manager-btn{border:none;background:none;cursor:pointer;font-size:18px;color:var(--color-blue);padding:2px 6px;border-radius:4px;transition:background .2s,color .2s}.widget-manager-btn:hover{background:#e0e7ef;color:var(--color-text-primary)}.scada-sidebar{max-width:200px;background:#2d3748;border-right:1px solid #4a5568;padding:12px 0;display:flex;flex-direction:column;gap:5px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#4a5568 transparent;height:100%;position:relative;z-index:100}.scada-sidebar::-webkit-scrollbar{width:8px}.scada-sidebar::-webkit-scrollbar-track{background:transparent}.scada-sidebar::-webkit-scrollbar-thumb{background:#4a5568;border-radius:4px}.scada-sidebar::-webkit-scrollbar-thumb:hover{background:#4a5568}.sidebar-section{margin-bottom:0}.sidebar-title{font-size:13px;color:#cbd5e0;font-weight:500;text-align:left;padding:5px 12px;line-height:1.2}.sidebar-icons{display:flex;flex-wrap:wrap;gap:15px;justify-content:left;padding-left:12px}.sidebar-icons>*{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>*:hover{background:#718096;color:#e2e8f0}.switch-variants-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;padding-left:12px}.switch-icon{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:hover{background:#718096;transform:scale(1.05);box-shadow:0 2px 8px #0003}.switch-icon:active{cursor:grabbing;transform:scale(.95)}.switch-icon img{width:32px;height:32px;-o-object-fit:contain;object-fit:contain}.switch-variant-label{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{background:#3b82f6!important;color:#fff!important;box-shadow:0 2px 8px #3b82f666}.drawing-preview{transition:none!important;animation:none!important}.scada-canvas{flex:1;background:#4a5568;position:relative;min-height:0;height:100%;overflow:hidden;-moz-user-select:none;user-select:none;-webkit-user-select:none}.ruler-horizontal{position:absolute;top:0;left:20px;right:0;height:20px;background:#2d3748;border-bottom:1px solid #4a5568;z-index:10}.ruler-horizontal .ruler-marks{position:relative;height:100%}.ruler-horizontal .ruler-mark{position:absolute;top:0;width:1px;background:#718096;height:8px}.ruler-horizontal .ruler-mark.major{background:#e2e8f0;height:15px}.ruler-horizontal .ruler-mark.zero{background:#3b82f6!important;height:20px!important;width:3px!important}.ruler-horizontal .ruler-label{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{color:#3b82f6;font-weight:700;background:#1e293b;padding:1px 3px;border-radius:2px}.ruler-horizontal .ruler-mark.negative{background:#ef4444!important}.ruler-horizontal .ruler-mark.negative.major{height:15px}.ruler-horizontal .ruler-mark.negative .ruler-label{color:#ef4444;background:#1e293b;padding:1px 3px;border-radius:2px}.ruler-vertical{position:absolute;top:20px;left:0;width:20px;bottom:0;background:#2d3748;border-right:1px solid #4a5568;z-index:10}.ruler-vertical .ruler-marks{position:relative;width:100%;height:100%}.ruler-vertical .ruler-mark{position:absolute;left:0;height:1px;background:#718096;width:8px}.ruler-vertical .ruler-mark.major{background:#e2e8f0;width:15px}.ruler-vertical .ruler-mark.zero{background:#3b82f6!important;width:20px!important;height:3px!important}.ruler-vertical .ruler-label{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{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{background:#ef4444!important}.ruler-vertical .ruler-mark.negative.major{width:15px}.ruler-vertical .ruler-mark.negative .ruler-label{color:#ef4444;background:#1e293b;padding:1px 3px;border-radius:2px;writing-mode:horizontal-tb;text-orientation:initial}.canvas-content{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{position:absolute;height:2px;background:var(--color-surface);z-index:2;opacity:.8}.origin-axis-y{position:absolute;width:2px;background:var(--color-surface);z-index:2;opacity:.8}.grid-overlay{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{position:absolute;top:40px;left:40px;border:3px solid #718096;box-shadow:0 4px 24px #00000026;z-index:1;overflow:hidden}.canvas-placeholder{position:absolute;inset:0;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--color-text-subtle);font-size:18px;font-weight:500;letter-spacing:1px;border:2px dashed #718096;z-index:0}.canvas-widgets{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{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 *{pointer-events:auto}.canvas-widget svg{shape-rendering:geometricPrecision;image-rendering:optimizeQuality;backface-visibility:hidden}.canvas-widget polyline,.canvas-widget line,.canvas-widget path{shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke}.canvas-widget.selected{border:.5px solid #2563eb;border-radius:10px}.library-widget-container,.canvas-widget .library-widget-container *,.canvas-widget.locked .library-widget-container,.canvas-widget.locked .library-widget-container *{pointer-events:auto!important}.canvas-content .canvas-widgets.tool-active .canvas-widget,.canvas-content .canvas-widgets.tool-active .canvas-widget *{pointer-events:none!important}.resize-handle{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{position:absolute;pointer-events:none;z-index:9999}.selection-border{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{position:absolute;top:-30px;height:30px;width:2px;background:#4f8dffe6;transform:translate(-50%);pointer-events:none}.selection-handle{position:absolute;width:12px;height:12px;background:var(--color-surface);border:2px solid #4f8dff;border-radius:2px;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000040;pointer-events:auto}.selection-pivot{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:active{cursor:grabbing}.selection-pivot:hover{background:#15803d}.widget-config-tabs{background:#4a5568;border-radius:8px;box-shadow:0 1px 4px #0003;padding:8px}.widget-tabs-header{display:flex;gap:8px;margin-bottom:8px}.widget-tabs-header button{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{background:#718096;color:#e2e8f0}.widget-tabs-content{margin-top:4px}.widget-config-section{margin-bottom:8px}.widget-config-tabs textarea,.widget-config-tabs select{width:100%;padding:4px 6px;border:1px solid #718096;border-radius:5px;background:#2d3748;color:#e2e8f0;font-size:11px;box-sizing:border-box;outline:none}.widget-config-tabs textarea{resize:vertical;font-family:inherit;font-size:12px;padding:6px}.widget-config-tabs select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.widget-config-tabs select option{background:#2d3748;color:#e2e8f0}.iframe-ratio-btn{padding:3px 10px;border-radius:5px;border:1.5px solid rgba(255,255,255,.2);background:#ffffff14;color:#e2e8f0;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.iframe-ratio-btn:hover{background:#ff830340;border-color:#ff8303;color:#ff8303}.widget-config-title{font-size:11px;color:#e2e8f0;font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.widget-config-row{display:grid;grid-template-columns:1fr 100px;align-items:center;gap:6px;margin-bottom:4px}.widget-config-row label{font-size:11px;color:#cbd5e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-config-row input[type=number],.widget-config-row input[type=text],.widget-config-row select{width:100px;padding:2px 6px;border:1px solid #718096;border-radius:5px;background:#2d3748;color:#e2e8f0;font-size:11px;height:24px;cursor:pointer;text-align:right;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.widget-config-row input[type=number]::-webkit-inner-spin-button,.widget-config-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.widget-config-row input[type=number]{-moz-appearance:textfield}.widget-config-row select{text-align:left;cursor:pointer;padding-right:4px}.widget-config-row input[type=color]{width:36px;height:28px;border:2px solid rgba(255,255,255,.25);background:none;cursor:pointer;padding:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;border-radius:6px;box-shadow:0 0 0 1px #0000004d;transition:border-color .15s}.widget-config-row input[type=color]:hover{border-color:#ffffff80}.widget-config-row input[type=color]::-webkit-color-swatch-wrapper{padding:0;border:none}.widget-config-row input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}.widget-config-row input[type=color]::-moz-color-swatch{border:none;border-radius:3px}.widget-config-row input[type=range]{flex:1}.opacity-label-group{display:flex;align-items:center;gap:4px}.opacity-value{font-size:11px;color:#a0aec0;white-space:nowrap}.align-section-header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}.align-section-header .widget-config-title{flex-shrink:0;margin-bottom:0}.align-count{font-size:10px;color:#718096;font-style:italic}.align-count.active{color:#ff8303;font-style:normal;font-weight:600}.align-row{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:4px}.align-btn2{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 2px;border:1px solid #4a5568;border-radius:6px;background:#2d3748;color:#a0aec0;cursor:pointer;transition:all .15s}.align-btn2 span{font-size:8.5px;line-height:1.1;text-align:center;word-break:break-word;color:#718096}.align-btn2:hover:not(:disabled){background:#3d4a5c;border-color:#ff8303;color:#ff8303}.align-btn2:hover:not(:disabled) span{color:#ff8303}.align-btn2:disabled{opacity:.35;cursor:not-allowed}.align-btn{display:flex;align-items:center;justify-content:center;height:30px;border:1px solid #4a5568;border-radius:6px;background:#2d3748;color:#a0aec0;cursor:pointer;transition:all .15s;font-size:11px}.align-btn:hover:not(:disabled){background:#ff8303;border-color:#ff8303;color:#fff}.align-btn:disabled{opacity:.3;cursor:not-allowed}@media (max-width: 900px){.scada-toolbar{padding:0 8px}.scada-sidebar{width:56px;padding:6px 0}.sidebar-icons>*{width:22px;height:22px}.canvas-placeholder{font-size:16px;padding:8px}}@media (max-width: 600px){.scada-dashboard-root,.scada-main-layout{flex-direction:column}.scada-sidebar{flex-direction:row;width:100%;height:56px;border-right:none;border-bottom:1px solid var(--color-border);overflow-x:auto;overflow-y:hidden;padding:0 4px}.sidebar-section{margin-bottom:0;margin-right:12px}.scada-canvas{min-height:300px;height:auto}}.canvas-zoom-indicator{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{display:flex;flex-direction:column;gap:6px}.widget-manager-item-simple{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{border:2px solid #a0aec0;box-shadow:0 2px 8px #0003}.widget-names{flex:1;display:flex;flex-direction:column;gap:2px;margin-right:8px;overflow:hidden}.widget-manager-name-primary{font-size:14px;color:#e2e8f0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-manager-name-system{font-size:11px;color:var(--color-text-subtle);font-weight:400;font-family:Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}.widget-manager-name{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{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:hover{background:#2d3748;color:#e2e8f0}.widget-manager-icon-simple{width:14px;height:14px;color:#cbd5e0;transition:color .2s}.widget-manager-list-advanced{display:flex;flex-direction:column;gap:3px}.widget-manager-hint{font-size:10px;color:var(--color-text-subtle);margin-bottom:2px}.widget-manager-item-adv{display:flex;flex-direction:column;background:#374151;border:1px solid #475569;border-radius:5px;padding:4px 6px;gap:2px;cursor:grab;transition:background .15s,border .15s}.widget-manager-item-adv.active{border:2px solid #3b82f6;background:#1e293b}.widget-manager-item-adv.dragging{opacity:.55}.widget-manager-item-adv.dragover{outline:2px dashed #60a5fa}.widget-row-1{display:flex;align-items:center;gap:8px;width:100%}.widget-names-row{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.widget-name-user{font-size:12px;color:#f1f5f9;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-name-system{font-size:11px;color:var(--color-text-subtle);font-weight:400;font-family:Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}.widget-row-2{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;padding-top:0}.widget-properties{display:flex;align-items:center;gap:8px}.widget-prop{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--color-text-subtle);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.widget-prop.visible.disabled{color:#ef4444}.widget-prop.locked.active{color:#f59e0b}.widget-prop.layer{background:#1f2937;padding:2px 6px;border-radius:4px;border:1px solid #374151}.widget-toggles{display:flex;gap:4px}.widget-toggle-btn{background:#1f2937;border:1px solid #374151;color:var(--color-text-subtle);padding:4px;border-radius:4px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.widget-toggle-btn:hover{background:#374151;border-color:var(--color-text-muted)}.widget-toggle-btn.active{background:#3b82f6;border-color:var(--color-blue);color:#fff}.drag-handle{padding:2px 4px;cursor:grab;display:flex;align-items:center;justify-content:center;color:var(--color-text-subtle)}.drag-handle:hover{color:#fff}.layer-buttons{display:flex;align-items:center;gap:2px;margin-left:auto}.layer-btn{background:#475569;border:none;color:#e2e8f0;font-size:10px;line-height:1;padding:4px;border-radius:4px;cursor:pointer}.layer-btn:hover{background:#3b82f6;color:#fff}.btn-property-open{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:hover{background:#3b82f6;color:#fff;border-color:var(--color-blue);box-shadow:0 8px 20px #2563eb1f;transform:translateY(-1px)}.btn-property-open:focus{outline:none;box-shadow:0 0 0 4px #2563eb1f;border-color:var(--color-blue)}.btn-property-open:disabled{background:#334155;color:var(--color-text-muted);cursor:not-allowed;border-color:#475569;transform:none;box-shadow:none}.btn-add{background:#2563eb;color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;margin-top:6px;font-size:12px}.btn-add:hover{background:#1d4ed8}.btn-danger{background:#dc2626;color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px}.btn-danger:hover{background:#b91c1c}.property-dialog{display:flex;flex-direction:column}.property-tabs{display:flex;gap:4px;padding:8px 12px 0}.property-tabs button{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{font-size:14px}.property-tabs button .tab-icon-vue{flex-shrink:0}.property-tabs button.active{background:#2563eb;border-color:var(--color-blue-hover);color:#fff;box-shadow:0 0 0 1px #2563eb66}.property-tabs button:hover:not(.active){background:#51627a}.property-panel{display:flex;flex-direction:column;gap:12px}.property-body::-webkit-scrollbar{width:8px}.property-body::-webkit-scrollbar-track{background:#1b242d}.property-body::-webkit-scrollbar-thumb{background:#4b5563;border-radius:4px}.property-body::-webkit-scrollbar-thumb:hover{background:#6b7280}.tab-description{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{font-size:18px;flex-shrink:0}.tab-desc-icon-vue{flex-shrink:0;color:#60a5fa}.tab-desc-text{font-size:13px;color:var(--color-text-subtle);line-height:1.5}.switch-state-config{background:linear-gradient(135deg,#1e3a5f,#1e293b);border-radius:8px;padding:12px 16px;margin-bottom:12px;border:1px solid #374151}.switch-state-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#e2e8f0;margin-bottom:12px}.switch-state-row{display:flex;gap:16px}.switch-state-row .state-item{flex:1;display:flex;flex-direction:column;gap:4px}.switch-state-row .state-item label{font-size:12px;color:var(--color-text-subtle)}.switch-state-row .state-item input{padding:6px 10px;background:#1f2937;border:1px solid #4b5563;border-radius:4px;color:#e2e8f0;font-size:13px}.switch-state-row .state-item input:focus{outline:none;border-color:#3b82f6}.switch-state-hint{margin-top:8px;font-size:11px;color:var(--color-text-muted);font-style:italic}.widget-settings-panel{background:transparent;padding:0}.widget-settings-two-column-styled{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:16px;height:auto;min-height:auto}.widget-preview-column-styled{border-radius:6px;padding:16px;display:flex;flex-direction:column}.preview-header-styled{margin-bottom:12px;border-bottom:1px solid #2a3744;padding-bottom:8px}.preview-title-styled{font-size:14px;font-weight:600;color:#cbd5e1;margin:0}.preview-container-styled{flex:1;justify-content:center;align-items:center;min-height:320px}.actual-widget-preview-styled,.widget-preview-frame-styled{width:100%;min-height:320px;padding:5px;border-radius:8px;overflow:hidden;display:flex;justify-content:center;align-items:center;background:#1e2a3a}.preview-widget-fallback-styled{display:flex;align-items:center;justify-content:center}.generic-widget-preview-styled{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px}.widget-icon-large-styled{font-size:32px;margin-bottom:8px;color:var(--color-text-subtle)}.widget-info-styled{display:flex;flex-direction:column;gap:4px}.widget-title-styled{font-size:14px;font-weight:600;color:#cbd5e1}.widget-subtitle-styled{color:var(--color-text-subtle)}.widget-options-column-styled{background:#1b242d;border:1px solid #2a3744;border-radius:6px;display:flex;flex-direction:column;height:auto;overflow-y:visible}.options-header-styled{padding:12px 16px;border-bottom:1px solid #2a3744;background:#25303b;border-radius:6px 6px 0 0}.options-title-styled{font-size:14px;font-weight:600;color:#cbd5e1;margin:0 0 4px}.widget-type-name-styled{font-size:11px;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.5px}.widget-options-wrapper{padding:0;margin:0;background:transparent}.widget-options-wrapper .chart-options{background:transparent;overflow-y:visible}.widget-options-wrapper .option-section{margin-bottom:16px;padding:12px;background:#27323d;border:1px solid #384554;border-radius:4px}.widget-options-wrapper .section-title{font-size:13px;font-weight:600;color:#cbd5e1;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.widget-options-wrapper .option-item{margin-bottom:8px}.widget-options-wrapper .option-item label{font-size:13px;font-weight:500;color:var(--color-text-subtle);margin-bottom:4px}.widget-options-wrapper .input-field,.widget-options-wrapper .select-field,.widget-options-wrapper .textarea-field{padding:6px 8px;font-size:13px;background:#1b242d;border:1px solid #384554;color:#e2e8f0;border-radius:3px}.widget-options-wrapper .input-field:focus,.widget-options-wrapper .select-field:focus,.widget-options-wrapper .textarea-field:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.no-options-wrapper{padding:32px 16px;display:flex;justify-content:center;align-items:center;min-height:200px}.no-options-content{text-align:center}.no-options-icon{font-size:32px;display:block;margin-bottom:12px}.property-list{display:flex;flex-direction:column;gap:6px;background:#1f2937;padding:10px 12px;border:1px solid #334155;border-radius:8px}.property-list select,.property-list input,.property-list textarea{background:#334155;border:1px solid #475569;color:#e2e8f0;border-radius:6px;padding:6px 8px;font-size:13px;width:100%}.property-list textarea{resize:vertical}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-subtle);margin-bottom:2px}.event-config-group{display:flex;flex-direction:column;gap:6px;background:#293445;padding:8px 10px;border:1px solid #3a4a5f;border-radius:6px}.event-panel{gap:10px}.event-item{background:#1f2733;border:1px solid #32404f;border-radius:10px;overflow:hidden;transition:border-color .18s,background .18s}.event-item:not(.collapsed):hover{border-color:#3f5366}.event-item-header{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{border-radius:10px}.event-item-title{display:flex;align-items:center;gap:6px;color:#cbd5e1;font-weight:500}.evt-type{color:#60a5fa;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.evt-action{color:#fbbf24;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.evt-sep{opacity:.4}.evt-desc{font-size:11px;color:var(--color-text-subtle);font-weight:400}.chevron{display:inline-block;transform:rotate(0);transition:transform .2s;font-size:11px;color:var(--color-text-muted)}.chevron.open{transform:rotate(90deg);color:var(--color-text-subtle)}.event-item-body{padding:12px 12px 14px;display:flex;flex-direction:column;gap:10px;animation:fadeIn .25s}.row-compact{display:flex;gap:12px}.row-compact .col{flex:1;display:flex;flex-direction:column;gap:4px}.event-config-line{display:flex;flex-direction:column;gap:6px}.event-config-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.event-config-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.mini-btn{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:hover{background:#374656;color:#fff}.mini-btn.danger{background:#432b2b;border-color:#613737;color:#fca5a5}.mini-btn.danger:hover{background:#5a3232;color:#fff}.fade-scale-enter-active,.fade-scale-leave-active{transition:all .18s ease}.fade-scale-enter-from,.fade-scale-leave-to{opacity:0;transform:translateY(-4px) scale(.98)}.property-flat{display:flex;flex-direction:column;gap:6px}.property-row{display:grid;grid-template-columns:140px 200px 1fr;gap:8px;align-items:center;padding:6px 8px}.mapping-input-group{display:flex;align-items:center;gap:8px;margin-bottom:8px}.mapping-input-group label{min-width:40px;text-align:left;font-size:13px;color:var(--color-text-subtle);font-weight:500}.mapping-input-group input{flex:1;padding:6px 10px;background:#27323d;border:1px solid #384554;color:#e2e8f0;border-radius:5px;font-size:13px}.mapping-input-group input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.property-row.tag-row-full{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:12px}.property-row.header{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-subtle);background:#25303b;border:1px solid #2f3b47;border-radius:6px;padding:8px;font-weight:600}.property-row:not(.header){background:#1b242d;border:1px solid #2a3744;border-radius:6px}.property-row:not(.header):hover{background:#202b36}.property-row .col input{width:100%;background:#27323d;border:1px solid #384554;color:#e2e8f0;border-radius:5px;font-size:12px;padding:6px 8px}.property-row .col input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.property-row .field-col label{color:#cbd5e1;font-weight:500;font-size:12px}.property-row .desc-col .desc-text{color:var(--color-text-subtle);font-size:11px;font-style:italic}.checkbox-wrapper{display:flex;align-items:center;gap:8px}.checkbox-wrapper input[type=checkbox]{transform:scale(1.2);cursor:pointer}.checkbox-wrapper span{color:#cbd5e1;font-size:12px}.event-flat{display:flex;flex-direction:column;gap:6px}.event-row{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{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-subtle);background:#25303b;border:1px solid #2f3b47;border-radius:6px;padding:6px 8px;font-weight:600}.event-row.footer-row{border:none;justify-content:space-between;grid-template-columns:1fr 1fr}.event-row:not(.header):not(.footer-row):hover{background:#202b36}.event-row:not(.header):not(.footer-row){background:#1b242d;border:1px solid #2a3744;border-radius:6px}.event-row .col select,.event-row .col input,.event-row .col textarea{width:100%;background:#27323d;border:1px solid #384554;color:#e2e8f0;border-radius:5px;font-size:12px;padding:4px 6px}.event-row .col textarea{resize:vertical}.event-row .col select:focus,.event-row .col input:focus,.event-row .col textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.tag-row-header{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{color:#e2e8f0;font-weight:600;font-size:13px}.tag-row-hint{font-size:11px;color:var(--color-text-muted);font-style:italic}.tag-config-section{display:flex;flex-direction:column;gap:12px;width:100%}.tag-selector-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;min-height:36px}.tag-label{font-size:13px;color:var(--color-text-subtle);font-weight:500;text-align:right;white-space:nowrap}.tag-select{width:100%;padding:8px 12px;border:1px solid #384554;border-radius:6px;background:#27323d;color:#e2e8f0;min-height:36px;font-size:13px}.tag-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.tag-select:disabled{background:#1b242d;color:var(--color-text-muted);cursor:not-allowed}.tag-reload-btn{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:hover:not(:disabled){background:#374151;border-color:var(--color-text-muted)}.tag-reload-btn:disabled{cursor:not-allowed;opacity:.6}.tag-reload-placeholder{min-width:40px;height:36px;display:flex;align-items:center;justify-content:center}.tag-input-readonly{width:100%;padding:8px 12px;border:1px solid #384554;border-radius:6px;background:#1b242d;color:var(--color-text-subtle);min-height:36px;font-size:13px}.tag-loading{font-size:13px;color:var(--color-text-muted);font-style:italic;min-width:40px;text-align:center}.tag-instruction{padding:12px 14px;background:#0f172a;border:1px solid #334155;border-radius:6px}.instruction-text{font-size:12px;color:#fbbf24;line-height:1.5}.actions-compact{display:flex;flex-direction:column;gap:8px}.actions-list{display:flex;flex-direction:column;gap:6px}.action-item{background:#1b242d;border:1px solid #2a3744;border-radius:8px;padding:8px;transition:background-color .2s}.action-item:hover{background:#202b36}.action-main-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:8px 0}.action-enable{display:flex;align-items:center;padding-bottom:4px}.action-enable input[type=checkbox]{transform:scale(1.2);cursor:pointer}.action-device-selector,.action-datamonitor-selector,.action-condition,.action-effect,.action-timing{display:flex;flex-direction:column;gap:4px;min-width:120px}.action-device-selector label,.action-datamonitor-selector label,.action-condition label,.action-effect label,.action-timing label{font-size:10px;color:var(--color-text-subtle);text-transform:uppercase;font-weight:600;letter-spacing:.5px}.action-device-select,.action-datamonitor-select{padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0;min-width:140px}.action-device-select:focus,.action-datamonitor-select:focus{outline:none;border-color:#60a5fa}.condition-row{display:flex;gap:4px}.operator-select{width:50px;padding:6px 4px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0;text-align:center}.condition-value-input{width:80px;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0}.timing-single{display:flex;align-items:center;gap:4px}.timing-input{width:70px;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0}.timing-unit{color:var(--color-text-subtle);font-size:11px;font-weight:500}.action-controls{display:flex;gap:4px;align-items:flex-end;padding-bottom:4px;margin-left:auto}.action-basic{display:grid;grid-template-columns:120px 1fr;gap:8px}.action-details-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding-top:6px;border-top:1px solid #2a3744}.detail-group{display:flex;flex-direction:column;gap:4px}.detail-group label{font-size:10px;color:var(--color-text-subtle);text-transform:uppercase;font-weight:600;letter-spacing:.5px}.timing-inputs,.condition-inputs,.animation-inputs{display:flex;gap:4px}.loop-checkbox{display:flex;align-items:center;gap:6px}.loop-checkbox input[type=checkbox]{transform:scale(1.1)}.loop-checkbox span{color:#cbd5e1;font-size:11px}.actions-compact input,.actions-compact select{background:#27323d;border:1px solid #384554;color:#e2e8f0;border-radius:4px;font-size:11px;padding:3px 6px;height:26px}.actions-compact input:focus,.actions-compact select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.tag-input{min-width:100px}.effect-select{min-width:120px}.bitmask-select{min-width:70px}.direction-select{min-width:100px}@media (max-width: 1100px){.action-basic{grid-template-columns:100px 1fr}.action-details-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (max-width: 880px){.action-main-row{grid-template-columns:30px 1fr}.action-controls{grid-column:1 / -1;justify-content:flex-end;margin-top:4px}.action-basic{grid-template-columns:1fr}.action-details-row{grid-template-columns:1fr;gap:8px}}.inline-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}.inline-triple{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.setvalue-config{display:flex;flex-direction:column;gap:6px;width:100%}.setvalue-row{display:flex;gap:6px}.setvalue-row select,.setvalue-row input{flex:1}.screen-select{width:100%;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0;font-size:12px}.screen-select:focus{outline:none;border-color:#60a5fa}.device-select,.datakey-select{width:100%;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0;font-size:12px}.device-select:focus,.datakey-select:focus{outline:none;border-color:#60a5fa}.value-input{width:100%;padding:6px 8px;background:#1e293b;border:1px solid #334155;border-radius:5px;color:#e2e8f0;font-size:12px}.value-input:focus{outline:none;border-color:#60a5fa}.switch-values-inline{display:flex;gap:8px;width:100%}.switch-value-item{display:flex;align-items:center;gap:4px;flex:1}.switch-value-item label{font-size:11px;color:var(--color-text-subtle);font-weight:500;white-space:nowrap}.value-input-small{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:focus{outline:none;border-color:#60a5fa}.icon-btn{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:last-child{margin-right:0}.icon-btn:hover{background:#374656;color:#fff}.icon-btn.danger{background:#432b2b;border-color:#613737;color:#fca5a5}.icon-btn.danger:hover{background:#5a3232;color:#fff}.icon-btn.test{background:#10b981;border-color:#059669;color:#fff}.icon-btn.test:hover{background:#059669}.icon-btn.small{padding:2px 4px;font-size:10px}.add-context{cursor:pointer;color:#60a5fa;font-size:13px}.add-context:hover{text-decoration:underline}.add-binding{cursor:pointer;color:var(--color-text-subtle);font-size:12px;text-align:right}.add-binding:hover{color:#cbd5e1}.actions-flat{display:flex;flex-direction:column;gap:6px}.actions-row{display:grid;grid-template-columns:50px 1fr 100px 80px 80px 160px 70px;gap:8px;align-items:center;padding:4px 8px}.actions-row.header{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-subtle);background:#25303b;border:1px solid #2f3b47;border-radius:6px;padding:6px 8px;font-weight:600}.actions-row.footer-row{border:none;grid-template-columns:1fr}.actions-row:not(.header):not(.footer-row){background:#1b242d;border:1px solid #2a3744;border-radius:6px}.actions-row:not(.header):not(.footer-row):hover{background:#202b36}.actions-row .col input,.actions-row .col select{width:100%;background:#27323d;border:1px solid #384554;color:#e2e8f0;border-radius:5px;font-size:12px;padding:4px 6px}.actions-row .col input:focus,.actions-row .col select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.add-action{cursor:pointer;color:#60a5fa;font-size:13px;padding:6px 4px}.add-action:hover{text-decoration:underline}.widget-preview-section-compact{grid-column:1 / -1;margin-bottom:8px;padding:12px 16px;background:#1b242d;border:1px solid #2a3744;border-radius:6px}.preview-header-compact{margin-bottom:8px}.preview-title-compact{font-weight:600;color:#cbd5e1;margin:0}.preview-container-compact{display:flex;justify-content:center;align-items:center;min-height:120px}.actual-widget-preview-compact{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{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{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px}.widget-icon-compact{font-size:24px;margin-bottom:4px;color:var(--color-text-subtle)}.widget-info-compact{display:flex;flex-direction:column;gap:2px}.widget-title-compact{font-weight:600;color:#cbd5e1}.widget-subtitle-compact{font-size:10px;color:var(--color-text-subtle)}.no-options-text h5{font-size:14px;font-weight:600;color:#cbd5e1;margin:0 0 4px}.no-options-text p{color:var(--color-text-subtle);margin:0}@media (max-width:1100px){.actions-row{grid-template-columns:40px 1fr 80px 70px 70px 140px 60px}}@media (max-width:900px){.actions-row{grid-template-columns:40px 1fr 80px 70px 70px}.actions-row .mode-col,.actions-row .ctrl-col{grid-column:1 / -1;display:flex;gap:8px}.actions-row .ctrl-col{justify-content:flex-end}}@media (max-width: 1100px){.property-row{grid-template-columns:120px 180px 1fr}.event-row{grid-template-columns:90px 120px 1fr 150px 60px}}@media (max-width: 880px){.property-row{grid-template-columns:1fr}.property-row .field-col{margin-bottom:4px}.property-row .desc-col{margin-top:4px;padding-left:8px}.event-row{grid-template-columns:90px 120px 1fr}.event-row .desc-col,.event-row .ctrl-col{grid-column:1 / -1;display:flex;gap:6px}.event-row .ctrl-col{justify-content:flex-end}}.property-list select:focus,.property-list input:focus,.property-list textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640}.property-actions-line{display:flex;justify-content:flex-end}.sidebar-title-svg-group{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-right:10px}.sidebar-group-name{flex:1}.sidebar-group-arrow{margin-left:8px;font-size:11px;color:var(--color-text-subtle);transition:color .2s}.view-section{padding:0 12px;position:relative}.view-create-bar{margin-bottom:8px;display:flex;gap:4px}.view-create-btn-small{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:hover{background:#718096;border-color:var(--color-text-subtle);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.view-create-icon{width:14px;height:14px}.view-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;overflow-x:visible;scrollbar-width:thin;scrollbar-color:#4a5568 transparent}.view-list::-webkit-scrollbar{width:8px}.view-list::-webkit-scrollbar-track{background:transparent}.view-list::-webkit-scrollbar-thumb{background:#4a5568;border-radius:4px}.view-list::-webkit-scrollbar-thumb:hover{background:#4a5568}.view-item{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:hover{border-color:var(--color-text-subtle);box-shadow:0 2px 8px #0003}.view-item.active{background:#718096;border-color:var(--color-text-subtle);box-shadow:0 2px 8px #0000004d}.view-item.view-item-default,.view-item.view-item-default.active{border-color:#3b82f6}.view-name-wrapper{flex:1;min-width:0}.view-name{font-size:13px;font-weight:500;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-name-input{width:100%;font-size:13px;font-weight:500;color:var(--color-text-secondary);background:#e2e8f0;border:1px solid #a0aec0;border-radius:3px;padding:2px 4px;outline:none}.view-menu-wrapper{position:relative}.view-menu-btn{background:none;border:none;color:var(--color-text-subtle);font-size:16px;font-weight:700;cursor:pointer;border-radius:3px;transition:all .2s;line-height:1}.view-menu-btn:hover{background:#2d3748;color:#e2e8f0}.view-menu-dropdown{position:absolute;top:0;left:100%;margin-top:4px;margin-left:50px;background:#4a5568;border:1px solid #718096;border-radius:6px;box-shadow:0 6px 16px #0006;z-index:9999;min-width:100px;padding:3px}.menu-item{display:flex;align-items:center;gap:6px;width:100%;padding:5px 10px;background:none;border:none;border-radius:4px;text-align:left;font-size:11px;color:#e2e8f0;cursor:pointer;transition:background .15s}.menu-item:hover{background:#2d3748}.menu-item.danger{color:#fc8181}.menu-item.danger:hover{background:#742a2a}.menu-item.menu-item-active{color:#ff8303}.menu-item span{font-size:11px}.color-palette{height:40px;background:#2d3748;border-top:1px solid #4a5568;display:flex;align-items:center;padding:0 16px;gap:16px}.color-palette-info{display:flex;align-items:center;gap:12px}.zoom-indicator{color:#e2e8f0;font-weight:500;min-width:40px}.color-display{display:flex;align-items:center}.current-colors{display:flex;gap:4px}.color-box{width:24px;height:24px;border:2px solid #4a5568;border-radius:3px;cursor:pointer;transition:all .2s;position:relative}.color-box:hover{border-color:var(--color-border);transform:scale(1.1)}.color-box.primary{z-index:2}.color-box.secondary{margin-left:-8px;z-index:1}.color-palette-colors{display:flex;gap:2px;flex:1;overflow-x:auto;padding:4px 0}.palette-color{width:20px;height:20px;border:1px solid #4a5568;border-radius:2px;cursor:pointer;transition:all .2s;flex-shrink:0}.palette-color:hover{border-color:var(--color-border);transform:scale(1.2);z-index:10;box-shadow:0 2px 8px #0000004d}.create-view-dialog-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:6000}.create-view-dialog{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{width:480px;min-height:auto;max-height:90vh}.create-view-dialog.property-dialog{width:80%;height:80%}.property-body{padding:10px;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{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #4a5568;background:#1a202c}.create-view-header h3{margin:0;font-size:16px;color:#fff;font-weight:600}.close-btn{border:none;background:none;font-size:24px;color:var(--color-text-subtle);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:hover{background:#718096;color:#e2e8f0}.create-view-close{border:none;background:none;font-size:24px;color:var(--color-text-subtle);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:hover{background:#718096;color:#e2e8f0}.create-view-content{padding:12px 14px}.form-group{margin-bottom:10px}.form-row{display:flex;gap:10px}.form-row .form-group{flex:1}.form-group label{display:block;font-size:11px;color:#fff;font-weight:500;margin-bottom:5px}.form-input{width:100%;padding:6px 10px;border:1px solid #4a5568;border-radius:6px;font-size:12px;color:#fff;background:#1a202c;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:#63b3ed;box-shadow:0 0 0 3px #63b3ed33}.form-select{width:100%;padding:6px 10px;border:1px solid #4a5568;border-radius:6px;font-size:12px;color:#fff;background:#1a202c;transition:border-color .2s,box-shadow .2s;cursor:pointer}.form-select:focus{outline:none;border-color:#63b3ed;box-shadow:0 0 0 3px #63b3ed33}.form-select option{background:#1a202c;color:#fff;padding:8px 12px}.size-display{padding:6px 10px;border:1px solid #4a5568;border-radius:6px;font-size:12px;color:var(--color-text-subtle);background:#1a202c;font-family:monospace;text-align:center}.color-picker-group{display:flex;gap:10px;align-items:center}.color-picker{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::-webkit-color-swatch-wrapper{padding:0;border:none}.color-picker::-webkit-color-swatch{border:none;border-radius:6px}.color-picker::-moz-color-swatch{border:none;border-radius:6px}.color-picker:focus{outline:none;box-shadow:0 0 0 2px #63b3ed66}.color-text{flex:1;padding:6px 10px;border:1px solid #4a5568;border-radius:6px;font-size:12px;color:#fff;background:#1a202c}.create-view-actions{display:flex;gap:8px;justify-content:flex-end;padding:10px 14px;border-top:1px solid #4a5568;background:#1a202c}.btn-cancel,.btn-create{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background:#4a5568;color:#fff}.btn-cancel:hover{background:#718096}.btn-create{background:#3182ce;color:#fff}.btn-create:hover{background:#2b6cb0;transform:translateY(-1px);box-shadow:0 4px 12px #3182ce66}.btn-save{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:hover:not(:disabled){background:#15803d;border-color:#15803d;box-shadow:0 4px 12px #00000059;transform:translateY(-1px)}.btn-save:active:not(:disabled){background:#166534;transform:translateY(0);box-shadow:none}.btn-save:disabled{background:#9ca3af;border-color:var(--color-text-subtle);cursor:not-allowed;opacity:.6}.canvas-widgets.drawing-active .canvas-widget{pointer-events:none!important}.canvas-widgets.drawing-active[data-drawing-tool=pentool] .canvas-widget{visibility:hidden!important}.canvas-widgets.drawing-active:not([data-drawing-tool=pentool]) .canvas-widget{opacity:.5!important}.canvas-widgets.drawing-active{cursor:crosshair!important}.dialog-view-overlay{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{background:var(--color-surface);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{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{color:#fff;font-weight:500}.dialog-view-close{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:hover{background:#ffffff1a}.dialog-view-content{flex:1;overflow:auto}.scada-preview-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:15000;overflow:hidden}.scada-preview-modal{width:100%;height:100%;position:relative}.preview-exit-btn{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:hover{background:#ef4444e6;border-color:#fff6;transform:scale(1.05)}.preview-canvas-wrapper{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::-webkit-scrollbar{height:10px}.preview-canvas-wrapper::-webkit-scrollbar-track{background:#ffffff0d}.preview-canvas-wrapper::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:5px}.preview-canvas-wrapper::-webkit-scrollbar-thumb:hover{background:#ffffff80}.preview-canvas-content{position:relative;flex-shrink:0}.preview-widget{transition:all .2s ease;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.preview-widget.interactive-widget{transition:filter .15s ease-out}.preview-widget.interactive-widget:hover{filter:brightness(1.08)}.preview-widget.widget-pressed,.widget-pressed{transform:scale(.95) translateY(-1px)!important;transition:all .1s ease-out!important}.widget-element,.draggable-widget,[draggable=true]{transition:all .2s ease-out}.widget-element:hover,.draggable-widget:hover,[draggable=true]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.widget-library-modal-overlay{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{background:#1a2035;border-radius:12px;box-shadow:0 25px 80px #0009;width:90%;max-width:1100px;height:85%;max-height:750px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #4a5568}.widget-library-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #4a5568;background:#2d3748}.widget-library-modal-title{color:#e2e8f0;font-size:16px;font-weight:600;margin:0;display:flex;align-items:center;gap:8px}.widget-library-modal-title:before{content:"";width:3px;height:14px;background:linear-gradient(135deg,#ff8303,#e67e00);border-radius:2px}.widget-library-modal-close{background:none;border:none;color:#a0aec0;font-size:18px;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.widget-library-modal-close:hover{background:#dc262626;color:#fc8181}.widget-library-modal-content{display:flex;flex:1;overflow:hidden}.widget-library-categories{width:160px;background:#1e2a3a;border-right:1px solid #4a5568;overflow-y:auto;padding:8px 0;flex-shrink:0}.widget-library-category-item{padding:8px 14px;color:#a0aec0;cursor:pointer;transition:all .2s;border-left:3px solid transparent;font-size:13px;font-weight:500;margin:1px 6px;border-radius:0 6px 6px 0}.widget-library-category-item:hover{background:#2d3748;color:#e2e8f0;border-left-color:#718096}.widget-library-category-item.active{background:#ff830326;color:#ff8303;border-left-color:#ff8303;font-weight:600}.widget-library-grid-modal{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding:14px;overflow-y:auto;background:#1a2035;align-content:start}.widget-library-modal-item{background:#2d3748;border-radius:8px;padding:10px;cursor:pointer;transition:all .2s ease;border:1px solid #4a5568;display:flex;flex-direction:column;height:260px;box-shadow:0 2px 8px #0000004d}.widget-library-modal-item:hover{border-color:#ff8303;transform:translateY(-2px);box-shadow:0 6px 16px #ff830333}.widget-library-modal-item:has(.thumbnail-vertical-slider){height:420px}.widget-library-modal-item:hover .widget-thumbnail-container{background:#fff}.widget-library-modal-preview{width:100%;flex:1;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0}.widget-library-modal-preview>*{pointer-events:none}.widget-thumbnail-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;overflow:hidden;position:relative;transition:all .2s}.widget-thumbnail{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{padding:0}.widget-thumbnail-container.thumbnail-chart .widget-thumbnail{transform-origin:center center}.widget-thumbnail-container.thumbnail-control{padding:8px;display:flex;align-items:center;justify-content:center;background:#fff}.widget-thumbnail-container.thumbnail-control .widget-thumbnail{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{padding:10px;display:flex;align-items:center;justify-content:center;background:#fff}.widget-thumbnail-container.thumbnail-circular-slider .widget-thumbnail{transform-origin:center center;width:154%;height:154%;filter:none}.widget-thumbnail-container.thumbnail-horizontal-slider{padding:20px 12px;display:flex;align-items:center;justify-content:center;background:#fff}.widget-thumbnail-container.thumbnail-horizontal-slider .widget-thumbnail{transform-origin:center center;width:100%;height:100%;filter:none}.widget-thumbnail-container.thumbnail-vertical-slider{padding:12px 16px;display:flex;align-items:center;justify-content:center;background:#fff;min-height:360px}.widget-thumbnail-container.thumbnail-vertical-slider .widget-thumbnail{transform-origin:center center;width:180%;height:180%;filter:none}.widget-thumbnail-container.thumbnail-gauge{padding:10px}.widget-thumbnail-container.thumbnail-gauge .widget-thumbnail{transform:scale(.8);transform-origin:center center;width:160%;height:160%}.widget-thumbnail-container.thumbnail-map{padding:0}.widget-thumbnail-container.thumbnail-map .widget-thumbnail{transform-origin:center center}.widget-thumbnail-container.thumbnail-alarm{padding:0;overflow:hidden;align-items:flex-start;justify-content:flex-start}.widget-thumbnail-container.thumbnail-alarm .widget-thumbnail{transform-origin:top left;margin:0}.widget-thumbnail-container.thumbnail-device{padding:0;overflow:hidden;align-items:flex-start;justify-content:flex-start}.widget-thumbnail-container.thumbnail-device .widget-thumbnail{transform-origin:top left;margin:0}.widget-thumbnail-container.thumbnail-vertical-box{padding:8px;display:flex;align-items:center;justify-content:center}.widget-thumbnail-container.thumbnail-vertical-box .widget-thumbnail{transform:scale(.45);transform-origin:center center;width:220%;height:220%}.widget-preview-placeholder{width:100%;height:100%;min-height:80px;display:flex;align-items:center;justify-content:center;background:#2d3748;border-radius:6px;color:#718096}.widget-library-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#718096;text-align:center}.widget-library-empty p{margin-top:12px;font-size:13px;color:#a0aec0}.widget-library-modal-name{color:#e2e8f0;font-size:13px;font-weight:500;text-align:center;line-height:1.4;padding:8px 4px 2px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-library-modal-item.selected{border-color:#ff8303;background:#ff83031a;box-shadow:0 4px 16px #ff830340}.widget-library-modal-item.selected .widget-thumbnail-container{background:#fff}.widget-library-modal-item.selected .widget-library-modal-name{color:#ff8303;font-weight:600}.widget-library-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid #4a5568;background:#2d3748}.widget-library-modal-footer .btn-cancel{padding:6px 14px;background:#4a5568;color:#cbd5e0;border:1px solid #718096;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.widget-library-modal-footer .btn-cancel:hover{background:#718096;color:#e2e8f0}.widget-library-modal-footer .btn-primary{padding:6px 16px;background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #ff83034d}.widget-library-modal-footer .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830366;transform:translateY(-1px)}.widget-library-modal-footer .btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.widget-library-container{padding:4px 12px 8px}.widget-library-button-full{width:100%;height:32px;background:#4a5568;color:#cbd5e0;border:none;border-radius:6px;cursor:pointer;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:500;box-shadow:0 1px 4px #0000001a}.widget-library-button-full:hover{background:#718096;color:#e2e8f0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleUp{0%{transform:scale(1)}to{transform:scale(1.2)}}@keyframes scaleDown{0%{transform:scale(1)}to{transform:scale(.8)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-15px)}70%{transform:translateY(-7px)}90%{transform:translateY(-3px)}}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes slideOutDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes slideOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:.3}}@keyframes glow{0%,to{box-shadow:0 0 5px #3b82f699}50%{box-shadow:0 0 20px #3b82f6,0 0 30px #3b82f6cc}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes turnClockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes turnCounterClockwise{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes zoomIn{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}@keyframes zoomOut{0%{transform:scale(1);opacity:1}to{transform:scale(.3);opacity:0}}@keyframes rotate360{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes elastic{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{animation:fadeIn var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-fade-out{animation:fadeOut var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-scale-up{animation:scaleUp var(--animation-duration, .5s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-scale-down{animation:scaleDown var(--animation-duration, .5s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-shake{animation:shake var(--animation-duration, .6s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-pulse{animation:pulse var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-bounce{animation:bounce var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-in-up{animation:slideInUp var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-in-down{animation:slideInDown var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-in-left{animation:slideInLeft var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-in-right{animation:slideInRight var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-out-up{animation:slideOutUp var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-out-down{animation:slideOutDown var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-out-left{animation:slideOutLeft var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-slide-out-right{animation:slideOutRight var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-flash{animation:flash var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-glow{animation:glow var(--animation-duration, 2s) var(--animation-easing, ease) var(--animation-delay, 0s) infinite}.widget-action-blink{animation:blink var(--animation-duration, 1s) var(--animation-easing, step-end) var(--animation-delay, 0s) infinite}.widget-action-turn-cw{animation:turnClockwise var(--animation-duration, 2s) var(--animation-easing, linear) var(--animation-delay, 0s) infinite}.widget-action-turn-ccw{animation:turnCounterClockwise var(--animation-duration, 2s) var(--animation-easing, linear) var(--animation-delay, 0s) infinite}.widget-action-zoom-in{animation:zoomIn var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-zoom-out{animation:zoomOut var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-rotate-360{animation:rotate360 var(--animation-duration, 1s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-wiggle{animation:wiggle var(--animation-duration, .8s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-elastic{animation:elastic var(--animation-duration, 1.2s) var(--animation-easing, ease) var(--animation-delay, 0s)}.widget-action-hidden{opacity:0!important;pointer-events:none;visibility:hidden}.widget-action-stopped *{animation-play-state:paused!important}.actions-enhanced{max-height:500px;overflow-y:auto;padding:16px}.actions-grid{margin-bottom:20px}.action-card{border:2px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow-md);overflow:hidden;transition:all .2s ease}.action-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.action-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid var(--color-border)}.action-title{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--color-text-secondary)}.action-title input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6}.action-title span{font-size:14px;color:var(--color-text-muted);font-family:monospace}.action-body{padding:16px}.action-section{margin-bottom:20px}.action-section:last-child{margin-bottom:0}.action-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border);padding-bottom:6px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-weight:500;color:var(--color-text-muted);display:flex;align-items:center;gap:6px}.form-group input,.form-group select{border-radius:6px;font-size:13px;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.effect-select{font-weight:500}.effect-select optgroup{font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-raised)}.effect-select option{font-weight:400;color:var(--color-text-muted);padding:4px 8px}.icon-btn.small{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center}.add-action-section{padding:16px;border-top:2px dashed #d1d5db;text-align:center}.action-buttons{display:flex;gap:12px;justify-content:center;align-items:center}.action-controls{display:flex;align-items:center;gap:8px}.icon-btn.test{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:hover{transform:translateY(-1px);box-shadow:0 2px 6px #10b98166}.icon-btn.test:active{transform:translateY(0);box-shadow:0 1px 2px #10b9814d}.test-all-btn{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:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.test-all-btn:active{transform:translateY(0);box-shadow:0 2px 4px #f59e0b4d}.test-all-btn span{font-size:14px}.form-hint{font-size:11px;color:var(--color-text-muted);font-style:italic;margin-top:2px}.add-action-btn{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:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.add-action-btn:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f64d}.add-action-btn span{font-size:18px;font-weight:700}.form-group label input[type=checkbox]{width:16px;height:16px;margin-right:8px;accent-color:#3b82f6}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.action-header{flex-direction:column;gap:8px;align-items:flex-start}}.create-view-dialog-overlay.minimized{opacity:0;pointer-events:none;transition:opacity .3s ease}.create-view-dialog-overlay.minimized .create-view-dialog{transform:translate(100%);transition:transform .3s ease}.header-buttons{display:flex;gap:8px;align-items:center}.restore-button{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:hover{background:#059669}.floating-restore-button{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:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 6px 16px #0003}.tag-apply-section{margin-top:12px;padding:12px;background:var(--color-surface-raised);border-radius:6px;border:1px solid var(--color-border)}.apply-tag-btn{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:disabled{background:#9ca3af;cursor:not-allowed}.tag-info{margin-top:8px;display:flex;flex-direction:column;gap:4px}.tag-info small{color:var(--color-text-muted);font-size:11px}.tag-value{color:#059669!important;font-weight:500}.tag-apply-section{margin-top:10px;padding:8px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:6px}.apply-tag-btn{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:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.apply-tag-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.tag-info{margin-top:4px;display:flex;flex-direction:column;gap:2px}.tag-info small{color:var(--color-text-muted);font-size:10px}.tag-value{font-weight:600;color:#059669}.canvas-widget span{display:inline-block;word-break:break-word;text-align:center}.canvas-widget .widget-value{color:#059669;font-weight:600}.options-section-title{margin:0 0 1rem;font-size:.95rem;font-weight:600;color:var(--color-text-secondary);display:flex;align-items:center;gap:.5rem}.no-specific-options{padding:1.5rem;text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-top:1rem}.option-info{margin:0 0 .5rem;font-size:.9rem;color:#059669;font-weight:500}.option-hint{margin:0;font-size:.8rem;color:var(--color-text-muted)}.widget-settings-steps em{color:#059669;font-style:normal;font-weight:500}.drawing-preview-layer{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{transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;isolation:isolate}.fixed-drawing-overlay svg{shape-rendering:geometricPrecision;image-rendering:optimizeQuality}.fixed-drawing-overlay polyline{shape-rendering:geometricPrecision}.drawing-preview-layer svg{shape-rendering:geometricPrecision;image-rendering:optimizeQuality;position:relative;z-index:1}.drawing-preview-layer polyline,.drawing-preview-layer line{shape-rendering:geometricPrecision;stroke-linecap:round;stroke-linejoin:round}.tag-apply-section{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{display:flex;flex-direction:row;align-items:center;gap:20px;padding:0;background:transparent;border:none;flex-wrap:wrap}.tag-preview-item{display:flex;align-items:center;gap:8px}.tag-preview-item:not(:last-child):after{content:""}.tag-preview-label{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px}.tag-preview-value{font-size:13px;color:#e2e8f0;font-family:Courier New,monospace;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-value-highlight{color:#10b981;font-weight:600;font-size:13px}.apply-tag-btn{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:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.apply-tag-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.apply-tag-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #10b9814d}.mapping-row-full{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{display:flex;flex-direction:column;gap:4px;padding-bottom:8px;border-bottom:1px solid #334155;text-align:left}.mapping-row-header label{font-size:14px;font-weight:600;color:#e2e8f0;text-transform:none;letter-spacing:.5px;text-align:left}.mapping-row-hint{font-size:12px;color:var(--color-text-subtle);font-style:italic;text-align:left}.mapping-config-section{display:flex;flex-direction:column;gap:16px}.mapping-checkbox-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px}.mapping-checkbox-row .checkbox-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#cbd5e1;cursor:pointer;margin:0}.mapping-checkbox-row .checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:#10b981;cursor:pointer}.mapping-hint-text{font-size:11px;color:var(--color-text-muted);font-style:italic}.mapping-values-grid{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{display:flex;flex-direction:column;gap:10px}.mapping-column-label{font-size:12px;font-weight:600;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.mapping-input-group{display:flex;align-items:center;gap:8px}.mapping-input-group label{font-size:12px;color:#cbd5e1;min-width:35px}.mapping-input-group input{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:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.mapping-arrow{display:flex;align-items:center;justify-content:center;color:#10b981;font-size:20px}.mapping-preview{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{font-size:12px;font-weight:600;color:var(--color-text-subtle);text-transform:uppercase}.mapping-preview-example{font-size:12px;color:#cbd5e1}.mapping-preview-example strong{color:#10b981;font-weight:700}.mapping-preview-divider{color:#475569;font-size:14px}.scada-loading-overlay{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{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#ef4444;z-index:100}.loading-spinner{width:48px;height:48px}.spinner-ring{width:100%;height:100%;border:4px solid #FFE4CC;border-top-color:#ff8303;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:14px;color:var(--color-text-muted)}[data-v-dba44f66]: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}[data-theme=dark][data-v-dba44f66]{--auth-text-dark: #f0f0f0;--auth-text-medium: #9ca3af;--auth-text-light: #6b7280;--auth-border: #444444;--auth-bg-light: #2a2a2a;--auth-white: #1e1e1e}.login-layout[data-v-dba44f66],.auth-wrapper[data-v-dba44f66]{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-dba44f66],.login-container[data-v-dba44f66]{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-dba44f66],.login-card[data-v-dba44f66]{width:100%;max-width:480px;margin:0 auto;position:relative;z-index:1}.auth-header[data-v-dba44f66],.login-header[data-v-dba44f66]{text-align:center;margin-bottom:32px}.auth-title[data-v-dba44f66],.login-title[data-v-dba44f66]{font-size:2rem;font-weight:700;color:var(--auth-text-dark);margin:0 0 8px}.auth-subtitle[data-v-dba44f66]{font-size:1rem;color:var(--auth-text-light);margin:0}.login-logo[data-v-dba44f66]{max-width:250px;height:auto;margin-bottom:.5rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.auth-form[data-v-dba44f66],.login-form[data-v-dba44f66]{display:flex;flex-direction:column;gap:20px}.auth-form-group[data-v-dba44f66],.form-group[data-v-dba44f66]{display:flex;flex-direction:column;gap:8px}.auth-label[data-v-dba44f66],.form-group label[data-v-dba44f66]{font-size:.875rem;font-weight:500;color:var(--auth-text-dark)}.auth-input-wrap[data-v-dba44f66],.input-wrap[data-v-dba44f66]{position:relative;display:flex;align-items:center}.auth-input-icon[data-v-dba44f66],.login-icon[data-v-dba44f66]{position:absolute;left:14px;width:20px;height:20px;color:var(--auth-text-light);pointer-events:none;transition:color .3s}.auth-input[data-v-dba44f66],.input-wrap input[data-v-dba44f66]{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-dba44f66]::-moz-placeholder,.input-wrap input[data-v-dba44f66]::-moz-placeholder{color:var(--auth-text-light)}.auth-input[data-v-dba44f66]::placeholder,.input-wrap input[data-v-dba44f66]::placeholder{color:var(--auth-text-light)}.auth-input[data-v-dba44f66]:focus,.input-wrap input[data-v-dba44f66]: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-dba44f66],.auth-input-wrap:focus-within .auth-input-icon[data-v-dba44f66],.input-wrap input:focus+.login-icon[data-v-dba44f66]{color:var(--auth-primary)}.auth-input[data-v-dba44f66]:disabled,.input-wrap input[data-v-dba44f66]:disabled{opacity:.6;cursor:not-allowed}.auth-password-toggle[data-v-dba44f66]{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-dba44f66]:hover,.auth-password-toggle[data-v-dba44f66]:focus{color:var(--auth-primary);outline:none}.icon-toggle[data-v-dba44f66]{width:20px;height:20px}.auth-error[data-v-dba44f66],.error-message[data-v-dba44f66]{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-dba44f66]{width:18px;height:18px;flex-shrink:0}.auth-options[data-v-dba44f66]{display:flex;justify-content:space-between;align-items:center}.auth-checkbox-label[data-v-dba44f66]{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--auth-text-medium);cursor:pointer}.auth-checkbox[data-v-dba44f66]{width:16px;height:16px;accent-color:var(--auth-primary);cursor:pointer}.auth-forgot-link[data-v-dba44f66]{font-size:.875rem;color:var(--auth-primary);text-decoration:none;transition:color .3s}.auth-forgot-link[data-v-dba44f66]:hover{color:var(--auth-primary-hover);text-decoration:underline}.auth-submit-btn[data-v-dba44f66],.login-button[data-v-dba44f66]{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-dba44f66]:hover:not(:disabled),.login-button[data-v-dba44f66]: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-dba44f66]:active:not(:disabled){transform:translateY(0)}.auth-submit-btn[data-v-dba44f66]:disabled,.login-button[data-v-dba44f66]:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-icon[data-v-dba44f66]{width:20px;height:20px}.btn-icon.spin[data-v-dba44f66]{animation:spin-dba44f66 1s linear infinite}@keyframes spin-dba44f66{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-footer[data-v-dba44f66],.login-footer[data-v-dba44f66]{text-align:center;margin-top:24px}.auth-footer p[data-v-dba44f66],.login-footer p[data-v-dba44f66]{color:var(--auth-text-medium);font-size:.9rem;margin:0}.auth-link[data-v-dba44f66],.login-link[data-v-dba44f66]{color:var(--auth-primary);text-decoration:none;font-weight:500;transition:color .3s}.auth-link[data-v-dba44f66]:hover,.login-link[data-v-dba44f66]:hover{color:var(--auth-primary-hover);text-decoration:underline}.recaptcha-notice[data-v-dba44f66]{margin-top:16px;text-align:center}.recaptcha-notice p[data-v-dba44f66]{font-size:11px;color:var(--auth-text-light);line-height:1.5;margin:0}.recaptcha-notice a[data-v-dba44f66]{color:var(--auth-primary);text-decoration:none;transition:color .2s}.recaptcha-notice a[data-v-dba44f66]:hover{color:var(--auth-primary-hover);text-decoration:underline}.auth-terms-group[data-v-dba44f66]{padding:12px 14px;background:var(--auth-bg-light);border:1.5px solid var(--auth-border);border-radius:10px}.terms-label[data-v-dba44f66]{align-items:flex-start!important}.terms-label .auth-checkbox[data-v-dba44f66]{margin-top:2px;flex-shrink:0}.terms-text[data-v-dba44f66]{font-size:.875rem;color:var(--auth-text-medium);line-height:1.5}.terms-link[data-v-dba44f66]{color:var(--auth-primary);text-decoration:none;font-weight:500;transition:color .2s}.terms-link[data-v-dba44f66]:hover{color:var(--auth-primary-hover);text-decoration:underline}.auth-bottom-row[data-v-dba44f66]{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:32px}.theme-toggle-btn[data-v-dba44f66]{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--auth-bg-light);border:1px solid var(--auth-border);border-radius:10px;color:var(--auth-text-dark);cursor:pointer;transition:all .3s;flex-shrink:0}.theme-toggle-btn[data-v-dba44f66]:hover{background:var(--auth-primary);border-color:var(--auth-primary);color:#fff;transform:scale(1.05)}.theme-icon[data-v-dba44f66]{width:18px;height:18px}.auth-lang-selector[data-v-dba44f66],.lang-popup-switch[data-v-dba44f66]{position:relative;display:flex;justify-content:center}.lang-btn[data-v-dba44f66],.flag-btn[data-v-dba44f66]{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-dba44f66]:hover,.flag-btn[data-v-dba44f66]:hover{background:#efefef;border-color:#ccc}.lang-icon[data-v-dba44f66],.flag-img[data-v-dba44f66]{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.chevron-icon[data-v-dba44f66]{width:16px;height:16px;transition:transform .3s}.chevron-icon.rotate[data-v-dba44f66]{transform:rotate(180deg)}.lang-dropdown[data-v-dba44f66],.lang-popup-dropdown[data-v-dba44f66]{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-dba44f66],.lang-popup-option[data-v-dba44f66]{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-dba44f66]:hover,.lang-popup-option[data-v-dba44f66]:hover{background:var(--auth-bg-light);color:var(--auth-primary)}.lang-flag[data-v-dba44f66]{font-size:1.2rem}.fade-enter-active[data-v-dba44f66],.fade-leave-active[data-v-dba44f66]{transition:opacity .2s ease,transform .2s ease}.fade-enter-from[data-v-dba44f66],.fade-leave-to[data-v-dba44f66]{opacity:0;transform:translate(-50%) translateY(10px)}.auth-mobile-logo[data-v-dba44f66]{display:none}.auth-right-panel[data-v-dba44f66]{flex:1;align-items:center;justify-content:center;padding:20px 20px 40px;overflow:hidden}.hero-content[data-v-dba44f66]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;max-width:600px}.hero-decoration[data-v-dba44f66]{position:absolute;width:300px;height:300px;border-radius:50%;background:#ffffff1a;filter:blur(60px)}.hero-decoration.top-left[data-v-dba44f66]{top:-100px;left:-100px}.hero-decoration.bottom-right[data-v-dba44f66]{bottom:-100px;right:-100px}.hero-image-container[data-v-dba44f66]{position:relative;height:100%;max-width:800px;border-radius:24px;overflow:hidden;margin:10px 10px 20px}.hero-image[data-v-dba44f66]{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}.hero-text[data-v-dba44f66]{text-align:center;margin-top:40px;position:relative;z-index:1}.hero-title[data-v-dba44f66]{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-dba44f66]{font-size:1.1rem;color:#ffffffe6;line-height:1.6;margin:0}@media (max-width: 900px){.auth-right-panel[data-v-dba44f66]{display:none}.auth-left-panel[data-v-dba44f66],.login-container[data-v-dba44f66]{flex:1 1 100%}}@media (max-width: 600px){.auth-mobile-logo[data-v-dba44f66]{display:flex;justify-content:center;margin-bottom:16px}.auth-mobile-logo img[data-v-dba44f66]{width:160px;height:auto;-o-object-fit:contain;object-fit:contain}.login-layout[data-v-dba44f66],.auth-wrapper[data-v-dba44f66]{overflow-y:auto;overflow-x:hidden;height:100vh;max-height:100vh;-webkit-overflow-scrolling:touch}.auth-left-panel[data-v-dba44f66],.login-container[data-v-dba44f66]{flex:1 1 100%;padding:48px 20px 24px;overflow:visible;min-height:100vh;height:auto;align-items:flex-start}.auth-form-container[data-v-dba44f66],.login-card[data-v-dba44f66]{max-width:100%;width:100%;padding:0}.auth-title[data-v-dba44f66],.login-title[data-v-dba44f66]{font-size:1.6rem}.auth-subtitle[data-v-dba44f66]{font-size:.9rem}.auth-header[data-v-dba44f66],.login-header[data-v-dba44f66]{margin-bottom:24px}.auth-form[data-v-dba44f66],.login-form[data-v-dba44f66]{gap:16px}.auth-input[data-v-dba44f66],.input-wrap input[data-v-dba44f66]{padding:12px 12px 12px 44px;font-size:.9rem}.auth-submit-btn[data-v-dba44f66],.login-button[data-v-dba44f66]{padding:12px 20px;font-size:.95rem}.auth-options[data-v-dba44f66]{flex-wrap:wrap;gap:8px}.auth-bottom-row[data-v-dba44f66]{margin-top:24px}.auth-right-panel[data-v-dba44f66]{display:none}}.modal-large[data-v-9f21aa16]{max-width:640px}.screen-info-card[data-v-9f21aa16]{display:flex;align-items:center;gap:16px;padding:16px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:12px;margin-bottom:24px}.screen-icon[data-v-9f21aa16]{color:#ff8303}.screen-details h4[data-v-9f21aa16]{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.screen-details p[data-v-9f21aa16]{margin:0;font-size:13px;color:var(--color-text-muted)}.section-header[data-v-9f21aa16]{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--color-border-light)}.section-header h4[data-v-9f21aa16]{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary)}.add-share-form[data-v-9f21aa16]{margin-bottom:24px;padding:16px;background:var(--color-surface-raised);border-radius:8px}.form-row[data-v-9f21aa16]{display:flex;gap:12px;margin-bottom:12px}.form-row[data-v-9f21aa16]:last-child{margin-bottom:0}.flex-1[data-v-9f21aa16]{flex:1}.flex-2[data-v-9f21aa16]{flex:2}.form-actions[data-v-9f21aa16]{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.form-select[data-v-9f21aa16]{cursor:pointer}.error-message[data-v-9f21aa16]{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-9f21aa16]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:var(--color-text-subtle)}.empty-state-small .empty-icon[data-v-9f21aa16]{color:#ddd;margin-bottom:8px}.empty-state-small p[data-v-9f21aa16]{margin:0;font-size:14px}.shares-list[data-v-9f21aa16]{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.share-item[data-v-9f21aa16]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;transition:all .2s}.share-item[data-v-9f21aa16]:hover{border-color:var(--color-text-subtle);box-shadow:0 2px 4px #0000000d}.share-user-info[data-v-9f21aa16]{display:flex;align-items:center;gap:10px;flex:2;min-width:0}.user-avatar[data-v-9f21aa16]{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-9f21aa16]{display:flex;flex-direction:column;min-width:0}.user-name[data-v-9f21aa16]{font-size:13px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email[data-v-9f21aa16]{font-size:11px;color:var(--color-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-permissions[data-v-9f21aa16],.share-expiry[data-v-9f21aa16]{flex:1}.expiry-badge[data-v-9f21aa16]{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--color-surface-overlay);border-radius:4px;font-size:11px;color:var(--color-text-muted)}.expiry-badge.expired[data-v-9f21aa16]{background:var(--color-red-bg);color:#dc2626}.expiry-badge.permanent[data-v-9f21aa16]{background:var(--color-green-bg);color:var(--color-green-hover)}.share-actions[data-v-9f21aa16]{display:flex;gap:4px}.action-btn[data-v-9f21aa16]{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-9f21aa16]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.action-btn.btn-edit[data-v-9f21aa16]:hover{box-shadow:0 2px 8px #3b82f666}.action-btn.btn-danger[data-v-9f21aa16]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.action-btn.btn-danger[data-v-9f21aa16]:hover{box-shadow:0 2px 8px #ef444466}.action-btn[data-v-9f21aa16]:disabled{opacity:.6;cursor:not-allowed}.btn-danger-outline[data-v-9f21aa16]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--color-surface);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-9f21aa16]:hover:not(:disabled){background:var(--color-red-bg)}.btn-danger-outline[data-v-9f21aa16]:disabled{opacity:.6;cursor:not-allowed}.user-info-display[data-v-9f21aa16]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:8px;font-size:14px;color:var(--color-text-primary)}.modal-icon-share[data-v-9f21aa16]{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;box-shadow:0 2px 8px #3b82f64d!important}.badge[data-v-9f21aa16]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500}.badge-success[data-v-9f21aa16]{background:var(--color-green-bg);color:var(--color-green-hover)}.badge-warning[data-v-9f21aa16]{background:#fed7aa;color:var(--color-orange-hover)}[data-theme=dark] .badge-warning[data-v-9f21aa16]{background:#d9770633;color:#fbbf24}[data-theme=dark] .empty-state-small .empty-icon[data-v-9f21aa16]{color:var(--color-text-subtle)}.badge-info[data-v-9f21aa16]{background:var(--color-blue-bg);color:var(--color-blue-hover)}.badge-neutral[data-v-9f21aa16]{background:var(--color-surface-overlay);color:var(--color-text-muted)}.icon-spin[data-v-9f21aa16]{animation:spin 1s linear infinite}.form-group[data-v-9f21aa16]{margin-bottom:0}.form-label[data-v-9f21aa16]{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--color-text-primary)}.required[data-v-9f21aa16]{color:#ef4444}.form-input[data-v-9f21aa16]{width:100%;padding:8px 12px;border:1.5px solid var(--color-border);border-radius:8px;font-size:14px;color:var(--color-text-primary);background:var(--color-surface);outline:none;transition:all .2s}.form-input[data-v-9f21aa16]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.form-hint[data-v-9f21aa16]{display:block;margin-top:4px;font-size:11px;color:var(--color-text-subtle)}.btn[data-v-9f21aa16]{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-9f21aa16]{padding:8px 14px;font-size:13px}.btn-primary[data-v-9f21aa16]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.btn-primary[data-v-9f21aa16]:hover:not(:disabled){box-shadow:0 4px 12px #ff830359}.btn-primary[data-v-9f21aa16]:disabled{opacity:.6;cursor:not-allowed}.modal-fade-enter-active[data-v-9f21aa16],.modal-fade-leave-active[data-v-9f21aa16]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-9f21aa16],.modal-fade-leave-to[data-v-9f21aa16]{opacity:0}.modal-overlay[data-v-9f21aa16]{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-9f21aa16]{z-index:1100;background:#000000a6}.modal-container[data-v-9f21aa16]{background:var(--color-surface);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-9f21aa16]{max-width:420px}.modal-header[data-v-9f21aa16]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-light)}.modal-title-section[data-v-9f21aa16]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-9f21aa16]{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-9f21aa16]{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.modal-close[data-v-9f21aa16]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:8px;border-radius:6px;transition:all .2s}.modal-close[data-v-9f21aa16]:hover{background:var(--color-surface-overlay);color:var(--color-text-primary)}.modal-body[data-v-9f21aa16]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-9f21aa16]{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--color-border-light)}.btn-cancel[data-v-9f21aa16]{padding:10px 16px;background:var(--color-surface);color:var(--color-text-muted);border:1.5px solid var(--color-border);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel[data-v-9f21aa16]:hover{background:var(--color-surface-raised);border-color:var(--color-text-subtle)}.btn-save[data-v-9f21aa16]{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-9f21aa16]:hover:not(:disabled){box-shadow:0 4px 12px #ff830359}.btn-save[data-v-9f21aa16]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.modal-overlay[data-v-9f21aa16]{padding:12px;align-items:flex-end}.modal-container[data-v-9f21aa16]{max-height:92vh;border-radius:12px}.modal-large[data-v-9f21aa16]{max-width:100%}.modal-body[data-v-9f21aa16]{padding:14px}.form-row[data-v-9f21aa16]{flex-direction:column;gap:10px}.flex-2[data-v-9f21aa16],.flex-1[data-v-9f21aa16]{flex:none;width:100%}.add-share-form[data-v-9f21aa16]{padding:12px}.share-item[data-v-9f21aa16]{flex-wrap:wrap;gap:8px}.share-user-info[data-v-9f21aa16]{flex:1 1 100%;min-width:0}.share-permissions[data-v-9f21aa16],.share-expiry[data-v-9f21aa16]{flex:0 0 auto}.share-actions[data-v-9f21aa16]{flex:0 0 auto;margin-left:auto}.shares-list[data-v-9f21aa16]{max-height:220px}.modal-footer[data-v-9f21aa16]{flex-wrap:wrap;gap:8px;padding:12px 14px}.btn-danger-outline[data-v-9f21aa16]{flex:1;justify-content:center}.btn-cancel[data-v-9f21aa16]{flex:1;text-align:center;justify-content:center}}.scada-list-view[data-v-d988ae02]{padding:15px;max-width:100%;overflow-x:hidden;display:flex;flex-direction:column;min-height:100%;box-sizing:border-box}.page-header[data-v-d988ae02]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h2[data-v-d988ae02]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.header-subtitle[data-v-d988ae02]{margin:0;color:var(--color-text-muted);font-size:13px;display:flex;align-items:center;gap:8px}.stat-item[data-v-d988ae02]{display:inline-flex;align-items:center;gap:4px}.stat-item.stat-shared[data-v-d988ae02]{color:#7c3aed}.stat-divider[data-v-d988ae02]{color:#ccc}.header-actions[data-v-d988ae02]{display:flex;gap:8px}.btn[data-v-d988ae02]{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-d988ae02]{padding:8px 16px}.btn-sm[data-v-d988ae02]{padding:6px 12px;font-size:13px}.search-box[data-v-d988ae02]{position:relative;display:flex;align-items:center}.search-icon[data-v-d988ae02]{position:absolute;left:10px;color:var(--color-text-subtle);pointer-events:none}.search-input[data-v-d988ae02]{padding:6px 12px 6px 32px;border:1px solid var(--color-border);border-radius:6px;font-size:13px;outline:none;transition:all .2s;color:var(--color-text-primary);background:var(--color-input-bg);height:36px;box-sizing:border-box}.search-input[data-v-d988ae02]:focus{border-color:#ff8303;box-shadow:0 0 0 2px #ff83031a}.search-input[data-v-d988ae02]::-moz-placeholder{color:var(--color-text-subtle)}.search-input[data-v-d988ae02]::placeholder{color:var(--color-text-subtle)}.btn-primary[data-v-d988ae02]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.btn-primary[data-v-d988ae02]:hover{background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.btn-secondary[data-v-d988ae02]{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-d988ae02]:hover:not(:disabled){background:var(--color-surface-raised);border-color:#d0d0d0}.btn-secondary[data-v-d988ae02]:disabled{opacity:.6;cursor:not-allowed}.filter-btn[data-v-d988ae02]{position:relative;background:var(--color-surface);color:var(--color-text-muted);border:1.5px solid var(--color-border);transition:all .2s}.filter-btn[data-v-d988ae02]:hover{border-color:#8b5cf6;color:#8b5cf6;background:#8b5cf61f}.filter-btn.filter-active[data-v-d988ae02]{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-color:transparent}.filter-btn.filter-active[data-v-d988ae02]:hover{box-shadow:0 6px 20px #8b5cf673;transform:translateY(-1px)}.filter-badge[data-v-d988ae02]{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-d988ae02]{background:#8b5cf6;color:#fff}.error-message[data-v-d988ae02]{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--color-red-bg);border:1px solid var(--color-red-border);border-radius:12px;color:var(--color-red);font-size:14px}.empty-state[data-v-d988ae02]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon[data-v-d988ae02]{color:var(--color-text-subtle);margin-bottom:16px}.empty-state h3[data-v-d988ae02]{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-text-secondary)}.empty-state p[data-v-d988ae02]{margin:0 0 24px;color:var(--color-text-muted);font-size:14px}.empty-state p.no-devices-warning[data-v-d988ae02]{display:flex;align-items:center;gap:8px;color:#d97706;background:var(--color-yellow-bg);padding:12px 16px;border-radius:8px;border:1px solid #fcd34d}.scada-grid[data-v-d988ae02]{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}@media (max-width: 1600px){.scada-grid[data-v-d988ae02]{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1200px){.scada-grid[data-v-d988ae02]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.scada-grid[data-v-d988ae02]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.scada-list-view[data-v-d988ae02]{padding:10px}.card-actions[data-v-d988ae02]{gap:6px}.action-btn[data-v-d988ae02]{width:34px;height:34px;border-radius:8px}}@media (max-width: 600px){.scada-grid[data-v-d988ae02]{grid-template-columns:1fr}.page-header[data-v-d988ae02]{flex-direction:column;gap:12px;align-items:stretch}.header-actions[data-v-d988ae02]{flex-wrap:wrap;gap:8px}.search-box[data-v-d988ae02]{flex:1;min-width:0}.search-input[data-v-d988ae02]{width:100%}.filter-btn[data-v-d988ae02],.btn-primary[data-v-d988ae02]{flex:0 0 auto;white-space:nowrap}}.scada-card[data-v-d988ae02]{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 1px 4px #0000000d;border-radius:10px;padding:12px;display:flex;flex-direction:column;transition:all .2s}.scada-card[data-v-d988ae02]:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.card-header[data-v-d988ae02]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;border-bottom:none;padding:0;background:transparent}.card-icon[data-v-d988ae02]{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-d988ae02]{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.2px}.status-active[data-v-d988ae02]{background:var(--color-green-bg);color:var(--color-green-hover)}.status-inactive[data-v-d988ae02]{background:var(--color-surface-overlay);color:var(--color-text-muted)}.status-shared[data-v-d988ae02]{display:flex;align-items:center;gap:3px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:var(--color-purple-hover)}.scada-card.shared-card[data-v-d988ae02]{border-color:#c4b5fd}.scada-card.shared-card .card-header[data-v-d988ae02]{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.card-body[data-v-d988ae02]{flex:1;margin-bottom:8px}.card-title[data-v-d988ae02]{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--color-text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-desc[data-v-d988ae02]{margin:0 0 6px;font-size:11px;color:var(--color-text-muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta[data-v-d988ae02]{display:flex;flex-wrap:wrap;gap:8px}.meta-item[data-v-d988ae02]{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--color-text-subtle)}.meta-item.shared-by[data-v-d988ae02]{color:#7c3aed;font-weight:500}.card-actions[data-v-d988ae02]{display:flex;gap:4px;padding-top:8px;border-top:1px solid var(--color-border-light)}.action-btn[data-v-d988ae02]{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-d988ae02]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb)}.action-btn.btn-view[data-v-d988ae02]:hover{box-shadow:0 4px 12px #3b82f659;transform:translateY(-1px)}.action-btn.btn-edit[data-v-d988ae02]{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a)}.action-btn.btn-edit[data-v-d988ae02]:hover{box-shadow:0 4px 12px #22c55e59;transform:translateY(-1px)}.action-btn.btn-danger[data-v-d988ae02]{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.action-btn.btn-danger[data-v-d988ae02]:hover{box-shadow:0 4px 12px #ef444459;transform:translateY(-1px)}.action-btn.btn-settings[data-v-d988ae02]{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.action-btn.btn-settings[data-v-d988ae02]:hover{box-shadow:0 4px 12px #8b5cf659;transform:translateY(-1px)}.action-btn.btn-share[data-v-d988ae02]{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706)}.action-btn.btn-share[data-v-d988ae02]:hover{box-shadow:0 4px 12px #f59e0b59;transform:translateY(-1px)}.modal-fade-enter-active[data-v-d988ae02],.modal-fade-leave-active[data-v-d988ae02]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-d988ae02],.modal-fade-leave-to[data-v-d988ae02]{opacity:0}.modal-fade-enter-active .modal-container[data-v-d988ae02],.modal-fade-leave-active .modal-container[data-v-d988ae02]{transition:transform .3s ease}.modal-fade-enter-from .modal-container[data-v-d988ae02],.modal-fade-leave-to .modal-container[data-v-d988ae02]{transform:scale(.95)}.modal-overlay[data-v-d988ae02]{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-d988ae02]{background:var(--color-surface);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-d988ae02]{max-width:420px}.modal-header[data-v-d988ae02]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-raised)}.modal-title-section[data-v-d988ae02]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-d988ae02]{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-d988ae02]{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d}.modal-icon-info[data-v-d988ae02]{background:linear-gradient(135deg,#1c78e6,#1565c0);box-shadow:0 2px 8px #1c78e64d}.desktop-required-content[data-v-d988ae02]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:12px 0}.desktop-icon-large[data-v-d988ae02]{color:#1c78e6;opacity:.8;margin-bottom:4px}.desktop-hint[data-v-d988ae02]{margin:0;font-size:13px;color:var(--color-text-muted);line-height:1.6}.modal-header h3[data-v-d988ae02]{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.modal-close[data-v-d988ae02]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:all .2s}.modal-close[data-v-d988ae02]:hover{background:var(--color-surface-overlay);color:var(--color-text-primary)}.modal-body[data-v-d988ae02]{padding:24px;overflow-y:auto;flex:1}.modal-text[data-v-d988ae02]{margin:0 0 8px;font-size:14px;color:var(--color-text-primary);line-height:1.5}.warning-text[data-v-d988ae02]{margin:0 0 16px;font-size:13px;color:var(--color-red);font-weight:500;padding:12px;background:var(--color-red-bg);border:1px solid var(--color-red-border);border-radius:8px}.modal-footer[data-v-d988ae02]{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid var(--color-border-light);background:var(--color-surface)}.form-group[data-v-d988ae02]{margin-bottom:18px}.form-group[data-v-d988ae02]:last-child{margin-bottom:0}.form-label[data-v-d988ae02]{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:var(--color-text-primary)}.required[data-v-d988ae02]{color:#ef4444;margin-left:2px}.form-input[data-v-d988ae02],.form-textarea[data-v-d988ae02]{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:8px;font-size:14px;outline:none;transition:all .2s;font-family:inherit;color:var(--color-text-primary);background:var(--color-surface);box-sizing:border-box}.form-input[data-v-d988ae02]:hover,.form-textarea[data-v-d988ae02]:hover{border-color:silver}.form-input[data-v-d988ae02]:focus,.form-textarea[data-v-d988ae02]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.form-textarea[data-v-d988ae02]{resize:vertical;min-height:80px}.form-hint[data-v-d988ae02]{display:block;margin-top:6px;font-size:12px;color:var(--color-text-subtle)}.delete-input[data-v-d988ae02]{border-color:#dc2626;font-family:monospace}.delete-input[data-v-d988ae02]:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.toggle-container[data-v-d988ae02]{display:flex;align-items:center;gap:12px}.toggle[data-v-d988ae02]{position:relative;display:inline-block;width:44px;height:24px}.toggle input[data-v-d988ae02]{opacity:0;width:0;height:0}.toggle-slider[data-v-d988ae02]{position:absolute;cursor:pointer;inset:0;background-color:#e5e7eb;transition:.3s;border-radius:24px}.toggle-slider[data-v-d988ae02]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-surface);transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle input:checked+.toggle-slider[data-v-d988ae02]{background:linear-gradient(135deg,#22c55e,#16a34a)}.toggle input:checked+.toggle-slider[data-v-d988ae02]:before{transform:translate(20px)}.toggle-label[data-v-d988ae02]{font-size:14px;color:var(--color-text-secondary)}.btn-cancel[data-v-d988ae02],.btn-save[data-v-d988ae02],.btn-delete[data-v-d988ae02]{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-d988ae02]{background:var(--color-surface);color:var(--color-text-muted);border:1.5px solid var(--color-border)}.btn-cancel[data-v-d988ae02]:hover{background:var(--color-surface-raised);border-color:var(--color-text-subtle);color:var(--color-text-secondary)}.btn-save[data-v-d988ae02]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;box-shadow:0 1px 3px #ff830333}.btn-save[data-v-d988ae02]:hover:not(:disabled){background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.btn-save[data-v-d988ae02]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-delete[data-v-d988ae02]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 1px 3px #ef444433}.btn-delete[data-v-d988ae02]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444459;transform:translateY(-1px)}.btn-delete[data-v-d988ae02]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.icon-spin[data-v-d988ae02]{animation:spin 1s linear infinite}.modal-fade-enter-active[data-v-01ef4999],.modal-fade-leave-active[data-v-01ef4999]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-01ef4999],.modal-fade-leave-to[data-v-01ef4999]{opacity:0}.modal-fade-enter-active .plan-modal-container[data-v-01ef4999],.modal-fade-leave-active .plan-modal-container[data-v-01ef4999]{transition:transform .3s ease}.modal-fade-enter-from .plan-modal-container[data-v-01ef4999],.modal-fade-leave-to .plan-modal-container[data-v-01ef4999]{transform:scale(.97)}.modal-overlay[data-v-01ef4999]{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-01ef4999]{background:var(--color-surface);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-01ef4999]{display:flex;justify-content:space-between;align-items:center;padding:16px 24px 14px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-raised);flex-shrink:0}.plan-modal-title[data-v-01ef4999]{display:flex;align-items:center;gap:14px}.plan-modal-icon[data-v-01ef4999]{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-01ef4999]{margin:0 0 2px;font-size:20px;font-weight:700;color:var(--color-text-primary)}.plan-modal-title p[data-v-01ef4999]{margin:0;font-size:13px;color:var(--color-text-subtle)}.modal-close[data-v-01ef4999]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:all .2s}.modal-close[data-v-01ef4999]:hover{background:var(--color-surface-overlay);color:var(--color-text-primary)}.plan-cards-scroll[data-v-01ef4999]{display:flex;gap:14px;padding:24px 28px;overflow:visible;flex:1;align-items:stretch}.plan-cards-scroll[data-v-01ef4999]::-webkit-scrollbar{height:6px}.plan-cards-scroll[data-v-01ef4999]::-webkit-scrollbar-track{background:var(--color-surface-overlay);border-radius:3px}.plan-cards-scroll[data-v-01ef4999]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.plan-card[data-v-01ef4999]{flex:1 1 0;min-width:160px;background:var(--color-surface-raised);border:2px solid var(--color-border);border-radius:10px;padding:20px 16px 18px;display:flex;flex-direction:column;position:relative;transition:all .2s}.plan-top[data-v-01ef4999]{min-height:72px}.plan-card[data-v-01ef4999]:hover{border-color:#ff8303;box-shadow:0 8px 24px #ff830326;transform:translateY(-3px);background:var(--color-surface)}.plan-card-popular[data-v-01ef4999]{border-color:#ff8303;background:var(--color-surface);box-shadow:0 4px 16px #ff83031f}.plan-card-custom[data-v-01ef4999]{border-color:#a78bfa;background:var(--color-surface-raised)}.plan-popular-badge[data-v-01ef4999]{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-code[data-v-01ef4999]{font-size:16px;font-weight:800;color:var(--color-text-primary);margin-bottom:6px;letter-spacing:.3px}.plan-card-custom .plan-code[data-v-01ef4999]{font-size:13px;line-height:1.4;color:#7c3aed}.plan-price[data-v-01ef4999]{display:flex;align-items:baseline;gap:3px;margin-bottom:2px;flex-wrap:wrap}.plan-price-amount[data-v-01ef4999]{font-size:18px;font-weight:700;color:#ef4444}.plan-price-unit[data-v-01ef4999]{font-size:11px;color:var(--color-text-subtle)}.plan-price-custom[data-v-01ef4999]{font-size:15px;font-weight:700;color:#7c3aed}.plan-divider[data-v-01ef4999]{height:1px;background:var(--color-border);margin:12px 0 10px}.plan-card-custom .plan-divider[data-v-01ef4999]{background:#ddd6fe}.plan-card-popular .plan-divider[data-v-01ef4999]{background:#fed7aa}.plan-features[data-v-01ef4999]{list-style:none;padding:0;margin:0 0 16px;flex:1;display:flex;flex-direction:column;gap:7px}.plan-features li[data-v-01ef4999]{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--color-text-secondary);line-height:1.4}.plan-feat-check[data-v-01ef4999]{color:#10b981;flex-shrink:0;margin-top:1px}.plan-card-custom .plan-features li[data-v-01ef4999]{color:var(--color-purple-hover);font-weight:500}.plan-select-btn[data-v-01ef4999]{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-paid[data-v-01ef4999]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.plan-btn-paid[data-v-01ef4999]:hover{background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.plan-btn-contact[data-v-01ef4999]{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff}.plan-btn-contact[data-v-01ef4999]:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);box-shadow:0 4px 12px #7c3aed59;transform:translateY(-1px)}.plan-card-skeleton[data-v-01ef4999]{border-color:var(--color-border)!important;background:var(--color-surface-raised)!important;pointer-events:none;min-width:160px;gap:10px;display:flex;flex-direction:column}.skel[data-v-01ef4999]{border-radius:6px;background:linear-gradient(90deg,var(--color-surface-overlay) 25%,var(--color-border) 50%,var(--color-surface-overlay) 75%);background-size:200% 100%;animation:skel-shimmer-01ef4999 1.4s infinite}@keyframes skel-shimmer-01ef4999{0%{background-position:200% 0}to{background-position:-200% 0}}.skel-code[data-v-01ef4999]{height:16px;width:60%;border-radius:4px}.skel-price[data-v-01ef4999]{height:22px;width:80%;border-radius:4px;margin-bottom:4px}.skel-divider[data-v-01ef4999]{height:1px;background:var(--color-border);animation:none}.skel-feat[data-v-01ef4999]{height:12px;width:90%}.skel-feat-short[data-v-01ef4999]{width:65%}.skel-btn[data-v-01ef4999]{height:34px;width:100%;border-radius:7px;margin-top:auto}.plans-error[data-v-01ef4999]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--color-text-subtle);text-align:center}.plans-error-icon[data-v-01ef4999]{color:#f59e0b}.plans-error p[data-v-01ef4999]{margin:0;font-size:14px;color:var(--color-text-muted)}.plans-retry-btn[data-v-01ef4999]{display:flex;align-items:center;gap:6px;padding:8px 18px;border:1.5px solid var(--color-border);background:var(--color-surface);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;color:var(--color-text-secondary);transition:all .2s}.plans-retry-btn[data-v-01ef4999]:hover{border-color:#ff8303;color:#ff8303;background:var(--color-primary-bg)}@media (max-width: 700px){.plan-modal-container[data-v-01ef4999]{border-radius:10px;max-height:95vh}.plan-modal-header[data-v-01ef4999]{padding:16px 20px 12px}.plan-modal-title h3[data-v-01ef4999]{font-size:16px}.plan-cards-scroll[data-v-01ef4999]{flex-direction:column;overflow-x:unset;overflow-y:auto;padding:16px 20px;gap:12px;align-items:stretch}.plan-card[data-v-01ef4999]{flex:none;width:100%}}.contact-fade-enter-active[data-v-01ef4999],.contact-fade-leave-active[data-v-01ef4999]{transition:opacity .25s ease}.contact-fade-enter-from[data-v-01ef4999],.contact-fade-leave-to[data-v-01ef4999]{opacity:0}.contact-fade-enter-active .contact-modal[data-v-01ef4999],.contact-fade-leave-active .contact-modal[data-v-01ef4999]{transition:transform .25s ease}.contact-fade-enter-from .contact-modal[data-v-01ef4999],.contact-fade-leave-to .contact-modal[data-v-01ef4999]{transform:scale(.95) translateY(10px)}.contact-overlay[data-v-01ef4999]{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-01ef4999]{background:var(--color-surface);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-01ef4999]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 16px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-raised)}.contact-header-left[data-v-01ef4999]{display:flex;align-items:center;gap:12px}.contact-icon[data-v-01ef4999]{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-01ef4999]{margin:0 0 2px;font-size:17px;font-weight:700;color:var(--color-text-primary)}.contact-header p[data-v-01ef4999]{margin:0;font-size:12px;color:var(--color-text-subtle)}.contact-close[data-v-01ef4999]{background:none;border:none;cursor:pointer;color:var(--color-text-subtle);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-01ef4999]:hover{background:var(--color-surface-overlay);color:var(--color-text-primary)}.contact-body[data-v-01ef4999]{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.contact-plan-row[data-v-01ef4999]{display:flex;align-items:center;gap:10px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:8px;padding:10px 14px}.contact-plan-label[data-v-01ef4999]{font-size:13px;color:var(--color-text-muted);flex-shrink:0}.contact-plan-badge[data-v-01ef4999]{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.3px}.contact-badge-free[data-v-01ef4999]{background:var(--color-green-bg);color:var(--color-green-hover)}.contact-badge-paid[data-v-01ef4999]{background:#ffedd5;color:#c2410c}.contact-badge-popular[data-v-01ef4999]{background:var(--color-orange-bg);color:#e67e00}.contact-badge-custom[data-v-01ef4999]{background:#ede9fe;color:var(--color-purple-hover)}.contact-plan-price[data-v-01ef4999]{font-size:13px;color:#ef4444;font-weight:600;margin-left:auto}.contact-desc-box[data-v-01ef4999]{display:flex;align-items:flex-start;gap:8px;background:var(--color-blue-bg);border:1px solid #bfdbfe;border-radius:8px;padding:10px 14px}.contact-desc-icon[data-v-01ef4999]{color:#3b82f6;flex-shrink:0;margin-top:2px}.contact-desc-box p[data-v-01ef4999]{margin:0;font-size:13px;color:var(--color-blue-hover);line-height:1.5}.contact-form-group[data-v-01ef4999]{display:flex;flex-direction:column;gap:6px}.contact-label[data-v-01ef4999]{font-size:14px;font-weight:500;color:var(--color-text-primary)}.required-star[data-v-01ef4999]{color:#ef4444;margin-left:2px}.contact-input[data-v-01ef4999]{width:100%;padding:11px 14px;border:1.5px solid var(--color-border);border-radius:8px;font-size:14px;outline:none;transition:all .2s;font-family:inherit;color:var(--color-text-primary);background:var(--color-surface);box-sizing:border-box}.contact-input[data-v-01ef4999]:hover{border-color:#b0b0b0}.contact-input[data-v-01ef4999]:focus{border-color:#1c78e6;box-shadow:0 0 0 3px #1c78e61f}.contact-input-error[data-v-01ef4999]{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}.contact-field-error[data-v-01ef4999]{display:flex;align-items:center;gap:4px;font-size:12px;color:#ef4444;font-weight:500}.contact-textarea[data-v-01ef4999]{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:8px;font-size:13px;outline:none;transition:all .2s;font-family:inherit;color:var(--color-text-primary);background:var(--color-surface);box-sizing:border-box;resize:vertical;min-height:60px}.contact-textarea[data-v-01ef4999]:hover{border-color:#b0b0b0}.contact-textarea[data-v-01ef4999]:focus{border-color:#1c78e6;box-shadow:0 0 0 3px #1c78e61f}.contact-char-count[data-v-01ef4999]{display:block;text-align:right;font-size:11px;color:var(--color-text-subtle);margin-top:2px}.contact-footer[data-v-01ef4999]{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--color-border-light)}.contact-btn-cancel[data-v-01ef4999]{padding:10px 20px;border:1.5px solid var(--color-border);background:var(--color-surface);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;color:var(--color-text-muted);transition:all .2s}.contact-btn-cancel[data-v-01ef4999]:hover{background:var(--color-surface-raised);border-color:var(--color-text-subtle)}.contact-btn-submit[data-v-01ef4999]{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-01ef4999]:hover:not(:disabled){background:linear-gradient(135deg,#1565c0,#0d47a1);box-shadow:0 4px 14px #1c78e666;transform:translateY(-1px)}.contact-btn-submit[data-v-01ef4999]:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 480px){.contact-modal[data-v-01ef4999]{border-radius:10px}.contact-body[data-v-01ef4999]{padding:16px 18px}.contact-footer[data-v-01ef4999]{padding:14px 18px 18px}}[data-theme=dark] .plan-card-custom[data-v-01ef4999]{border-color:#7c3aed;background:#7c3aed14}[data-theme=dark] .plan-card-custom .plan-code[data-v-01ef4999],[data-theme=dark] .plan-card-custom .plan-price-custom[data-v-01ef4999],[data-theme=dark] .plan-card-custom .plan-features li[data-v-01ef4999]{color:#c4b5fd}.modal-fade-enter-active[data-v-71046043],.modal-fade-leave-active[data-v-71046043]{transition:opacity .25s ease}.modal-fade-enter-from[data-v-71046043],.modal-fade-leave-to[data-v-71046043]{opacity:0}.modal-fade-enter-active .modal-container[data-v-71046043],.modal-fade-leave-active .modal-container[data-v-71046043]{transition:transform .25s ease}.modal-fade-enter-from .modal-container[data-v-71046043],.modal-fade-leave-to .modal-container[data-v-71046043]{transform:scale(.97)}.modal-overlay[data-v-71046043]{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-71046043]{background:var(--color-surface);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-71046043]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-light)}.modal-title-section[data-v-71046043]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-71046043]{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-71046043]{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.modal-close[data-v-71046043]{background:none;border:none;cursor:pointer;color:var(--color-text-subtle);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;transition:all .15s}.modal-close[data-v-71046043]:hover{background:var(--color-surface-overlay);color:var(--color-text-primary)}.modal-body[data-v-71046043]{padding:20px;display:flex;flex-direction:column;gap:16px}.loading-center[data-v-71046043]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--color-text-muted);font-size:13px}.info-rows[data-v-71046043]{display:flex;flex-direction:column;gap:10px}.info-row[data-v-71046043]{display:flex;align-items:center;gap:12px}.info-label[data-v-71046043]{font-size:13px;font-weight:600;color:var(--color-text-muted);min-width:88px;flex-shrink:0}.info-value[data-v-71046043]{font-size:13px;color:var(--color-text-secondary)}.fw-500[data-v-71046043]{font-weight:500}.info-id[data-v-71046043]{font-family:Courier New,monospace;font-size:12px;color:var(--color-text-muted);word-break:break-all}.plan-row-value[data-v-71046043]{display:flex;align-items:center;gap:8px}.plan-badge[data-v-71046043]{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:700;letter-spacing:.3px}.badge-plan-free[data-v-71046043]{background:var(--color-green-bg);color:var(--color-green-hover)}.badge-plan-basic[data-v-71046043]{background:var(--color-blue-bg);color:var(--color-blue-hover)}.badge-plan-standard[data-v-71046043]{background:#ffedd5;color:#c2410c}.badge-plan-pro[data-v-71046043]{background:#ede9fe;color:#5b21b6}.badge-plan-default[data-v-71046043]{background:var(--color-surface-overlay);color:var(--color-text-secondary)}.btn-upgrade[data-v-71046043]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1.5px solid #ff8303;background:transparent;border-radius:6px;color:#ff8303;font-size:11px;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap}.btn-upgrade[data-v-71046043]:hover{background:#ff8303;color:#fff;box-shadow:0 2px 8px #ff830359;transform:translateY(-1px)}.plan-specs[data-v-71046043]{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:10px;padding:12px 14px}.plan-specs-title[data-v-71046043]{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.plan-specs-grid[data-v-71046043]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.spec-item[data-v-71046043]{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--color-surface);border-radius:7px;padding:8px 6px;border:1px solid var(--color-border)}.spec-value[data-v-71046043]{font-size:18px;font-weight:700;color:var(--color-text-primary);line-height:1}.spec-label[data-v-71046043]{font-size:10px;color:var(--color-text-subtle);text-align:center;font-weight:500}.token-section[data-v-71046043]{background:var(--color-surface-raised);border-radius:10px;padding:14px}.token-label[data-v-71046043]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:10px}.token-box[data-v-71046043]{display:flex;align-items:flex-start;background:#1f2937;border-radius:8px;padding:12px;gap:8px}.token-defines[data-v-71046043]{flex:1;display:flex;flex-direction:column;gap:6px;overflow-x:auto}.token-defines[data-v-71046043]::-webkit-scrollbar{height:3px}.token-defines[data-v-71046043]::-webkit-scrollbar-track{background:transparent}.token-defines[data-v-71046043]::-webkit-scrollbar-thumb{background:#4b5563;border-radius:2px}.token-defines code[data-v-71046043]{font-family:Fira Code,Consolas,monospace;font-size:12px;white-space:nowrap}.ck[data-v-71046043]{color:#c084fc}.cn[data-v-71046043]{color:#34d399}.cs[data-v-71046043]{color:#fb923c}.btn-copy[data-v-71046043]{background:#ffffff1a;border:none;border-radius:6px;color:var(--color-text-subtle);cursor:pointer;padding:6px 8px;flex-shrink:0;transition:all .15s;display:flex;align-items:center}.btn-copy[data-v-71046043]:hover{background:#fff3;color:#fff}.modal-footer[data-v-71046043]{display:flex;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--color-border-light)}.btn-cancel[data-v-71046043]{display:flex;align-items:center;gap:6px;padding:8px 18px;border:1.5px solid var(--color-border);border-radius:7px;background:var(--color-surface);color:var(--color-text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.btn-cancel[data-v-71046043]:hover{background:var(--color-surface-raised);border-color:var(--color-text-subtle);color:var(--color-text-secondary)}.lock-status-banner[data-v-71046043]{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:16px 0 0;background:var(--color-red-bg);border:1px solid #fca5a5;border-left:3px solid #ef4444;border-radius:8px}.lock-status-icon[data-v-71046043]{width:32px;height:32px;border-radius:8px;background:var(--color-red-bg);color:#dc2626;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lock-status-info[data-v-71046043]{display:flex;flex-direction:column;gap:2px}.lock-status-info strong[data-v-71046043]{font-size:13px;color:var(--color-red-hover)}.lock-status-info span[data-v-71046043]{font-size:12px;color:var(--color-red-hover)}.lock-date[data-v-71046043]{font-size:11px!important;color:#9ca3af!important}[data-theme=dark] .badge-plan-standard[data-v-71046043]{background:#c2410c26;color:#fdba74}[data-theme=dark] .badge-plan-pro[data-v-71046043]{background:#5b21b633;color:#c4b5fd}.device-all-view[data-v-7ff87c2b]{padding:15px;margin-bottom:5px;min-height:100%;display:flex;flex-direction:column;box-sizing:border-box}.device-all-header[data-v-7ff87c2b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.device-all-header h2[data-v-7ff87c2b]{font-size:17px;font-weight:600;color:var(--color-text-primary);margin:0 0 2px}.device-all-header p[data-v-7ff87c2b]{margin:0;color:var(--color-text-muted);font-size:12px}.header-subtitle[data-v-7ff87c2b]{display:flex;align-items:center;gap:8px;margin-top:4px}.stat-item[data-v-7ff87c2b]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-muted)}.stat-dot[data-v-7ff87c2b]{width:8px;height:8px;border-radius:50%}.stat-dot.online[data-v-7ff87c2b]{background:#22c55e}.stat-dot.offline[data-v-7ff87c2b]{background:#ef4444}.stat-divider[data-v-7ff87c2b]{color:var(--color-border-medium)}.device-all-actions[data-v-7ff87c2b]{display:flex;gap:8px}.device-type-tabs[data-v-7ff87c2b]{display:flex;gap:6px;margin-bottom:10px;background:var(--color-surface);padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);box-shadow:0 1px 4px #0000000f}.tab-btn[data-v-7ff87c2b]{display:flex;align-items:center;gap:6px;padding:6px 14px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.tab-btn[data-v-7ff87c2b]:hover{background:var(--color-surface-overlay);color:var(--color-text-primary)}.tab-btn.active[data-v-7ff87c2b]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.tab-btn.active[data-v-7ff87c2b]:hover{background:linear-gradient(135deg,#e67e00,#ff8303)}.tab-count[data-v-7ff87c2b]{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;background:#0000001a}.tab-btn.active .tab-count[data-v-7ff87c2b]{background:#ffffff40}.error-banner[data-v-7ff87c2b]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-red-bg);border:1px solid var(--color-red-border);border-radius:8px;margin-bottom:16px;color:var(--color-red-hover);font-size:13px}.btn-retry[data-v-7ff87c2b]{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-7ff87c2b]:hover{background:#dc2626}.ws-status-banner[data-v-7ff87c2b]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-yellow-bg);border:1px solid #f59e0b;border-radius:8px;margin-bottom:16px;color:var(--color-orange-hover);font-size:13px}.btn-reconnect[data-v-7ff87c2b]{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-7ff87c2b]:hover{background:#d97706}.btn[data-v-7ff87c2b]{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-7ff87c2b]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.btn-primary[data-v-7ff87c2b]:hover{background:linear-gradient(135deg,#e67e00,#ff8303);box-shadow:0 4px 12px #ff83034d}.btn-primary[data-v-7ff87c2b]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-7ff87c2b]{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-7ff87c2b]:hover{background:var(--color-surface-raised);border-color:#d0d0d0}.btn-secondary[data-v-7ff87c2b]:disabled{opacity:.6;cursor:not-allowed}.spinning[data-v-7ff87c2b]{animation:spin-7ff87c2b 1s linear infinite}@keyframes spin-7ff87c2b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon[data-v-7ff87c2b]{width:16px;height:16px}.filters-section[data-v-7ff87c2b]{background:var(--color-surface);border:1px solid var(--color-border);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-7ff87c2b]{display:flex;flex-wrap:wrap;gap:8px;flex:1}.filters-right[data-v-7ff87c2b]{display:flex;align-items:center;gap:10px;flex-shrink:0}.filter-input[data-v-7ff87c2b]{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:13px;color:var(--color-text-primary);background:var(--color-surface);outline:none;transition:border-color .2s;min-width:200px;flex:1}.filter-input[data-v-7ff87c2b]:focus{border-color:#ff8303}.filter-select[data-v-7ff87c2b]{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:13px;color:var(--color-text-primary);background:var(--color-surface);outline:none;transition:border-color .2s;min-width:150px;cursor:pointer}.filter-select[data-v-7ff87c2b]:focus{border-color:#ff8303}.device-all-grid-wrapper[data-v-7ff87c2b]{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 1px 4px #0000000f;border-radius:10px;overflow:hidden;min-height:auto}.devices-container[data-v-7ff87c2b]{background:var(--color-surface);overflow:hidden}.devices-header[data-v-7ff87c2b]{display:grid;grid-template-columns:3fr 1.5fr 1.5fr 120px 100px;gap:10px;padding:8px 14px;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border-light);font-size:13px;font-weight:600;color:var(--color-text-muted)}.header-cell[data-v-7ff87c2b]{display:flex;align-items:center;gap:4px;background:var(--color-surface-raised);font-size:13px;font-weight:600;color:var(--color-text-muted)}.header-cell.sortable-th[data-v-7ff87c2b]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.header-cell.sortable-th[data-v-7ff87c2b]:hover{color:var(--color-text-primary)}.header-cell.is-sorted[data-v-7ff87c2b]{color:#ff8303}.devices-list[data-v-7ff87c2b]{max-height:70vh;overflow-y:auto}.device-row[data-v-7ff87c2b]{display:grid;grid-template-columns:3fr 1.5fr 1.5fr 120px 100px;gap:10px;padding:8px 14px;border-bottom:1px solid var(--color-border-light);transition:background .15s;cursor:pointer;font-size:13px}.device-row[data-v-7ff87c2b]:hover{background:var(--color-surface-raised)}.device-row[data-v-7ff87c2b]:last-child{border-bottom:none}.device-row.device-offline[data-v-7ff87c2b]{cursor:not-allowed;opacity:.6}.device-row.device-offline[data-v-7ff87c2b]:hover{background:transparent}.row-cell[data-v-7ff87c2b]{display:flex;align-items:center}.device-info[data-v-7ff87c2b]{display:flex;align-items:center;gap:8px}.device-icon[data-v-7ff87c2b]{width:28px;height:28px;background:var(--color-primary-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#e67e00;flex-shrink:0}.device-details h4[data-v-7ff87c2b]{margin:0 0 2px;font-size:13px;font-weight:500;color:var(--color-text-primary)}.owner-info[data-v-7ff87c2b]{display:flex;flex-direction:column;gap:2px}.owner-name[data-v-7ff87c2b]{font-size:13px;font-weight:500;color:var(--color-text-primary)}.owner-email[data-v-7ff87c2b]{font-size:11px;color:var(--color-text-subtle)}.type-badge[data-v-7ff87c2b]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--color-green-bg);color:var(--color-green-hover);white-space:nowrap}.group-badge[data-v-7ff87c2b]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--color-surface-overlay);color:var(--color-text-muted);white-space:nowrap}.permission-badge[data-v-7ff87c2b]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap}.permission-badge.full[data-v-7ff87c2b]{background:var(--color-blue-bg);color:var(--color-blue-hover)}.permission-badge.view[data-v-7ff87c2b]{background:var(--color-surface-overlay);color:var(--color-text-muted)}.status-badge[data-v-7ff87c2b]{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-7ff87c2b]{background:var(--color-green-bg);color:var(--color-green-hover)}.status-badge.offline[data-v-7ff87c2b]{background:var(--color-red-bg);color:#dc2626}.status-dot[data-v-7ff87c2b]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-dot.online[data-v-7ff87c2b]{background:#22c55e;box-shadow:0 0 8px #22c55e66}.status-dot.offline[data-v-7ff87c2b]{background:#ef4444;box-shadow:0 0 8px #ef444466}.empty-state[data-v-7ff87c2b]{display:flex;align-items:center;justify-content:center;padding:40px 16px;color:var(--color-text-subtle);font-size:13px}.empty-content[data-v-7ff87c2b]{text-align:center;color:var(--color-text-subtle)}.empty-icon[data-v-7ff87c2b]{margin-bottom:16px;color:#ccc}.empty-content h3[data-v-7ff87c2b]{margin:0 0 8px;font-size:16px;font-weight:500;color:var(--color-text-muted)}.empty-content p[data-v-7ff87c2b]{margin:0;font-size:13px;color:var(--color-text-subtle)}.pagination-info[data-v-7ff87c2b]{color:var(--color-text-muted);font-size:13px}.pagination-info strong[data-v-7ff87c2b]{color:var(--color-text-primary);font-weight:600}.pagination-controls[data-v-7ff87c2b]{display:flex;align-items:center;gap:8px}.page-size-select[data-v-7ff87c2b]{padding:4px 8px;border:1px solid var(--color-border);border-radius:5px;font-size:12px;outline:none;cursor:pointer;background:var(--color-surface);color:var(--color-text-primary)}.pagination-text[data-v-7ff87c2b]{color:var(--color-text-muted);font-size:12px}.pagination-nav[data-v-7ff87c2b]{display:flex;gap:4px}.nav-btn[data-v-7ff87c2b]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:var(--color-surface);border-radius:5px;cursor:pointer;color:var(--color-text-primary);font-size:16px;transition:all .15s}.nav-btn[data-v-7ff87c2b]:hover:not(:disabled){border-color:#ff8303;color:#ff8303}.nav-btn[data-v-7ff87c2b]:disabled{opacity:.4;cursor:not-allowed}.action-buttons[data-v-7ff87c2b]{display:flex;gap:4px}.action-btn[data-v-7ff87c2b]{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-7ff87c2b]{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a)}.action-btn.btn-edit[data-v-7ff87c2b]:hover{box-shadow:0 4px 12px #22c55e59;background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px)}.action-btn.btn-danger[data-v-7ff87c2b]{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.action-btn.btn-danger[data-v-7ff87c2b]:hover{box-shadow:0 4px 12px #ef444459;background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.modal-fade-enter-active[data-v-7ff87c2b],.modal-fade-leave-active[data-v-7ff87c2b]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-7ff87c2b],.modal-fade-leave-to[data-v-7ff87c2b]{opacity:0}.modal-fade-enter-active .modal-container[data-v-7ff87c2b],.modal-fade-leave-active .modal-container[data-v-7ff87c2b]{transition:transform .3s ease}.modal-fade-enter-from .modal-container[data-v-7ff87c2b],.modal-fade-leave-to .modal-container[data-v-7ff87c2b]{transform:scale(.95)}.modal-overlay[data-v-7ff87c2b]{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-7ff87c2b]{background:var(--color-surface);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-7ff87c2b]{max-width:420px}.modal-header[data-v-7ff87c2b]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-raised)}.modal-title-section[data-v-7ff87c2b]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-7ff87c2b]{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-7ff87c2b]{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d}.modal-header h3[data-v-7ff87c2b]{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.modal-close[data-v-7ff87c2b]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:all .2s}.modal-close[data-v-7ff87c2b]:hover{background:var(--color-surface-overlay);color:var(--color-text-primary)}.modal-body[data-v-7ff87c2b]{padding:24px;overflow-y:auto;flex:1}.modal-text[data-v-7ff87c2b]{margin:0 0 16px;font-size:14px;color:var(--color-text-primary);line-height:1.5}.warning-text[data-v-7ff87c2b]{margin:0;font-size:13px;color:var(--color-red);font-weight:500;display:flex;align-items:flex-start;gap:8px;padding:12px;background:var(--color-red-bg);border-radius:8px}.modal-footer[data-v-7ff87c2b]{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid var(--color-border-light);background:var(--color-surface)}.form-group[data-v-7ff87c2b]{margin-bottom:18px}.form-label[data-v-7ff87c2b]{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:var(--color-text-primary)}.required[data-v-7ff87c2b]{color:#ef4444;margin-left:2px}.form-input[data-v-7ff87c2b]{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:8px;font-size:14px;outline:none;transition:all .2s;font-family:inherit;color:var(--color-text-primary);background:var(--color-surface)}.form-input[data-v-7ff87c2b]:hover{border-color:var(--color-border-medium)}.form-input[data-v-7ff87c2b]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.btn-cancel[data-v-7ff87c2b],.btn-save[data-v-7ff87c2b],.btn-delete[data-v-7ff87c2b]{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-7ff87c2b]{background:var(--color-surface);color:var(--color-text-muted);border:1.5px solid var(--color-border)}.btn-cancel[data-v-7ff87c2b]:hover{background:var(--color-surface-raised);border-color:var(--color-text-subtle);color:var(--color-text-secondary)}.btn-save[data-v-7ff87c2b]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;box-shadow:0 1px 3px #ff830333;border:1.5px solid transparent}.btn-save[data-v-7ff87c2b]:hover:not(:disabled){background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.btn-save[data-v-7ff87c2b]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-delete[data-v-7ff87c2b]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 1px 3px #ef444433;border:1.5px solid transparent}.btn-delete[data-v-7ff87c2b]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444459;transform:translateY(-1px)}.btn-delete[data-v-7ff87c2b]:disabled{opacity:.6;cursor:not-allowed}.action-btn.btn-info[data-v-7ff87c2b]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb)}.action-btn.btn-info[data-v-7ff87c2b]:hover{box-shadow:0 4px 12px #3b82f659;background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.devices-mobile-cards[data-v-7ff87c2b]{display:none}@media (max-width: 768px){.device-all-view[data-v-7ff87c2b]{padding:10px}.device-all-header[data-v-7ff87c2b]{flex-direction:column;align-items:stretch;gap:10px}.device-all-header h2[data-v-7ff87c2b]{font-size:16px}.device-all-actions[data-v-7ff87c2b]{display:flex;gap:8px}.device-all-actions .btn[data-v-7ff87c2b]{flex:1;justify-content:center;font-size:12px;padding:7px 10px}.device-type-tabs[data-v-7ff87c2b]{padding:6px 8px}.tab-btn[data-v-7ff87c2b]{flex:1;justify-content:center;font-size:12px;padding:6px 8px}.filters-section[data-v-7ff87c2b]{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.filters-left[data-v-7ff87c2b]{flex-direction:column;gap:6px}.filter-input[data-v-7ff87c2b],.filter-select[data-v-7ff87c2b]{min-width:0;width:100%}.filters-right[data-v-7ff87c2b]{justify-content:space-between;width:100%}.devices-desktop[data-v-7ff87c2b]{display:none!important}.devices-mobile-cards[data-v-7ff87c2b]{display:flex;flex-direction:column;gap:8px;padding:8px}.device-mobile-card[data-v-7ff87c2b]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:12px;cursor:pointer;transition:box-shadow .2s,border-color .2s}.device-mobile-card[data-v-7ff87c2b]:active{border-color:#ff8303;box-shadow:0 2px 8px #ff83031f}.device-mobile-card.device-offline[data-v-7ff87c2b]{cursor:not-allowed;opacity:.6}.device-mobile-card.device-offline[data-v-7ff87c2b]:active{border-color:#f0f0f0;box-shadow:none}.mobile-card-top[data-v-7ff87c2b]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mobile-card-meta[data-v-7ff87c2b]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.mobile-card-actions[data-v-7ff87c2b]{display:flex;gap:6px;padding-top:8px;border-top:1px solid var(--color-border-light)}.mobile-card-actions .action-btn[data-v-7ff87c2b]{width:32px;height:32px}.owner-badge[data-v-7ff87c2b]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:#f3e8ff;color:#7c3aed}.error-banner[data-v-7ff87c2b],.ws-status-banner[data-v-7ff87c2b]{flex-direction:column;gap:8px;text-align:center}.btn-retry[data-v-7ff87c2b],.btn-reconnect[data-v-7ff87c2b]{margin-left:0;align-self:center}}.loading-center[data-v-7ff87c2b]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;color:var(--color-text-muted)}.device-name-row[data-v-7ff87c2b]{display:flex;align-items:center;gap:6px}.lock-badge[data-v-7ff87c2b]{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;background:var(--color-red-bg);color:var(--color-red);border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap;line-height:1}.quota-exceeded-banner[data-v-7ff87c2b]{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-top:12px;background:var(--color-blue-bg);border:1px solid var(--color-blue-border);border-radius:8px;font-size:13px;color:var(--color-blue-hover)}.action-btn.btn-edit[data-v-7ff87c2b]:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}[data-theme=dark] .filter-input[data-v-7ff87c2b],[data-theme=dark] .filter-select[data-v-7ff87c2b],[data-theme=dark] .page-size-select[data-v-7ff87c2b]{background:var(--color-input-bg);border-color:var(--color-input-border);color:var(--color-text-primary)}[data-theme=dark] .filter-input[data-v-7ff87c2b]:focus,[data-theme=dark] .filter-select[data-v-7ff87c2b]:focus,[data-theme=dark] .page-size-select[data-v-7ff87c2b]:focus{border-color:var(--color-input-focus-border);box-shadow:0 0 0 3px var(--color-input-focus-shadow)}[data-theme=dark] .form-input[data-v-7ff87c2b]{background:var(--color-input-bg);border-color:var(--color-input-border)}[data-theme=dark] .form-input[data-v-7ff87c2b]:focus{border-color:var(--color-input-focus-border);box-shadow:0 0 0 3px var(--color-input-focus-shadow)}[data-theme=dark] .btn-secondary[data-v-7ff87c2b]{background:var(--color-surface-raised);border-color:var(--color-border-medium)}[data-theme=dark] .btn-secondary[data-v-7ff87c2b]:hover{background:var(--color-surface-overlay)}[data-theme=dark] .btn-cancel[data-v-7ff87c2b]{background:var(--color-surface-raised);border-color:var(--color-border-medium);color:var(--color-text-secondary)}[data-theme=dark] .nav-btn[data-v-7ff87c2b]{background:var(--color-surface-raised);border-color:var(--color-border);color:var(--color-text-secondary)}[data-theme=dark] .owner-badge[data-v-7ff87c2b]{background:var(--color-purple-bg);color:var(--color-purple-hover)}[data-theme=dark] .device-mobile-card[data-v-7ff87c2b]:active{border-color:#ff8303;box-shadow:0 2px 8px #ff830333}.device-group-devices[data-v-838b7c44]{display:flex;flex-direction:column;min-height:100%;box-sizing:border-box;padding:15px}.devices-header[data-v-838b7c44]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.header-left[data-v-838b7c44]{display:flex;align-items:center;gap:12px}.btn-back[data-v-838b7c44]{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;color:var(--color-text-primary);transition:all .2s;white-space:nowrap}.btn-back[data-v-838b7c44]:hover{background:var(--color-surface-raised);border-color:#d0d0d0}.header-title h2[data-v-838b7c44]{margin:0 0 2px;font-size:17px;font-weight:600;color:var(--color-text-primary)}.header-subtitle[data-v-838b7c44]{margin:0;color:var(--color-text-muted);font-size:12px;display:flex;align-items:center;gap:6px}.stat-item[data-v-838b7c44]{display:inline-flex;align-items:center;gap:4px}.stat-divider[data-v-838b7c44]{color:#ccc}.header-actions[data-v-838b7c44]{display:flex;gap:8px}.btn-primary[data-v-838b7c44]{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-838b7c44]:hover{background:linear-gradient(135deg,#e67e00,#ff8303);box-shadow:0 2px 8px #ff83034d}.btn-secondary[data-v-838b7c44]{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary[data-v-838b7c44]:hover{background:var(--color-surface-raised);border-color:#d0d0d0}.btn-secondary[data-v-838b7c44]:disabled{opacity:.6;cursor:not-allowed}.devices-content[data-v-838b7c44]{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);border-radius:12px;overflow:hidden}.empty-state[data-v-838b7c44]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-subtle)}.spinning[data-v-838b7c44]{animation:spin-838b7c44 1s linear infinite}@keyframes spin-838b7c44{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-icon[data-v-838b7c44]{margin-bottom:16px;color:#ccc}.empty-state h4[data-v-838b7c44]{margin:0 0 8px;font-size:16px;color:var(--color-text-muted)}.empty-state p[data-v-838b7c44]{margin:0;font-size:14px;color:var(--color-text-subtle)}.devices-table-wrapper[data-v-838b7c44]{background:var(--color-surface);overflow:hidden}.devices-table[data-v-838b7c44]{width:100%}.table-header[data-v-838b7c44]{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 120px;gap:16px;padding:14px 20px;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border-light);font-size:13px;font-weight:600;color:var(--color-text-muted)}.header-cell[data-v-838b7c44]{display:flex;align-items:center;gap:4px}.header-cell.sortable-th[data-v-838b7c44]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s}.header-cell.sortable-th[data-v-838b7c44]:hover,.header-cell.is-sorted[data-v-838b7c44]{color:#ff8303}.header-cell .sort-icon[data-v-838b7c44]{color:var(--color-text-subtle);transition:color .15s}.header-cell.is-sorted .sort-icon[data-v-838b7c44],.header-cell.sortable-th:hover .sort-icon[data-v-838b7c44]{color:#ff8303}.table-body[data-v-838b7c44]{max-height:70vh;overflow-y:auto}.table-row[data-v-838b7c44]{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 120px;gap:16px;padding:14px 20px;border-bottom:1px solid var(--color-border-light);transition:background .15s;font-size:13px;cursor:pointer}.table-row[data-v-838b7c44]:hover{background:var(--color-surface-raised)}.table-row[data-v-838b7c44]:last-child{border-bottom:none}.row-cell[data-v-838b7c44]{display:flex;align-items:center}.device-col[data-v-838b7c44]{min-width:200px}.device-info[data-v-838b7c44]{display:flex;align-items:center;gap:12px}.device-icon[data-v-838b7c44]{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-838b7c44]{display:flex;flex-direction:column;gap:2px}.device-name[data-v-838b7c44]{margin:0;font-size:13px;font-weight:500;color:var(--color-text-primary)}.device-id[data-v-838b7c44]{font-size:11px;color:var(--color-text-subtle);font-family:Courier New,monospace}.type-col[data-v-838b7c44]{min-width:150px}.device-type[data-v-838b7c44]{font-size:13px;color:var(--color-text-muted)}.status-col[data-v-838b7c44]{min-width:120px;justify-content:center}.badge-status[data-v-838b7c44]{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-838b7c44]{background:var(--color-green-bg);color:var(--color-green-hover)}.badge-inactive[data-v-838b7c44]{background:var(--color-surface-overlay);color:var(--color-text-muted)}.date-col[data-v-838b7c44]{min-width:100px}.date-text[data-v-838b7c44]{font-size:13px;color:var(--color-text-muted)}.actions-col[data-v-838b7c44]{min-width:120px;justify-content:center}.btn-remove[data-v-838b7c44]{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-838b7c44]:hover{box-shadow:0 4px 12px #ef444459;background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.modal-fade-enter-active[data-v-838b7c44],.modal-fade-leave-active[data-v-838b7c44]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-838b7c44],.modal-fade-leave-to[data-v-838b7c44]{opacity:0}.modal-overlay[data-v-838b7c44]{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-838b7c44]{background:var(--color-surface);border-radius:12px;width:100%;max-width:540px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-small[data-v-838b7c44]{max-width:420px}.modal-header[data-v-838b7c44]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-raised)}.modal-title-section[data-v-838b7c44]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-838b7c44]{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-838b7c44]{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d}.modal-header h3[data-v-838b7c44]{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.modal-close[data-v-838b7c44]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:all .2s}.modal-close[data-v-838b7c44]:hover{background:var(--color-surface-overlay);color:var(--color-text-primary)}.modal-body[data-v-838b7c44]{padding:20px 24px 24px;overflow-y:auto;flex:1}.modal-text[data-v-838b7c44]{margin:0 0 8px;font-size:14px;color:var(--color-text-primary);line-height:1.5}.warning-text[data-v-838b7c44]{margin:0;font-size:13px;color:var(--color-red);font-weight:500}.search-box[data-v-838b7c44]{margin-bottom:16px}.form-input[data-v-838b7c44]{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:8px;font-size:14px;outline:none;transition:all .2s;color:var(--color-text-primary);background:var(--color-surface)}.form-input[data-v-838b7c44]:hover{border-color:silver}.form-input[data-v-838b7c44]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.available-devices[data-v-838b7c44]{max-height:400px;overflow-y:auto}.loading-inline[data-v-838b7c44],.empty-inline[data-v-838b7c44]{padding:40px;text-align:center;color:var(--color-text-subtle);font-size:14px}.loading-inline[data-v-838b7c44]{display:flex;align-items:center;justify-content:center;gap:8px}.device-item[data-v-838b7c44]{display:flex;align-items:center;gap:12px;padding:12px;border:1.5px solid var(--color-border);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s;background:var(--color-surface)}.device-item[data-v-838b7c44]:hover{border-color:#ff8303;background:var(--color-primary-bg)}.device-item.selected[data-v-838b7c44]{border-color:#ff8303;background:var(--color-primary-bg);box-shadow:0 2px 8px #ff830326}.device-item-info[data-v-838b7c44]{flex:1}.device-item-info h5[data-v-838b7c44]{margin:0 0 2px;font-size:13px;font-weight:500;color:var(--color-text-primary)}.device-item-info span[data-v-838b7c44]{font-size:12px;color:var(--color-text-subtle)}.device-item-check[data-v-838b7c44]{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-838b7c44]{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid var(--color-border-light);background:var(--color-surface)}.btn-cancel[data-v-838b7c44],.btn-save[data-v-838b7c44]{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-838b7c44]{background:var(--color-surface);color:var(--color-text-muted);border:1.5px solid var(--color-border)}.btn-cancel[data-v-838b7c44]:hover{background:var(--color-surface-raised);border-color:var(--color-text-subtle);color:var(--color-text-secondary)}.btn-save[data-v-838b7c44]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;box-shadow:0 1px 3px #ff830333;border:1.5px solid transparent}.btn-save[data-v-838b7c44]:hover:not(:disabled){background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.btn-save[data-v-838b7c44]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-delete[data-v-838b7c44]{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-838b7c44]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444459;transform:translateY(-1px)}.btn-delete[data-v-838b7c44]:disabled{opacity:.6;cursor:not-allowed}.devices-mobile-cards[data-v-838b7c44]{display:none}.device-mobile-card[data-v-838b7c44]{background:var(--color-surface);border:1px solid #f0f0f0;border-radius:10px;padding:12px;transition:box-shadow .2s,border-color .2s}.mobile-card-top[data-v-838b7c44]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mobile-card-meta[data-v-838b7c44]{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--color-text-subtle);margin-bottom:10px}.mobile-card-actions[data-v-838b7c44]{padding-top:8px;border-top:1px solid #f3f4f6;display:flex;justify-content:flex-end}.mobile-card-actions .btn-remove[data-v-838b7c44]{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-838b7c44]{padding:10px}.devices-header[data-v-838b7c44]{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}.header-title[data-v-838b7c44]{margin-left:0}.header-title h3[data-v-838b7c44]{font-size:16px}.btn-back[data-v-838b7c44]{width:-moz-fit-content;width:fit-content}.btn-primary[data-v-838b7c44]{width:100%;justify-content:center;padding:10px 16px}.devices-table-wrapper[data-v-838b7c44]{display:none}.devices-mobile-cards[data-v-838b7c44]{display:flex;flex-direction:column;gap:8px;padding:8px}.modal-overlay[data-v-838b7c44]{padding:12px}.available-devices[data-v-838b7c44]{max-height:320px}}.device-group-view[data-v-db25a96e]{min-height:100%;padding:15px;display:flex;flex-direction:column;box-sizing:border-box}.device-group-header[data-v-db25a96e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.device-group-header h2[data-v-db25a96e]{font-size:17px;font-weight:600;color:var(--color-text-primary);margin:0 0 2px}.header-subtitle[data-v-db25a96e]{margin:0;color:var(--color-text-muted);font-size:12px;display:flex;align-items:center;gap:6px}.stat-item[data-v-db25a96e]{display:inline-flex;align-items:center;gap:4px}.stat-divider[data-v-db25a96e]{color:#ccc}.device-group-actions[data-v-db25a96e]{display:flex;gap:8px}.filters-section[data-v-db25a96e]{display:flex;justify-content:space-between;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 1px 4px #0000000f;border-radius:10px;padding:10px 14px;margin-bottom:10px;gap:12px;flex-wrap:wrap}.filters-left[data-v-db25a96e]{display:flex;gap:8px;flex:1}.filters-right[data-v-db25a96e]{display:flex;align-items:center;gap:10px}.filter-input[data-v-db25a96e]{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:13px;color:var(--color-text-primary);background:var(--color-surface);outline:none;transition:border-color .2s;flex:1;min-width:200px;max-width:300px}.filter-input[data-v-db25a96e]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.btn[data-v-db25a96e]{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-db25a96e]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff}.btn-primary[data-v-db25a96e]:hover{background:linear-gradient(135deg,#e67e00,#ff8303);box-shadow:0 2px 8px #ff83034d}.btn-primary[data-v-db25a96e]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-db25a96e]{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-db25a96e]:hover{background:var(--color-surface-raised);border-color:#d0d0d0}.btn-secondary[data-v-db25a96e]:disabled{opacity:.6;cursor:not-allowed}.spinning[data-v-db25a96e]{animation:spin-db25a96e 1s linear infinite}@keyframes spin-db25a96e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.device-group-grid-wrapper[data-v-db25a96e]{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 1px 4px #0000000f;border-radius:10px;overflow:hidden;min-height:auto}.groups-container[data-v-db25a96e]{background:var(--color-surface);overflow:hidden}.groups-header[data-v-db25a96e]{display:grid;grid-template-columns:2fr 2.5fr .8fr 1fr 120px;gap:10px;padding:8px 14px;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border-light);font-size:13px;font-weight:600;color:var(--color-text-muted)}.header-cell[data-v-db25a96e]{display:flex;align-items:center;gap:4px;background:var(--color-surface-raised);font-size:13px;font-weight:600;color:var(--color-text-muted)}.header-cell.sortable-th[data-v-db25a96e]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s}.header-cell.sortable-th[data-v-db25a96e]:hover{color:var(--color-text-primary)}.header-cell.is-sorted[data-v-db25a96e]{color:#ff8303}.sort-icon[data-v-db25a96e]{color:var(--color-text-subtle);transition:color .15s}.header-cell.is-sorted .sort-icon[data-v-db25a96e],.header-cell.sortable-th:hover .sort-icon[data-v-db25a96e]{color:#ff8303}.group-col[data-v-db25a96e],.description-col[data-v-db25a96e]{min-width:200px}.count-col[data-v-db25a96e]{min-width:80px;justify-content:center}.date-col[data-v-db25a96e]{min-width:100px;color:var(--color-text-primary)}.actions-col[data-v-db25a96e]{min-width:120px;justify-content:center}.groups-list[data-v-db25a96e]{max-height:70vh;overflow-y:auto}.group-row[data-v-db25a96e]{display:grid;grid-template-columns:2fr 2.5fr .8fr 1fr 120px;gap:10px;padding:8px 14px;border-bottom:1px solid var(--color-border-light);transition:background .15s;font-size:13px;cursor:pointer}.group-row[data-v-db25a96e]:hover{background:var(--color-surface-raised)}.group-row[data-v-db25a96e]:last-child{border-bottom:none}.row-cell[data-v-db25a96e]{display:flex;align-items:center}.group-info[data-v-db25a96e]{display:flex;align-items:center;gap:8px}.group-icon[data-v-db25a96e]{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-db25a96e]{margin:0;font-size:13px;font-weight:500;color:var(--color-text-primary)}.description-text[data-v-db25a96e]{color:var(--color-text-muted);font-size:13px}.count-badge[data-v-db25a96e]{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:24px;padding:2px 8px;background:var(--color-green-bg);color:var(--color-green-hover);border-radius:4px;font-size:11px;font-weight:500}.action-buttons[data-v-db25a96e]{display:flex;gap:4px}.action-btn[data-v-db25a96e]{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-db25a96e]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb)}.action-btn.btn-view[data-v-db25a96e]:hover{box-shadow:0 4px 12px #3b82f659;background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.action-btn.btn-edit[data-v-db25a96e]{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a)}.action-btn.btn-edit[data-v-db25a96e]:hover{box-shadow:0 4px 12px #22c55e59;background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px)}.action-btn.btn-danger[data-v-db25a96e]{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.action-btn.btn-danger[data-v-db25a96e]:hover{box-shadow:0 4px 12px #ef444459;background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.empty-state[data-v-db25a96e]{display:flex;align-items:center;justify-content:center;padding:40px 16px;color:var(--color-text-subtle);font-size:13px}.empty-content[data-v-db25a96e]{text-align:center;color:var(--color-text-subtle)}.empty-icon[data-v-db25a96e]{margin-bottom:16px;color:#ccc}.empty-content h3[data-v-db25a96e]{margin:0 0 8px;font-size:16px;font-weight:500;color:var(--color-text-muted)}.empty-content p[data-v-db25a96e]{margin:0;font-size:13px;color:var(--color-text-subtle)}.pagination[data-v-db25a96e]{display:flex;justify-content:space-between;align-items:center;background:var(--color-surface);padding:8px 12px;border-radius:8px;font-size:12px;margin-top:8px}.pagination-info[data-v-db25a96e]{color:var(--color-text-muted);font-size:12px}.pagination-info strong[data-v-db25a96e]{color:var(--color-text-primary);font-weight:600}.pagination-controls[data-v-db25a96e]{display:flex;align-items:center;gap:8px}.page-size-select[data-v-db25a96e]{padding:4px 8px;border:1px solid var(--color-border);border-radius:5px;font-size:12px;outline:none;cursor:pointer;background:var(--color-surface);color:var(--color-text-primary)}.pagination-text[data-v-db25a96e]{color:var(--color-text-muted);font-size:12px}.pagination-nav[data-v-db25a96e]{display:flex;gap:4px}.nav-btn[data-v-db25a96e]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:var(--color-surface);border-radius:5px;cursor:pointer;color:var(--color-text-primary);font-size:16px;transition:all .15s}.nav-btn[data-v-db25a96e]:hover:not(:disabled){border-color:#ff8303;color:#ff8303;background:var(--color-primary-bg)}.nav-btn[data-v-db25a96e]:disabled{opacity:.4;cursor:not-allowed}.modal-fade-enter-active[data-v-db25a96e],.modal-fade-leave-active[data-v-db25a96e]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-db25a96e],.modal-fade-leave-to[data-v-db25a96e]{opacity:0}.modal-fade-enter-active .modal-container[data-v-db25a96e],.modal-fade-leave-active .modal-container[data-v-db25a96e]{transition:transform .3s ease}.modal-fade-enter-from .modal-container[data-v-db25a96e],.modal-fade-leave-to .modal-container[data-v-db25a96e]{transform:scale(.95)}.modal-overlay[data-v-db25a96e]{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-db25a96e]{background:var(--color-surface);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-db25a96e]{max-width:420px}.modal-header[data-v-db25a96e]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-raised)}.modal-title-section[data-v-db25a96e]{display:flex;align-items:center;gap:12px}.modal-icon[data-v-db25a96e]{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-db25a96e]{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.modal-close[data-v-db25a96e]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:all .2s}.modal-close[data-v-db25a96e]:hover{background:var(--color-surface-overlay);color:var(--color-text-primary)}.modal-body[data-v-db25a96e]{padding:20px 24px 24px;overflow-y:auto;flex:1}.modal-body p[data-v-db25a96e]{margin:0 0 8px;font-size:14px;color:var(--color-text-primary);line-height:1.5}.form-group[data-v-db25a96e]{margin-bottom:18px}.form-label[data-v-db25a96e]{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:var(--color-text-primary)}.required[data-v-db25a96e]{color:var(--color-red);margin-left:2px}.form-input[data-v-db25a96e],.form-textarea[data-v-db25a96e]{width:100%;padding:9px 12px;border:1.5px solid var(--color-border);border-radius:8px;font-size:14px;outline:none;transition:all .2s;font-family:inherit;color:var(--color-text-primary);background:var(--color-surface)}.form-input[data-v-db25a96e]:hover,.form-textarea[data-v-db25a96e]:hover{border-color:silver}.form-input[data-v-db25a96e]:focus,.form-textarea[data-v-db25a96e]:focus{border-color:#ff8303;box-shadow:0 0 0 3px #ff83031a}.form-textarea[data-v-db25a96e]{resize:vertical;min-height:100px}.form-hint[data-v-db25a96e]{display:block;margin-top:6px;font-size:12px;color:var(--color-text-subtle)}.warning-text[data-v-db25a96e]{margin:8px 0 0;font-size:13px;color:var(--color-red)}.color-selector[data-v-db25a96e]{display:flex;gap:12px;align-items:center}.color-preview-wrapper[data-v-db25a96e]{position:relative}.color-picker-input[data-v-db25a96e]{position:absolute;opacity:0;width:0;height:0}.color-preview[data-v-db25a96e]{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;border:3px solid var(--color-surface);box-shadow:0 0 0 1.5px var(--color-border),0 2px 8px #0000001a;transition:all .2s}.color-preview[data-v-db25a96e]:hover{transform:scale(1.05);box-shadow:0 0 0 1.5px #6366f1,0 4px 12px #6366f14d}.color-code-input[data-v-db25a96e]{flex:1;font-family:Courier New,monospace;text-transform:uppercase}.color-presets[data-v-db25a96e]{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.color-preset-btn[data-v-db25a96e]{width:38px;height:38px;border-radius:8px;border:3px solid var(--color-surface);cursor:pointer;transition:all .2s;box-shadow:0 0 0 1.5px var(--color-border)}.color-preset-btn[data-v-db25a96e]:hover{transform:scale(1.1);box-shadow:0 0 0 2px #ff8303,0 2px 8px #ff83034d}.color-preset-btn.active[data-v-db25a96e]{box-shadow:0 0 0 3px #ff8303,0 2px 8px #ff83034d;transform:scale(1.05)}.modal-footer[data-v-db25a96e]{display:flex;justify-content:flex-end;gap:12px;padding:10px;border-top:1px solid var(--color-border-light);background:var(--color-surface)}.btn-cancel[data-v-db25a96e],.btn-save[data-v-db25a96e]{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-db25a96e]{background:var(--color-surface);color:var(--color-text-muted);border:1.5px solid var(--color-border)}.btn-cancel[data-v-db25a96e]:hover{background:var(--color-surface-raised);border-color:var(--color-text-subtle);color:var(--color-text-secondary)}.btn-save[data-v-db25a96e]{background:linear-gradient(135deg,#ff8303,#e67e00);color:#fff;box-shadow:0 1px 3px #ff830333;border:1.5px solid transparent}.btn-save[data-v-db25a96e]:hover:not(:disabled){background:linear-gradient(135deg,#e67e00,#cc6f00);box-shadow:0 4px 12px #ff830359;transform:translateY(-1px)}.btn-save[data-v-db25a96e]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-delete[data-v-db25a96e]{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;box-shadow:0 1px 3px #ef444433;border:1.5px solid transparent}.btn-delete[data-v-db25a96e]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444459;transform:translateY(-1px)}.btn-delete[data-v-db25a96e]:disabled{opacity:.6;cursor:not-allowed}.groups-mobile-cards[data-v-db25a96e]{display:none}@media (max-width: 768px){.device-group-view[data-v-db25a96e]{padding:10px}.device-group-header[data-v-db25a96e]{flex-direction:column;align-items:stretch;gap:10px}.device-group-header h2[data-v-db25a96e]{font-size:16px}.device-group-actions[data-v-db25a96e]{display:flex;gap:8px}.device-group-actions .btn[data-v-db25a96e]{flex:1;justify-content:center;font-size:12px;padding:7px 10px}.filters-section[data-v-db25a96e]{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.filters-left[data-v-db25a96e]{flex-direction:column}.filter-input[data-v-db25a96e]{min-width:0;max-width:none;width:100%}.filters-right[data-v-db25a96e]{justify-content:space-between;width:100%}.groups-container[data-v-db25a96e]{display:none!important}.groups-mobile-cards[data-v-db25a96e]{display:flex;flex-direction:column;gap:8px;padding:8px}.group-mobile-card[data-v-db25a96e]{background:var(--color-surface);border:1px solid #f0f0f0;border-radius:10px;padding:12px;cursor:pointer;transition:box-shadow .2s,border-color .2s}.group-mobile-card[data-v-db25a96e]:active{border-color:#ff8303;box-shadow:0 2px 8px #ff83031f}.mobile-card-top[data-v-db25a96e]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.mobile-card-top .group-details h4[data-v-db25a96e]{font-size:14px}.mobile-card-top .description-text[data-v-db25a96e]{font-size:12px;color:var(--color-text-subtle);display:block;margin-top:2px}.mobile-card-meta[data-v-db25a96e]{display:flex;gap:8px;margin-bottom:8px}.mobile-date[data-v-db25a96e]{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--color-text-subtle)}.mobile-card-actions[data-v-db25a96e]{display:flex;gap:6px;padding-top:8px;border-top:1px solid #f3f4f6}.mobile-card-actions .action-btn[data-v-db25a96e]{width:32px;height:32px}.pagination-bottom[data-v-db25a96e]{flex-direction:column;gap:8px;align-items:center}}.admin-main[data-v-ddf360d4]{min-height:100vh;flex:1;display:flex;flex-direction:column}.page-content[data-v-ddf360d4]{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)}}
