@import"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--white-color: hsl(0, 0%, 100%);--black-color: hsl(0, 0%, 0%);--green-color: hsl(120, 100%, 35%);--body-font: "Poppins", sans-serif;--h1-font-size: 1rem;--normal-font-size: 1rem;--small-font-size: .813rem;--font-medium: 500;--clr-primary: #011500;--clr-accent: #22b8cf;--clr-bg: #f8fafc;--clr-text: #1e293b;--clr-muted: #cbd5e1;--clr-success: #22c55e;--clr-danger: #ef4444;--clr-warning: #eab308;--primary-color: #2e7d32;--primary-dark: #1b5e20;--primary-light: #4caf50;--secondary-blue: #4590BF;--accent-yellow: #D3D929;--accent-green: #BABF24;--gray-light: #F2F2F2;--modal-header-bg: #2e7d32;--modal-header-text: #ffffff;--modal-body-bg: #ffffff;--modal-body-text: #1f2937;--modal-footer-bg: #f8f9fa;--modal-footer-text: #1f2937;--modal-border: #e5e7eb;--white: #ffffff;--border-light: #e5e7eb;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--text-primary: #1f2937;--text-secondary: #6b7280;--green-primary: #2e7d32;--green-dark: #1b5e20;--button-success: #22c55e;--button-success-light: #86efac;--button-success-dark: #16a34a;--button-danger: #ef4444;--button-danger-light: #fca5a5;--button-danger-dark: #dc2626;--button-warning: #f59e0b;--button-warning-light: #fcd34d;--button-warning-dark: #d97706;--button-secondary: #e5e7eb;--button-secondary-dark: #d1d5db;--button-secondary-hover: #d1d5db;--red-error: #ef4444;--red-error-light: #fca5a5;--bg-color: #f3f4f6;--card-bg: #ffffff;--border-color: #e5e7eb;--danger-color: #ef4444;--warning-color: #f59e0b;--info-color: #3b82f6;--success-color: #22c55e;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--radius: 12px;--transition: all .3s ease;--shadow-1: 0 1px 3px rgba(0,0,0,.06);--shadow-2: 0 4px 12px rgba(0,0,0,.08);--shadow-3: 0 10px 30px rgba(0,0,0,.12);--transparent-10: rgba(0,0,0,.1);--transparent-12: rgba(0,0,0,.12);--transparent-20: rgba(0,0,0,.2);--white-8: rgba(255,255,255,.08);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--transition-default: .18s ease;--h1-size: 28px;--h2-size: 22px;--h3-size: 18px;--line-height: 1.3;--primary-60: rgba(46,125,50,.6);--primary-25: rgba(46,125,50,.25);--muted-50: rgba(31,41,55,.5);--disabled-opacity: .5}*{box-sizing:border-box;padding:0;margin:0}body,input,button{font-size:var(--normal-font-size);font-family:var(--body-font)}body{color:var(--text-primary);background-color:var(--clr-bg);background:var(--clr-bg)}input,button{border:none;outline:none}a{text-decoration:none}h1{font-size:var(--h1-size);line-height:var(--line-height);color:var(--text-primary);margin:0 0 8px}h2{font-size:var(--h2-size);line-height:var(--line-height);color:var(--text-primary);margin:0 0 6px}h3{font-size:var(--h3-size);line-height:var(--line-height);color:var(--text-primary);margin:0 0 6px}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-default);font-weight:600;border:none}.ui-btn:disabled{opacity:var(--disabled-opacity);cursor:not-allowed;transform:none!important}.ui-btn:active:not(:disabled){transform:scale(.98)}.ui-btn-primary{background:var(--primary-color);color:var(--white)}.ui-btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-2);transform:translateY(-2px)}.ui-btn-secondary{background:var(--button-secondary);color:var(--text-primary);border:1px solid var(--border-light)}.ui-btn-secondary:hover:not(:disabled){background:var(--button-secondary-dark);transform:translateY(-2px)}.ui-btn-danger{background:var(--button-danger);color:var(--white)}.ui-btn-danger:hover:not(:disabled){background:var(--button-danger-dark);transform:translateY(-2px);box-shadow:0 4px 12px #ef444440}.ui-btn-lg{padding:12px 20px;font-size:16px;border-radius:12px}.ui-btn-sm{padding:6px 10px;font-size:13px;border-radius:8px}.back-btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:12px;padding:10px 18px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;font-size:14px;box-shadow:var(--shadow-1);background-color:var(--button-secondary);color:var(--text-primary);white-space:nowrap}.back-btn:hover{background-color:var(--primary-color);color:var(--white);transform:translate(-3px)}.export-btn,.history-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease;background-color:var(--secondary-blue);color:var(--white);border:1px solid var(--secondary-blue)}.export-btn:hover,.history-btn:hover{opacity:.95}.card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:16px;color:var(--text-primary)}.text-muted{color:var(--text-secondary)}.NotificationsDashboardView{width:100%;min-height:100vh;background-color:var(--clr-bg);padding:20px;overflow-y:auto}.NotificationsDashboardView .header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;text-align:center;margin-bottom:40px;padding-top:20px}.NotificationsDashboardView .header h1{font-size:2rem;font-weight:700;color:var(--primary-dark);margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:12px}.NotificationsDashboardView .control-panel{display:flex;justify-content:space-between;align-items:center;margin:30px 0;padding:20px;background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-1);gap:20px}.NotificationsDashboardView .actions{display:flex;gap:10px;margin-left:auto}.NotificationsDashboardView .btn{padding:12px 20px;border:1px solid var(--border-light);background:var(--white);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:var(--transition-default);display:inline-flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-primary)}.NotificationsDashboardView .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.NotificationsDashboardView .btn-secondary{background-color:var(--button-secondary);border-color:var(--border-light);color:var(--text-primary)}.NotificationsDashboardView .alert-list{background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-1);margin-bottom:30px}.NotificationsDashboardView .alert-item{padding:18px 22px;border-bottom:1px solid var(--border-light);transition:all .3s ease;display:flex;align-items:flex-start;gap:16px;cursor:pointer}.NotificationsDashboardView .alert-item:hover{transform:translate(4px);box-shadow:var(--shadow-2)}.NotificationsDashboardView .alert-item.status-false{background-color:#ef444408;border-left:4px solid var(--button-danger)}.NotificationsDashboardView .alert-item.status-true{background-color:#10b98105;border-left:4px solid #10b981}.NotificationsDashboardView .alert-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.NotificationsDashboardView .alert-content{flex:1;min-width:0}.NotificationsDashboardView .alert-title{font-weight:800;color:var(--text-primary);font-size:1.05rem;margin-bottom:8px}.NotificationsDashboardView .alert-desc{color:var(--text-primary);margin-top:6px;line-height:1.3;max-width:70ch;overflow:hidden;text-overflow:ellipsis}.NotificationsDashboardView .alert-meta{display:flex;gap:12px;align-items:center;margin-top:8px}.NotificationsDashboardView .action-btn{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:var(--transition-default);background-color:#f3f4f6;color:var(--text-secondary);font-size:1.2rem}.NotificationsDashboardView .action-btn:hover{background-color:#e5e7eb;transform:translateY(-2px);box-shadow:var(--shadow-1)}.NotificationsDashboardView .action-btn.mark-read{background-color:#10b9811f;border:1px solid rgba(16,185,129,.18);color:#10b981}.NotificationsDashboardView .action-btn.delete{background-color:#ef44441f;border:1px solid rgba(239,68,68,.18);color:var(--button-danger)}@media(max-width:768px){.NotificationsDashboardView{padding:15px}.NotificationsDashboardView .header h1{font-size:1.6rem}.NotificationsDashboardView .control-panel{flex-direction:column;gap:15px;align-items:stretch}.NotificationsDashboardView .actions{margin-left:0;width:100%}}button ion-icon,button i{font-size:inherit;flex-shrink:0}img{max-width:100%;height:auto}input[type=password]::-ms-reveal,input[type=password]::-ms-clear{display:none}input[type=password]::-webkit-clear-button,input[type=password]::-webkit-reveal-button{display:none}.sync-icon{display:flex;align-items:center;justify-content:center;animation:infinite 1.3s ease sync-icon}@keyframes sync-icon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-wrapper{position:relative;width:100%;max-width:900px}.form-container{width:100%;background:var(--white);border-radius:var(--radius-lg);font-family:var(--body-font);padding:30px;box-shadow:var(--shadow-lg);position:relative}.close-form-btn{position:absolute;top:-15px;right:-15px;width:40px;height:40px;border-radius:50%;background:var(--button-danger);color:var(--white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;z-index:100;box-shadow:var(--shadow-md);transition:all var(--transition-default)}.close-form-btn:hover{background:var(--button-danger-dark);transform:scale(1.1);box-shadow:0 6px 12px #0000004d}.close-form-btn:active{transform:scale(.95)}.step-header{display:flex;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--border-light)}.step-number{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;margin-right:15px;flex-shrink:0}.step-info{flex:1}.step-title{font-size:var(--h2-size);font-weight:600;color:var(--text-primary);margin:0 0 5px}.step-description{color:var(--text-secondary);font-size:14px;margin:0}.step-section{margin-bottom:30px}.step-section h4{color:var(--text-primary);margin-bottom:20px;font-size:18px;font-weight:600;padding-bottom:10px;border-bottom:1px solid var(--gray-100)}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:10px;font-weight:600;color:var(--text-primary);font-size:15px}.form-group label span{color:var(--red-error)}.form-control{width:100%;padding:14px 15px;border:2px solid var(--border-light);border-radius:var(--radius-md);font-size:15px;transition:all var(--transition-default);font-family:inherit;color:var(--text-primary);background:var(--white)}.form-control:focus{outline:none;border-color:var(--green-primary);box-shadow:0 0 0 3px var(--primary-25)}.form-control::placeholder{color:var(--text-secondary)}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid var(--border-light)}.step-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:20px;border-top:2px solid var(--border-light);flex-shrink:0}.navigation-left,.navigation-right{flex:1}.navigation-left{display:flex;justify-content:flex-start}.navigation-right{display:flex;justify-content:flex-end}.step-indicator{display:flex;gap:10px;justify-content:center;flex:1}.step-dot{width:10px;height:10px;border-radius:50%;background:var(--border-light);transition:all var(--transition-default);cursor:default}.step-dot.active{background:var(--green-primary);transform:scale(1.2)}.config-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.actuator-config,.sensor-config{display:flex;flex-direction:column;gap:20px}.groups-scroll-container{max-height:340px;min-height:220px;overflow-y:auto;margin-bottom:25px;border:2px solid var(--border-light);border-radius:var(--radius-md);background:var(--gray-50);padding:15px}.groups-scroll-container::-webkit-scrollbar{width:8px}.groups-scroll-container::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}.groups-scroll-container::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.groups-scroll-container::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--gray-300) 80%,black)}.groups-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}.group-card{border:2px solid var(--border-light);border-radius:var(--radius-lg);padding:25px 15px;transition:all var(--transition-default);background:var(--white);display:flex;flex-direction:column;align-items:center;text-align:center;height:160px;justify-content:space-between;position:relative}.group-card.selected{border-color:var(--primary-color);background:linear-gradient(135deg,var(--white),var(--primary-25));box-shadow:0 8px 16px var(--primary-60);transform:translateY(-2px)}.group-color{width:50px;height:50px;border-radius:var(--radius-md);margin-bottom:20px;box-shadow:var(--shadow-sm);border:3px solid var(--white);transition:transform var(--transition-default)}.group-card:hover .group-color{transform:scale(1.1)}.group-name{font-weight:600;color:var(--text-primary);font-size:16px;line-height:1.4;margin-bottom:8px;word-break:break-word;flex-grow:1;display:flex;align-items:center}.group-type{font-size:12px;color:var(--text-secondary);text-transform:uppercase;font-weight:500;letter-spacing:1px;background:var(--gray-100);padding:4px 12px;border-radius:var(--radius-lg)}.selected-indicator{position:absolute;top:10px;right:10px;width:24px;height:24px;background:var(--primary-color);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;animation:popIn .3s ease}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}.add-group-section{display:flex;justify-content:center;padding:20px 0}.add-group-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;font-size:15px;border:2px dashed var(--border-light);background:var(--white);transition:all var(--transition-default);border-radius:var(--radius-md);color:var(--text-primary);font-weight:600;cursor:pointer}.add-group-btn:hover{border-color:var(--green-primary);background:var(--primary-25);transform:translateY(-2px)}.color-selector-container{margin-top:10px}.color-selector{display:flex;align-items:center;gap:20px;background:var(--gray-50);padding:20px;border-radius:var(--radius-lg);border:2px solid var(--border-light)}.color-input{width:60px;height:60px;border:none;border-radius:var(--radius-md);cursor:pointer;padding:0;background:transparent;box-shadow:var(--shadow-sm)}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:3px solid var(--white);border-radius:var(--radius-sm);box-shadow:inset 0 2px 4px #0003}.color-input:hover{transform:scale(1.05)}.color-display{display:flex;align-items:center;gap:15px}.color-preview{width:40px;height:40px;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:2px solid var(--white)}.color-hex{font-family:Monaco,Consolas,monospace;font-size:15px;color:var(--text-primary);background:var(--white);padding:8px 15px;border-radius:var(--radius-sm);border:1px solid var(--border-light);font-weight:500;letter-spacing:1px}.color-hint{margin-top:15px;color:var(--text-secondary);font-size:13px;display:flex;align-items:center;gap:8px;padding:10px 15px;background:var(--gray-100);border-radius:var(--radius-sm);border-left:4px solid var(--primary-color)}.color-hint i{color:var(--primary-color)}.control-options{display:flex;flex-direction:column;gap:15px}.control-option{display:flex;align-items:center;justify-content:space-between;padding:20px;background:var(--white);border-radius:var(--radius-lg);transition:all var(--transition-default);border:2px solid var(--border-light);position:relative}.control-option:hover:not(.disabled){border-color:var(--green-primary);box-shadow:var(--shadow-md)}.control-option.disabled{opacity:.7;background:var(--gray-50);border-color:var(--border-light)}.control-info{flex:1}.control-info h5{margin:0 0 6px;color:var(--text-primary);font-size:16px;font-weight:600}.control-info p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.4}.disabled-hint{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--warning-color);font-size:12px;font-weight:500}.disabled-hint i{font-size:12px}.switch{position:relative;display:inline-block;width:56px;height:30px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--gray-300);transition:var(--transition-default);border-radius:34px;box-shadow:inset 0 2px 4px #0000001a}.slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:var(--white);transition:var(--transition-default);border-radius:50%;box-shadow:var(--shadow-sm)}input:checked+.slider{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark))}input:checked+.slider:before{transform:translate(26px);box-shadow:0 3px 6px #0000004d}input:disabled+.slider{opacity:.5;cursor:not-allowed}input:disabled+.slider:before{background-color:var(--gray-100)}.error-notification{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:var(--radius-md);margin-top:20px;animation:slideInUp .3s ease;border-left:4px solid}.error-notification:not(.success){background:linear-gradient(135deg,#ef44441a,#ef44440d);border-left-color:var(--button-danger);color:var(--button-danger)}.error-notification.success{background:linear-gradient(135deg,#2e7d321a,#2e7d320d);border-left-color:var(--green-primary);color:var(--green-primary)}.error-notification i{font-size:18px;flex-shrink:0}.error-notification span{flex:1;font-weight:500;font-size:14px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 30px;gap:20px;text-align:center}.spinner{width:50px;height:50px;border:4px solid var(--border-light);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{color:var(--text-secondary);font-size:14px;margin:0}.no-groups-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 30px;gap:20px;text-align:center;color:var(--text-secondary);background:var(--gray-50);border-radius:var(--radius-md);border:2px dashed var(--border-light);min-height:220px}.no-groups-message i{font-size:48px;color:var(--gray-300)}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.btn{padding:12px 24px;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition-default);display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;text-decoration:none}.btn-primary{background:var(--green-primary);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px #2e7d324d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--gray-50);color:var(--text-primary);border:2px solid var(--border-light)}.btn-secondary:hover:not(:disabled){background:var(--gray-100);border-color:var(--green-primary);transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none;transform:none!important}.modal-overlay{position:fixed;inset:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--gray-light);box-shadow:0 10px 40px #00000026;width:100%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease-out;color:var(--modal-body-text);border-radius:12px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content.modal-sm{max-width:400px}.modal-content.modal-md{max-width:500px}.modal-content.modal-lg{max-width:600px}.modal-content.modal-xl{max-width:700px}.modal-header{padding:20px 24px;border-bottom:1px solid var(--modal-border);display:flex;justify-content:space-between;align-items:center;background-color:var(--modal-header-bg);flex-shrink:0}.modal-header h2,.modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--modal-header-text);display:flex;align-items:center;gap:10px}.modal-header.success{background-color:var(--button-success);color:#fff;border-bottom-color:var(--button-success)}.modal-header.success h2,.modal-header.success h3{color:#fff}.modal-header.warning{background-color:var(--button-warning);color:#1c1917;border-bottom-color:var(--button-warning)}.modal-header.warning h2,.modal-header.warning h3{color:#1c1917}.modal-header.danger{background-color:var(--button-danger);color:#fff;border-bottom-color:var(--button-danger)}.modal-header.danger h2,.modal-header.danger h3{color:#fff}.modal-header ion-icon{font-size:22px;flex-shrink:0}.modal-header.warning ion-icon{color:#1c1917}.modal-header.danger ion-icon{color:#fff}.modal-header.success ion-icon{color:#fff}.close-btn,.close-button,.buttonCloseModal{background:none;border:none;font-size:24px;cursor:pointer;color:var(--modal-body-text);transition:all .2s ease;padding:4px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.close-btn:hover,.close-button:hover,.buttonCloseModal:hover{background-color:#0000001a;color:var(--modal-body-text);transform:rotate(90deg)}.close-btn:active,.close-button:active,.buttonCloseModal:active{transform:scale(.95) rotate(90deg)}.modal-header .close-btn,.modal-header .close-button,.modal-header .buttonCloseModal{color:var(--modal-header-text)}.modal-header.warning .close-btn,.modal-header.warning .close-button,.modal-header.warning .buttonCloseModal{color:#1c1917}.modal-header.success .close-btn,.modal-header.success .close-button,.modal-header.success .buttonCloseModal,.modal-header.danger .close-btn,.modal-header.danger .close-button,.modal-header.danger .buttonCloseModal{color:#fff}.modal-body{padding:24px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:20px;background-color:var(--modal-body-bg);color:var(--modal-body-text)}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:silver;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.modal-body>:last-child{margin-bottom:0}.modal-footer{padding:16px 24px;border-top:1px solid var(--modal-border);display:flex;gap:12px;justify-content:flex-end;background-color:var(--modal-footer-bg);flex-shrink:0;color:var(--modal-footer-text)}.modal-footer.center{justify-content:center}.modal-footer.space-between{justify-content:space-between}.btn{padding:10px 18px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;min-width:100px;height:40px;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary,.btn.primary{background-color:var(--primary-color);color:#fff;border:none}.btn-primary:hover:not(:disabled),.btn.primary:hover:not(:disabled){background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #2e7d3240}.btn-primary:active:not(:disabled),.btn.primary:active:not(:disabled){transform:scale(.98)}.btn-secondary,.btn.secondary{background-color:#e5e7eb;color:var(--modal-body-text);border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled),.btn.secondary:hover:not(:disabled){background-color:#d1d5db;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 2px 8px #00000014}.btn-secondary:active:not(:disabled),.btn.secondary:active:not(:disabled){transform:scale(.98)}.btn-cancel,.btn.cancel{background-color:#e5e7eb;color:var(--modal-body-text);border:1px solid #d1d5db}.btn-cancel:hover:not(:disabled),.btn.cancel:hover:not(:disabled){background-color:#d1d5db;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 2px 8px #00000014}.btn-cancel:active:not(:disabled),.btn.cancel:active:not(:disabled){transform:scale(.98)}.btn-danger,.btn.danger{background-color:var(--button-danger);color:#fff;border:none}.btn-danger:hover:not(:disabled),.btn.danger:hover:not(:disabled){background-color:var(--button-danger-dark);transform:translateY(-2px);box-shadow:0 4px 12px #ef444440}.btn-danger:active:not(:disabled),.btn.danger:active:not(:disabled){transform:scale(.98)}.btn-warning,.btn.warning{background-color:var(--button-warning);color:#1c1917;border:none;font-weight:600}.btn-warning:hover:not(:disabled),.btn.warning:hover:not(:disabled){background-color:var(--button-warning-dark);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b40}.btn-warning:active:not(:disabled),.btn.warning:active:not(:disabled){transform:scale(.98)}.modal-title{font-size:20px;font-weight:700;color:var(--modal-body-text);margin-bottom:0}.modal-description{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.modal-alert{padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.5}.modal-alert.warning{background-color:#f59e0b1a;color:#92400e;border-left:4px solid var(--button-warning)}.modal-alert.danger{background-color:#ef44441a;color:#7f1d1d;border-left:4px solid var(--button-danger)}.modal-alert.success{background-color:#22c55e1a;color:#166534;border-left:4px solid var(--button-success)}.modal-divider{height:1px;background-color:var(--modal-border);margin:12px 0}@media(max-width:640px){.modal-content{width:95%;max-width:100%;max-height:95vh;border-radius:12px}.modal-header{padding:16px 20px}.modal-header h2,.modal-header h3{font-size:16px}.modal-body{padding:20px;gap:16px}.modal-footer{flex-direction:column;gap:10px;padding:16px 20px}.modal-footer .btn{width:100%}.btn{padding:12px 16px;font-size:14px;min-width:auto}}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .3s ease}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.modal-fade-enter-to,.modal-fade-leave-from{opacity:1}.modal-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:var(--modal-body-text)}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid var(--modal-border);border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s ease;color:var(--modal-body-text);background-color:var(--modal-body-bg)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2e7d321a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f0f0f0;cursor:not-allowed}.form-group input[type=radio],.form-group input[type=checkbox]{width:auto;margin-right:8px}.modal-list{max-height:300px;overflow-y:auto;border:1px solid var(--modal-border);border-radius:8px;margin:0;padding:0;list-style:none;background-color:var(--modal-body-bg)}.modal-list li{padding:12px 16px;border-bottom:1px solid var(--modal-border);transition:background-color .2s ease;color:var(--modal-body-text)}.modal-list li:last-child{border-bottom:none}.modal-list li:hover{background-color:#f5f5f5}.modal-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:0}.modal-option{padding:16px;border:2px solid var(--modal-border);border-radius:8px;text-align:center;cursor:pointer;transition:all .2s ease;background-color:var(--modal-body-bg);color:var(--modal-body-text)}.modal-option:hover{border-color:var(--primary-color);background-color:#2e7d320d}.modal-option.selected{border-color:var(--primary-color);background-color:#2e7d321a;font-weight:600;color:var(--primary-color)}.text-success{color:var(--button-success)}.text-danger{color:var(--button-danger)}.text-warning{color:var(--button-warning)}.text-muted{color:#6b7280}[data-v-ac832cf2]{margin:0;padding:0;box-sizing:border-box;font-family:Poppins,sans-serif}.img-background[data-v-ac832cf2]{position:fixed;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(75%) contrast(1.2);z-index:-1}.form-container[data-v-ac832cf2]{box-shadow:none;background-color:transparent}.login-container[data-v-ac832cf2]{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-container>div[data-v-ac832cf2]:not(.img-background){width:100%;max-width:900px;background-color:#fff;border-radius:20px;box-shadow:0 15px 35px #32325d1a,0 5px 15px #00000012;overflow:hidden;display:flex;min-height:600px;margin:auto}.iot-title[data-v-ac832cf2]{font-size:26px;font-weight:700;margin-bottom:10px;position:relative;z-index:1}.greenhouse-title[data-v-ac832cf2]{font-size:36px;font-weight:800;margin-bottom:20px;position:relative;z-index:1}.left-panel>p[data-v-ac832cf2]{font-size:16px;line-height:1.6;margin-bottom:30px;position:relative;z-index:1;opacity:.9}.features[data-v-ac832cf2]{position:relative;z-index:1;margin-top:30px}.feature[data-v-ac832cf2]{display:flex;align-items:center;margin-bottom:15px;gap:12px}.feature ion-icon[data-v-ac832cf2]{font-size:20px;color:#a5d6a7;flex-shrink:0}.feature span[data-v-ac832cf2]{font-size:14px}.right-panel[data-v-ac832cf2]{flex:.3;padding:50px 40px;display:flex;flex-direction:column;justify-content:center}.form-container[data-v-ac832cf2]{width:100%;max-width:400px;margin:0 auto}.logo[data-v-ac832cf2]{display:flex;align-items:center;margin-bottom:30px;gap:15px}.logo-icon[data-v-ac832cf2]{background-color:#2e7d32;color:#fff;width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.logo-text[data-v-ac832cf2]{font-size:22px;font-weight:700;color:#333}.logo-text span[data-v-ac832cf2]{color:var(--primary-color)}.login-form[data-v-ac832cf2]{display:flex;flex-direction:column}.login-title[data-v-ac832cf2]{font-size:28px;font-weight:700;color:var(--primary-color);margin-bottom:30px;text-align:left}.form-subtitle[data-v-ac832cf2]{font-size:16px;color:#666;margin-bottom:25px}.login-content[data-v-ac832cf2]{margin-bottom:20px;position:relative}.login-content-spacing[data-v-ac832cf2]{margin-bottom:40px}.login-box[data-v-ac832cf2]{display:grid;grid-template-columns:max-content 1fr;align-items:center;column-gap:.75rem;border-bottom:2px solid #e0e0e0;padding-bottom:15px}.icon[data-v-ac832cf2]{font-size:18px;color:var(--primary-color);display:flex;align-items:center;justify-content:center}.login-box-input[data-v-ac832cf2]{position:relative;width:100%}.login_input[data-v-ac832cf2]{width:100%;padding:12px 0;background:none;border:none;color:var(--black-color);font-size:16px;outline:none;transition:color .3s ease}.login_input[data-v-ac832cf2]::placeholder{color:transparent}.login_input[data-v-ac832cf2]:focus{color:var(--black-color)}.login_label[data-v-ac832cf2]{position:absolute;left:0;top:12px;font-size:16px;color:#6b7280;pointer-events:none;transition:top .3s ease,font-size .3s ease,color .3s ease}.login_input:focus+.login_label[data-v-ac832cf2],.login_input:not(:placeholder-shown)+.login_label[data-v-ac832cf2]{top:-20px;font-size:12px;color:var(--primary-color);font-weight:600}.icon-eye[data-v-ac832cf2]{position:absolute;right:0;top:12px;font-size:18px;color:#777;cursor:pointer;background:none;border:none;padding:0;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.icon-eye[data-v-ac832cf2]:hover{color:var(--primary-color)}.icon-check[data-v-ac832cf2]{position:absolute;right:30px;top:12px;font-size:18px;color:var(--primary-color);display:flex;align-items:center;justify-content:center}.error-message[data-v-ac832cf2]{color:#d32f2f;font-size:13px;margin-top:8px;display:block;animation:slideIn-ac832cf2 .3s ease}.toast[data-v-ac832cf2]{position:fixed;bottom:20px;right:20px;padding:16px 24px;border-radius:8px;font-size:14px;font-weight:600;z-index:9999;box-shadow:0 4px 12px #00000026;animation:slideInRight-ac832cf2 .3s ease}.toast.error[data-v-ac832cf2]{background-color:#f44336;color:#fff}.toast.success[data-v-ac832cf2]{background-color:#2e7d32;color:#fff}.toast.warning[data-v-ac832cf2]{background-color:#ff9800;color:#fff}.toast.info[data-v-ac832cf2]{background-color:#2196f3;color:#fff}@keyframes slideIn-ac832cf2{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight-ac832cf2{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.toast-fade-enter-active[data-v-ac832cf2],.toast-fade-leave-active[data-v-ac832cf2]{transition:all .3s ease}.toast-fade-enter-from[data-v-ac832cf2],.toast-fade-leave-to[data-v-ac832cf2]{opacity:0;transform:translate(30px)}.login-check[data-v-ac832cf2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;margin-top:25px}.login-check-group[data-v-ac832cf2]{display:flex;align-items:center;gap:8px}.login-check-input[data-v-ac832cf2]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.login-check-label[data-v-ac832cf2]{font-size:14px;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .3s ease}.login-check-label[data-v-ac832cf2]:hover{color:var(--primary-color)}.login-forgot[data-v-ac832cf2]{font-size:14px;color:var(--primary-color);text-decoration:none;font-weight:600;transition:color .3s ease}.login-forgot[data-v-ac832cf2]:hover{color:var(--primary-dark)}.login-button[data-v-ac832cf2]{background:linear-gradient(to right,var(--primary-color),var(--primary-dark));color:#fff;border:none;padding:15px 20px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;margin-bottom:25px;text-align:center}.login-button[data-v-ac832cf2]:hover{background:linear-gradient(to right,var(--primary-dark),var(--primary-color));box-shadow:0 5px 15px #1b5e204d;transform:translateY(-2px)}.login-button[data-v-ac832cf2]:active{transform:translateY(0)}.login-button[data-v-ac832cf2]:disabled{opacity:.5;cursor:not-allowed;transform:none}.login-register[data-v-ac832cf2]{text-align:center;font-size:14px;color:#666;margin-bottom:20px}.register-link[data-v-ac832cf2]{color:var(--primary-color);text-decoration:none;font-weight:600;cursor:pointer;transition:color .3s ease}.register-link[data-v-ac832cf2]:hover{color:var(--primary-dark);text-decoration:underline}.login_input[data-v-ac832cf2]:-webkit-autofill,.login_input[data-v-ac832cf2]:-webkit-autofill:hover,.login_input[data-v-ac832cf2]:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:#1f2937!important;transition:background-color 5000s ease-in-out 0s;caret-color:#2e7d32}@media(max-width:1024px){.logo[data-v-ac832cf2]{justify-content:center}.login-container[data-v-ac832cf2]{margin:0;padding:0;align-items:flex-start;justify-content:center}.login-container>div[data-v-ac832cf2]:not(.img-background){width:100%;height:100%;flex:none;border-radius:0;box-shadow:none;margin:0;padding:6%;overflow:visible;display:flex;flex-direction:column}.right-panel[data-v-ac832cf2]{padding:20px;width:100%;max-width:640px;min-height:auto;justify-content:flex-start}.form-container[data-v-ac832cf2]{width:100%;max-width:100%;margin:0}.login-title[data-v-ac832cf2]{font-size:24px;text-align:center}.login-content[data-v-ac832cf2]{margin-bottom:16px}.login-box[data-v-ac832cf2]{grid-template-columns:36px 1fr}.login_input[data-v-ac832cf2]{font-size:15px;padding:10px 0}.login_label[data-v-ac832cf2]{font-size:14px}.login_input:focus+.login_label[data-v-ac832cf2],.login_input:not(:placeholder-shown)+.login_label[data-v-ac832cf2]{top:-18px;font-size:12px}.login-button[data-v-ac832cf2]{padding:12px 16px;font-size:15px}.logo-icon[data-v-ac832cf2]{width:42px;height:42px;font-size:22px}.logo-text[data-v-ac832cf2]{font-size:20px}}.img-background[data-v-7c74a93d]{position:fixed;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(75%) contrast(1.2);z-index:-1}.auth-container[data-v-7c74a93d]{display:flex;flex-direction:row;align-items:center;justify-content:center}.auth-container>div[data-v-7c74a93d]:not(.img-background){width:100%;height:100%;max-width:600px;background-color:var(--white-color);border-radius:20px;box-shadow:0 15px 35px #32325d1a,0 5px 15px #00000012;display:flex;min-height:700px;max-height:800px;margin:auto}.auth-panel[data-v-7c74a93d]{padding:50px 40px;display:flex;flex-direction:column;background-color:var(--white);justify-content:center;width:100px;height:100px}.auth-form-container[data-v-7c74a93d]{width:100%;max-width:400px;margin:0 auto}.logo[data-v-7c74a93d]{display:flex;align-items:center;margin-bottom:30px;gap:15px}.logo-icon[data-v-7c74a93d]{background-color:var(--primary-color);color:#fff;width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.logo-text[data-v-7c74a93d]{font-size:22px;font-weight:700;color:#333}.logo-text span[data-v-7c74a93d]{color:var(--primary-color)}.auth-form[data-v-7c74a93d]{display:flex;flex-direction:column;justify-content:center}.auth-title[data-v-7c74a93d]{font-size:28px;font-weight:700;color:var(--primary-color);margin-bottom:30px;text-align:left}.auth-content[data-v-7c74a93d]{margin-bottom:20px;position:relative}.auth-box[data-v-7c74a93d]{display:grid;grid-template-columns:max-content 1fr;align-items:center;column-gap:.75rem;border-bottom:2px solid #e0e0e0;padding-bottom:15px}.auth-icon[data-v-7c74a93d]{font-size:18px;color:var(--primary-color);display:flex;align-items:center;justify-content:center}.auth-box-input[data-v-7c74a93d]{position:relative;width:100%}.auth-input[data-v-7c74a93d]{width:100%;padding:12px 0;background:none;border:none;color:#1f2937;font-size:16px;outline:none;transition:color .3s ease}.auth-input[data-v-7c74a93d]::placeholder{color:transparent}.auth-input[data-v-7c74a93d]:focus{color:var(--primary-color)}.auth-label[data-v-7c74a93d]{position:absolute;left:0;top:12px;font-size:16px;color:#6b7280;pointer-events:none;transition:top .3s ease,font-size .3s ease,color .3s ease}.auth-input:focus+.auth-label[data-v-7c74a93d],.auth-input:not(:placeholder-shown)+.auth-label[data-v-7c74a93d]{top:-20px;font-size:12px;color:var(--primary-color);font-weight:600}.auth-eye[data-v-7c74a93d]{position:absolute;right:0;top:12px;font-size:18px;color:#777;cursor:pointer;background:none;border:none;padding:0;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.auth-eye[data-v-7c74a93d]:hover{color:var(--primary-color)}.auth-error[data-v-7c74a93d]{color:#d32f2f;font-size:13px;margin-top:8px;display:block;animation:slideIn-7c74a93d .3s ease}.success-message[data-v-7c74a93d]{color:#2e7d32;font-size:14px;margin-bottom:20px;padding:10px;background-color:#e8f5e8;border-radius:5px;text-align:center}.general-error-message[data-v-7c74a93d]{color:#d32f2f;font-size:14px;margin-bottom:20px;padding:10px;background-color:#ffebee;border-radius:5px;text-align:center}@keyframes slideIn-7c74a93d{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-check[data-v-7c74a93d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;margin-top:25px}.auth-check-group[data-v-7c74a93d]{display:flex;align-items:center;gap:8px}.auth-check-input[data-v-7c74a93d]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.auth-check-label[data-v-7c74a93d]{font-size:14px;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .3s ease}.auth-check-label[data-v-7c74a93d]:hover{color:var(--primary-color)}.auth-forgot[data-v-7c74a93d]{font-size:14px;color:var(--primary-color);text-decoration:none;font-weight:600;transition:color .3s ease}.auth-forgot[data-v-7c74a93d]:hover{color:var(--primary-dark)}.auth-button[data-v-7c74a93d]{background:linear-gradient(to right,var(--primary-color),var(--primary-dark));color:#fff;border:none;padding:15px 20px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;margin-bottom:25px}.auth-button[data-v-7c74a93d]:hover{background:linear-gradient(to right,var(--primary-dark),var(--primary-color));box-shadow:0 5px 15px #1b5e204d;transform:translateY(-2px)}.auth-button[data-v-7c74a93d]:active{transform:translateY(0)}.auth-button[data-v-7c74a93d]:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-register[data-v-7c74a93d]{text-align:center;font-size:14px;color:#666;margin-bottom:20px}.auth-link[data-v-7c74a93d]{color:var(--primary-color);text-decoration:none;font-weight:600;cursor:pointer;transition:color .3s ease}.auth-link[data-v-7c74a93d]:hover{color:var(--primary-dark);text-decoration:underline}.auth-input[data-v-7c74a93d]:-webkit-autofill,.auth-input[data-v-7c74a93d]:-webkit-autofill:hover,.auth-input[data-v-7c74a93d]:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:#1f2937!important;transition:background-color 5000s ease-in-out 0s}@media(max-width:1024px){.auth-container[data-v-7c74a93d]{margin:0;padding:0;align-items:flex-start;justify-content:center;height:100vh}.img-background[data-v-7c74a93d]{display:none}.auth-container>div[data-v-7c74a93d]:not(.img-background){width:100%;height:100%;flex:none;border-radius:0;box-shadow:none;margin:0;padding:6%;overflow:visible;display:flex;flex-direction:column}.auth-panel[data-v-7c74a93d]{padding:20px;width:100%;max-width:640px;min-height:auto;justify-content:flex-start}.auth-form-container[data-v-7c74a93d]{width:100%;max-width:100%;margin:0}.logo[data-v-7c74a93d]{justify-content:center;text-align:center}.logo-icon[data-v-7c74a93d]{width:42px;height:42px;font-size:22px}.logo-text[data-v-7c74a93d]{font-size:20px}.auth-title[data-v-7c74a93d]{font-size:24px;text-align:center}.auth-box[data-v-7c74a93d]{grid-template-columns:32px 1fr;padding-bottom:12px}.auth-content[data-v-7c74a93d]{margin-bottom:16px}.auth-input[data-v-7c74a93d]{font-size:15px;padding:10px 0}.auth-label[data-v-7c74a93d]{font-size:14px}.auth-input:focus+.auth-label[data-v-7c74a93d],.auth-input:not(:placeholder-shown)+.auth-label[data-v-7c74a93d]{top:-18px;font-size:12px}.auth-button[data-v-7c74a93d]{padding:12px 16px;font-size:15px}.auth-register[data-v-7c74a93d]{font-size:13px}}.loading-overlay[data-v-28f2cf7a]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--white-color);z-index:9999}.spinner[data-v-28f2cf7a]{width:48px;height:48px;border-radius:50%;border:5px solid rgba(0,0,0,.08);border-top-color:#00000080;animation:spin-28f2cf7a 1s linear infinite}@keyframes spin-28f2cf7a{to{transform:rotate(360deg)}}.toast-container[data-v-8ba6d0c7]{position:fixed;top:20px;right:20px;z-index:9999;pointer-events:none}.toast[data-v-8ba6d0c7]{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;margin-bottom:12px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000026;pointer-events:auto;animation:slideInRight-8ba6d0c7 .3s ease;min-width:320px;max-width:420px}.toast-icon[data-v-8ba6d0c7]{display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}.toast-content[data-v-8ba6d0c7]{flex:1;display:flex;flex-direction:column;gap:4px}.toast-message[data-v-8ba6d0c7]{margin:0;line-height:1.4}.toast-close[data-v-8ba6d0c7]{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.7;transition:opacity .2s ease}.toast-close[data-v-8ba6d0c7]:hover{opacity:1}.toast-error[data-v-8ba6d0c7]{background-color:#f44336;color:#fff}.toast-success[data-v-8ba6d0c7]{background-color:#2e7d32;color:#fff}.toast-warning[data-v-8ba6d0c7]{background-color:#ff9800;color:#fff}.toast-info[data-v-8ba6d0c7]{background-color:#2196f3;color:#fff}@keyframes slideInRight-8ba6d0c7{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.toast-enter-active[data-v-8ba6d0c7],.toast-leave-active[data-v-8ba6d0c7]{transition:all .3s ease}.toast-enter-from[data-v-8ba6d0c7],.toast-leave-to[data-v-8ba6d0c7]{opacity:0;transform:translate(30px)}.App[data-v-b054d180]{position:relative;height:100vh;display:grid;align-items:center;box-sizing:border-box}@media(max-width:768px){.App[data-v-b054d180]{padding:0;margin:0;display:unset}}.UserMenuView[data-v-bfc495c2]{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;height:100%;display:flex;flex-direction:column;box-shadow:0 10px 25px #0000001a;overflow-y:auto;cursor:default}.option-menu[data-v-bfc495c2],.edit-section[data-v-bfc495c2]{width:100%;display:flex;flex-direction:column;box-sizing:border-box}.user-profile-info[data-v-bfc495c2]{padding:1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.75rem}.user-info-item[data-v-bfc495c2]{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:2rem;padding:.5rem 0;font-size:.9rem;box-sizing:border-box}.user-info-item .label[data-v-bfc495c2]{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-weight:500;flex:0 0 auto;min-width:0}.user-info-item .label ion-icon[data-v-bfc495c2]{font-size:1rem;color:#2e7d32}.user-info-item[data-v-bfc495c2]{color:#1f2937;font-weight:600;display:flex;flex:1 1 0;min-width:0;word-break:break-word}.value[data-v-bfc495c2]{display:flex;flex-direction:row;justify-content:right;align-items:center}.separator[data-v-bfc495c2]{background-color:#e5e7eb;width:100%;height:1px;margin:.5rem 0}.user-menu[data-v-bfc495c2]{width:100%;display:flex;flex-direction:column}.menu-option[data-v-bfc495c2],.menu-option-exit[data-v-bfc495c2]{box-sizing:border-box;width:100%;display:flex;flex-direction:row;align-items:center;transition:all .15s ease;font-size:.95rem;gap:.75rem;padding:.75rem 1rem;cursor:pointer;border-left:3px solid transparent;background:none;border:none;color:#4b5563;text-align:left;font-family:inherit}.menu-option[data-v-bfc495c2]:hover{background-color:#f3f4f6;border-left-color:#2e7d32;color:#1f2937}.menu-option ion-icon[data-v-bfc495c2],.menu-option-exit ion-icon[data-v-bfc495c2]{font-size:1.3rem}.menu-option ion-icon[data-v-bfc495c2]{color:#6b7280}.menu-option:hover ion-icon[data-v-bfc495c2]{color:#2e7d32}.menu-option-exit[data-v-bfc495c2]{color:#ef4444}.menu-option-exit[data-v-bfc495c2]:hover{background-color:#ef444414;border-left-color:#ef4444;color:#dc2626}.menu-option-exit ion-icon[data-v-bfc495c2]{color:#ef4444}.icon-option[data-v-bfc495c2]{width:auto;display:flex;align-items:center;justify-content:center;flex-shrink:0}.edit-section[data-v-bfc495c2]{padding:1rem;display:flex;flex-direction:column;gap:1rem}.edit-header[data-v-bfc495c2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.edit-header h4[data-v-bfc495c2]{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;color:#1f2937;font-weight:600}.edit-header h4 ion-icon[data-v-bfc495c2]{font-size:1.2rem;color:#2e7d32}.close-btn[data-v-bfc495c2]{background:none;border:none;font-size:1.3rem;cursor:pointer;color:#6b7280;padding:0;display:flex;align-items:center;transition:color .2s}.close-btn[data-v-bfc495c2]:hover{color:#ef4444}.edit-form[data-v-bfc495c2]{display:flex;flex-direction:column;gap:.75rem}.form-group[data-v-bfc495c2]{display:flex;flex-direction:column;gap:.35rem}.form-label[data-v-bfc495c2]{display:flex;align-items:center;gap:.4rem;color:#374151;font-weight:600;font-size:.85rem}.form-label ion-icon[data-v-bfc495c2]{font-size:.95rem;color:#2e7d32}.form-input[data-v-bfc495c2]{padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;font-family:inherit;transition:all .2s}.form-input[data-v-bfc495c2]:focus{outline:none;border-color:#2e7d32;box-shadow:0 0 0 2px #2e7d321a}.error-message[data-v-bfc495c2],.success-message[data-v-bfc495c2]{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-radius:6px;font-size:.85rem;margin-top:.25rem}.error-message[data-v-bfc495c2]{background:#fee;color:#991b1b;border:1px solid #fecaca;animation:slideIn-bfc495c2 .3s ease}.error-message ion-icon[data-v-bfc495c2]{font-size:.95rem;flex-shrink:0}.success-message[data-v-bfc495c2]{background:#efe;color:#15803d;border:1px solid #bbf7d0;animation:slideIn-bfc495c2 .3s ease;font-weight:600}.success-message ion-icon[data-v-bfc495c2]{font-size:.95rem;flex-shrink:0}@keyframes slideIn-bfc495c2{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-actions[data-v-bfc495c2]{display:flex;gap:.5rem;margin-top:.5rem}.btn[data-v-bfc495c2]{padding:.6rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:all .2s;font-family:inherit;flex:1}.btn-primary[data-v-bfc495c2]{background:#2e7d32;color:#fff}.btn-primary[data-v-bfc495c2]:hover:not(:disabled){background:#1b5e20}.btn-primary[data-v-bfc495c2]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-bfc495c2]{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary[data-v-bfc495c2]:hover{background:#e5e7eb}.spinner[data-v-bfc495c2]{display:inline-block;width:.9rem;height:.9rem;border:2px solid #e5e7eb;border-top-color:#2e7d32;border-radius:50%;animation:spin-bfc495c2 .6s linear infinite}@keyframes spin-bfc495c2{to{transform:rotate(360deg)}}@media(max-width:768px){.user-info-item[data-v-bfc495c2]{font-size:.85rem}.menu-option[data-v-bfc495c2]{font-size:.9rem;padding:.65rem .75rem}.edit-form[data-v-bfc495c2]{gap:.3rem}.user-menu[data-v-bfc495c2]{display:flex;flex-direction:column;gap:1.4rem}}.notification-dropdown[data-v-8b8f2f36]{display:flex;flex-direction:column;max-height:440px;overflow:hidden;background:#fff;border-radius:14px;width:100%}.dropdown-header[data-v-8b8f2f36]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 12px;border-bottom:.5px solid #e5e7eb;flex-shrink:0}.header-left[data-v-8b8f2f36]{display:flex;align-items:center;gap:8px}.header-title[data-v-8b8f2f36]{font-size:14px;font-weight:600;color:#1f2937}.unread-badge[data-v-8b8f2f36]{background:#2e7d32;color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:99px;line-height:1.6}.close-btn[data-v-8b8f2f36]{background:none;border:none;cursor:pointer;color:#9ca3af;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.close-btn[data-v-8b8f2f36]:hover{background:#f3f4f6;color:#374151}.notifications-list[data-v-8b8f2f36]{flex:1;overflow-y:auto;display:flex;flex-direction:column}.notifications-list[data-v-8b8f2f36]::-webkit-scrollbar{width:4px}.notifications-list[data-v-8b8f2f36]::-webkit-scrollbar-track{background:transparent}.notifications-list[data-v-8b8f2f36]::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.notifications-container[data-v-8b8f2f36]{display:flex;flex-direction:column;padding:6px 0}.notification-item[data-v-8b8f2f36]{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-left:3px solid transparent;cursor:pointer}.notification-item[data-v-8b8f2f36]:hover{background:#f9fafb}.notification-item.unread[data-v-8b8f2f36]{background:#f0fdf4;border-left-color:#2e7d32}.notification-item.n-error.unread[data-v-8b8f2f36]{background:#fef2f2;border-left-color:#ef4444}.notif-icon[data-v-8b8f2f36]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;margin-top:1px}.icon-success[data-v-8b8f2f36]{background:#dcfce7;color:#16a34a}.icon-error[data-v-8b8f2f36]{background:#fee2e2;color:#ef4444}.notif-body[data-v-8b8f2f36]{flex:1;min-width:0}.notif-title[data-v-8b8f2f36]{font-size:13px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:6px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-dot[data-v-8b8f2f36]{width:6px;height:6px;background:#2e7d32;border-radius:50%;flex-shrink:0}.notif-meta[data-v-8b8f2f36]{display:flex;align-items:center;gap:6px}.type-badge[data-v-8b8f2f36]{font-size:10px;font-weight:600;padding:2px 7px;border-radius:99px;letter-spacing:.02em}.badge-green[data-v-8b8f2f36]{background:#dcfce7;color:#15803d}.badge-blue[data-v-8b8f2f36]{background:#dbeafe;color:#1d4ed8}.badge-red[data-v-8b8f2f36]{background:#fee2e2;color:#b91c1c}.badge-gray[data-v-8b8f2f36]{background:#f3f4f6;color:#6b7280}.notif-time[data-v-8b8f2f36]{font-size:11px;color:#9ca3af;margin-left:auto;white-space:nowrap}.empty-state[data-v-8b8f2f36]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af;gap:10px}.empty-state ion-icon[data-v-8b8f2f36]{font-size:2.2rem;opacity:.5}.empty-state p[data-v-8b8f2f36]{margin:0;font-size:13px}.dropdown-footer[data-v-8b8f2f36]{padding:10px 16px;border-top:.5px solid #e5e7eb;flex-shrink:0}.view-all-btn[data-v-8b8f2f36]{width:100%;padding:9px 14px;background:#2e7d32;border:none;border-radius:8px;color:#fff;font-weight:600;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.view-all-btn[data-v-8b8f2f36]:hover{background:#1b5e20}.view-all-btn ion-icon[data-v-8b8f2f36]{font-size:14px}.notification-icon-wrapper[data-v-ae0e3af5]{width:100vw;height:100vh;position:relative;display:flex;align-items:center}.notification-bell[data-v-ae0e3af5]{position:relative;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:.5rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.notification-bell ion-icon[data-v-ae0e3af5]{font-size:1.75rem}.notification-bell[data-v-ae0e3af5]:hover{background-color:#f3f4f6;color:#1f2937}.notification-bell.has-unread[data-v-ae0e3af5]{color:#2e7d32}.notification-bell.has-unread[data-v-ae0e3af5]:hover{background-color:#2e7d321a}.notification-badge[data-v-ae0e3af5]{position:absolute;top:-.5rem;right:-.5rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.75rem;font-weight:700;padding:.2rem .4rem;border-radius:10px;display:flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;animation:badge-pulse-ae0e3af5 2s ease-in-out infinite;border:2px solid white;box-shadow:0 2px 4px #ef444433}.notification-dropdown-wrapper[data-v-ae0e3af5]{position:fixed;width:360px;background:transparent;border-radius:14px;z-index:9999;box-shadow:0 12px 40px #00000021,0 0 0 .5px #e5e7eb;animation:dropdown-slide-in-ae0e3af5 .18s ease}.notification-dropdown-wrapper[data-v-ae0e3af5]:before{content:"";position:absolute;top:-.65rem;right:1rem;width:0;height:0;border-left:.65rem solid transparent;border-right:.65rem solid transparent;border-bottom:.65rem solid white;filter:drop-shadow(0 -1px 2px rgba(0,0,0,.05))}@keyframes badge-pulse-ae0e3af5{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes dropdown-slide-in-ae0e3af5{0%{opacity:0;transform:translateY(-.75rem)}to{opacity:1;transform:translateY(0)}}.dropdown-fade-enter-active[data-v-ae0e3af5],.dropdown-fade-leave-active[data-v-ae0e3af5]{transition:all .2s ease}.dropdown-fade-enter-from[data-v-ae0e3af5],.dropdown-fade-leave-to[data-v-ae0e3af5]{opacity:0;transform:translateY(-.75rem)}@media(max-width:768px){.notification-dropdown[data-v-ae0e3af5]{width:calc(100vw - 2rem);max-width:calc(100vw - 2rem);right:-1rem}.notification-bell[data-v-ae0e3af5]{font-size:1.4rem}}.Navbar[data-v-f7af55a8]{background-color:#fff;width:100%;height:100%;display:flex;flex-direction:row;justify-content:space-around;align-items:center;box-sizing:border-box;padding:0 2rem;box-shadow:0 2px 8px #00000014;border-bottom:1px solid #e5e7eb}.logo[data-v-f7af55a8]{flex:1;margin:auto;height:100%;display:flex;justify-content:left;align-items:flex-end}.logo-img[data-v-f7af55a8]{display:flex;justify-content:center;align-items:center}.logo-img img[data-v-f7af55a8]{width:150px}.nav-section[data-v-f7af55a8]{flex:2;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:2rem;height:100%;position:relative;overflow:visible}.notificationIcon[data-v-f7af55a8]{width:45px;aspect-ratio:1/1;display:flex;flex-direction:row;justify-content:center;align-items:center}.user-profile-container[data-v-f7af55a8]{position:relative;display:flex;flex-direction:row;align-items:center;gap:1.2rem;color:#1f2937;padding:.5rem .75rem;margin:0;width:auto;cursor:pointer;border-radius:8px;transition:background-color .2s ease}.user-profile-container[data-v-f7af55a8]:hover{background-color:#f3f4f6}.user-info[data-v-f7af55a8]{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;cursor:pointer}.user-name[data-v-f7af55a8]{font-size:.95rem;font-weight:600;color:#1f2937;letter-spacing:.3px}.user-role[data-v-f7af55a8]{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:capitalize}ion-icon[data-v-f7af55a8]{font-size:1.75rem;color:#6b7280}.user-initials-btn[data-v-f7af55a8]{background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;border:none;cursor:pointer;width:44px;height:44px;border-radius:50%;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 4px #2e7d3226;flex-shrink:0}.user-profile-container:hover .user-initials-btn[data-v-f7af55a8]{transform:translateY(-2px);box-shadow:0 4px 12px #2e7d3240}.user-menu[data-v-f7af55a8]{position:fixed;width:280px;top:calc(100% + .5rem);right:2rem;z-index:101;list-style:none;padding:0;margin:0}.user-menu-wrapper[data-v-f7af55a8]{position:fixed;width:280px;top:70px;right:2rem;z-index:101;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;border:1px solid #e5e7eb}.fade-enter-active[data-v-f7af55a8],.fade-leave-active[data-v-f7af55a8]{transition:all .2s ease}.fade-enter-from[data-v-f7af55a8],.fade-leave-to[data-v-f7af55a8]{opacity:0;transform:translateY(-10px)}@media(max-width:768px){.Navbar[data-v-f7af55a8]{padding:0 1rem}.user-profile-container[data-v-f7af55a8]{gap:.75rem}.user-info[data-v-f7af55a8]{display:none}.user-menu[data-v-f7af55a8]{right:1rem;width:240px}.nav-section[data-v-f7af55a8]{gap:1rem}.user-initials-btn[data-v-f7af55a8]{width:45px;height:45px;font-size:1.3rem}.logo-img img[data-v-f7af55a8]{width:120px}.user-menu-wrapper[data-v-f7af55a8]{right:1rem;width:440px;height:65%}}.Menu[data-v-997e41f5]{box-sizing:border-box;background:linear-gradient(to bottom,#2e7d32,#005005);width:100%;min-width:180px;max-width:260px;height:100%;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:1rem;padding:1rem 0;overflow-y:auto;overflow-x:hidden;font-size:clamp(.6rem,1.05vw,.85rem)}.Menu[data-v-997e41f5]::-webkit-scrollbar{width:.4rem}.Menu[data-v-997e41f5]::-webkit-scrollbar-track{background:#ffffff0d}.Menu[data-v-997e41f5]::-webkit-scrollbar-thumb{background:#fff3;border-radius:.2rem}.Menu[data-v-997e41f5]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.Desklayout[data-v-997e41f5]{box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;width:100%;height:100%}.separator[data-v-997e41f5]{box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.2);width:100%;height:8%;display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;color:#fff;gap:.1rem;font-size:var(--small-font-size);padding:.8rem .9rem}.separator ion-icon[data-v-997e41f5]{font-size:clamp(1.6rem,2.8vw,.6rem)}.name-title[data-v-997e41f5]{box-sizing:border-box;display:flex;flex-direction:column;line-height:1;gap:.4rem}.app-name[data-v-997e41f5]{margin:0;padding:0;font-weight:600;font-size:clamp(1rem,1.05vw,.8rem);color:#fff}.app-subtitle[data-v-997e41f5]{margin:0;padding:0;font-weight:400;font-size:clamp(.75rem,.65vw,.5rem);color:#ffffffb3;letter-spacing:.3px}.menu-group[data-v-997e41f5]{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-bottom:.7rem}.group-title[data-v-997e41f5]{color:#ffffff8d;font-weight:500;font-size:clamp(.55rem,.9vw,.68rem);letter-spacing:.6px;padding:.6rem .9rem .3rem;text-transform:uppercase;box-sizing:border-box}.group-divider[data-v-997e41f5]{width:100%;height:1px;background:#ffffff26;box-sizing:border-box}.menu-option[data-v-997e41f5]{box-sizing:border-box;width:100%;display:flex;justify-content:flex-start;align-items:center;gap:.6rem;color:#fff;padding:.65rem .9rem;transition:all .2s ease;text-decoration:none;font-size:clamp(.8rem,.95vw,.75rem);font-weight:500;line-height:1.4;border-left:5px solid transparent}.menu-option[data-v-997e41f5]:hover{background-color:#c5ecd540;color:#fffffff2;border-left-color:#3b9cf6;transform:translate(2%)}.menu-option[data-v-997e41f5]:focus-visible{outline:2px solid rgba(59,156,246,.5);border-left-color:#3b9cf6;background-color:#c5ecd533}.option-text[data-v-997e41f5]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.icon-option[data-v-997e41f5]{width:1.4rem;height:1.4rem;display:flex;flex-direction:row;justify-content:center;align-items:center;font-size:clamp(.85rem,1.45vw,1.2rem);flex-shrink:0}.mb-menu[data-v-997e41f5]{box-sizing:border-box;width:100%;display:none;justify-content:flex-start;align-items:center;transition:all .2s ease;text-decoration:none;font-size:clamp(.8rem,.95vw,.75rem);font-weight:500}@media(max-width:768px){.Desklayout[data-v-997e41f5]{display:none}.Menu[data-v-997e41f5]{width:100%;height:100%;flex-direction:row;justify-content:center;align-items:center;padding:0;margin:0;max-width:none}.separator[data-v-997e41f5]{padding:.5rem .4rem;display:none}.group-title[data-v-997e41f5]{padding:.4rem .6rem .18rem;display:none}.group-divider[data-v-997e41f5]{display:none}.menu-option[data-v-997e41f5]{width:10%;aspect-ratio:1/1;border-radius:100%;border:none;padding:0;margin:0;display:flex;flex-direction:row;justify-content:center;align-items:center;transition:all .2s ease;cursor:default}.menu-option span[data-v-997e41f5]{display:none}.icon-option[data-v-997e41f5]{border-radius:100%;font-size:clamp(3.2rem,3.5vw,3.8rem);padding:0;margin:0}.menu-group[data-v-997e41f5]{display:none;flex-direction:row;justify-content:left}.menu-option[data-v-997e41f5]:hover{background-color:#c5ecd540;color:#fffffff2;transform:none;border:none}.mb-menu[data-v-997e41f5]{width:100%;height:100%;display:flex;flex-direction:row;justify-content:space-evenly;align-items:center;padding:0;gap:0;margin:0}}.HomeView[data-v-5846254f]{background-color:#f8f9fa;width:100vw;height:100vh;display:flex;flex-direction:row;overflow:hidden;box-sizing:border-box}.sidebar-component[data-v-5846254f]{width:clamp(80px,20%,230px);height:100%;box-sizing:border-box;flex-shrink:0;overflow:hidden}.content-container[data-v-5846254f]{flex:1;height:100%;display:flex;flex-direction:column;box-sizing:border-box;min-width:0;overflow:hidden}.nav-container[data-v-5846254f]{width:100%;height:70px;flex-shrink:0;box-sizing:border-box;overflow:hidden}.body-container[data-v-5846254f]{flex:1;width:100%;box-sizing:border-box;overflow:auto;min-width:0}@media(max-width:768px){.HomeView[data-v-5846254f]{flex-direction:column-reverse;justify-content:flex-end}.sidebar-container[data-v-5846254f]{width:100%;height:8%;box-sizing:border-box;position:fixed;bottom:0;z-index:1000;padding:0;margin:0}.nav-container[data-v-5846254f]{height:8%}.content-container[data-v-5846254f]{width:100%;height:100%}.body-container[data-v-5846254f]{height:83%;padding:0;margin:0 0 8%}}.img-background[data-v-08522e91]{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.login[data-v-08522e91]{display:grid;align-items:center}.login-form[data-v-08522e91]{position:relative;background-color:hsl(0,0%,.1);border:2px solid var(--white-color);margin-inline:1.5rem;padding:2.5rem 1.5rem;border-radius:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-title[data-v-08522e91]{text-align:center;font-size:var(--h1-font-size);font-weight:var(--font-medium);margin-bottom:2rem}.login-content[data-v-08522e91],.login-box[data-v-08522e91]{display:grid}.login-content[data-v-08522e91]{row-gap:1.75rem;margin-bottom:1.5rem}.login-box[data-v-08522e91]{grid-template-columns:max-content 1fr;align-items:center;column-gap:.75rem;border-bottom:2px solid var(--white-color)}.icon[data-v-08522e91],.icon-eye[data-v-08522e91]{font-size:1.25rem}.login_input[data-v-08522e91]{width:100%;padding-block:.8rem;background:none;color:var(--white-color);position:relative;z-index:1}.login-box-input[data-v-08522e91]{position:relative}.login_label[data-v-08522e91]{position:absolute;left:0;top:13px;transition:top -3s,font-size -3s}.icon-eye[data-v-08522e91]{position:absolute;right:0;top:18px;z-index:10;cursor:pointer}.login-box:nth-child(2) input[data-v-08522e91]{padding-right:1.8rem}.login-check[data-v-08522e91],.login-check-group[data-v-08522e91]{display:flex;align-items:center;justify-content:space-between}.login-check[data-v-08522e91]{margin-bottom:1.5rem}.login-check-label[data-v-08522e91],.login-forgot[data-v-08522e91],.login-register[data-v-08522e91]{font-size:var(--small-font-size)}.login-check-label[data-v-08522e91]:hover{cursor:pointer;-webkit-user-select:none;user-select:none}.login-check input[data-v-08522e91]{cursor:pointer}.login-check-group[data-v-08522e91]{column-gap:.5rem}.login-check-input[data-v-08522e91]{width:16px;height:16px}.login-forgot[data-v-08522e91]{color:var(--white-color)}.login-forgot[data-v-08522e91]:hover{text-decoration:underline}.login-button[data-v-08522e91]{width:100%;padding:1rem;border-radius:.5rem;background-color:var(--white-color);font-weight:var(--font-medium);cursor:pointer;margin-bottom:2rem;transition:background-color .1s ease,color .1s ease}.login-button[data-v-08522e91]:hover{background-color:var(--green-color);color:#fff}.login-register[data-v-08522e91]{text-align:center}.login-register a[data-v-08522e91]{color:var(--white-color);font-weight:var(--font-medium)}.login-register a[data-v-08522e91]:hover{text-decoration:underline}.login_input:focus+.login_label[data-v-08522e91]{top:-12px;font-size:var(--small-font-size)}.login_input:not(:placeholder-shown).login_input:not(:focus)+.login_label[data-v-08522e91]{top:-12px;font-size:var(--small-font-size)}@media screen and (min-width:576px){.login[data-v-08522e91]{justify-content:center}.login-form[data-v-08522e91]{width:432px;padding:4rem 3rem 3.5rem;border-radius:1.5rem}.login-title[data-v-08522e91]{font-size:2rem}}.CardSensor-container[data-v-2c1a723a]{background-color:#fff;border-radius:12px;overflow:hidden;width:100%;display:flex;flex-direction:column;box-sizing:border-box;border:1px solid #e9ecef;box-shadow:0 8px 20px #0f172a0a;transition:transform .18s ease,box-shadow .18s ease;text-decoration:none}.border-normal[data-v-2c1a723a]{border-left:3px solid #16a34a}.border-min[data-v-2c1a723a]{border-left:3px solid #2563eb}.border-max[data-v-2c1a723a]{border-left:3px solid #b74a4a}.title-container[data-v-2c1a723a]{box-sizing:border-box;width:100%;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #eef2f6}.card-title-text[data-v-2c1a723a]{flex:1 1 auto;min-width:0;text-align:left;font-size:.95rem;font-weight:700;color:#101828}.card-subtitle[data-v-2c1a723a]{display:flex;align-items:center;gap:6px;margin-top:6px;color:#475569;font-size:.85rem}.card-subtitle ion-icon[data-v-2c1a723a]{font-size:1rem;color:#64748b}.subtitle-text[data-v-2c1a723a]{color:#475569}.title-left[data-v-2c1a723a]{display:flex;flex-direction:column;gap:4px;min-width:0}.card-title-text[data-v-2c1a723a]{overflow-wrap:anywhere;word-break:break-word}.title-actions[data-v-2c1a723a]{flex:0 0 auto;display:flex;gap:8px;align-items:center}.title-actions .btn-icon[data-v-2c1a723a]{display:flex;align-items:center;justify-content:center}.lifecycle-indicator[data-v-2c1a723a]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:18px;background:#ffffffe6;border:2px solid}.lifecycle-pending[data-v-2c1a723a]{color:#ff9800;border-color:#ff9800;animation:pulse-indicator-2c1a723a 1.5s ease-in-out infinite}.lifecycle-error[data-v-2c1a723a]{color:#f44336;border-color:#f44336;animation:pulse-error-2c1a723a 1.5s ease-in-out infinite}@keyframes pulse-indicator-2c1a723a{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 6px #ff98004d}}@keyframes pulse-error-2c1a723a{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 6px #f443364d}}@media(max-width:420px){.title-container[data-v-2c1a723a]{flex-direction:column;align-items:stretch;gap:8px}.card-title-text[data-v-2c1a723a]{text-align:left}}.data-container[data-v-2c1a723a]{width:100%;display:flex;flex-direction:column;box-sizing:border-box;align-items:center;gap:.5em;padding:18px 18px 16px}.value-unit[data-v-2c1a723a]{font-size:1rem;font-weight:800;line-height:1;color:#276888}.value-current[data-v-2c1a723a]{font-size:2.2rem;font-weight:800;line-height:1;color:#276888}.value-unit.min[data-v-2c1a723a]{color:#2563eb}.value-unit.normal[data-v-2c1a723a]{color:#16a34a}.value-unit.max[data-v-2c1a723a]{color:#b74a4a}.value-current.min[data-v-2c1a723a]{color:#2563eb}.value-current.normal[data-v-2c1a723a]{color:#16a34a}.value-current.max[data-v-2c1a723a]{color:#b74a4a}.icon-container[data-v-2c1a723a]{border-radius:8px;display:flex;justify-content:center;align-items:center;color:#fff;font-size:1.1em;padding:8px;width:38px;height:38px;background-color:#2f6f8f1f}.icon-container.min[data-v-2c1a723a]{background-color:#2563eb1f;color:#2563eb}.icon-container.normal[data-v-2c1a723a]{background-color:#16a34a1f;color:#16a34a}.icon-container.max[data-v-2c1a723a]{background-color:#b74a4a1f;color:#b74a4a}.sensor-status[data-v-2c1a723a]{display:inline-block;padding:6px 10px;border-radius:14px;font-size:.82rem;font-weight:700;margin-bottom:10px;color:#334155;background-color:#0f172a08}.sensor-status.min[data-v-2c1a723a]{color:#2563eb;background-color:#2563eb0f}.sensor-status.normal[data-v-2c1a723a]{color:#16a34a;background-color:#16a34a0f}.sensor-status.max[data-v-2c1a723a]{color:#b74a4a;background-color:#b74a4a0f}.sensor-progress[data-v-2c1a723a]{width:100%;margin:12px 0}.progress-info[data-v-2c1a723a]{display:flex;justify-content:space-between;margin-bottom:6px;font-size:.84rem;color:#64748b}.progress-bar[data-v-2c1a723a]{height:8px;background-color:#eef2f6;border-radius:8px;overflow:hidden}.progress-fill[data-v-2c1a723a]{height:100%;border-radius:8px;transition:width .5s ease,background-color .3s ease}.progress-fill.normal[data-v-2c1a723a]{background:linear-gradient(90deg,#2f6f8fd9,#2f6f8f99)}.progress-fill.warning[data-v-2c1a723a]{background:linear-gradient(90deg,#b77a2bd9,#b77a2b99)}.progress-fill.danger[data-v-2c1a723a]{background:linear-gradient(90deg,#b74a4ad9,#b74a4a99)}.sensor-values[data-v-2c1a723a]{width:100%;display:flex;flex-direction:column;align-items:start;gap:8px}.sensor-min[data-v-2c1a723a],.sensor-max[data-v-2c1a723a]{font-size:.85rem;color:#475569}.min-value[data-v-2c1a723a]{color:#2563eb;font-weight:700}.max-value[data-v-2c1a723a]{color:#b74a4a;font-weight:700}.sensor-current[data-v-2c1a723a]{width:100%;display:flex;flex-direction:row;align-items:baseline;gap:8px;justify-content:center}.change-value[data-v-2c1a723a]{width:100%;display:flex;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9;color:#64748b}.trend-up[data-v-2c1a723a]{color:#b74a4a}.trend-down[data-v-2c1a723a]{color:#0f4fa0}.stable[data-v-2c1a723a]{color:#64748b}.sensorValuesSet[data-v-2c1a723a]{display:flex;flex-direction:row;justify-content:space-between;width:100%}.sensor-footer[data-v-2c1a723a]{padding:12px 14px;background-color:#fbfcfd;border-top:1px solid #eef2f6;display:flex;justify-content:space-between;font-size:.85rem}.sensor-time[data-v-2c1a723a]{color:#67717a;display:flex;gap:6px;align-items:center}.status-cont[data-v-2c1a723a]{display:flex;gap:8px;align-items:center}.btn-icon.unlink[data-v-2c1a723a]{background:none;border:none;cursor:pointer;padding:6px 8px;border-radius:6px;color:#ef4444}.btn-icon.unlink[data-v-2c1a723a]:hover{background:#ef44440f}.progress-fill[data-v-2c1a723a]{height:100%;border-radius:10px;transition:width .5s ease,background-color .3s ease}.progress-fill.normal[data-v-2c1a723a]{background:linear-gradient(to right,#60ad5e,#2e7d32)}.progress-fill.warning[data-v-2c1a723a]{background:linear-gradient(to right,#ffca28,#ff9800)}.progress-fill.danger[data-v-2c1a723a]{background:linear-gradient(to right,#f44336,#d32f2f)}.aditional-data[data-v-2c1a723a]{width:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center}.change-value[data-v-2c1a723a]{width:100%;display:flex;flex-direction:row;justify-content:space-between;margin-top:15px;padding-top:15px;border-top:1px solid #eee;color:#666}.trend-up[data-v-2c1a723a]{color:#d32f2f}.trend-down[data-v-2c1a723a]{color:#1976d2}.stable[data-v-2c1a723a]{color:#666}.sensor-footer[data-v-2c1a723a]{padding:15px 20px;background-color:#f8f9fa;border-top:1px solid #eee;display:flex;justify-content:space-between;font-size:.85rem;width:100%}.sensor-time[data-v-2c1a723a]{color:#666;display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:50%}.status-cont[data-v-2c1a723a]{display:flex;gap:1em;flex-direction:row;width:50%;justify-content:end;align-items:center}.ball-status[data-v-2c1a723a]{border-radius:50%;width:12px;height:12px}.title-actions[data-v-2c1a723a]{display:flex;gap:8px;align-items:center}.btn-icon.unlink[data-v-2c1a723a]{background:none;border:none;cursor:pointer;padding:6px 8px;border-radius:6px;color:#f44336}.btn-icon.unlink[data-v-2c1a723a]:hover{background:#f4433614}.add-sensor-modal[data-v-3225c988]{max-width:800px;width:min(95vw,800px)}.modal-body[data-v-3225c988],.modal-content .sensors-grid[data-v-3225c988]{color:#111;max-height:80vh;overflow-y:auto}.modal-header h3[data-v-3225c988]{color:var(--modal-header-text)}.sensors-grid[data-v-3225c988]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-auto-rows:auto;align-items:start;gap:12px;padding:12px}.sensor-card[data-v-3225c988]{background:#fff;border-radius:8px;padding:12px;display:flex;gap:12px;align-items:center;box-shadow:0 2px 8px #0000000f;color:#111;min-width:0}.sensor-name[data-v-3225c988]{color:#111;font-weight:600;flex:1 1 auto;min-width:0;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.sensor-actions[data-v-3225c988]{flex:0 0 auto;display:flex;gap:8px}.loading-container[data-v-3225c988]{display:flex;align-items:center;gap:12px}.empty-list[data-v-3225c988]{text-align:center;padding:20px;color:#666}.modal-footer[data-v-3225c988]{padding:12px;display:flex;justify-content:flex-end;gap:8px}@media(max-width:420px){.sensor-card[data-v-3225c988]{flex-direction:column;align-items:stretch}.sensor-actions[data-v-3225c988]{justify-content:flex-end}}.sensor-group-card[data-v-5408ad00]{--card-radius: 16px;--transition-speed: .3s;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08);--shadow-hover: 0 12px 32px rgba(0, 0, 0, .12);width:100%;background:#fff;border-radius:var(--card-radius);box-shadow:var(--shadow-sm);transition:all var(--transition-speed) ease;overflow:hidden}.sensor-group-card[data-v-5408ad00]:hover{transform:unset;box-shadow:unset;border-color:unset;border:none}.group-header[data-v-5408ad00]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;cursor:pointer;transition:background-color .2s ease}.group-header[data-v-5408ad00]:hover{background:#fafafa}.header-left[data-v-5408ad00]{display:flex;align-items:center;gap:16px}.group-icon[data-v-5408ad00]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;transition:transform .2s ease}.group-info[data-v-5408ad00]{display:flex;flex-direction:column}.group-header[data-v-5408ad00]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;cursor:default;transition:background-color .2s ease}.group-header[data-v-5408ad00]:hover{background:unset}.group-header:hover .group-icon[data-v-5408ad00]{transform:none}.action-btn[data-v-5408ad00]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border:1px solid transparent;border-radius:30px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:transparent}.add-btn[data-v-5408ad00]{border-color:currentColor;background:transparent}.add-btn[data-v-5408ad00]:hover{background:var(--1b631e38);color:#fff!important}.collapse-btn[data-v-5408ad00]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent}.collapse-btn[data-v-5408ad00]:hover{background:var(--6a1a7412)}.group-content[data-v-5408ad00]{background:#f8f9fa;border-top:1px solid #eef2f4;transition:all .3s ease;overflow:hidden}.sensors-grid[data-v-5408ad00]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:24px}.empty-state[data-v-5408ad00]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:#fff}.empty-icon[data-v-5408ad00]{width:80px;height:80px;border-radius:50%;background:#f0f3f5;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#999;margin-bottom:16px}.empty-state p[data-v-5408ad00]{color:#666;margin-bottom:16px;font-size:1rem}.empty-add-btn[data-v-5408ad00]{background:transparent;border:1px solid currentColor;padding:10px 24px;border-radius:30px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.empty-add-btn[data-v-5408ad00]:hover{opacity:.85}.modal-elegant[data-v-5408ad00]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-5408ad00 .2s ease}.modal-card[data-v-5408ad00]{background:#fff;border-radius:24px;width:90%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 24px 48px #0003;animation:slideUp-5408ad00 .3s ease}.confirm-card[data-v-5408ad00]{max-width:400px}.modal-header[data-v-5408ad00]{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;background:#fff}.modal-header.warning[data-v-5408ad00]{color:#f59e0b}.modal-header.warning i[data-v-5408ad00]{font-size:1.5rem;margin-right:12px}.modal-header h3[data-v-5408ad00]{margin:0;font-size:1.2rem;font-weight:600;flex:1}.modal-close[data-v-5408ad00]{background:transparent;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#999;transition:color .2s ease}.modal-close[data-v-5408ad00]:hover{color:#333}.modal-body[data-v-5408ad00]{padding:24px;max-height:60vh;overflow-y:auto}.modal-footer[data-v-5408ad00]{padding:20px 24px;background:#f8f9fa;display:flex;justify-content:flex-end;gap:12px}.btn-secondary[data-v-5408ad00],.btn-danger[data-v-5408ad00]{padding:10px 20px;border-radius:30px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;gap:8px}.btn-secondary[data-v-5408ad00]{background:#eef2f4;color:#495057}.btn-secondary[data-v-5408ad00]:hover{background:#dee2e6;transform:translateY(-2px)}.btn-danger[data-v-5408ad00]{background:#dc3545;color:#fff}.btn-danger[data-v-5408ad00]:hover:not(:disabled){background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc35454d}.btn-danger[data-v-5408ad00]:disabled{opacity:.6;cursor:not-allowed}.warning-text[data-v-5408ad00]{color:#f59e0b;font-size:.9rem;margin-top:8px}@keyframes fadeIn-5408ad00{0%{opacity:0}to{opacity:1}}@keyframes slideUp-5408ad00{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.group-header[data-v-5408ad00]{flex-direction:row;align-items:center}.group-title[data-v-5408ad00]{font-size:1rem}.sensor-count[data-v-5408ad00]{font-size:.75rem}.header-actions[data-v-5408ad00]{width:100%;justify-content:flex-end}.sensors-grid[data-v-5408ad00]{grid-template-columns:1fr;padding:16px}.modal-card[data-v-5408ad00]{width:95%;margin:20px}.modal-footer[data-v-5408ad00]{flex-direction:column}.btn-secondary[data-v-5408ad00],.btn-danger[data-v-5408ad00]{width:100%;justify-content:center}}.sensor-group-card.collapsed .group-content[data-v-5408ad00]{display:none}.modal-body[data-v-5408ad00]::-webkit-scrollbar{width:8px}.modal-body[data-v-5408ad00]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-body[data-v-5408ad00]::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.modal-body[data-v-5408ad00]::-webkit-scrollbar-thumb:hover{background:#999}.SensorsGroupListView[data-v-b743bc97]{width:100%;height:100%}.title-container[data-v-b743bc97]{box-sizing:border-box;position:relative;width:100%;border-radius:.5rem .5rem 0rem 0rem;background-color:#2e7d32;color:#fff;font-size:1.2rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:1%}.collapse-button[data-v-b743bc97]{cursor:pointer;transition:transform .1s ease}.collapse-button[data-v-b743bc97]:hover{transform:scale(1.5);color:#fff}.collapse-enter-active[data-v-b743bc97],.collapse-leave-active[data-v-b743bc97]{transition:all .3s ease;overflow:hidden}.collapse-enter-from[data-v-b743bc97],.collapse-leave-to[data-v-b743bc97]{max-height:0;opacity:0}.collapse-enter-to[data-v-b743bc97],.collapse-leave-from[data-v-b743bc97]{max-height:500px;opacity:1}.group-management-modal[data-v-1e84b830]{background:var(--white);border-radius:12px;width:90%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #00000026;animation:slideUp-1e84b830 .3s ease-out}@keyframes slideUp-1e84b830{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-1e84b830]{background:var(--modal-header-bg);color:var(--modal-header-text);border-radius:0;flex-shrink:0;padding:20px 24px}.modal-content[data-v-1e84b830]{padding:0;flex:1;display:flex;flex-direction:column;overflow-y:auto;width:100%}.tabs[data-v-1e84b830]{display:flex;border-bottom:1px solid var(--border-light);background:var(--gray-50);flex-shrink:0}.tab-button[data-v-1e84b830]{flex:1;padding:15px;border:none;background:none;cursor:pointer;color:var(--text-secondary);font-weight:500;font-size:14px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;border-bottom:3px solid transparent}.tab-button[data-v-1e84b830]:hover{background:var(--gray-100)}.tab-button.active[data-v-1e84b830]{color:var(--green-primary);border-bottom-color:var(--green-primary);background:#2e7d320d}.tab-button i[data-v-1e84b830]{font-size:14px}.tab-content[data-v-1e84b830]{padding:24px;overflow-y:auto;flex:1}.form-group[data-v-1e84b830]{margin-bottom:20px}.form-group label[data-v-1e84b830]{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:14px}.form-control[data-v-1e84b830]{width:100%;padding:10px 12px;border:1px solid var(--border-light);border-radius:8px;font-size:14px;transition:all .2s ease;background:var(--white);color:var(--text-primary);box-sizing:border-box;font-family:inherit}.form-control[data-v-1e84b830]:focus{outline:none;border-color:var(--green-primary);box-shadow:0 0 0 3px #2e7d321a}.form-control[data-v-1e84b830]::placeholder{color:var(--text-secondary)}.color-selector-container[data-v-1e84b830]{margin-top:12px}.color-selector[data-v-1e84b830]{display:flex;align-items:center;gap:16px;background:var(--gray-50);padding:16px;border-radius:8px;border:1px solid var(--border-light)}.color-input[data-v-1e84b830]{width:50px;height:50px;border:none;border-radius:8px;cursor:pointer;padding:0;background:transparent;box-shadow:0 2px 8px #00000026}.color-input[data-v-1e84b830]::-webkit-color-swatch-wrapper{padding:0}.color-input[data-v-1e84b830]::-webkit-color-swatch{border:2px solid white;border-radius:6px}.color-input[data-v-1e84b830]:hover{transform:scale(1.05)}.color-display[data-v-1e84b830]{display:flex;align-items:center;gap:12px;flex:1}.color-preview[data-v-1e84b830]{width:36px;height:36px;border-radius:6px;box-shadow:0 2px 4px #0000001a;border:2px solid white}.color-hex[data-v-1e84b830]{font-family:Monaco,Consolas,monospace;font-size:13px;color:var(--text-primary);background:var(--white);padding:8px 12px;border-radius:6px;border:1px solid var(--border-light);font-weight:600;letter-spacing:.5px}.color-hint[data-v-1e84b830]{margin-top:12px;color:var(--text-secondary);font-size:12px;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#2e7d320d;border-radius:6px;border-left:3px solid var(--green-primary)}.form-actions[data-v-1e84b830]{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light)}.btn[data-v-1e84b830]{padding:10px 18px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:100px}.btn-primary[data-v-1e84b830]{background:var(--green-primary);color:var(--white)}.btn-primary[data-v-1e84b830]:hover:not(:disabled){background:var(--green-dark);transform:translateY(-2px);box-shadow:0 4px 12px #2e7d3240}.btn-primary[data-v-1e84b830]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary[data-v-1e84b830]{background:var(--gray-100);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary[data-v-1e84b830]:hover{background:var(--gray-200);border-color:var(--gray-300);transform:translateY(-2px)}.groups-list[data-v-1e84b830]{display:flex;flex-direction:column;gap:10px}.group-item[data-v-1e84b830]{background:var(--gray-50);border:1px solid var(--border-light);border-radius:8px;padding:12px;transition:all .2s ease}.group-item[data-v-1e84b830]:hover{background:var(--white);box-shadow:0 2px 8px #00000014;border-color:var(--green-primary)}.group-item-header[data-v-1e84b830]{display:flex;justify-content:space-between;align-items:center}.group-item-info[data-v-1e84b830]{display:flex;align-items:center;gap:12px;flex:1}.group-color-dot[data-v-1e84b830]{width:20px;height:20px;border-radius:4px;box-shadow:0 2px 4px #0000001a;flex-shrink:0}.group-item-name[data-v-1e84b830]{font-weight:600;color:var(--text-primary);font-size:13px}.group-item-count[data-v-1e84b830]{font-size:12px;color:var(--text-secondary);margin-top:2px}.btn-delete[data-v-1e84b830]{background:#ef44441f;border:none;color:var(--button-danger);width:32px;height:32px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.btn-delete[data-v-1e84b830]:hover:not(:disabled){background:var(--button-danger);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #ef444440}.btn-delete[data-v-1e84b830]:disabled{opacity:.5;cursor:not-allowed}.delete-confirm[data-v-1e84b830]{display:flex;flex-direction:column;gap:8px}.confirm-actions[data-v-1e84b830]{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.confirm-actions .btn[data-v-1e84b830],.confirm-actions .btn-danger[data-v-1e84b830]{min-width:0;padding:8px 10px;flex:1 1 auto}.btn-danger[data-v-1e84b830]{background:var(--button-danger);color:#fff;border:none;padding:8px 12px;border-radius:6px}.btn-danger[data-v-1e84b830]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ef444440}.empty-state[data-v-1e84b830]{text-align:center;padding:32px 20px;color:var(--text-secondary)}.empty-state i[data-v-1e84b830]{font-size:48px;margin-bottom:12px;display:block;color:var(--gray-300)}.empty-state p[data-v-1e84b830]{margin:0;font-size:14px}@media(max-width:640px){.modal-content[data-v-1e84b830]{width:100%;max-width:100%;max-height:95vh}.tab-content[data-v-1e84b830]{padding:16px}.btn[data-v-1e84b830]{min-width:80px;padding:8px 14px}.form-actions[data-v-1e84b830]{flex-direction:column}.btn[data-v-1e84b830]{width:100%}}.SensorDashboardView[data-v-c32e25ac]{width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column;overflow:auto;padding:1.5rem}.SensorDashboardView[data-v-c32e25ac]::-webkit-scrollbar{width:.5rem}.SensorDashboardView[data-v-c32e25ac]::-webkit-scrollbar-track{border-radius:.5rem;background:transparent}.SensorDashboardView[data-v-c32e25ac]::-webkit-scrollbar-thumb{background-color:#bef1dd34;border-radius:6px;border:3px solid rgba(0,0,0,.1)}.SensorDashboardView[data-v-c32e25ac]::-webkit-scrollbar-thumb:hover{background-color:#5d80ff}.DashboardHeader[data-v-c32e25ac]{width:100%;height:auto;display:flex;flex-direction:row;justify-content:space-between;align-items:center;box-sizing:border-box;margin-bottom:2%;gap:15px;flex-shrink:0}.title-container[data-v-c32e25ac]{box-sizing:border-box;flex:1;display:flex;flex-direction:row;align-items:center}.title-container h1[data-v-c32e25ac]{margin:0;font-size:24px}.addGroup-btn[data-v-c32e25ac]{background:linear-gradient(to left,#2e7d32,#0b9414);padding:12px 16px;border-radius:1rem;transition:all .2s ease;display:flex;flex-direction:row;justify-content:center;align-items:center;color:#fff;font-weight:600;cursor:pointer;gap:8px;border:none;min-width:120px;white-space:nowrap}.addGroup-btn[data-v-c32e25ac]:hover{transform:translateY(-3%);box-shadow:0 .3rem .5rem #00000053}.addGroup-btn ion-icon[data-v-c32e25ac]{font-size:1.2rem;font-weight:900}.SensorTemplate[data-v-c32e25ac]{width:100%;max-width:90%;margin:0 auto 10%;display:flex;flex-direction:column;gap:5rem}.group-card[data-v-c32e25ac]{padding:0;width:100%;border-color:transparent}.title-container h1[data-v-c32e25ac]:nth-child(2){display:none}@media(max-width:768px){.SensorDashboardView[data-v-c32e25ac]{padding:.75rem}.DashboardHeader[data-v-c32e25ac]{flex-direction:row;align-items:center;gap:10px;margin-bottom:1.5rem}.addGroup-btn[data-v-c32e25ac]{justify-content:center;padding:10px;min-width:min-content}.mobileTitle[data-v-c32e25ac]{display:block}.title-container h1[data-v-c32e25ac]:first-child{display:none}.title-container h1[data-v-c32e25ac]:nth-child(2){display:block}}.sensor-detail-header[data-v-64b55597]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(0,0,0,.08)}.header-left[data-v-64b55597]{display:flex;align-items:center;gap:12px}.header-left h1[data-v-64b55597]{font-size:20px;font-weight:700;color:var(--dark-color);display:flex;align-items:center;gap:8px;margin:0}.lifecycle-badge[data-v-64b55597]{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;border:2px solid;font-weight:600;font-size:13px;animation:pulse-badge-64b55597 1.5s ease-in-out infinite;cursor:help}@keyframes pulse-badge-64b55597{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{opacity:.85}}.lifecycle-badge ion-icon[data-v-64b55597]{font-size:16px}.header-actions[data-v-64b55597]{display:flex;gap:15px}.history-btn[data-v-64b55597],.back-btn[data-v-64b55597]{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s ease;cursor:pointer;border:none}.history-btn[data-v-64b55597]{background-color:var(--primary-color);color:#fff}.history-btn[data-v-64b55597]:hover{background-color:var(--primary-color-dark, #1b5e20)}.back-btn[data-v-64b55597]{background-color:var(--gray-200, #e5e7eb);color:var(--dark-color)}.back-btn[data-v-64b55597]:hover{background-color:var(--gray-300, #d1d5db)}@media(max-width:768px){.sensor-detail-header[data-v-64b55597]{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:16px}.header-left h1[data-v-64b55597]{font-size:20px}.header-actions[data-v-64b55597]{width:100%;gap:12px}.history-btn[data-v-64b55597],.back-btn[data-v-64b55597]{padding:8px 12px;font-size:13px;flex:1;justify-content:center}.lifecycle-badge[data-v-64b55597]{padding:6px 10px;font-size:12px}}.sensor-values[data-v-51c95fef]{flex:1}.section-label[data-v-51c95fef]{font-size:12px;font-weight:600;color:#374151;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.75rem;display:flex;align-items:center;gap:6px}.section-label ion-icon[data-v-51c95fef]{font-size:14px}.value-area[data-v-51c95fef]{display:flex;align-items:baseline;line-height:1;margin-bottom:5px}.val-big[data-v-51c95fef]{font-size:48px;font-weight:500;color:var(--dark-color, #1f2937)}.val-unit[data-v-51c95fef]{font-size:20px;color:var(--gray-color, #6b7280);font-weight:400}.val-sub[data-v-51c95fef]{font-size:13px;color:#4b5563;display:flex;align-items:center;gap:4px;margin-bottom:0}.val-sub ion-icon[data-v-51c95fef]{font-size:13px}.section-divider[data-v-51c95fef]{border-top:.5px solid #e5e7eb;margin:1rem 0}.cfg-rows[data-v-51c95fef]{display:flex;flex-direction:column;margin-bottom:.75rem}.cfg-row[data-v-51c95fef]{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:.5px solid #e5e7eb}.cfg-row[data-v-51c95fef]:last-child{border-bottom:none}.cfg-key[data-v-51c95fef]{font-size:14px;color:#4b5563;display:flex;align-items:center;gap:5px}.cfg-key ion-icon[data-v-51c95fef]{font-size:14px}.cfg-val[data-v-51c95fef]{font-size:14px;font-weight:600;color:var(--dark-color, #1f2937)}.range-track[data-v-51c95fef]{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:6px}.range-fill[data-v-51c95fef]{height:100%;border-radius:3px;background:linear-gradient(to right,#2e7d32,#16a34a)}.range-ticks[data-v-51c95fef]{display:flex;justify-content:space-between;font-size:12px;color:#4b5563}.tick-current[data-v-51c95fef]{font-weight:600;color:var(--dark-color, #1f2937)}@media(max-width:768px){.val-big[data-v-51c95fef]{font-size:38px}.val-unit[data-v-51c95fef]{font-size:16px}}.sensor-config[data-v-16dc03cf]{flex:0}.section-divider[data-v-16dc03cf]{border-top:.5px solid #e5e7eb;margin:1rem 0}.section-label-config[data-v-16dc03cf]{font-size:12px;font-weight:600;color:var(--primary-color, #2e7d32);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.75rem;display:flex;align-items:center;gap:7px;padding:6px 10px;background:#2e7d3212;border-radius:6px;border:.5px solid rgba(46,125,50,.18)}.section-label-config ion-icon[data-v-16dc03cf]{font-size:15px}.cfg-rows[data-v-16dc03cf]{display:flex;flex-direction:column}.cfg-row[data-v-16dc03cf]{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:.5px solid #e5e7eb}.cfg-row[data-v-16dc03cf]:last-child{border-bottom:none}.cfg-key[data-v-16dc03cf]{font-size:14px;color:#4b5563;display:flex;align-items:center;gap:5px}.cfg-key ion-icon[data-v-16dc03cf]{font-size:14px}.cfg-val[data-v-16dc03cf]{font-size:14px;font-weight:600;color:var(--dark-color, #1f2937)}.sensor-actuators[data-v-12d14b26]{flex:1}.section-label[data-v-12d14b26]{font-size:12px;font-weight:600;color:#374151;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.75rem;display:flex;align-items:center;gap:6px}.section-label ion-icon[data-v-12d14b26]{font-size:14px}.actuators-list[data-v-12d14b26]{display:flex;flex-direction:column;gap:8px;max-height:480px;overflow-y:auto;padding-right:2px}.actuators-list[data-v-12d14b26]::-webkit-scrollbar{width:4px}.actuators-list[data-v-12d14b26]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.actuators-list[data-v-12d14b26]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.actuator-item[data-v-12d14b26]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fafafa;border:.5px solid #e5e7eb;border-left:3px solid var(--secondary-color, #1976d2);border-radius:8px}.actuator-icon[data-v-12d14b26]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;flex-shrink:0}.actuator-name[data-v-12d14b26]{font-size:13px;font-weight:600;color:var(--dark-color, #1f2937)}.actuator-modes[data-v-12d14b26]{font-size:12px;color:#4b5563;margin-top:1px}.no-actuators[data-v-12d14b26]{text-align:center;color:var(--gray-color, #6b7280);padding:32px 0;display:flex;flex-direction:column;align-items:center;gap:8px;background:#fafafa;border:.5px solid #e5e7eb;border-radius:10px}.no-actuators ion-icon[data-v-12d14b26]{font-size:2rem;color:#d1d5db}.no-actuators p[data-v-12d14b26]{margin:0;font-size:13px}@media(max-width:768px){.actuators-list[data-v-12d14b26]{max-height:none}}.SensorDetailPanelRoot[data-v-21fcd19e]{width:100%;height:100%;display:flex;flex-direction:column}.SensorDetailPanel[data-v-21fcd19e]{width:100%;height:100%;overflow-y:auto;background:var(--bg-color, #f3f4f6);padding:1.5rem}.status-hero[data-v-21fcd19e]{border-radius:12px;border:.5px solid #e5e7eb;background:#fff;padding:1.25rem 1.5rem;margin-bottom:1rem;display:flex;align-items:center;gap:1.5rem}.status-indicator[data-v-21fcd19e]{width:90px;height:90px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0}.status-indicator ion-icon[data-v-21fcd19e]{font-size:40px}.status-text[data-v-21fcd19e]{font-size:11px;font-weight:600;letter-spacing:.03em}.status-indicator.status-normal[data-v-21fcd19e]{background:#c8e6c9;border:1px solid #66BB6A}.status-indicator.status-normal ion-icon[data-v-21fcd19e],.status-indicator.status-normal .status-text[data-v-21fcd19e]{color:#1b5e20}.status-indicator.status-error[data-v-21fcd19e]{background:#ffcdd2;border:1px solid #EF9A9A}.status-indicator.status-error ion-icon[data-v-21fcd19e],.status-indicator.status-error .status-text[data-v-21fcd19e]{color:#b71c1c}.status-indicator.status-warning[data-v-21fcd19e]{background:#fff9c4;border:1px solid #F9A825}.status-indicator.status-warning ion-icon[data-v-21fcd19e],.status-indicator.status-warning .status-text[data-v-21fcd19e]{color:#e65100}.hero-name[data-v-21fcd19e]{font-size:18px;font-weight:500;color:var(--dark-color, #1f2937);margin-bottom:3px}.hero-id[data-v-21fcd19e]{font-size:12px;color:#4b5563;font-family:monospace}.detail-grid[data-v-21fcd19e]{display:grid;grid-template-columns:65% 35%;gap:1rem;margin-bottom:1rem}.detail-card[data-v-21fcd19e]{background:#fff;border:.5px solid #e5e7eb;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column}@media(max-width:900px){.detail-grid[data-v-21fcd19e]{grid-template-columns:1fr}}@media(max-width:768px){.SensorDetailPanel[data-v-21fcd19e]{padding:1rem}.status-hero[data-v-21fcd19e]{padding:1rem;gap:1rem}.status-indicator[data-v-21fcd19e]{width:64px;height:64px}.status-indicator ion-icon[data-v-21fcd19e]{font-size:28px}.hero-name[data-v-21fcd19e]{font-size:16px}}[data-v-ba497c3a]{margin:0;padding:0;box-sizing:border-box}.ActuatorCard[data-v-ba497c3a]{width:100%;background-color:#fff;border-radius:10px;border:1px solid #e1e5eb;overflow:hidden;min-width:250px;max-width:100%;height:auto}.actuator-header[data-v-ba497c3a]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e9ecef}.title-left[data-v-ba497c3a]{flex:1;overflow:hidden;min-width:0}.title-right[data-v-ba497c3a]{display:flex;gap:8px;align-items:center;flex-shrink:0}.zone-name[data-v-ba497c3a]{font-size:15px;font-weight:700;color:#101828;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lifecycle-indicator[data-v-ba497c3a]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:15px;background:#ffffffe6;border:2px solid}.lifecycle-pending[data-v-ba497c3a]{color:#ff9800;border-color:#ff9800}.lifecycle-error[data-v-ba497c3a]{color:#f44336;border-color:#f44336}.status-section[data-v-ba497c3a]{display:flex;align-items:center;justify-content:center;gap:30px;padding:10px 14px;border-bottom:1px solid #e9ecef}.status-section.status-on[data-v-ba497c3a]{background-color:#16a34a0a}.status-section.status-off[data-v-ba497c3a]{background-color:#ef44440a}.status-icon[data-v-ba497c3a]{width:80px;height:80px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:40px;flex-shrink:0}.status-on .status-icon[data-v-ba497c3a]{background-color:#16a34a1f;color:#16a34a;border:1.5px solid rgba(22,163,74,.3)}.status-off .status-icon[data-v-ba497c3a]{background-color:#ef44441f;color:#ef4444;border:1.5px solid rgba(239,68,68,.3)}.status-label[data-v-ba497c3a]{font-size:25px;font-weight:800;letter-spacing:.5px}.status-on .status-label[data-v-ba497c3a]{color:#16a34a}.status-off .status-label[data-v-ba497c3a]{color:#ef4444}.mode-row[data-v-ba497c3a]{display:flex;gap:6px;justify-content:center;padding:10px 14px;flex-wrap:wrap}.mode-tag[data-v-ba497c3a]{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;background-color:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0}.mode-tag.tag-active[data-v-ba497c3a]{background-color:#2e7d3214;color:#2e7d32;border-color:#2e7d3240}.mode-tag ion-icon[data-v-ba497c3a]{font-size:12px}.actuator-footer[data-v-ba497c3a]{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #e9ecef}.btn[data-v-ba497c3a]{flex:1;padding:9px 14px;border:none;border-radius:7px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;min-width:0}.btn[data-v-ba497c3a]:disabled{background-color:#d3d3d3;color:#999;cursor:not-allowed}.btn ion-icon[data-v-ba497c3a]{font-size:18px}.btn-activate[data-v-ba497c3a]{background-color:#246327;color:#fff}.btn-activate[data-v-ba497c3a]:hover:not(:disabled){background-color:#37973b}.btn-deactivate[data-v-ba497c3a]{background-color:#b32727;color:#fff}.btn-deactivate[data-v-ba497c3a]:hover:not(:disabled){background-color:#e23232}.btn-detail[data-v-ba497c3a]{background-color:#2c3e50;color:#fff}.btn-detail[data-v-ba497c3a]:hover{background-color:#34495e}.btn-icon.unlink-actuator[data-v-ba497c3a]{background:none;border:none;cursor:pointer;padding:5px 7px;border-radius:6px;color:#f44336}.btn-icon.unlink-actuator[data-v-ba497c3a]:hover{background:#f4433614}.actuators-grid[data-v-33db003c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:20px}.empty-state[data-v-33db003c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:#fff}.empty-icon[data-v-33db003c]{width:80px;height:80px;border-radius:50%;background:#f0f3f5;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#999;margin-bottom:16px}.empty-state p[data-v-33db003c]{color:#666;margin-bottom:16px;font-size:1rem}.empty-add-btn[data-v-33db003c]{background:transparent;border:1px solid currentColor;padding:10px 24px;border-radius:30px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.empty-add-btn[data-v-33db003c]:hover{opacity:.85}.modal-overlay[data-v-33db003c]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-33db003c]{background:#fff;border-radius:16px;width:90%;max-width:400px;box-shadow:0 20px 40px #00000026;overflow:hidden}.delete-modal[data-v-33db003c]{max-width:400px}.modal-header[data-v-33db003c]{padding:20px 24px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.modal-header h3[data-v-33db003c]{margin:0;font-size:1.1rem;font-weight:600;color:#333}.close-button[data-v-33db003c]{position:absolute;top:15px;right:15px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--modal-body-text);transition:all .2s ease;padding:4px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.close-button[data-v-33db003c]:hover{background-color:#0000001a;color:var(--modal-body-text)}.modal-body[data-v-33db003c]{padding:24px}.modal-body p[data-v-33db003c]{margin:0 0 16px;color:#666;line-height:1.5}.modal-footer[data-v-33db003c]{padding:16px 24px;background:#f8f9fa;display:flex;justify-content:flex-end;gap:12px}.btn[data-v-33db003c]{padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-secondary[data-v-33db003c]{background:#6c757d;color:#fff}.btn-secondary[data-v-33db003c]:hover{background:#5a6268}.btn-danger[data-v-33db003c]{background:#dc3545;color:#fff}.btn-danger[data-v-33db003c]:hover:not(:disabled){background:#c82333}.btn[data-v-33db003c]:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.modal-fade-enter-active[data-v-33db003c],.modal-fade-leave-active[data-v-33db003c]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-33db003c],.modal-fade-leave-to[data-v-33db003c]{opacity:0}.modal-fade-enter-to[data-v-33db003c],.modal-fade-leave-from[data-v-33db003c]{opacity:1}.add-actuator-modal[data-v-e0404c03]{max-width:520px}.modal-content[data-v-e0404c03],.add-actuator-modal[data-v-e0404c03]{color:#111}.modal-header h3[data-v-e0404c03],.modal-header .close-button[data-v-e0404c03]{color:#fff}.actuators-grid[data-v-e0404c03]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:12px}.actuator-card[data-v-e0404c03]{background:#fff;border-radius:8px;padding:12px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000000f;color:#111}.actuator-name[data-v-e0404c03]{color:#111;font-weight:600}.loading-container[data-v-e0404c03]{display:flex;align-items:center;gap:12px}.empty-list[data-v-e0404c03]{text-align:center;padding:20px;color:#666}.close-button[data-v-e0404c03]{background:none;border:none;font-size:24px;cursor:pointer;color:var(--modal-body-text);transition:all .2s ease;padding:4px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.close-button[data-v-e0404c03]:hover{background-color:#0000001a;color:var(--white-color);transform:rotate(90deg)}.modal-footer[data-v-e0404c03]{padding:12px;display:flex;justify-content:flex-end;gap:8px}.actuator-group-card[data-v-fcdd99c0]{--card-radius: 16px;--transition-speed: .3s;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08);--shadow-hover: 0 12px 32px rgba(0, 0, 0, .12);width:100%;background:#fff;border-radius:var(--card-radius);box-shadow:var(--shadow-sm);transition:all var(--transition-speed) ease;overflow:hidden;margin-bottom:20px}.actuator-group-card[data-v-fcdd99c0]:hover{box-shadow:var(--shadow-md)}.group-header[data-v-fcdd99c0]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;cursor:pointer;transition:background-color .2s ease}.group-header[data-v-fcdd99c0]:hover{background:#fafafa}.header-left[data-v-fcdd99c0]{display:flex;align-items:center;gap:16px}.group-icon[data-v-fcdd99c0]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;transition:transform .2s ease}.group-info[data-v-fcdd99c0]{display:flex;flex-direction:column}.group-title[data-v-fcdd99c0]{margin:0;font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.actuator-count[data-v-fcdd99c0]{font-size:.85rem;color:#666;margin-top:4px}.header-actions[data-v-fcdd99c0]{display:flex;gap:8px;align-items:center}.action-btn[data-v-fcdd99c0]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border:1px solid transparent;border-radius:30px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:transparent}.add-btn[data-v-fcdd99c0]{border-color:currentColor;background:transparent}.add-btn[data-v-fcdd99c0]:hover{background:var(--5b07ae38);color:#fff!important}.collapse-btn[data-v-fcdd99c0]{width:40px;height:40px;padding:0;border-radius:50%;background:transparent}.collapse-btn[data-v-fcdd99c0]:hover{background:var(--458dbc12)}.group-content[data-v-fcdd99c0]{background:#f8f9fa;border-top:1px solid #eef2f4;transition:all .3s ease;overflow:hidden}.modal-elegant[data-v-fcdd99c0]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-fcdd99c0 .2s ease}.modal-card[data-v-fcdd99c0]{background:#fff;border-radius:24px;width:90%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 24px 48px #0003;animation:slideUp-fcdd99c0 .3s ease}.modal-header[data-v-fcdd99c0]{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;background:#fff}.modal-header h3[data-v-fcdd99c0]{margin:0;font-size:1.2rem;font-weight:600;flex:1}.modal-close[data-v-fcdd99c0]{background:transparent;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#999;transition:color .2s ease}.modal-close[data-v-fcdd99c0]:hover{color:#333}.modal-body[data-v-fcdd99c0]{padding:24px;max-height:60vh;overflow-y:auto}@keyframes fadeIn-fcdd99c0{0%{opacity:0}to{opacity:1}}@keyframes slideUp-fcdd99c0{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.group-header[data-v-fcdd99c0]{gap:12px}.header-actions[data-v-fcdd99c0]{width:100%;justify-content:flex-end}.modal-card[data-v-fcdd99c0]{width:95%;margin:20px}}.group-management-modal[data-v-c7a179c9]{background:var(--white);border-radius:12px;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #00000026;animation:slideUp .3s ease-out}.modal-with-tabs[data-v-c7a179c9]{padding:0;flex-direction:column}.tabs[data-v-c7a179c9]{display:flex;border-bottom:1px solid var(--modal-border);background:var(--modal-footer-bg);flex-shrink:0;padding:0;margin:0}.tab-button[data-v-c7a179c9]{flex:1;padding:15px;border:none;background:transparent;cursor:pointer;color:var(--modal-body-text);font-weight:500;font-size:14px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;border-bottom:3px solid transparent}.tab-button[data-v-c7a179c9]:hover{background:#0000000d}.tab-button.active[data-v-c7a179c9]{color:var(--primary-color);border-bottom-color:var(--primary-color);background:#2e7d320d}.tab-button i[data-v-c7a179c9]{font-size:14px}.tab-content[data-v-c7a179c9]{padding:24px;overflow-y:auto;flex:1}.form-group[data-v-c7a179c9]{margin-bottom:20px}.form-group label[data-v-c7a179c9]{display:block;margin-bottom:8px;font-weight:600;color:var(--modal-body-text);font-size:14px}.form-control[data-v-c7a179c9]{width:100%;padding:10px 12px;border:1px solid var(--modal-border);border-radius:8px;font-size:14px;transition:all .2s ease;background:var(--modal-body-bg);color:var(--modal-body-text);box-sizing:border-box;font-family:inherit}.form-control[data-v-c7a179c9]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2e7d321a}.form-control[data-v-c7a179c9]::placeholder{color:#999}.color-selector-container[data-v-c7a179c9]{margin-top:12px}.color-selector[data-v-c7a179c9]{display:flex;align-items:center;gap:16px;background:var(--modal-footer-bg);padding:16px;border-radius:8px;border:1px solid var(--modal-border)}.color-input[data-v-c7a179c9]{width:50px;height:50px;border:none;border-radius:8px;cursor:pointer;padding:0;background:transparent;box-shadow:0 2px 8px #00000026}.color-input[data-v-c7a179c9]::-webkit-color-swatch-wrapper{padding:0}.color-input[data-v-c7a179c9]::-webkit-color-swatch{border:2px solid white;border-radius:6px}.color-input[data-v-c7a179c9]:hover{transform:scale(1.05)}.color-display[data-v-c7a179c9]{display:flex;align-items:center;gap:12px;flex:1}.color-preview[data-v-c7a179c9]{width:36px;height:36px;border-radius:6px;box-shadow:0 2px 4px #0000001a;border:2px solid white}.color-hex[data-v-c7a179c9]{font-family:Monaco,Consolas,monospace;font-size:13px;color:var(--modal-body-text);background:var(--modal-body-bg);padding:8px 12px;border-radius:6px;border:1px solid var(--modal-border);font-weight:600;letter-spacing:.5px}.color-hint[data-v-c7a179c9]{margin-top:12px;color:var(--text-secondary);font-size:12px;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#2e7d320d;border-radius:6px;border-left:3px solid var(--primary-color)}.form-actions[data-v-c7a179c9]{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--modal-border)}.btn[data-v-c7a179c9]{padding:10px 18px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:100px}.btn-primary[data-v-c7a179c9]{background:var(--primary-color);color:#fff}.btn-primary[data-v-c7a179c9]:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #2e7d3240}.btn-primary[data-v-c7a179c9]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary[data-v-c7a179c9]{background:var(--gray-100);color:var(--modal-body-text);border:1px solid var(--modal-border)}.btn-secondary[data-v-c7a179c9]:hover{background:var(--gray-200);border-color:var(--gray-300);transform:translateY(-2px)}.groups-list[data-v-c7a179c9]{display:flex;flex-direction:column;gap:10px}.group-item[data-v-c7a179c9]{background:var(--gray-50);border:1px solid var(--modal-border);border-radius:8px;padding:12px;transition:all .2s ease}.group-item[data-v-c7a179c9]:hover{background:var(--white);box-shadow:0 2px 8px #00000014;border-color:var(--primary-color)}.group-item-header[data-v-c7a179c9]{display:flex;justify-content:space-between;align-items:center}.group-item-info[data-v-c7a179c9]{display:flex;align-items:center;gap:12px;flex:1}.group-color-dot[data-v-c7a179c9]{width:20px;height:20px;border-radius:4px;box-shadow:0 2px 4px #0000001a;flex-shrink:0}.group-item-name[data-v-c7a179c9]{font-weight:600;color:var(--modal-body-text);font-size:13px}.group-item-count[data-v-c7a179c9]{font-size:12px;color:var(--text-secondary);margin-top:2px}.btn-delete[data-v-c7a179c9]{background:#ef44441f;border:none;color:var(--button-danger);width:32px;height:32px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.btn-delete[data-v-c7a179c9]:hover:not(:disabled){background:var(--button-danger);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #ef444440}.btn-delete[data-v-c7a179c9]:disabled{opacity:.5;cursor:not-allowed}.delete-confirm[data-v-c7a179c9]{display:flex;flex-direction:column;gap:8px}.confirm-actions[data-v-c7a179c9]{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.confirm-actions .btn[data-v-c7a179c9],.confirm-actions .btn-danger[data-v-c7a179c9]{min-width:0;padding:8px 10px;flex:1 1 auto}.btn-danger[data-v-c7a179c9]{background:var(--button-danger);color:#fff;border:none;padding:8px 12px;border-radius:6px}.btn-danger[data-v-c7a179c9]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ef444440}.empty-state[data-v-c7a179c9]{text-align:center;padding:32px 20px;color:var(--text-secondary)}.empty-state i[data-v-c7a179c9]{font-size:48px;margin-bottom:12px;display:block;color:var(--gray-300)}.empty-state p[data-v-c7a179c9]{margin:0;font-size:14px}.modal-content[data-v-c7a179c9]{width:100%}@media(max-width:768px){.modal-content[data-v-c7a179c9]{width:100%;max-width:100%;max-height:95vh}.tab-content[data-v-c7a179c9]{padding:16px}.btn[data-v-c7a179c9]{min-width:80px;padding:8px 14px}.form-actions[data-v-c7a179c9]{flex-direction:column}.btn[data-v-c7a179c9]{width:100%}}.ActuatorsDashboardView[data-v-6960cdb5]{width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column;overflow:auto;padding:1.5rem}.ActuatorsDashboardView[data-v-6960cdb5]::-webkit-scrollbar{width:0rem}.ActuatorsDashboardView[data-v-6960cdb5]::-webkit-scrollbar-track{background:#4b89eea8;border-radius:.5rem}.ActuatorsDashboardView[data-v-6960cdb5]::-webkit-scrollbar-thumb{background-color:#bef1ddb3;border-radius:6px;border:3px solid rgba(0,0,0,.1)}.ActuatorsDashboardView[data-v-6960cdb5]::-webkit-scrollbar-thumb:hover{background-color:#14de87}.DashboardHeader[data-v-6960cdb5]{width:100%;height:auto;display:flex;flex-direction:row;justify-content:space-between;align-items:center;box-sizing:border-box;margin-bottom:2rem;gap:15px}.title-container[data-v-6960cdb5]{box-sizing:border-box;flex:1;display:flex;flex-direction:row;align-items:center}.title-container h1[data-v-6960cdb5]{margin:0;font-size:24px}.addGroup-btn[data-v-6960cdb5]{background:linear-gradient(to left,#2e7d32,#0b9414);padding:12px 16px;border-radius:1rem;transition:all .2s ease;display:flex;flex-direction:row;justify-content:center;align-items:center;color:#fff;font-weight:600;cursor:pointer;gap:8px;border:none;min-width:120px;white-space:nowrap}.addGroup-btn[data-v-6960cdb5]:hover{transform:translateY(-3%);box-shadow:0 .3rem .5rem #00000053}.addGroup-btn ion-icon[data-v-6960cdb5]{font-size:1.2rem;font-weight:900}.ActuatorsTemplate[data-v-6960cdb5]{width:100%;max-width:90%;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.actuator-group[data-v-6960cdb5]{width:100%}.title-container h1[data-v-6960cdb5]:nth-child(2){display:none}@media(max-width:768px){.ActuatorsDashboardView[data-v-6960cdb5]{padding:.75rem}.DashboardHeader[data-v-6960cdb5]{flex-direction:row;align-items:center;gap:10px}.addGroup-btn[data-v-6960cdb5]{padding:10px;min-width:min-content;justify-content:center}.title-container h1[data-v-6960cdb5]:first-child{display:none}.title-container h1[data-v-6960cdb5]:last-child{display:block}.mobileTitle[data-v-6960cdb5]{display:block}}.header[data-v-7f6cfece]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(0,0,0,.08)}.header-left[data-v-7f6cfece]{display:flex;align-items:center;gap:12px}.header-left h1[data-v-7f6cfece]{font-size:20px;font-weight:700;color:var(--dark-color, #1f2937);display:flex;align-items:center;gap:8px;margin:0}.header-subtitle[data-v-7f6cfece]{font-size:.9rem;color:var(--gray-color, #6b7280);margin:0;font-weight:400}.lifecycle-badge[data-v-7f6cfece]{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;border:2px solid;font-weight:600;font-size:13px;animation:pulse-badge-7f6cfece 1.5s ease-in-out infinite;cursor:help}@keyframes pulse-badge-7f6cfece{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{opacity:.85}}.lifecycle-badge ion-icon[data-v-7f6cfece]{font-size:16px}.header-actions[data-v-7f6cfece]{display:flex;gap:15px}.export-btn[data-v-7f6cfece]{background-color:var(--secondary-color, #1976d2);color:#fff;border:1px solid;border-color:var(--secondary-color, #1976d2);display:flex;align-items:center;gap:8px;border:none;border-radius:var(--border-radius, 12px);padding:10px 18px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;font-size:14px;box-shadow:var(--shadow-light, 0 2px 4px rgba(0, 0, 0, .05))}.back-btn[data-v-7f6cfece]{background-color:#e5e7eb;color:var(--dark-color, #1f2937);display:flex;align-items:center;gap:8px;border:none;border-radius:var(--border-radius, 12px);padding:10px 18px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;font-size:14px;box-shadow:var(--shadow-light, 0 2px 4px rgba(0, 0, 0, .05))}.back-btn[data-v-7f6cfece]:hover{background-color:var(--primary-color, #2e7d32);color:#fff}.export-btn[data-v-7f6cfece]:hover{opacity:.9}@media(max-width:768px){.header[data-v-7f6cfece]{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:16px}.header-left h1[data-v-7f6cfece]{font-size:20px;margin-bottom:8px}.header-actions[data-v-7f6cfece]{width:100%;gap:10px}.export-btn[data-v-7f6cfece],.back-btn[data-v-7f6cfece]{flex:1;justify-content:center;padding:8px 12px;font-size:13px}.lifecycle-badge[data-v-7f6cfece]{padding:6px 10px;font-size:12px}.lifecycle-badge ion-icon[data-v-7f6cfece]{font-size:14px}}.actuator-control[data-v-3a13bfa3]{margin-bottom:1rem}.ctrl-header[data-v-3a13bfa3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.section-label[data-v-3a13bfa3]{font-size:11px;font-weight:500;color:var(--gray-color, #6b7280);letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:6px}.section-label ion-icon[data-v-3a13bfa3]{font-size:13px}.toggle-pill[data-v-3a13bfa3]{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:99px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid;transition:opacity .15s}.toggle-pill[data-v-3a13bfa3]:disabled{opacity:.6;cursor:not-allowed}.toggle-pill.pill-on[data-v-3a13bfa3]{background:#dcfce7;color:#15803d;border-color:#86efac}.toggle-pill.pill-off[data-v-3a13bfa3]{background:#f3f4f6;color:#6b7280;border-color:#d1d5db}.pill-dot[data-v-3a13bfa3]{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.ctrl-btns[data-v-3a13bfa3]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn-activate[data-v-3a13bfa3]{background:#2e7d32;color:#fff;border:1px solid #1b5e20;border-radius:8px;padding:10px 8px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px}.btn-deactivate[data-v-3a13bfa3]{background:#dc2626;color:#fff;border:1px solid #b91c1c;border-radius:8px;padding:10px 8px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px}.btn-activate[data-v-3a13bfa3]:disabled,.btn-deactivate[data-v-3a13bfa3]:disabled{opacity:.5;cursor:not-allowed}.ctrl-hint[data-v-3a13bfa3]{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:var(--gray-color, #6b7280);background:#f9fafb;border:.5px solid #e5e7eb;border-radius:8px;padding:10px 12px;line-height:1.4}.ctrl-hint ion-icon[data-v-3a13bfa3]{font-size:15px;flex-shrink:0;margin-top:1px;color:#9ca3af}@media(max-width:768px){.ctrl-btns[data-v-3a13bfa3]{gap:6px}.btn-activate[data-v-3a13bfa3],.btn-deactivate[data-v-3a13bfa3]{padding:9px 6px;font-size:12px}}.actuator-config[data-v-cce56774]{flex:1}.section-label[data-v-cce56774]{font-size:12px;font-weight:600;color:#374151;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.75rem;display:flex;align-items:center;gap:6px}.section-label ion-icon[data-v-cce56774]{font-size:14px}.mode-grid[data-v-cce56774]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-tile[data-v-cce56774]{border:.5px solid #e5e7eb;border-radius:8px;padding:12px 8px;text-align:center;background:#f9fafb;display:flex;flex-direction:column;align-items:center;gap:4px}.mode-tile ion-icon[data-v-cce56774]{font-size:20px;color:var(--primary-color, #2e7d32)}.mode-tile span[data-v-cce56774]{font-size:12px;color:var(--dark-color, #1f2937);font-weight:500}.section-divider[data-v-cce56774]{border-top:.5px solid #e5e7eb;margin:1rem 0}.cfg-rows[data-v-cce56774]{display:flex;flex-direction:column}.cfg-row[data-v-cce56774]{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:.5px solid #e5e7eb}.cfg-row[data-v-cce56774]:last-child{border-bottom:none}.cfg-key[data-v-cce56774]{font-size:14px;color:#4b5563;display:flex;align-items:center;gap:5px}.cfg-key ion-icon[data-v-cce56774]{font-size:14px}.cfg-val[data-v-cce56774]{font-size:14px;font-weight:600;color:var(--dark-color, #1f2937)}@media(max-width:768px){.mode-grid[data-v-cce56774]{grid-template-columns:1fr 1fr;gap:6px}.mode-tile[data-v-cce56774]{padding:10px 6px}.mode-tile ion-icon[data-v-cce56774]{font-size:18px}.mode-tile span[data-v-cce56774]{font-size:11px}}.ctrl-sensor-range[data-v-6843dc6b]{background:transparent;border:none;padding:0;margin-top:0}.range-divider[data-v-6843dc6b]{border-top:.5px solid #e5e7eb;margin:1rem 0}.section-label[data-v-6843dc6b]{font-size:11px;font-weight:600;color:var(--primary-color, #2e7d32);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.75rem;display:flex;align-items:center;gap:7px;padding:6px 10px;background:#2e7d3212;border-radius:6px;border:.5px solid rgba(46,125,50,.18)}.section-label ion-icon[data-v-6843dc6b]{font-size:14px}.adj-field[data-v-6843dc6b]{margin-bottom:8px}.adj-label[data-v-6843dc6b]{display:block;font-size:12px;color:var(--gray-color, #6b7280);margin-bottom:4px}.adj-input[data-v-6843dc6b]{width:100%;padding:7px 10px;font-size:14px;border:.5px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:var(--dark-color, #1f2937);box-sizing:border-box}.adj-input[data-v-6843dc6b]:focus{outline:none;border-color:var(--primary-color, #2e7d32);box-shadow:0 0 0 2px #2e7d321a}.adj-input[data-v-6843dc6b]:disabled{opacity:.6}.btn-save[data-v-6843dc6b]{width:100%;margin-top:12px;background:var(--primary-color, #2e7d32);color:#fff;border:none;border-radius:8px;padding:10px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.btn-save[data-v-6843dc6b]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.adj-input[data-v-6843dc6b]{padding:6px 9px;font-size:13px}.btn-save[data-v-6843dc6b]{padding:9px;font-size:12px}}.schedule-list[data-v-b8025467]{background:transparent;padding:0}.range-divider[data-v-b8025467]{border-top:.5px solid #e5e7eb;margin:1rem 0}.section-label[data-v-b8025467]{font-size:11px;font-weight:600;color:var(--primary-color, #2e7d32);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.75rem;display:flex;align-items:center;gap:7px;padding:6px 10px;background:#2e7d3212;border-radius:6px;border:.5px solid rgba(46,125,50,.18)}.section-label ion-icon[data-v-b8025467]{font-size:14px}.schedule-items[data-v-b8025467]{display:flex;flex-direction:column;gap:8px}.schedule-item[data-v-b8025467]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fafafa;border:.5px solid #e5e7eb;border-left:3px solid var(--primary-color, #2e7d32);border-radius:8px}.schedule-time[data-v-b8025467]{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--dark-color, #1f2937);font-size:13px}.schedule-time ion-icon[data-v-b8025467]{font-size:14px;color:var(--primary-color, #2e7d32)}.time-sep[data-v-b8025467]{color:var(--gray-color, #6b7280)}.schedule-badge[data-v-b8025467]{background:var(--primary-color, #2e7d32);color:#fff;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600}.no-schedules[data-v-b8025467]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-color, #6b7280);padding:12px 0}.no-schedules ion-icon[data-v-b8025467]{font-size:15px}@media(max-width:768px){.schedule-item[data-v-b8025467]{flex-direction:column;align-items:flex-start;gap:8px;padding:8px 10px}.schedule-time[data-v-b8025467]{font-size:12px;gap:6px}.schedule-badge[data-v-b8025467]{align-self:flex-end;font-size:10px;padding:2px 8px}}.sensor-assoc[data-v-e73e434c]{flex:1}.assoc-header[data-v-e73e434c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.section-label[data-v-e73e434c]{font-size:12px;font-weight:600;color:#374151;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:6px;margin-bottom:0}.section-label ion-icon[data-v-e73e434c]{font-size:14px}.btn-unlink[data-v-e73e434c]{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--gray-color, #6b7280);border:.5px solid #e5e7eb;border-radius:8px;padding:4px 10px;cursor:pointer;background:transparent}.btn-associate[data-v-e73e434c]{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--secondary-color, #1976d2);border:.5px solid var(--secondary-color, #1976d2);border-radius:8px;padding:4px 10px;cursor:pointer;background:transparent}.sensor-card[data-v-e73e434c]{background:#fafafa;border:.5px solid #e5e7eb;border-left:3px solid #ef4444;border-radius:10px;padding:14px}.sensor-chip[data-v-e73e434c]{display:inline-flex;align-items:center;gap:5px;background:#ffebee;color:#c62828;border:.5px solid #EF9A9A;border-radius:99px;font-size:11px;font-weight:500;padding:3px 10px;margin-bottom:10px}.sensor-chip ion-icon[data-v-e73e434c]{font-size:12px}.value-area[data-v-e73e434c]{display:flex;align-items:baseline;line-height:1;margin-bottom:5px}.val-big[data-v-e73e434c]{font-size:42px;font-weight:500;color:var(--dark-color, #1f2937)}.val-unit[data-v-e73e434c]{font-size:18px;color:var(--gray-color, #6b7280);font-weight:400}.val-sub[data-v-e73e434c]{font-size:13px;color:#4b5563;display:flex;align-items:center;gap:4px;margin-bottom:6px}.val-sub ion-icon[data-v-e73e434c]{font-size:13px}.range-text[data-v-e73e434c]{font-size:12px;color:#4b5563}.no-sensor[data-v-e73e434c]{text-align:center;color:var(--gray-color, #6b7280);padding:24px 0;display:flex;flex-direction:column;align-items:center;gap:8px;background:#fafafa;border:.5px solid #e5e7eb;border-radius:10px}.no-sensor ion-icon[data-v-e73e434c]{font-size:2rem;color:#d1d5db}.no-sensor p[data-v-e73e434c]{margin:0;font-size:13px}@media(max-width:768px){.val-big[data-v-e73e434c]{font-size:32px}.val-unit[data-v-e73e434c]{font-size:14px}}.confirmation-overlay[data-v-d436c67e]{position:fixed;inset:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn-d436c67e .2s ease-out}@keyframes fadeIn-d436c67e{0%{opacity:0}to{opacity:1}}.confirmation-modal[data-v-d436c67e]{background:var(--white);border-radius:12px;box-shadow:0 10px 40px #00000026;width:90%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp-d436c67e .3s ease-out}@keyframes slideUp-d436c67e{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirmation-header[data-v-d436c67e]{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:20px 24px;border-bottom:1px solid var(--border-light);background:#2e7d320d;flex-shrink:0;gap:1%}.icon-success[data-v-d436c67e]{font-size:36px;color:var(--green-primary);margin-bottom:8px;display:block}.confirmation-header h2[data-v-d436c67e]{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.confirmation-body[data-v-d436c67e]{padding:20px 24px;flex:1;overflow-y:auto}.confirmation-body p[data-v-d436c67e]{margin:0 0 16px;color:var(--text-secondary);font-size:14px}.schedules-summary[data-v-d436c67e]{margin-bottom:16px}.summary-section[data-v-d436c67e]{margin-bottom:12px;padding:12px;background:#3b82f60d;border-radius:8px;border-left:4px solid #3b82f6}.summary-section.new[data-v-d436c67e]{background:#2e7d320d;border-left-color:var(--green-primary)}.summary-section h4[data-v-d436c67e]{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px}.schedule-list[data-v-d436c67e]{display:flex;flex-direction:column;gap:6px}.schedule-row[data-v-d436c67e]{padding:8px 10px;border-radius:6px;display:flex;justify-content:space-between;align-items:center;font-size:13px;background:var(--white)}.schedule-row.existing[data-v-d436c67e]{border-left:3px solid #3b82f6;color:#0c4a6e}.schedule-row.new[data-v-d436c67e]{border-left:3px solid var(--green-primary);color:#065f46;background:#2e7d3214}.schedule-row .time[data-v-d436c67e]{font-weight:600}.schedule-row .duration[data-v-d436c67e]{color:var(--text-secondary);font-size:12px}.warning-message[data-v-d436c67e]{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:10px 12px;background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#7f1d1d;font-size:12px;border-left:4px solid var(--red-error)}.warning-message ion-icon[data-v-d436c67e]{font-size:16px;flex-shrink:0;color:var(--red-error);margin-top:1px}.warning-message p[data-v-d436c67e]{margin:0;line-height:1.4}.confirmation-footer[data-v-d436c67e]{padding:16px 24px;border-top:1px solid var(--border-light);display:flex;gap:12px;justify-content:flex-end;background:var(--gray-50);flex-shrink:0}.btn[data-v-d436c67e]{padding:10px 18px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;font-size:14px}.btn-cancel[data-v-d436c67e]{background:var(--gray-100);color:var(--text-primary);border:1px solid var(--border-light)}.btn-cancel[data-v-d436c67e]:hover{background:var(--gray-200);border-color:var(--gray-300)}.btn-confirm[data-v-d436c67e]{background:var(--green-primary);color:var(--white)}.btn-confirm[data-v-d436c67e]:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 4px 12px #2e7d3240}@media(max-width:640px){.confirmation-modal[data-v-d436c67e]{width:95%;max-height:95vh}.confirmation-footer[data-v-d436c67e]{flex-direction:column}.btn[data-v-d436c67e]{width:100%;justify-content:center}}.modal-overlay[data-v-56da1c27]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-56da1c27]{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header[data-v-56da1c27]{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-56da1c27]{margin:0;font-size:20px;font-weight:700;color:var(--white);display:flex;align-items:center;gap:10px}.close-btn[data-v-56da1c27]{background:none;border:none;font-size:24px;cursor:pointer;color:var(--white);transition:all .2s;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px}.close-btn[data-v-56da1c27]:hover{background-color:var(--transparent-10)}.modal-body[data-v-56da1c27]{padding:24px;display:flex;flex-direction:column;gap:20px}.modal-footer[data-v-56da1c27]{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end}.add-schedule-form[data-v-56da1c27]{border:1px solid #e5e7eb;border-radius:12px;padding:20px;background:#f9fafb}.add-schedule-form h3[data-v-56da1c27]{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.form-group[data-v-56da1c27]{margin-bottom:16px}.form-group label[data-v-56da1c27]{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:6px}.time-input[data-v-56da1c27]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s;box-sizing:border-box}.time-input[data-v-56da1c27]:focus{outline:none;border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a}.error-message[data-v-56da1c27]{display:block;color:#ef4444;font-size:12px;margin-top:4px}.error-message.general[data-v-56da1c27]{margin-top:12px;padding:8px 12px;background:#ef44441a;border-radius:6px;border-left:3px solid #ef4444}.form-actions[data-v-56da1c27]{display:flex;gap:8px;margin-top:16px}.btn-add-schedule[data-v-56da1c27],.btn-cancel-edit[data-v-56da1c27]{flex:1;padding:10px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px}.btn-add-schedule[data-v-56da1c27]{background:#2e7d32;color:#fff}.btn-add-schedule[data-v-56da1c27]:hover:not(:disabled){background:#1b5e20;transform:translateY(-2px)}.btn-add-schedule[data-v-56da1c27]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-edit[data-v-56da1c27]{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.btn-cancel-edit[data-v-56da1c27]:hover{background:#ef444433;transform:translateY(-2px)}.all-schedules[data-v-56da1c27]{border:1px solid #e5e7eb;border-radius:12px;padding:20px;background:#f9fafb}.all-schedules h3[data-v-56da1c27]{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.schedules-list[data-v-56da1c27]{display:flex;flex-direction:column;gap:8px}.schedule-item[data-v-56da1c27]{padding:12px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.schedule-item.existing[data-v-56da1c27]{background:#3b82f60d;border:1px solid rgba(59,130,246,.2);color:#1e40af}.schedule-item.new[data-v-56da1c27]{background:#f59e0b0d;border:1px solid rgba(245,158,11,.2);color:#78350f}.schedule-time[data-v-56da1c27]{display:flex;align-items:center;gap:8px;font-weight:600}.time-from[data-v-56da1c27],.time-to[data-v-56da1c27]{min-width:50px}.schedule-actions[data-v-56da1c27]{display:flex;align-items:center;gap:12px}.schedule-duration[data-v-56da1c27]{color:#6b7280;font-size:13px}.btn-edit[data-v-56da1c27],.btn-remove[data-v-56da1c27]{background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s;font-size:16px;display:flex;align-items:center;justify-content:center}.btn-edit[data-v-56da1c27]{color:#1565c0}.btn-edit[data-v-56da1c27]:hover{background:#1565c01a}.btn-remove[data-v-56da1c27]{color:#ef4444}.btn-remove[data-v-56da1c27]:hover{background:#ef44441a}.summary[data-v-56da1c27]{padding:16px;background:#2e7d320d;border:1px solid rgba(46,125,50,.2);border-radius:8px}.summary-item[data-v-56da1c27]{display:flex;justify-content:space-between;font-size:14px;padding:4px 0}.summary-item strong.highlight[data-v-56da1c27]{color:#2e7d32;font-weight:700}.summary-item strong.changes[data-v-56da1c27]{color:#d97706}.btn-secondary[data-v-56da1c27],.btn-primary[data-v-56da1c27]{padding:10px 18px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;font-size:14px}.btn-secondary[data-v-56da1c27]{background:#e5e7eb;color:#1f2937}.btn-secondary[data-v-56da1c27]:hover{background:#d1d5db}.btn-primary[data-v-56da1c27]{background:#2e7d32;color:#fff}.btn-primary[data-v-56da1c27]:hover:not(:disabled){background:#1b5e20;transform:translateY(-2px)}.btn-primary[data-v-56da1c27]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.modal-content[data-v-56da1c27]{width:95%;max-height:95vh}.modal-body[data-v-56da1c27]{padding:16px}.modal-footer[data-v-56da1c27]{padding:12px 16px;flex-direction:column}.btn-secondary[data-v-56da1c27],.btn-primary[data-v-56da1c27],.btn-add-schedule[data-v-56da1c27],.btn-cancel-edit[data-v-56da1c27]{width:100%;justify-content:center}.form-actions[data-v-56da1c27]{flex-direction:column}}.modal-overlay[data-v-86915100]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-86915100]{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header[data-v-86915100]{padding:20px 24px;border-bottom:1px solid var(--gray-light, #e5e7eb);display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-86915100]{margin:0;font-size:20px;font-weight:700;color:var(--white);display:flex;align-items:center;gap:10px}.modal-header.warning[data-v-86915100]{background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:2px solid #f59e0b}.modal-header.warning ion-icon[data-v-86915100]{font-size:28px;color:#f59e0b}.close-btn[data-v-86915100]{background:none;border:none;font-size:24px;cursor:pointer;color:var(--white);transition:all .2s;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px}.close-btn[data-v-86915100]:hover{background-color:var(--transparent-10)}.modal-body[data-v-86915100]{padding:24px;flex:1}.modal-footer[data-v-86915100]{padding:16px 24px;border-top:1px solid var(--gray-light, #e5e7eb);display:flex;gap:12px;justify-content:flex-end}.btn[data-v-86915100]{padding:10px 18px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;font-size:14px}.btn[data-v-86915100]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-86915100]{background:var(--gray-light, #e5e7eb);color:var(--dark-color, #1f2937)}.btn-secondary[data-v-86915100]:hover:not(:disabled){background:#d1d5db}.btn-primary[data-v-86915100]{background:var(--primary-color, #2e7d32);color:#fff}.btn-primary[data-v-86915100]:hover:not(:disabled){background:#1b5e20;transform:translateY(-2px)}.btn-danger[data-v-86915100]{background:var(--danger-color, #ef4444);color:#fff}.btn-danger[data-v-86915100]:hover:not(:disabled){background:#dc2626;transform:translateY(-2px)}.loading-state[data-v-86915100]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--gray-color, #6b7280)}.spinner[data-v-86915100]{width:40px;height:40px;border:4px solid var(--gray-light, #e5e7eb);border-top-color:var(--primary-color, #2e7d32);border-radius:50%;animation:spin-86915100 1s linear infinite}.spinner-small[data-v-86915100]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;display:inline-block;animation:spin-86915100 1s linear infinite}@keyframes spin-86915100{to{transform:rotate(360deg)}}.sensors-list h3[data-v-86915100]{font-size:16px;font-weight:600;color:var(--dark-color, #1f2937);margin-bottom:16px}.sensors-grid[data-v-86915100]{display:grid;grid-template-columns:1fr;gap:12px}.sensor-item[data-v-86915100]{padding:16px;border:2px solid var(--gray-light, #e5e7eb);border-radius:8px;cursor:pointer;transition:all .2s;position:relative}.sensor-item[data-v-86915100]:hover{border-color:var(--primary-color, #2e7d32);background-color:#f0fdf4}.sensor-item.selected[data-v-86915100]{border-color:var(--primary-color, #2e7d32);background-color:#f0fdf4;box-shadow:0 0 0 3px #2e7d321a}.sensor-item-header[data-v-86915100]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.sensor-icon[data-v-86915100]{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,var(--danger-color, #ef4444),#dc2626);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.sensor-info h4[data-v-86915100]{margin:0;font-size:14px;font-weight:600;color:var(--dark-color, #1f2937)}.sensor-id[data-v-86915100]{margin:4px 0 0;font-size:12px;color:var(--gray-color, #6b7280)}.sensor-item-details[data-v-86915100]{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px}.detail-row[data-v-86915100]{display:flex;justify-content:space-between;align-items:center}.detail-row .label[data-v-86915100]{color:var(--gray-color, #6b7280);font-weight:500}.detail-row .value[data-v-86915100]{color:var(--dark-color, #1f2937);font-weight:600}.selection-indicator[data-v-86915100]{position:absolute;top:12px;right:12px;color:var(--primary-color, #2e7d32);font-size:24px}.no-sensors-message[data-v-86915100]{text-align:center;padding:60px 20px;color:var(--gray-color, #6b7280)}.no-sensors-message ion-icon[data-v-86915100]{font-size:48px;color:var(--gray-light, #e5e7eb);margin-bottom:12px}.confirm-text[data-v-86915100]{font-size:15px;color:var(--gray-color, #6b7280);margin:0 0 16px;line-height:1.6}.confirm-text strong[data-v-86915100]{color:var(--dark-color, #1f2937)}.warning-box[data-v-86915100]{background:#f59e0b1a;border-left:4px solid #f59e0b;padding:12px 16px;border-radius:6px;display:flex;align-items:flex-start;gap:12px}.warning-box span[data-v-86915100]{font-size:14px;color:#78350f;line-height:1.5}.modal-fade-enter-active[data-v-86915100],.modal-fade-leave-active[data-v-86915100]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-86915100],.modal-fade-leave-to[data-v-86915100]{opacity:0}@media(max-width:768px){.modal-content[data-v-86915100]{width:95%;max-height:95vh}.sensor-item-details[data-v-86915100]{grid-template-columns:1fr}}.ActuatorDetailPanel[data-v-7c71fa41]{width:100%;height:100%;overflow-y:auto;background:var(--bg-color, #f3f4f6);padding:1.5rem}.loading-state[data-v-7c71fa41]{display:flex;justify-content:center;align-items:center;min-height:400px}.error-state[data-v-7c71fa41]{display:flex;justify-content:center;align-items:center;min-height:400px;background:#fff5f5;border-radius:12px;border:1px dashed #f87171}.error-message[data-v-7c71fa41]{display:flex;align-items:center;gap:12px;color:#dc2626;font-weight:600}.error-message ion-icon[data-v-7c71fa41]{font-size:2rem}.status-hero[data-v-7c71fa41]{border-radius:12px;border:.5px solid #e5e7eb;background:#fff;padding:1.25rem 1.5rem;margin-bottom:1rem;display:flex;align-items:center;gap:1.5rem}.status-indicator[data-v-7c71fa41]{width:90px;height:90px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0}.status-indicator.off[data-v-7c71fa41]{background:#ffccbc;border:1px solid #FF8A65}.status-indicator.on[data-v-7c71fa41]{background:#c8e6c9;border:1px solid #66BB6A}.status-indicator ion-icon[data-v-7c71fa41]{font-size:40px}.status-indicator.off ion-icon[data-v-7c71fa41]{color:#bf360c}.status-indicator.on ion-icon[data-v-7c71fa41]{color:#1b5e20}.status-text[data-v-7c71fa41]{font-size:11px;font-weight:600;letter-spacing:.03em}.status-indicator.off .status-text[data-v-7c71fa41]{color:#bf360c}.status-indicator.on .status-text[data-v-7c71fa41]{color:#1b5e20}.hero-name[data-v-7c71fa41]{font-size:18px;font-weight:500;color:var(--dark-color, #1f2937);margin-bottom:3px}.hero-id[data-v-7c71fa41]{font-size:12px;color:#4b5563;font-family:monospace}.detail-grid[data-v-7c71fa41]{display:grid;grid-template-columns:65% 35%;gap:1rem;margin-bottom:1rem}.detail-card[data-v-7c71fa41]{background:#fff;border:.5px solid #e5e7eb;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column}.sidebar-schedules[data-v-7c71fa41]{display:flex;flex-direction:column;gap:16px}@media(max-width:900px){.detail-grid[data-v-7c71fa41]{grid-template-columns:1fr}}@media(max-width:768px){.ActuatorDetailPanel[data-v-7c71fa41]{padding:1rem}.status-hero[data-v-7c71fa41]{padding:1rem;gap:1rem}.status-indicator[data-v-7c71fa41]{width:64px;height:64px}.status-indicator ion-icon[data-v-7c71fa41]{font-size:22px}.hero-name[data-v-7c71fa41]{font-size:16px}}.ActuatorDetailView[data-v-7e4d6a4c]{width:100%;height:100%}.modal-overlay[data-v-2754ac90]{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.modal-content[data-v-2754ac90]{background:var(--card-bg, #fff);border-radius:8px;box-shadow:0 10px 40px #00000026;max-width:400px;width:100%}.modal-sm[data-v-2754ac90]{max-width:400px}.modal-header[data-v-2754ac90]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color, #e0e0e0);background:linear-gradient(135deg,var(--danger-color, #ef4444) 0%,#dc2626 100%);color:#fff}.modal-header h3[data-v-2754ac90]{margin:0;font-size:1.05rem;font-weight:600;display:flex;align-items:center;gap:8px}.close-button[data-v-2754ac90]{background:none;border:none;font-size:1.8rem;color:#fff;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button[data-v-2754ac90]:hover{background-color:#fff3}.modal-body[data-v-2754ac90]{padding:20px 24px}.modal-body p[data-v-2754ac90]{margin:0 0 12px;font-size:.95rem;line-height:1.5;color:var(--text-primary, #333)}.modal-body p[data-v-2754ac90]:last-child{margin-bottom:0;color:var(--danger-color, #ef4444);font-weight:600;margin-top:12px}.modal-footer[data-v-2754ac90]{display:flex;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color, #e0e0e0);background-color:var(--bg-light, #f8f9fa);justify-content:flex-end}.btn[data-v-2754ac90]{padding:10px 20px;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-secondary[data-v-2754ac90]{background-color:var(--secondary-color, #6c757d);color:#fff}.btn-secondary[data-v-2754ac90]:hover{background-color:#5a6268;transform:translateY(-1px);box-shadow:0 4px 12px #6c757d4d}.btn-danger[data-v-2754ac90]{background-color:var(--danger-color, #ef4444);color:#fff}.btn-danger[data-v-2754ac90]:hover{background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}@media(max-width:480px){.modal-content[data-v-2754ac90]{max-width:100%}.modal-footer[data-v-2754ac90]{flex-direction:column;gap:8px}.btn[data-v-2754ac90]{width:100%}}.modal-overlay[data-v-54434467]{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-content[data-v-54434467]{background:var(--card-bg, #fff);border-radius:8px;box-shadow:0 10px 40px #00000026;max-width:500px;width:100%;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header[data-v-54434467]{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color, #e0e0e0);background:linear-gradient(135deg,var(--primary-color, #007bff) 0%,var(--primary-dark, #0056b3) 100%);color:#fff}.modal-header h3[data-v-54434467]{margin:0;font-size:1.1rem;font-weight:600}.close-button[data-v-54434467]{background:none;border:none;font-size:1.8rem;color:#fff;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button[data-v-54434467]:hover{background-color:#fff3}.modal-body[data-v-54434467]{padding:24px;flex:1;overflow-y:auto}.modal-body p[data-v-54434467]{margin:0 0 12px;font-size:.95rem;line-height:1.5;color:var(--text-primary, #333)}.modal-body strong[data-v-54434467]{color:var(--text-primary, #333);font-weight:600}.modal-description[data-v-54434467]{background-color:var(--bg-light, #f8f9fa);padding:12px;border-radius:4px;border-left:3px solid var(--primary-color, #007bff);margin-top:16px!important}.modal-description strong[data-v-54434467]{display:block;margin-bottom:8px}.modal-description p[data-v-54434467]{margin:0;color:var(--text-secondary, #666)}.modal-footer[data-v-54434467]{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--border-color, #e0e0e0);background-color:var(--bg-light, #f8f9fa);justify-content:flex-end}.btn[data-v-54434467]{padding:10px 20px;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.btn-primary[data-v-54434467]{background-color:var(--primary-color, #007bff);color:#fff}.btn-primary[data-v-54434467]:hover{background-color:var(--primary-dark, #0056b3);transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.btn-danger[data-v-54434467]{background-color:var(--danger-color, #ef4444);color:#fff}.btn-danger[data-v-54434467]:hover{background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-secondary[data-v-54434467]{background-color:var(--secondary-color, #6c757d);color:#fff}.btn-secondary[data-v-54434467]:hover{background-color:#5a6268;transform:translateY(-1px);box-shadow:0 4px 12px #6c757d4d}.btn-disabled[data-v-54434467]{background-color:silver;color:#666;cursor:not-allowed;opacity:.6}.btn-disabled[data-v-54434467]:hover{background-color:silver;transform:none;box-shadow:none}@media(max-width:480px){.modal-content[data-v-54434467]{max-width:100%}.modal-header[data-v-54434467],.modal-body[data-v-54434467]{padding:16px}.modal-footer[data-v-54434467]{padding:16px;flex-direction:column;gap:8px}.btn[data-v-54434467]{width:100%}}.pagination-controls[data-v-d4cc5aa9]{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:14px 20px;background-color:var(--bg-light, #f9fafb);border-top:1px solid var(--border-color, #e5e7eb);border-radius:0 0 10px 10px}.rows-per-page[data-v-d4cc5aa9]{display:flex;align-items:center;gap:8px}.rows-per-page label[data-v-d4cc5aa9]{font-size:13px;font-weight:500;color:var(--text-secondary, #6b7280);white-space:nowrap}.rows-per-page select[data-v-d4cc5aa9]{padding:5px 10px;border:1px solid var(--border-color, #d1d5db);border-radius:6px;background-color:#fff;color:var(--text-primary, #374151);font-size:13px;cursor:pointer;transition:border-color .2s}.rows-per-page select[data-v-d4cc5aa9]:hover,.rows-per-page select[data-v-d4cc5aa9]:focus{border-color:#2e7d32;outline:none}.pagination-info[data-v-d4cc5aa9]{font-size:13px;font-weight:500;color:var(--text-secondary, #6b7280)}.pagination-buttons[data-v-d4cc5aa9]{display:flex;align-items:center;gap:10px}.pagination-btn[data-v-d4cc5aa9]{width:34px;height:34px;border:1px solid var(--border-color, #d1d5db);border-radius:6px;background-color:#fff;color:var(--text-primary, #374151);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:18px}.pagination-btn[data-v-d4cc5aa9]:hover:not(:disabled){border-color:#2e7d32;background-color:#dcfce7;color:#2e7d32}.pagination-btn[data-v-d4cc5aa9]:disabled{opacity:.45;cursor:not-allowed}.page-indicator[data-v-d4cc5aa9]{font-size:13px;font-weight:500;color:var(--text-primary, #374151);min-width:110px;text-align:center}@media(max-width:600px){.pagination-controls[data-v-d4cc5aa9]{flex-direction:column;gap:10px;align-items:center;padding:12px 16px}.rows-per-page[data-v-d4cc5aa9]{width:100%;justify-content:center}.pagination-info[data-v-d4cc5aa9]{text-align:center}.pagination-buttons[data-v-d4cc5aa9]{width:100%;justify-content:center}.pagination-btn[data-v-d4cc5aa9]{width:40px;height:40px;font-size:20px}}.NotificationsDashboardView[data-v-f5411b73]{width:100%;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e9ecef);padding:1.5rem;box-sizing:border-box}.header[data-v-f5411b73]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:0 .5rem}.header-title[data-v-f5411b73]{display:flex;align-items:center;gap:12px}.header-icon[data-v-f5411b73]{font-size:2rem;color:var(--primary-color)}.header h1[data-v-f5411b73]{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.total-badge[data-v-f5411b73]{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);padding:.5rem 1rem;border-radius:50px;display:flex;align-items:center;gap:8px;color:#fff;font-weight:600;box-shadow:0 4px 12px #2e7d324d}.total-number[data-v-f5411b73]{font-size:1.25rem;font-weight:700}.selection-bar[data-v-f5411b73]{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:1000;animation:slideUp-f5411b73 .3s ease-out}@keyframes slideUp-f5411b73{0%{transform:translate(-50%) translateY(100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.selection-bar-content[data-v-f5411b73]{background:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:60px;padding:.75rem 1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 8px 32px #0000001f,0 2px 4px #0000000d;border:1px solid rgba(255,255,255,.2)}.selection-info[data-v-f5411b73]{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--primary-color);padding-right:1rem;border-right:1px solid #e5e7eb}.selection-info ion-icon[data-v-f5411b73]{font-size:1.25rem}.selection-actions[data-v-f5411b73]{display:flex;gap:.75rem}.selection-btn[data-v-f5411b73]{padding:.5rem 1rem;border-radius:40px;border:none;font-weight:500;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s;font-size:.875rem}.selection-btn.mark-read[data-v-f5411b73]{background:var(--success-color);color:#fff}.selection-btn.mark-read[data-v-f5411b73]:hover{background:#2e7d32;transform:translateY(-1px)}.selection-btn.delete[data-v-f5411b73]{background:var(--danger-color);color:#fff}.selection-btn.delete[data-v-f5411b73]:hover{background:#d32f2f;transform:translateY(-1px)}.selection-btn.cancel[data-v-f5411b73]{background:#6c757d;color:#fff}.selection-btn.cancel[data-v-f5411b73]:hover{background:#5a6268;transform:translateY(-1px)}.selection-btn[data-v-f5411b73]:disabled{opacity:.6;cursor:not-allowed}.control-panel[data-v-f5411b73]{background:#fff;border-radius:1rem;padding:1rem 1.5rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000000a}.filter-section[data-v-f5411b73]{display:flex;gap:.5rem;flex-wrap:wrap}.filter-chip[data-v-f5411b73]{padding:.5rem 1rem;border-radius:40px;border:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s;font-weight:500;color:#4b5563}.filter-chip[data-v-f5411b73]:hover{background:#f9fafb;border-color:var(--primary-color);transform:translateY(-1px)}.filter-chip.active[data-v-f5411b73]{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-color:transparent;box-shadow:0 2px 8px #2e7d324d}.filter-count[data-v-f5411b73]{background:#0000001a;padding:.125rem .5rem;border-radius:20px;font-size:.75rem;font-weight:600}.filter-chip.active .filter-count[data-v-f5411b73]{background:#fff3}.action-section[data-v-f5411b73]{display:flex;align-items:center;gap:.5rem}.select-all-chip[data-v-f5411b73]{padding:.5rem 1rem;border-radius:40px;border:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500}.select-all-chip[data-v-f5411b73]:hover{background:#f9fafb;border-color:var(--primary-color)}.refresh-btn[data-v-f5411b73]{width:38px;height:38px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.refresh-btn[data-v-f5411b73]:hover{background:#f9fafb;transform:rotate(180deg)}.alert-list[data-v-f5411b73]{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 4px 12px #00000014}.alert-item[data-v-f5411b73]{padding:1.25rem 1.5rem;border-bottom:1px solid #f0f0f0;transition:all .2s;display:flex;align-items:flex-start;gap:1rem;cursor:pointer;position:relative}.alert-item[data-v-f5411b73]:hover{background:#fafbfc;transform:translate(4px)}.alert-item.selected[data-v-f5411b73]{background:#e8f5e9}.alert-item.unread[data-v-f5411b73]{border-left:4px solid #ff9800}.alert-item.status-false[data-v-f5411b73]{border-left:4px solid var(--danger-color)}.alert-item.status-true[data-v-f5411b73]{border-left:4px solid var(--success-color)}.custom-checkbox[data-v-f5411b73]{width:20px;height:20px;border:2px solid #d1d5db;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;background:#fff}.custom-checkbox.checked[data-v-f5411b73]{background:var(--primary-color);border-color:var(--primary-color)}.custom-checkbox.checked ion-icon[data-v-f5411b73]{color:#fff;font-size:12px}.alert-icon[data-v-f5411b73]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-icon ion-icon[data-v-f5411b73]{font-size:1.5rem}.alert-content[data-v-f5411b73]{flex:1;min-width:0}.alert-header[data-v-f5411b73]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.alert-title[data-v-f5411b73]{font-weight:700;color:#1f2937;font-size:1rem}.alert-time[data-v-f5411b73]{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#9ca3af}.alert-desc[data-v-f5411b73]{color:#6b7280;font-size:.875rem;margin-bottom:.75rem;line-height:1.4}.alert-footer[data-v-f5411b73]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.alert-source[data-v-f5411b73]{display:flex;align-items:center;gap:4px;font-size:.75rem;padding:.25rem .75rem;background:#f3f4f6;border-radius:20px;color:#6b7280}.alert-badge[data-v-f5411b73]{display:flex;align-items:center;gap:4px;font-size:.7rem;padding:.25rem .75rem;border-radius:20px;font-weight:500}.unread-badge[data-v-f5411b73]{background:#fff3e0;color:#ff9800}.read-badge[data-v-f5411b73]{background:#e8f5e9;color:#4caf50}.empty-state[data-v-f5411b73]{text-align:center;padding:4rem 2rem;background:#fff;border-radius:1rem}.empty-animation[data-v-f5411b73]{font-size:4rem;color:#d1d5db;margin-bottom:1rem;animation:bounce-f5411b73 2s infinite}@keyframes bounce-f5411b73{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state h3[data-v-f5411b73]{font-size:1.25rem;color:#374151;margin-bottom:.5rem}.empty-state p[data-v-f5411b73]{color:#9ca3af}@media(max-width:768px){.NotificationsDashboardView[data-v-f5411b73]{padding:1rem}.header h1[data-v-f5411b73]{font-size:1.25rem}.header-icon[data-v-f5411b73]{font-size:1.5rem}.control-panel[data-v-f5411b73]{flex-direction:row;align-items:stretch}.filter-section[data-v-f5411b73]{justify-content:center}.filter-chip span[data-v-f5411b73]{display:none}.action-section[data-v-f5411b73]{justify-content:center}.selection-bar-content[data-v-f5411b73]{padding:.5rem 1rem;gap:.75rem}.selection-info span[data-v-f5411b73]{font-size:.875rem}.selection-btn span[data-v-f5411b73]{display:none}.selection-btn[data-v-f5411b73]{padding:.5rem}.alert-item[data-v-f5411b73]{padding:1rem}.alert-header[data-v-f5411b73]{flex-direction:column;gap:.25rem}}.group-card[data-v-b7f328ac]{border:2px solid #e0e0e0;border-radius:12px;padding:25px 15px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;height:160px;justify-content:space-between;position:relative;min-width:200px}.group-card[data-v-b7f328ac]:hover{transform:translateY(-4px);box-shadow:0 6px 12px #0000001a;border-color:#b0b0b0}.group-card.selected[data-v-b7f328ac]{border-color:#2e7d32;background:linear-gradient(135deg,#fff,#f8fff8);box-shadow:0 8px 16px #2e7d3226;transform:translateY(-2px)}.group-color[data-v-b7f328ac]{width:50px;height:50px;border-radius:12px;margin-bottom:20px;box-shadow:0 4px 8px #0003;border:3px solid white;transition:transform .3s;flex-shrink:0}.group-card:hover .group-color[data-v-b7f328ac]{transform:scale(1.1)}.group-name[data-v-b7f328ac]{font-weight:600;color:#333;font-size:16px;line-height:1.4;margin-bottom:8px;word-break:break-word;overflow-wrap:break-word;white-space:normal;min-width:0;flex-grow:1;display:flex;align-items:center}.group-type[data-v-b7f328ac]{font-size:12px;color:#666;text-transform:uppercase;font-weight:500;letter-spacing:1px;background:#f0f0f0;padding:4px 12px;border-radius:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-indicator[data-v-b7f328ac]{position:absolute;top:10px;right:10px;width:24px;height:24px;background:#2e7d32;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;animation:popIn-b7f328ac .3s ease}@keyframes popIn-b7f328ac{0%{transform:scale(0)}to{transform:scale(1)}}.btn-delete-group[data-v-b7f328ac]{position:absolute;bottom:8px;right:8px;background:#ef4444;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .3s ease;font-size:12px}.group-card:hover .btn-delete-group[data-v-b7f328ac]{opacity:1;transform:scale(1)}.btn-delete-group[data-v-b7f328ac]:hover{background:#dc2626;transform:scale(1.1)}.new-group-modal[data-v-72a58f8a]{width:100%;max-width:520px;min-width:420px;box-sizing:border-box}.modal-content[data-v-72a58f8a]{padding:20px;width:100%;max-width:none;box-sizing:border-box}.color-selector-container[data-v-72a58f8a]{margin-top:10px}.color-selector[data-v-72a58f8a]{display:flex;align-items:center;gap:20px;background:#f8f8f8;padding:20px;border-radius:12px;border:2px solid var(--border-light)}.color-input[data-v-72a58f8a]{width:60px;height:60px;border:none;border-radius:10px;cursor:pointer;padding:0;background:transparent;box-shadow:0 4px 8px #0003}.color-input[data-v-72a58f8a]::-webkit-color-swatch-wrapper{padding:0}.color-input[data-v-72a58f8a]::-webkit-color-swatch{border:3px solid white;border-radius:8px;box-shadow:inset 0 2px 4px #0003}.color-input[data-v-72a58f8a]:hover{transform:scale(1.05)}.color-display[data-v-72a58f8a]{display:flex;align-items:center;gap:15px}.color-preview[data-v-72a58f8a]{width:40px;height:40px;border-radius:8px;box-shadow:0 2px 6px #0003;border:2px solid white}.color-hex[data-v-72a58f8a]{font-family:Monaco,Consolas,monospace;font-size:15px;color:var(--text-primary);background:#fff;padding:8px 15px;border-radius:6px;border:1px solid var(--border-light);font-weight:500;letter-spacing:1px}.color-hint[data-v-72a58f8a]{margin-top:15px;color:var(--text-secondary);font-size:13px;display:flex;align-items:center;gap:8px;padding:10px 15px;background:#f0f0f0;border-radius:8px;border-left:4px solid var(--green-primary)}.color-hint i[data-v-72a58f8a]{color:var(--green-primary)}.form-group[data-v-72a58f8a]{margin-bottom:25px}.form-group label[data-v-72a58f8a]{display:block;margin-bottom:10px;font-weight:600;color:var(--text-primary);font-size:15px}.form-control[data-v-72a58f8a]{width:100%;padding:14px;border:2px solid var(--border-light);border-radius:10px;font-size:15px;transition:all .3s;background:#fff;color:var(--text-primary)}.form-control[data-v-72a58f8a]::placeholder{color:var(--text-secondary)}.form-control[data-v-72a58f8a]:focus{outline:none;border-color:var(--green-primary);box-shadow:0 0 0 3px #2e7d321a}.form-actions[data-v-72a58f8a]{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid var(--border-light)}.btn[data-v-72a58f8a]{padding:12px 24px;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;transition:all .3s;border:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:120px}.btn-primary[data-v-72a58f8a]{background:var(--green-primary);color:#fff}.btn-primary[data-v-72a58f8a]:hover:not(:disabled){background:var(--green-dark);transform:translateY(-2px);box-shadow:0 6px 12px #2e7d3240}.btn-secondary[data-v-72a58f8a]{background:#fff;color:var(--text-primary);border:2px solid var(--border-light)}.btn-secondary[data-v-72a58f8a]:hover:not(:disabled){background:#f5f5f5;border-color:var(--green-primary);transform:translateY(-2px)}.btn[data-v-72a58f8a]:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.modal-fade-enter-active[data-v-72a58f8a],.modal-fade-leave-active[data-v-72a58f8a]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-72a58f8a],.modal-fade-leave-to[data-v-72a58f8a]{opacity:0}.notification[data-v-f965c0aa]{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:10px;margin-top:20px;animation:slideIn-f965c0aa .3s ease-out;border-left:4px solid}.notification.error[data-v-f965c0aa]{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left-color:#dc2626}.notification.success[data-v-f965c0aa]{background:linear-gradient(135deg,#f0f9f0,#e6f7e6);border-left-color:#2e7d32}.notification.warning[data-v-f965c0aa]{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-left-color:#f59e0b}.notification.info[data-v-f965c0aa]{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left-color:#3b82f6}.notification.error i[data-v-f965c0aa]{color:#dc2626;font-size:18px}.notification.success i[data-v-f965c0aa]{color:#2e7d32;font-size:18px}.notification.warning i[data-v-f965c0aa]{color:#f59e0b;font-size:18px}.notification.info i[data-v-f965c0aa]{color:#3b82f6;font-size:18px}.notification.error span[data-v-f965c0aa]{color:#7f1d1d;font-weight:500;font-size:14px}.notification.success span[data-v-f965c0aa]{color:#145214;font-weight:500;font-size:14px}.notification.warning span[data-v-f965c0aa]{color:#78350f;font-weight:500;font-size:14px}.notification.info span[data-v-f965c0aa]{color:#1e3a8a;font-weight:500;font-size:14px}.close-btn[data-v-f965c0aa]{background:none;border:none;color:#666;cursor:pointer;padding:5px;border-radius:4px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:auto}.close-btn[data-v-f965c0aa]:hover{background:#0000001a}@keyframes slideIn-f965c0aa{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.lifecycle-badge[data-v-9900910c]{display:inline-flex;align-items:center;gap:6px;margin-bottom:20px;padding:8px 14px;border-radius:6px;border:2px solid;font-weight:600;font-size:13px;animation:pulse-badge-9900910c 1.5s ease-in-out infinite;cursor:help}.lifecycle-badge ion-icon[data-v-9900910c]{font-size:16px}input[data-v-9900910c]::placeholder{color:#86868663}@keyframes pulse-badge-9900910c{0%,to{opacity:1}50%{opacity:.75}}.form-wrapper .close-button[data-v-0f9c47fc]{position:absolute;top:15px;right:15px;z-index:10}.delete-modal-overlay[data-v-0f9c47fc]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.delete-modal-content[data-v-0f9c47fc]{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;width:90%;animation:slideUp-0f9c47fc .3s ease}@keyframes slideUp-0f9c47fc{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-0f9c47fc]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h3[data-v-0f9c47fc]{margin:0;font-size:18px;font-weight:600;color:#1f2937}.close-button-modal[data-v-0f9c47fc]{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280;transition:color .2s}.close-button-modal[data-v-0f9c47fc]:hover{color:#1f2937}.modal-body[data-v-0f9c47fc]{padding:20px}.delete-warning[data-v-0f9c47fc]{display:flex;gap:12px;margin-bottom:20px;padding:12px;background:#fef2f2;border-radius:8px;border-left:4px solid #ef4444}.delete-warning i[data-v-0f9c47fc]{color:#ef4444;font-size:18px;flex-shrink:0;margin-top:2px}.delete-warning p[data-v-0f9c47fc]{margin:0;color:#1f2937;font-size:14px;line-height:1.5}.delete-warning strong[data-v-0f9c47fc]{font-weight:600}.cascade-option[data-v-0f9c47fc]{margin-bottom:20px;padding:12px;background:#f9fafb;border-radius:8px}.cascade-option label[data-v-0f9c47fc]{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#1f2937}.cascade-option input[type=checkbox][data-v-0f9c47fc]{width:18px;height:18px;cursor:pointer;accent-color:#2e7d32}.cascade-description[data-v-0f9c47fc]{margin:8px 0 0 26px;font-size:12px;color:#6b7280;line-height:1.4}.form-actions[data-v-0f9c47fc]{display:flex;gap:10px;justify-content:flex-end}.btn[data-v-0f9c47fc]{padding:8px 16px;border-radius:6px;border:none;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s}.btn-secondary[data-v-0f9c47fc]{background:#e5e7eb;color:#1f2937}.btn-secondary[data-v-0f9c47fc]:hover:not(:disabled){background:#d1d5db}.btn-danger[data-v-0f9c47fc]{background:#ef4444;color:#fff}.btn-danger[data-v-0f9c47fc]:hover:not(:disabled){background:#dc2626}.btn[data-v-0f9c47fc]:disabled{opacity:.5;cursor:not-allowed}.SensorManagement-container[data-v-109d1615]{width:100%;height:100%;padding:1.5rem;box-sizing:border-box;position:relative;overflow:auto;display:flex;flex-direction:column}.formSensor[data-v-109d1615]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;max-height:90vh;overflow-y:auto}.modal-fade-enter-active[data-v-109d1615],.modal-fade-leave-active[data-v-109d1615]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-109d1615],.modal-fade-leave-to[data-v-109d1615]{opacity:0}.modal-content[data-v-109d1615]{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.delete-modal[data-v-109d1615]{max-width:400px}.modal-header h3[data-v-109d1615]{margin:0;color:var(--text-primary);font-size:1.3rem}.form-group[data-v-109d1615]{margin-bottom:20px}.form-row[data-v-109d1615]{display:flex;gap:15px}.form-row .form-group[data-v-109d1615]{flex:1}.form-group label[data-v-109d1615]{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary)}.form-group input[data-v-109d1615],.form-group select[data-v-109d1615]{width:100%;padding:10px 12px;border:2px solid var(--border-light);border-radius:8px;font-size:.9rem;transition:border-color .3s;color:var(--text-primary)}.form-group input[data-v-109d1615]:focus,.form-group select[data-v-109d1615]:focus{outline:none;border-color:var(--green-primary)}.form-actions[data-v-109d1615]{display:flex;gap:12px;justify-content:flex-end;margin-top:25px}.btn-danger[data-v-109d1615]{background-color:#d32f2f;color:#fff}.btn-danger[data-v-109d1615]:hover{background-color:#c62828}.delete-warning[data-v-109d1615]{text-align:center;padding:20px 0}.delete-warning i[data-v-109d1615]{font-size:3rem;color:var(--warning-color);margin-bottom:15px}.warning-text[data-v-109d1615]{color:var(--danger-color);font-weight:600;margin-top:10px}.sensor-status-indicator[data-v-109d1615]{width:8px;height:8px;border-radius:50%;margin-top:4px}.sensor-status-indicator.active[data-v-109d1615]{background-color:#4caf50}.sensor-status-indicator.inactive[data-v-109d1615]{background-color:#9e9e9e}.sensor-status-indicator.maintenance[data-v-109d1615]{background-color:#ff9800}.status-badge[data-v-109d1615]{padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:600}.status-badge.active[data-v-109d1615]{background-color:#e8f5e8;color:#2e7d32}.status-badge.inactive[data-v-109d1615]{background-color:#f5f5f5;color:#666}.status-badge.maintenance[data-v-109d1615]{background-color:#fff3e0;color:#ef6c00}.inactive-sensor[data-v-109d1615]{opacity:.7;background-color:#fafafa}.icon-ambiental[data-v-109d1615]{background:linear-gradient(135deg,#4caf50,#2e7d32)}.icon-suelo[data-v-109d1615]{background:linear-gradient(135deg,#795548,#5d4037)}.icon-luz[data-v-109d1615]{background:linear-gradient(135deg,#ff9800,#f57c00)}.icon-agua[data-v-109d1615]{background:linear-gradient(135deg,#2196f3,#1976d2)}.toast[data-v-109d1615]{position:fixed;top:20px;right:20px;padding:15px 20px;border-radius:8px;color:#fff;display:flex;align-items:center;gap:10px;z-index:1001;animation:slideInRight-109d1615 .3s ease;box-shadow:0 4px 12px #00000026}.toast.success[data-v-109d1615]{background-color:#4caf50}.toast.error[data-v-109d1615]{background-color:#f44336}.toast.warning[data-v-109d1615]{background-color:#ff9800}.toast.info[data-v-109d1615]{background-color:#2196f3}.toast-close[data-v-109d1615]{background:none;border:none;color:#fff;cursor:pointer;padding:5px;border-radius:4px;transition:background-color .3s}.toast-close[data-v-109d1615]:hover{background-color:#fff3}@keyframes fadeIn-109d1615{0%{opacity:0}to{opacity:1}}@keyframes slideUp-109d1615{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight-109d1615{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.fa-spin[data-v-109d1615]{animation:fa-spin-109d1615 1s infinite linear}@keyframes fa-spin-109d1615{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-header[data-v-109d1615]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dashboard-title[data-v-109d1615]{font-size:1.8rem;font-weight:600;color:#2e7d32}.back-button[data-v-109d1615]{display:inline-flex;align-items:center;padding:8px 16px;background-color:#2e7d32;color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:all .3s;cursor:pointer;border:none}.back-button i[data-v-109d1615]{margin-right:8px}.crud-header[data-v-109d1615]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px #00000014}.crud-title[data-v-109d1615]{font-size:1.4rem;font-weight:600;color:#333}.crud-actions[data-v-109d1615]{display:flex;gap:15px}.btn-secondary[data-v-109d1615]{background-color:#e0e0e0;color:#333}.btn-primary[data-v-109d1615]{background-color:#2e7d32;color:#fff}.btn[data-v-109d1615]{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.btn[data-v-109d1615]:hover{transform:translateY(-3%);box-shadow:0 4px 8px #00000026}.sensors-table-container[data-v-109d1615]{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden}.table-responsive[data-v-109d1615]{max-height:550px;overflow-x:auto;overflow-y:auto}.sensors-table[data-v-109d1615]{width:100%;border-collapse:collapse;min-width:1000px}.sensors-table tbody[data-v-109d1615]{overflow:auto}.sensors-table th[data-v-109d1615]{background-color:#f8f9fa;padding:16px 20px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;font-size:.9rem}.sensors-table td[data-v-109d1615]{padding:16px 20px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.sensor-info[data-v-109d1615]{display:flex;align-items:center;gap:12px}.sensor-icon[data-v-109d1615]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff}.sensor-details h4[data-v-109d1615]{font-weight:600;color:#333;margin-bottom:4px}.sensor-group[data-v-109d1615]{display:inline-block;padding:6px 12px;border-radius:15px;font-size:.8rem;font-weight:600}.group-ambiental[data-v-109d1615]{background-color:#4caf501a;color:#2e7d32}.group-suelo[data-v-109d1615]{background-color:#7955481a;color:#5d4037}.group-luz[data-v-109d1615]{background-color:#ff98001a;color:#ef6c00}.group-agua[data-v-109d1615]{background-color:#2196f31a;color:#1565c0}.config-label[data-v-109d1615]{font-weight:500;color:#333}.config-values[data-v-109d1615]{font-size:.85rem;color:#666;line-height:1.4}.table-actions[data-v-109d1615]{display:flex;gap:8px;justify-content:left}.btn-icon.edit[data-v-109d1615]{background-color:#1976d21a;color:#1976d2}.btn-icon[data-v-109d1615]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .3s;font-size:.9rem}.btn-icon[data-v-109d1615]:hover{transform:scale(1.1)}.btn-icon.delete[data-v-109d1615]{background-color:#d32f2f1a;color:#d32f2f}.modal-overlay[data-v-109d1615]{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-header[data-v-109d1615]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-light)}.modal-header h3[data-v-109d1615]{margin:0;font-size:1.3rem;color:#333}.close-button[data-v-109d1615]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;transition:color .2s}.close-button[data-v-109d1615]:hover{color:#000}.modal-body[data-v-109d1615]{padding:20px}.delete-warning[data-v-109d1615]{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:20px}.delete-warning i[data-v-109d1615]{font-size:3rem;color:#ff9800;margin-bottom:15px}.delete-warning p[data-v-109d1615]{margin:10px 0;color:#333;line-height:1.5}.delete-warning p strong[data-v-109d1615]{color:#d32f2f;font-weight:600}.warning-text[data-v-109d1615]{color:#ff6f00;font-weight:500;font-size:.9rem}.form-actions[data-v-109d1615]{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.group-header-row[data-v-109d1615]{background-color:#f8f9fa;border-top:3px solid #e0e0e0;border-bottom:2px solid #e0e0e0}.group-header[data-v-109d1615]{padding:16px 20px!important;font-weight:600}.group-header-content[data-v-109d1615]{display:flex;align-items:center;gap:12px}.group-color-indicator[data-v-109d1615]{width:12px;height:12px;border-radius:50%}.group-name-text[data-v-109d1615]{font-size:16px;font-weight:600;color:#333}.group-count[data-v-109d1615]{font-size:13px;color:#666;font-weight:500}.pagination-controls[data-v-109d1615]{display:flex;justify-content:center;align-items:center;gap:20px;padding:20px;background-color:#f8f9fa;border-top:1px solid #e0e0e0;border-radius:0 0 12px 12px}.pagination-btn[data-v-109d1615]{padding:10px 16px;background-color:#2e7d32;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;transition:all .3s}.pagination-btn[data-v-109d1615]:hover:not(:disabled){background-color:#1e5a23;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.pagination-btn[data-v-109d1615]:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.page-info[data-v-109d1615]{font-size:14px;font-weight:600;color:#333;min-width:150px;text-align:center}.page-number[data-v-109d1615],.page-total[data-v-109d1615]{font-weight:700;color:#2e7d32}.pagination[data-v-109d1615]{display:flex;justify-content:center;align-items:center;gap:15px;padding:25px 20px;background-color:#f8f9fa;border-top:1px solid #e0e0e0;border-radius:0 0 12px 12px;margin-top:20px}.pagination button[data-v-109d1615]{padding:10px 18px;background-color:#2e7d32;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease}.pagination button[data-v-109d1615]:hover:not(:disabled){background-color:#1e5a23;transform:translateY(-2px);box-shadow:0 4px 12px #2e7d324d}.pagination button[data-v-109d1615]:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.pagination span[data-v-109d1615]{padding:8px 16px;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#333;font-weight:600;font-size:14px;min-width:180px;text-align:center}.lifecycle-indicator[data-v-109d1615]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:16px;background:#ffffffe6;border:2px solid;margin-left:8px}.lifecycle-pending[data-v-109d1615]{color:#ff9800;border-color:#ff9800;animation:pulse-indicator-109d1615 1.5s ease-in-out infinite}.lifecycle-error[data-v-109d1615]{color:#f44336;border-color:#f44336;animation:pulse-error-109d1615 1.5s ease-in-out infinite}@keyframes pulse-indicator-109d1615{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 6px #ff98004d}}@keyframes pulse-error-109d1615{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 6px #f443364d}}.mobile-view[data-v-109d1615]{display:flex;flex-direction:column;gap:1rem}.mobile-empty-state[data-v-109d1615]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;border:1px dashed #d3d3d3;border-radius:16px;color:#555;text-align:center;gap:1rem}.sensor-card[data-v-109d1615]{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;box-shadow:0 8px 24px #0000000d;padding:1rem;display:flex;flex-direction:column;gap:.95rem}.sensor-card-header[data-v-109d1615]{display:flex;align-items:center;justify-content:space-between;gap:.85rem}.sensor-card-icon[data-v-109d1615]{min-width:46px;min-height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.sensor-card-info h4[data-v-109d1615]{margin:0;font-size:1rem;line-height:1.3}.sensor-card-actions[data-v-109d1615]{display:flex;gap:.5rem}.sensor-card-body[data-v-109d1615]{display:grid;gap:.85rem}.card-field[data-v-109d1615]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.field-label[data-v-109d1615]{color:#777;font-size:.85rem}.sensor-group[data-v-109d1615]{padding:.35rem .75rem;border-radius:999px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center}.pagination[data-v-109d1615]{display:flex;justify-content:space-between;align-items:center;gap:.85rem;flex-wrap:wrap;margin-top:.6rem}.pagination button[data-v-109d1615]{min-width:102px}.pagination[data-v-109d1615]{display:flex;justify-content:center;align-items:center;gap:15px;padding:25px 20px;background-color:#fff;border-top:1px solid #e0e0e0;border-radius:0 0 12px 12px;margin-top:20px;flex-wrap:unset}@media(max-width:768px){.crud-header[data-v-109d1615]{flex-direction:column;align-items:center;gap:15px}}.control-option[data-v-4d5a3f82]{display:flex;align-items:center;justify-content:space-between;padding:20px;background:#fff;border-radius:12px;transition:all .3s;border:2px solid #e0e0e0;position:relative}.control-option[data-v-4d5a3f82]:hover:not(.disabled){border-color:#b0b0b0;box-shadow:0 4px 8px #0000001a}.control-option.disabled[data-v-4d5a3f82]{opacity:.7;background:#f8f8f8;border-color:#e0e0e0}.control-info[data-v-4d5a3f82]{flex:1}.control-info h5[data-v-4d5a3f82]{margin:0 0 6px;color:#333;font-size:16px;font-weight:600}.control-info p[data-v-4d5a3f82]{margin:0;color:#666;font-size:14px;line-height:1.4}.disabled-hint[data-v-4d5a3f82]{display:flex;align-items:center;gap:6px;margin-top:8px;color:#ff9800;font-size:12px;font-weight:500}.disabled-hint i[data-v-4d5a3f82]{font-size:12px}.switch[data-v-4d5a3f82]{position:relative;display:inline-block;width:56px;height:30px;flex-shrink:0}.switch input[data-v-4d5a3f82]{opacity:0;width:0;height:0}.slider[data-v-4d5a3f82]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:34px;box-shadow:inset 0 2px 4px #0000001a}.slider[data-v-4d5a3f82]:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.slider[data-v-4d5a3f82]{background:linear-gradient(135deg,#2e7d32,#1b5e20)}input:checked+.slider[data-v-4d5a3f82]:before{transform:translate(26px);box-shadow:0 3px 6px #0000004d}input:disabled+.slider[data-v-4d5a3f82]{opacity:.5;cursor:not-allowed}input:disabled+.slider[data-v-4d5a3f82]:before{background-color:#f0f0f0}.form-step[data-v-4df12e16]{width:100%}.step-header[data-v-4df12e16]{display:flex;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.step-number[data-v-4df12e16]{width:40px;height:40px;background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;margin-right:15px;flex-shrink:0}.step-info[data-v-4df12e16]{flex:1}.step-title[data-v-4df12e16]{font-size:22px;font-weight:600;color:#333;margin:0 0 5px}.step-description[data-v-4df12e16]{color:#666;font-size:14px;margin:0}.lifecycle-badge[data-v-4df12e16]{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;border-radius:6px;border:2px solid;font-weight:600;font-size:12px;animation:pulse-badge-4df12e16 1.5s ease-in-out infinite;cursor:help}.lifecycle-badge ion-icon[data-v-4df12e16]{font-size:14px}@keyframes pulse-badge-4df12e16{0%,to{opacity:1}50%{opacity:.75}}.step-content[data-v-4df12e16]{padding:0 4px}.actuator-config[data-v-4df12e16]{max-width:600px}.form-group[data-v-4df12e16]{margin-bottom:25px}.form-group label[data-v-4df12e16]{display:block;margin-bottom:10px;font-weight:600;color:#333;font-size:15px}.form-control[data-v-4df12e16]{width:100%;padding:14px;border:2px solid #e0e0e0;border-radius:10px;font-size:15px;transition:all .3s;background:#fff;color:#333}.form-control[data-v-4df12e16]::placeholder{color:#999}.form-control[data-v-4df12e16]:focus{outline:none;border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a}.step-section[data-v-4df12e16]{margin-bottom:30px}.step-section h4[data-v-4df12e16]{color:#333;margin-bottom:20px;font-size:18px;font-weight:600;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.control-options[data-v-4df12e16]{display:flex;flex-direction:column;gap:15px}.form-step[data-v-b682dcfa]{width:100%}.step-header[data-v-b682dcfa]{display:flex;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.step-number[data-v-b682dcfa]{width:40px;height:40px;background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;margin-right:15px;flex-shrink:0}.step-info[data-v-b682dcfa]{flex:1}.step-title[data-v-b682dcfa]{font-size:22px;font-weight:600;color:#333;margin:0 0 5px}.step-description[data-v-b682dcfa]{color:#666;font-size:14px;margin:0}.step-content[data-v-b682dcfa]{padding:0 4px}.actuator-config[data-v-b682dcfa]{max-width:600px}.form-group[data-v-b682dcfa]{margin-bottom:25px}.form-group label[data-v-b682dcfa]{display:block;margin-bottom:10px;font-weight:600;color:#333;font-size:15px}.form-control[data-v-b682dcfa]{width:100%;padding:14px;border:2px solid #e0e0e0;border-radius:10px;font-size:15px;transition:all .3s;background:#fff;color:#333}.form-control[data-v-b682dcfa]::placeholder{color:#999}.form-control[data-v-b682dcfa]:focus{outline:none;border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a}.step-section[data-v-b682dcfa]{margin-bottom:30px}.step-section h4[data-v-b682dcfa]{color:#333;margin-bottom:20px;font-size:18px;font-weight:600;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.control-options[data-v-b682dcfa]{display:flex;flex-direction:column;gap:15px}.delete-modal-overlay[data-v-d9858732]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.delete-modal-content[data-v-d9858732]{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;width:90%;animation:slideUp-d9858732 .3s ease}@keyframes slideUp-d9858732{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-d9858732]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h3[data-v-d9858732]{margin:0;font-size:18px;font-weight:600;color:#1f2937}.close-button-modal[data-v-d9858732]{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280;transition:color .2s}.close-button-modal[data-v-d9858732]:hover{color:#1f2937}.modal-body[data-v-d9858732]{padding:20px}.delete-warning[data-v-d9858732]{display:flex;gap:12px;margin-bottom:20px;padding:12px;background:#fef2f2;border-radius:8px;border-left:4px solid #ef4444}.delete-warning i[data-v-d9858732]{color:#ef4444;font-size:18px;flex-shrink:0;margin-top:2px}.delete-warning p[data-v-d9858732]{margin:0;color:#1f2937;font-size:14px;line-height:1.5}.delete-warning strong[data-v-d9858732]{font-weight:600}.cascade-option[data-v-d9858732]{margin-bottom:20px;padding:12px;background:#f9fafb;border-radius:8px}.cascade-option label[data-v-d9858732]{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#1f2937}.cascade-option input[type=checkbox][data-v-d9858732]{width:18px;height:18px;cursor:pointer;accent-color:#2e7d32}.cascade-description[data-v-d9858732]{margin:8px 0 0 26px;font-size:12px;color:#6b7280;line-height:1.4}.form-actions[data-v-d9858732]{display:flex;gap:10px;justify-content:flex-end}.btn[data-v-d9858732]{padding:8px 16px;border-radius:6px;border:none;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s}.btn-secondary[data-v-d9858732]{background:#e5e7eb;color:#1f2937}.btn-secondary[data-v-d9858732]:hover:not(:disabled){background:#d1d5db}.btn-danger[data-v-d9858732]{background:#ef4444;color:#fff}.btn-danger[data-v-d9858732]:hover:not(:disabled){background:#dc2626}.btn[data-v-d9858732]:disabled{opacity:.5;cursor:not-allowed}.form-wrapper .close-button[data-v-d9858732]{position:absolute;top:15px;right:15px;z-index:10}.SensorManagement-container[data-v-d32e44ad]{width:100%;height:100%;padding:1.5rem;box-sizing:border-box;position:relative;overflow:auto;display:flex;flex-direction:column}.form-group[data-v-d32e44ad]{margin-bottom:16px}.form-row[data-v-d32e44ad]{display:flex;gap:12px}.form-row .form-group[data-v-d32e44ad]{flex:1}.form-group label[data-v-d32e44ad]{display:block;margin-bottom:6px;font-weight:600;color:var(--text-primary);font-size:14px}.form-group input[data-v-d32e44ad],.form-group select[data-v-d32e44ad]{width:100%;padding:10px 12px;border:1px solid var(--border-light);border-radius:8px;font-size:14px;transition:all .2s ease;font-family:inherit}.form-group input[data-v-d32e44ad]:focus,.form-group select[data-v-d32e44ad]:focus{outline:none;border-color:var(--green-primary);box-shadow:0 0 0 3px #2e7d321a}.form-actions[data-v-d32e44ad]{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.btn-danger[data-v-d32e44ad]{background-color:var(--red-error);color:#fff}.btn-danger[data-v-d32e44ad]:hover{background-color:#dc2626;transform:translateY(-2px)}.delete-warning[data-v-d32e44ad]{text-align:center;padding:20px 0}.delete-warning i[data-v-d32e44ad]{font-size:48px;color:var(--yellow-warn);margin-bottom:12px;display:block}.warning-text[data-v-d32e44ad]{color:var(--red-error);font-weight:600;margin-top:10px}.sensor-status-indicator[data-v-d32e44ad]{width:8px;height:8px;border-radius:50%;margin-top:4px}.sensor-status-indicator.active[data-v-d32e44ad]{background-color:var(--green-primary)}.sensor-status-indicator.inactive[data-v-d32e44ad]{background-color:#9e9e9e}.sensor-status-indicator.maintenance[data-v-d32e44ad]{background-color:var(--yellow-warn)}.status-badge[data-v-d32e44ad]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.active[data-v-d32e44ad]{background-color:#2e7d321a;color:var(--green-primary)}.status-badge.inactive[data-v-d32e44ad]{background-color:var(--gray-100);color:var(--text-secondary)}.status-badge.maintenance[data-v-d32e44ad]{background-color:#f59e0b1a;color:#d97706}.inactive-sensor[data-v-d32e44ad]{opacity:.7;background-color:var(--gray-50)}.icon-ambiental[data-v-d32e44ad]{background:linear-gradient(135deg,#4caf50,#2e7d32)}.icon-suelo[data-v-d32e44ad]{background:linear-gradient(135deg,#795548,#5d4037)}.icon-luz[data-v-d32e44ad]{background:linear-gradient(135deg,#ff9800,#f57c00)}.icon-agua[data-v-d32e44ad]{background:linear-gradient(135deg,#2196f3,#1976d2)}.toast[data-v-d32e44ad]{position:fixed;top:20px;right:20px;padding:14px 16px;border-radius:8px;color:#fff;display:flex;align-items:center;gap:10px;z-index:1001;animation:slideInRight-d32e44ad .3s ease;box-shadow:0 4px 12px #00000026;font-size:14px}.toast.success[data-v-d32e44ad]{background-color:var(--green-primary)}.toast.error[data-v-d32e44ad]{background-color:var(--red-error)}.toast.warning[data-v-d32e44ad]{background-color:var(--yellow-warn)}.toast.info[data-v-d32e44ad]{background-color:#2196f3}.toast-close[data-v-d32e44ad]{background:none;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.toast-close[data-v-d32e44ad]:hover{background-color:#fff3}@keyframes fadeIn-d32e44ad{0%{opacity:0}to{opacity:1}}@keyframes slideInRight-d32e44ad{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.fa-spin[data-v-d32e44ad]{animation:fa-spin-d32e44ad 1s infinite linear}@keyframes fa-spin-d32e44ad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-header[data-v-d32e44ad]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dashboard-title[data-v-d32e44ad]{font-size:1.8rem;font-weight:600;color:#2e7d32}.back-button[data-v-d32e44ad]{display:inline-flex;align-items:center;padding:8px 16px;background-color:#2e7d32;color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:all .3s;cursor:pointer;border:none}.back-button i[data-v-d32e44ad]{margin-right:8px}.crud-header[data-v-d32e44ad]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px #00000014}.crud-title[data-v-d32e44ad]{font-size:1.4rem;font-weight:600;color:#333}.crud-actions[data-v-d32e44ad]{display:flex;gap:15px}.btn-secondary[data-v-d32e44ad]{background-color:#e0e0e0;color:#333}.btn-primary[data-v-d32e44ad]{background-color:#2e7d32;color:#fff}.btn[data-v-d32e44ad]{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.btn[data-v-d32e44ad]:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.sensors-table-container[data-v-d32e44ad]{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014}.table-responsive[data-v-d32e44ad]{max-height:550px;overflow-x:auto;overflow-y:auto}.sensors-table[data-v-d32e44ad]{width:100%;border-collapse:collapse;min-width:1000px}.sensors-table th[data-v-d32e44ad]{background-color:#f8f9fa;padding:16px 20px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;font-size:.9rem}.sensors-table td[data-v-d32e44ad]{padding:16px 20px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.sensor-info[data-v-d32e44ad]{display:flex;align-items:center;gap:12px}.sensor-icon[data-v-d32e44ad]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:green}.sensor-details h4[data-v-d32e44ad]{font-weight:600;color:#333;margin-bottom:4px}.sensor-group[data-v-d32e44ad]{display:inline-block;padding:6px 12px;border-radius:15px;font-size:.8rem;font-weight:600}.group-ambiental[data-v-d32e44ad]{background-color:#4caf501a;color:#2e7d32}.group-suelo[data-v-d32e44ad]{background-color:#7955481a;color:#5d4037}.group-luz[data-v-d32e44ad]{background-color:#ff98001a;color:#ef6c00}.group-agua[data-v-d32e44ad]{background-color:#2196f31a;color:#1565c0}.config-label[data-v-d32e44ad]{font-weight:500;color:#333}.config-values[data-v-d32e44ad]{font-size:.85rem;color:#666;line-height:1.4}.table-actions[data-v-d32e44ad]{display:flex;gap:8px;justify-content:left}.btn-icon.edit[data-v-d32e44ad]{background-color:#1976d21a;color:#1976d2}.btn-icon[data-v-d32e44ad]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .3s;font-size:.9rem}.btn-icon[data-v-d32e44ad]:hover{transform:scale(1.1)}.btn-icon.config[data-v-d32e44ad]{background-color:#d3942f1b;color:#d3942f}.btn-icon.delete[data-v-d32e44ad]{background-color:#d32f2f1a;color:#d32f2f}.formActuator[data-v-d32e44ad]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;max-height:90vh;overflow-y:auto}.group-header-row[data-v-d32e44ad]{background-color:#f8f9fa;border-top:3px solid #e0e0e0;border-bottom:2px solid #e0e0e0}.group-header[data-v-d32e44ad]{padding:16px 20px!important;font-weight:600}.group-header-content[data-v-d32e44ad]{display:flex;align-items:center;gap:12px}.group-color-indicator[data-v-d32e44ad]{width:12px;height:12px;border-radius:50%}.group-name-text[data-v-d32e44ad]{font-size:16px;font-weight:600;color:#333}.group-count[data-v-d32e44ad]{font-size:13px;color:#666;font-weight:500}.pagination-controls[data-v-d32e44ad]{display:flex;justify-content:center;align-items:center;gap:20px;padding:20px;background-color:#f8f9fa;border-top:1px solid #e0e0e0;border-radius:0 0 12px 12px}.pagination-btn[data-v-d32e44ad]{padding:10px 16px;background-color:#2e7d32;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;transition:all .3s}.pagination-btn[data-v-d32e44ad]:hover:not(:disabled){background-color:#1e5a23;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.pagination-btn[data-v-d32e44ad]:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.page-info[data-v-d32e44ad]{font-size:14px;font-weight:600;color:#333;min-width:150px;text-align:center}.page-number[data-v-d32e44ad],.page-total[data-v-d32e44ad]{font-weight:700;color:#2e7d32}.pagination[data-v-d32e44ad]{display:flex;justify-content:center;align-items:center;gap:15px;padding:25px 20px;background-color:#f8f9fa;border-top:1px solid #e0e0e0;border-radius:0 0 12px 12px;margin-top:20px}.pagination button[data-v-d32e44ad]{padding:10px 18px;background-color:#2e7d32;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease}.pagination button[data-v-d32e44ad]:hover:not(:disabled){background-color:#1e5a23;transform:translateY(-2px);box-shadow:0 4px 12px #2e7d324d}.pagination button[data-v-d32e44ad]:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.pagination span[data-v-d32e44ad]{padding:8px 16px;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#333;font-weight:600;font-size:14px;min-width:180px;text-align:center}.lifecycle-indicator[data-v-d32e44ad]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:16px;background:#ffffffe6;border:2px solid;margin-left:8px}.lifecycle-pending[data-v-d32e44ad]{color:#ff9800;border-color:#ff9800;animation:pulse-indicator-d32e44ad 1.5s ease-in-out infinite}.lifecycle-error[data-v-d32e44ad]{color:#f44336;border-color:#f44336;animation:pulse-error-d32e44ad 1.5s ease-in-out infinite}@keyframes pulse-indicator-d32e44ad{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 6px #ff98004d}}@keyframes pulse-error-d32e44ad{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 6px #f443364d}}.mobile-view[data-v-d32e44ad]{display:flex;flex-direction:column;gap:1rem}.mobile-empty-state[data-v-d32e44ad]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;border:1px dashed #d3d3d3;border-radius:16px;color:#555;text-align:center;gap:1rem}.actuator-card[data-v-d32e44ad]{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;box-shadow:0 8px 24px #0000000d;padding:1rem;display:flex;flex-direction:column;gap:.95rem}.card-header[data-v-d32e44ad]{display:flex;align-items:center;justify-content:space-between;gap:.85rem}.card-icon[data-v-d32e44ad]{min-width:46px;min-height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.card-info h4[data-v-d32e44ad]{margin:0;font-size:1rem;line-height:1.3}.card-actions[data-v-d32e44ad]{display:flex;gap:.5rem}.card-body[data-v-d32e44ad]{display:grid;gap:.85rem}.card-field[data-v-d32e44ad]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.field-label[data-v-d32e44ad]{color:#777;font-size:.85rem}.card-group[data-v-d32e44ad]{padding:.35rem .75rem;border-radius:999px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center}.icon-actuador[data-v-d32e44ad]{background:linear-gradient(135deg,#ff9800,#f57c00)}@media(max-width:768px){.crud-header[data-v-d32e44ad]{flex-direction:column;align-items:center;gap:15px}}.manual-control.table-control[data-v-d32e44ad]{display:flex;gap:8px;align-items:center}.mode-item[data-v-d32e44ad]{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px}.mode-item .mode-icon[data-v-d32e44ad]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#95a5a6;background-color:#95a5a61f;border:2px solid transparent}.mode-item.active .mode-icon[data-v-d32e44ad]{color:#27ae60;background-color:#27ae6024;border-color:#27ae60}.mode-icon[data-v-d32e44ad]{font-size:1.2rem}.SensorHistoricalRecord[data-v-bcdb58d1]{width:100%;height:100%;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.history-header[data-v-bcdb58d1]{width:100%;padding:20px 24px;background:linear-gradient(135deg,#2e7d32,#1b5e20);border-radius:12px 12px 0 0;border-bottom:1px solid #d1d5db;display:flex;justify-content:space-between;align-items:center}.header-left[data-v-bcdb58d1]{display:flex;align-items:center;gap:12px;color:#fff}.header-left ion-icon[data-v-bcdb58d1]{font-size:24px}.header-left h3[data-v-bcdb58d1]{font-size:1.2rem;font-weight:700;margin:0;color:#fff}.header-right[data-v-bcdb58d1]{display:flex;gap:10px}.export-button-container[data-v-bcdb58d1]{position:relative}.export-btn[data-v-bcdb58d1]{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s}.export-btn[data-v-bcdb58d1]:hover{background-color:#ffffff4d;transform:translateY(-2px)}.export-btn ion-icon[data-v-bcdb58d1]{font-size:18px}.export-btn span[data-v-bcdb58d1]{display:none}.export-menu[data-v-bcdb58d1]{position:absolute;top:calc(100% + 8px);right:0;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:100;display:flex;flex-direction:column;min-width:180px}.export-option[data-v-bcdb58d1]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;cursor:pointer;color:#374151;font-size:14px;font-weight:500;text-align:left;transition:all .2s}.export-option[data-v-bcdb58d1]:hover{background-color:#f3f4f6;color:#2e7d32}.export-option[data-v-bcdb58d1]:first-child{border-radius:8px 8px 0 0}.export-option[data-v-bcdb58d1]:last-child{border-radius:0 0 8px 8px}.export-option ion-icon[data-v-bcdb58d1]{font-size:18px}.history-body[data-v-bcdb58d1]{flex:1;overflow-y:auto;padding:0}.table-responsive[data-v-bcdb58d1]{overflow-x:auto}.history-table[data-v-bcdb58d1]{width:100%;border-collapse:collapse}.history-table thead[data-v-bcdb58d1]{background-color:#f8fafc;border-bottom:2px solid #e5e7eb;position:sticky;top:0;z-index:10}.history-table th[data-v-bcdb58d1]{padding:16px 20px;text-align:left;font-weight:700;font-size:14px;color:#374151}.history-table tbody[data-v-bcdb58d1]{background-color:#fff}.table-row[data-v-bcdb58d1]{border-bottom:1px solid #f3f4f6;transition:background-color .2s}.table-row[data-v-bcdb58d1]:hover{background-color:#f9fafb}.history-table td[data-v-bcdb58d1]{padding:16px 20px;font-size:14px;color:#374151}.date-time[data-v-bcdb58d1]{display:flex;align-items:center;gap:8px;font-weight:500;color:#1f2937}.date-time ion-icon[data-v-bcdb58d1]{font-size:16px;color:#6b7280}.sensor-value[data-v-bcdb58d1]{font-weight:600;color:#2e7d32}.status-cell[data-v-bcdb58d1]{text-align:center}.status-badge[data-v-bcdb58d1]{display:inline-block;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600}.status-activo[data-v-bcdb58d1]{background-color:#dcfce7;color:#166534}.status-inactivo[data-v-bcdb58d1]{background-color:#fee2e2;color:#991b1b}.status-alerta[data-v-bcdb58d1]{background-color:#fef3c7;color:#92400e}.status-error[data-v-bcdb58d1]{background-color:#fee2e2;color:#991b1b}.group-cell[data-v-bcdb58d1]{text-align:left}.group-badge[data-v-bcdb58d1]{display:inline-block;padding:6px 12px;background-color:#dbeafe;color:#1e40af;border-radius:6px;font-size:13px;font-weight:600}.empty-row[data-v-bcdb58d1]{border-bottom:none}.empty-state[data-v-bcdb58d1]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af}.empty-state ion-icon[data-v-bcdb58d1]{font-size:48px;color:#d1d5db;margin-bottom:12px}.empty-state p[data-v-bcdb58d1]{margin:0;font-size:15px}.history-footer[data-v-bcdb58d1]{padding:16px 24px;background-color:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 12px 12px}.pagination-controls[data-v-bcdb58d1]{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.rows-per-page[data-v-bcdb58d1]{display:flex;align-items:center;gap:8px}.rows-per-page label[data-v-bcdb58d1]{font-size:14px;font-weight:500;color:#374151}.rows-per-page select[data-v-bcdb58d1]{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#374151;font-size:14px;cursor:pointer;transition:border-color .2s}.rows-per-page select[data-v-bcdb58d1]:hover,.rows-per-page select[data-v-bcdb58d1]:focus{border-color:#2e7d32;outline:none}.pagination-info[data-v-bcdb58d1]{font-size:14px;font-weight:500;color:#6b7280}.pagination-buttons[data-v-bcdb58d1]{display:flex;align-items:center;gap:12px}.pagination-btn[data-v-bcdb58d1]{width:36px;height:36px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:18px}.pagination-btn[data-v-bcdb58d1]:hover:not(:disabled){border-color:#2e7d32;background-color:#dcfce7;color:#2e7d32;transform:translateY(-2px)}.pagination-btn[data-v-bcdb58d1]:disabled{opacity:.5;cursor:not-allowed}.page-indicator[data-v-bcdb58d1]{font-size:14px;font-weight:500;color:#374151;min-width:120px;text-align:center}@media(max-width:768px){.SensorHistoricalRecord[data-v-bcdb58d1]{border-radius:8px}.history-header[data-v-bcdb58d1]{flex-direction:row;justify-content:space-between;gap:12px;padding:16px 18px}.header-left[data-v-bcdb58d1]{justify-content:center;width:100%;gap:10px}.header-left ion-icon[data-v-bcdb58d1]{font-size:20px}.header-left h3[data-v-bcdb58d1]{font-size:1rem}.header-right[data-v-bcdb58d1]{width:100%;justify-content:right}.export-btn[data-v-bcdb58d1]{padding:6px 12px;font-size:12px}.export-btn ion-icon[data-v-bcdb58d1]{font-size:16px}.history-body[data-v-bcdb58d1]{overflow-x:auto}.table-responsive[data-v-bcdb58d1]{overflow-x:auto;-webkit-overflow-scrolling:touch}.history-table[data-v-bcdb58d1]{font-size:12px}.history-table th[data-v-bcdb58d1]{padding:12px 14px;font-size:15px;font-weight:600}.history-table td[data-v-bcdb58d1]{padding:12px 14px;font-size:12px}.date-time[data-v-bcdb58d1]{flex-direction:row;gap:6px}.date-time ion-icon[data-v-bcdb58d1]{font-size:14px}.sensor-value[data-v-bcdb58d1]{font-size:12px}.group-badge[data-v-bcdb58d1]{padding:4px 8px;font-size:11px}.empty-state[data-v-bcdb58d1]{padding:24px 16px}.empty-state ion-icon[data-v-bcdb58d1]{font-size:36px;margin-bottom:8px}.empty-state p[data-v-bcdb58d1]{font-size:14px}.history-footer[data-v-bcdb58d1]{padding:12px 16px}.pagination-controls[data-v-bcdb58d1]{flex-direction:column;gap:10px;justify-content:center}.rows-per-page[data-v-bcdb58d1]{width:100%;justify-content:center;gap:6px}.rows-per-page label[data-v-bcdb58d1]{font-size:16px}.rows-per-page select[data-v-bcdb58d1]{padding:4px 8px;font-size:16px;border-color:var(--primary-color)}.pagination-info[data-v-bcdb58d1]{font-size:16px;text-align:center;width:100%}.pagination-buttons[data-v-bcdb58d1]{width:100%;justify-content:center;gap:10px}.pagination-btn[data-v-bcdb58d1]{width:100px;aspect-ratio:1/1;font-size:30px;border-color:var(--primary-color)}.page-indicator[data-v-bcdb58d1]{font-size:16px;min-width:auto}}.SensorHistoryChartShell[data-v-842216b4]{width:100%;height:100%;padding:1.5rem;box-sizing:border-box;overflow:auto}.SensorHistoricalRecordContainer[data-v-842216b4]{width:100%;height:100%;min-height:100%;box-sizing:border-box;overflow:auto}.SensorHistoryPanel[data-v-842216b4]{width:100%;height:100%;min-height:100%}.SensorHistoryPanelHeader[data-v-842216b4]{width:100%;height:8%;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.HistoryPanelTitle[data-v-842216b4]{width:45%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px}.HistoryTitleMain[data-v-842216b4]{font-size:1.6rem;font-weight:800;color:green;line-height:1}.HistoryTitleMeta[data-v-842216b4]{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}.HistorySensorName[data-v-842216b4]{font-size:.95rem;font-weight:600;color:#374151}.HistoryGroupBadge[data-v-842216b4]{display:inline-block;padding:2px 10px;background-color:#dcfce7;color:#166534;border-radius:10px;font-size:.78rem;font-weight:600}.HistoryPanelActionBtn[data-v-842216b4]{width:55%;height:100%;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:2%}.PanelActionBtnExport[data-v-842216b4]{background-color:#1565c0;width:auto;min-width:120px;height:70%;display:inline-flex;flex-direction:row;justify-content:center;align-items:center;gap:2%;border-radius:.4rem;font-size:1rem;font-weight:500;transition:all .3s ease;color:#fff;border:none;cursor:pointer;padding:.5rem .9rem;white-space:nowrap;flex-shrink:0}.PanelActionBtnExport[data-v-842216b4]:hover{transform:translateY(-3%);box-shadow:0 .4rem .5rem #00000045;cursor:pointer;background-color:#1042a1}.SensorHistoryPanelBody[data-v-842216b4]{width:100%;height:90%}.HistoryPanelTimeSet[data-v-842216b4]{width:100%;height:10%;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;margin-bottom:1%;flex-wrap:nowrap;min-height:60px}.TimeSetSelect[data-v-842216b4]{width:35%;height:100%;display:flex;flex-direction:row;align-items:center;gap:2%;flex-wrap:wrap;flex-shrink:0;min-width:fit-content}.TimeSetSelect input[data-v-842216b4]{display:none}.TimeSetOption[data-v-842216b4]{background-color:#fff;border:1px solid rgb(182,182,182);width:auto;height:80%;display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:.3rem;transition:all .3s ease;-webkit-user-select:none;user-select:none;color:#000;cursor:pointer;min-width:80px;padding:.45rem .9rem;white-space:nowrap;flex-shrink:0}.TimeSetOption[data-v-842216b4]:hover{cursor:pointer;border-color:green}.TimeSetSelect input:checked+.TimeSetOption[data-v-842216b4]{background-color:green;color:#fff;border:none}.CustomSetPanel[data-v-842216b4]{flex:1;height:100%;display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end;gap:2%;flex-wrap:wrap;min-width:0;padding-left:2%}.CustomSetPanelDate[data-v-842216b4]{width:auto;height:100%;display:flex;flex-direction:column;gap:1%;color:#000;flex:0 1 auto;min-width:140px}.CustomSetPanelDate input[data-v-842216b4]{height:100%;border:1px solid rgb(212,212,212);transition:all .3s ease;padding:.5rem;border-radius:.3rem;font-size:1rem}.CustomSetPanelDate input[data-v-842216b4]:focus{border-color:green}.CustomFilterApplyBtn[data-v-842216b4]{width:auto;height:50%;background-color:green;border-radius:1rem;transition:all .3s ease;color:#fff;border:none;cursor:pointer;font-weight:500;min-width:80px;padding:.5rem 1rem;flex-shrink:0}.CustomFilterApplyBtn[data-v-842216b4]:hover{box-shadow:0 .3rem #0000003c;transform:translateY(-3%);cursor:pointer;background-color:#2e7d32}.HistoryPanelChart[data-v-842216b4]{width:100%;height:85%;display:flex;flex-direction:row;gap:1%}.HistoryChart[data-v-842216b4]{background-color:#fff;border:1px solid rgb(202,202,202);box-shadow:0 .5rem .3rem .1rem #0000001e;border-radius:1rem;width:70%;height:100%;color:#000;display:flex;flex-direction:row;justify-content:center;align-items:center;padding:1rem;box-sizing:border-box;overflow:auto}.StatisticalMetrics[data-v-842216b4]{width:30%;height:100%;background-color:#fff;border:1px solid rgb(202,202,202);box-shadow:0 .5rem .3rem .1rem #0000001e;border-radius:1rem;display:flex;flex-direction:column;gap:2%;box-sizing:border-box;padding:1.5%}.StatisticalMetricsTitle[data-v-842216b4]{width:100%;color:green;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:2%;font-size:1.5rem;font-weight:600}.MetricRegistered[data-v-842216b4]{width:100%;height:33%;background-color:#f3f3f3a2;border-radius:1rem;box-shadow:-.4rem 0 #019d01;display:flex;flex-direction:column;color:#000;padding:4%;transition:all .3s ease}.MetricRegistered[data-v-842216b4]:hover{background:linear-gradient(to right,#69d16e1a,#40c14916)}.MetricRegisteredTitle[data-v-842216b4]{width:100%;height:25%;display:flex;flex-direction:row;gap:1%}.MetricRegisteredValue[data-v-842216b4]{width:100%;height:75%;display:flex;flex-direction:row;justify-content:center;align-items:center;font-size:1.3rem;font-weight:600;color:#2e7d32}@media(max-width:768px){.SensorHistoryChartShell[data-v-842216b4]{display:flex;flex-direction:column;min-height:100vh;padding:.7rem .7rem 3rem}.SensorHistoryPanel[data-v-842216b4]{width:100%;height:auto;min-height:auto;margin-bottom:20px}.SensorHistoricalRecordContainer[data-v-842216b4]{width:100%;box-sizing:border-box}.SensorHistoryPanelHeader[data-v-842216b4]{flex-direction:row;align-items:center;height:auto;gap:12px;margin-bottom:16px}.HistoryPanelTitle[data-v-842216b4]{width:100%;font-size:1.3rem;justify-content:flex-start}.HistoryPanelActionBtn[data-v-842216b4]{width:100%;justify-content:flex-start}.PanelActionBtnBack[data-v-842216b4]{width:100%;padding:8px 12px;font-size:.9rem;justify-content:center}.SensorHistoryPanelBody[data-v-842216b4]{height:auto}.HistoryPanelTimeSet[data-v-842216b4]{flex-direction:column;align-items:flex-start;height:auto;gap:12px;margin-bottom:12px;min-height:auto}.TimeSetSelect[data-v-842216b4]{width:100%;justify-content:center;gap:2.5%}.TimeSetOption[data-v-842216b4]{min-width:80px;padding:.4rem .7rem;font-size:.9rem;font-weight:500;height:36px}.CustomSetPanel[data-v-842216b4]{width:100%;flex-direction:column;align-items:flex-start;gap:10px;padding:0;margin-top:8px}.CustomSetPanelDate[data-v-842216b4]{width:100%;min-width:auto;height:auto}.CustomSetPanelDate label[data-v-842216b4]{font-size:.9rem;margin-bottom:4px;display:block}.CustomSetPanelDate input[data-v-842216b4]{width:100%;height:40px;font-size:.95rem}.CustomFilterApplyBtn[data-v-842216b4]{width:100%;height:40px;padding:0;font-size:.9rem}.HistoryPanelChart[data-v-842216b4]{flex-direction:column;height:auto;gap:16px;margin-bottom:20px}.HistoryChart[data-v-842216b4]{width:100%;height:300px;padding:.8rem;border-radius:.8rem}.StatisticalMetrics[data-v-842216b4]{width:100%;height:auto;padding:1rem;gap:12px;border-radius:.8rem;display:flex;flex-direction:row}.StatisticalMetricsTitle[data-v-842216b4]{display:none}.MetricRegistered[data-v-842216b4]{height:auto;padding:12px;margin-bottom:0;box-shadow:none;border:2px solid rgba(1,121,1,.391)}.MetricRegisteredTitle[data-v-842216b4]{justify-content:center;font-size:.9rem}.MetricRegisteredTitle p[data-v-842216b4]{display:none}.MetricRegisteredValue[data-v-842216b4]{font-size:1.1rem;padding:8px 0}}.SensorHistoryView[data-v-a6935904],.SensorHistoryComponent[data-v-a6935904]{width:100%;height:100%}.UsersManagement-container[data-v-5e5a79cd]{padding:1.5rem;width:100%;height:100%;box-sizing:border-box;position:relative;overflow:auto;display:flex;flex-direction:column}ion-icon[data-v-5e5a79cd]{font-size:1.2rem;vertical-align:middle}.btn ion-icon[data-v-5e5a79cd],.btn-icon ion-icon[data-v-5e5a79cd],.back-button ion-icon[data-v-5e5a79cd]{font-size:1rem}.dashboard-header[data-v-5e5a79cd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dashboard-title[data-v-5e5a79cd]{font-size:1.8rem;font-weight:600;color:#2c3e50}.back-button[data-v-5e5a79cd]{display:inline-flex;align-items:center;padding:10px 18px;background-color:#3498db;color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:all .3s;cursor:pointer;border:none;font-size:.95rem;gap:8px}.back-button[data-v-5e5a79cd]:hover{background-color:#2980b9;transform:translateY(-2px);box-shadow:0 4px 8px #2980b94d}.crud-header[data-v-5e5a79cd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;background:#fff;padding:20px 25px;border-radius:12px;box-shadow:0 4px 12px #00000014}.crud-title[data-v-5e5a79cd]{font-size:1.4rem;font-weight:600;color:#2c3e50}.crud-actions[data-v-5e5a79cd]{display:flex;gap:15px}.btn[data-v-5e5a79cd]{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px;font-size:.9rem}.btn[data-v-5e5a79cd]:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-primary[data-v-5e5a79cd]{background-color:#3498db;color:#fff}.btn-primary[data-v-5e5a79cd]:hover{background-color:#2980b9}.btn-secondary[data-v-5e5a79cd]{background-color:#e0e0e0;color:#333}.btn-secondary[data-v-5e5a79cd]:hover{background-color:#d0d0d0}.btn-success[data-v-5e5a79cd]{background-color:#2ecc71;color:#fff}.btn-success[data-v-5e5a79cd]:hover{background-color:#27ae60}.btn-danger[data-v-5e5a79cd]{background-color:#e74c3c;color:#fff}.btn-danger[data-v-5e5a79cd]:hover{background-color:#c0392b}.btn-warning[data-v-5e5a79cd]{background-color:#f39c12;color:#fff}.btn-warning[data-v-5e5a79cd]:hover{background-color:#d68910}.users-table-container[data-v-5e5a79cd]{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden;margin-bottom:30px}.table-responsive[data-v-5e5a79cd]{overflow-x:auto}.users-table[data-v-5e5a79cd]{width:100%;border-collapse:collapse;min-width:1200px}.users-table th[data-v-5e5a79cd]{background-color:#f8f9fa;padding:16px 20px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:.9rem}.users-table td[data-v-5e5a79cd]{padding:16px 20px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.users-table tbody tr[data-v-5e5a79cd]:hover{background-color:#f8fafc}.user-info[data-v-5e5a79cd]{display:flex;align-items:center;gap:12px}.user-avatar[data-v-5e5a79cd]{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;font-weight:600}.avatar-admin[data-v-5e5a79cd]{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.avatar-regular[data-v-5e5a79cd]{background:linear-gradient(135deg,#3498db,#2980b9)}.avatar-avanzado[data-v-5e5a79cd]{background:linear-gradient(135deg,#2ecc71,#27ae60)}.role-admin[data-v-5e5a79cd]{background-color:#9b59b61a;color:#8e44ad}.role-basico[data-v-5e5a79cd]{background-color:#3498db1a;color:#2980b9}.role-avanzado[data-v-5e5a79cd]{background-color:#2ecc711a;color:#27ae60}.user-details h4[data-v-5e5a79cd]{font-weight:600;color:#2c3e50;margin-bottom:4px}.user-details .user-email[data-v-5e5a79cd]{font-size:.85rem;color:#7f8c8d}.user-role[data-v-5e5a79cd]{background-color:#9b59b61a;color:#8e44ad;display:inline-block;padding:6px 12px;border-radius:15px;font-size:.8rem;font-weight:600}.status-badge[data-v-5e5a79cd]{padding:6px 12px;border-radius:12px;font-size:.8rem;font-weight:600;display:inline-block}.status-active[data-v-5e5a79cd]{background-color:#e8f5e8;color:#27ae60}.status-inactive[data-v-5e5a79cd]{background-color:#f5f5f5;color:#7f8c8d}.status-pending[data-v-5e5a79cd]{background-color:#fff3e0;color:#f39c12}.status-suspended[data-v-5e5a79cd]{background-color:#ffebee;color:#e74c3c}.last-login[data-v-5e5a79cd]{font-size:.85rem;color:#7f8c8d}.table-actions[data-v-5e5a79cd]{display:flex;gap:8px;justify-content:flex-start}.btn-icon[data-v-5e5a79cd]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .3s;font-size:.9rem}.btn-icon[data-v-5e5a79cd]:hover{transform:scale(1.1)}.btn-icon.edit[data-v-5e5a79cd]{background-color:#3498db1a;color:#3498db}.btn-icon.delete[data-v-5e5a79cd]{background-color:#e74c3c1a;color:#e74c3c}.btn-icon.lock[data-v-5e5a79cd]{background-color:#f39c121a;color:#f39c12}.form-group[data-v-5e5a79cd]{margin-bottom:16px}.form-row[data-v-5e5a79cd]{display:flex;gap:12px}.form-row .form-group[data-v-5e5a79cd]{flex:1}.form-group label[data-v-5e5a79cd]{display:block;margin-bottom:6px;font-weight:600;color:var(--text-primary);font-size:14px}.form-group input[data-v-5e5a79cd],.form-group select[data-v-5e5a79cd],.form-group textarea[data-v-5e5a79cd]{width:100%;padding:10px 12px;border:1px solid var(--border-light);border-radius:8px;font-size:14px;transition:all .2s ease;background-color:var(--white);font-family:inherit}.form-group input[data-v-5e5a79cd]:focus,.form-group select[data-v-5e5a79cd]:focus,.form-group textarea[data-v-5e5a79cd]:focus{outline:none;border-color:var(--green-primary);box-shadow:0 0 0 3px #2e7d321a}.form-group input[data-v-5e5a79cd]:-webkit-autofill,.form-group input[data-v-5e5a79cd]:-webkit-autofill:hover,.form-group input[data-v-5e5a79cd]:-webkit-autofill:focus,.form-group input[data-v-5e5a79cd]:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px white inset!important;box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#333333!important;caret-color:#333!important}.form-group input[data-v-5e5a79cd]:-webkit-autofill:first-line{color:#333!important}.form-group input[data-v-5e5a79cd]:-webkit-autofill{-webkit-transition:background-color 5000s ease-in-out 0s!important;transition:background-color 5000s ease-in-out 0s!important}.form-group input[data-v-5e5a79cd]:autofill{background-color:#fff!important;background-image:none!important;color:#333!important}.form-group input[data-v-5e5a79cd]::placeholder{color:#999!important}.search-box input[data-v-5e5a79cd]:-webkit-autofill,.search-box input[data-v-5e5a79cd]:-webkit-autofill:hover,.search-box input[data-v-5e5a79cd]:-webkit-autofill:focus,.search-box input[data-v-5e5a79cd]:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px white inset!important;box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#333333!important;caret-color:#333!important}.search-box input[data-v-5e5a79cd]:-webkit-autofill:first-line{color:#333!important}.search-box input[data-v-5e5a79cd]:-webkit-autofill{-webkit-transition:background-color 5000s ease-in-out 0s!important;transition:background-color 5000s ease-in-out 0s!important}.search-box input[data-v-5e5a79cd]:autofill{background-color:#fff!important;background-image:none!important;color:#333!important}.form-actions[data-v-5e5a79cd]{display:flex;gap:12px;justify-content:flex-end;margin-top:25px;padding-top:20px;border-top:1px solid #f0f0f0}.delete-warning[data-v-5e5a79cd]{text-align:center;padding:20px 0}.delete-warning ion-icon[data-v-5e5a79cd]{font-size:3rem;color:var(--danger-color);margin-bottom:15px}.delete-warning p[data-v-5e5a79cd]{margin-bottom:10px;color:var(--text-primary)}.warning-text[data-v-5e5a79cd]{color:var(--danger-color);font-weight:600;margin-top:15px;font-size:.9rem}.toast[data-v-5e5a79cd]{position:fixed;top:20px;right:20px;padding:15px 20px;border-radius:8px;color:#fff;display:flex;align-items:center;gap:10px;z-index:1001;animation:slideInRight-5e5a79cd .3s ease;box-shadow:0 4px 12px #00000026;min-width:300px;max-width:400px}.toast.success[data-v-5e5a79cd]{background-color:#2ecc71}.toast.error[data-v-5e5a79cd]{background-color:#e74c3c}.toast.warning[data-v-5e5a79cd]{background-color:#f39c12}.toast.info[data-v-5e5a79cd]{background-color:#3498db}.toast-close[data-v-5e5a79cd]{background:none;border:none;color:#fff;cursor:pointer;padding:5px;border-radius:4px;transition:background-color .3s;margin-left:auto;display:flex;align-items:center;justify-content:center}.toast-close[data-v-5e5a79cd]:hover{background-color:#fff3}.pagination[data-v-5e5a79cd]{display:flex;justify-content:center;align-items:center;gap:15px;padding:25px 20px;background-color:#f8f9fa;border-top:1px solid #e0e0e0;border-radius:0 0 12px 12px;margin-top:20px}.pagination button[data-v-5e5a79cd]{padding:10px 18px;background-color:#2e7d32;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease}.pagination button[data-v-5e5a79cd]:hover:not(:disabled){background-color:#1e5a23;transform:translateY(-2px);box-shadow:0 4px 12px #2e7d324d}.pagination button[data-v-5e5a79cd]:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.pagination span[data-v-5e5a79cd]{padding:8px 16px;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#333;font-weight:600;font-size:14px;min-width:180px;text-align:center}.table-controls[data-v-5e5a79cd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px 20px;background-color:#fff;border-radius:12px;box-shadow:0 4px 8px #0000000d}.search-box[data-v-5e5a79cd]{flex:1;max-width:400px;position:relative}.search-box input[data-v-5e5a79cd]{width:100%;padding:10px 15px 10px 40px;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;transition:border-color .3s}.search-box input[data-v-5e5a79cd]:focus{outline:none;border-color:#3498db}.search-box ion-icon[data-v-5e5a79cd]{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#7f8c8d;font-size:1rem}.filters[data-v-5e5a79cd]{display:flex;gap:10px;align-items:center}.filter-select[data-v-5e5a79cd]{padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;background-color:#fff;cursor:pointer}@keyframes fadeIn-5e5a79cd{0%{opacity:0}to{opacity:1}}@keyframes slideUp-5e5a79cd{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight-5e5a79cd{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.refresh-spin[data-v-5e5a79cd]{animation:refreshSpin-5e5a79cd 1s infinite linear}@keyframes refreshSpin-5e5a79cd{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.crud-header[data-v-5e5a79cd]{flex-direction:column;align-items:center;gap:15px}.search-box[data-v-5e5a79cd]{width:100%;max-width:none}.crud-actions[data-v-5e5a79cd]{width:100%;justify-content:center}.table-controls[data-v-5e5a79cd]{flex-direction:column;align-items:stretch;gap:15px}.search-box[data-v-5e5a79cd]{max-width:100%}.form-row[data-v-5e5a79cd]{flex-direction:column;gap:0}.mobile-view[data-v-5e5a79cd]{display:flex;flex-direction:column;gap:1rem}.mobile-empty-state[data-v-5e5a79cd]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;border:1px dashed #d3d3d3;border-radius:16px;color:#555;text-align:center;gap:1rem}.user-card[data-v-5e5a79cd]{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;box-shadow:0 8px 24px #0000000d;padding:1rem;display:flex;flex-direction:column;gap:.95rem}.user-card .card-header[data-v-5e5a79cd]{display:flex;align-items:center;justify-content:space-between;gap:.85rem}.card-avatar[data-v-5e5a79cd]{min-width:46px;min-height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.95rem;font-weight:700}.card-info[data-v-5e5a79cd]{flex:1;min-width:0}.card-info h4[data-v-5e5a79cd]{margin:0;font-size:.95rem;line-height:1.3;word-break:break-word}.user-email-mobile[data-v-5e5a79cd]{margin:.2rem 0 0;font-size:.8rem;color:#999;word-break:break-word}.user-card .card-actions[data-v-5e5a79cd]{display:flex;gap:.5rem}.btn-icon[data-v-5e5a79cd]{width:36px;height:36px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all .2s}.btn-icon.edit[data-v-5e5a79cd]{background:#e8f4f8;color:#2196f3}.btn-icon.edit[data-v-5e5a79cd]:hover{background:#2196f3;color:#fff}.btn-icon.delete[data-v-5e5a79cd]{background:#fee8e8;color:#f44336}.btn-icon.delete[data-v-5e5a79cd]:hover{background:#f44336;color:#fff}.card-body[data-v-5e5a79cd]{display:grid;gap:.85rem}.card-field[data-v-5e5a79cd]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.field-label[data-v-5e5a79cd]{color:#777;font-size:.85rem}.user-role-badge[data-v-5e5a79cd]{padding:.35rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;display:inline-flex;align-items:center}.role-admin[data-v-5e5a79cd]{background:#e3f2fd;color:#1976d2}.role-user[data-v-5e5a79cd]{background:#f3e5f5;color:#7b1fa2}.status-badge-mobile[data-v-5e5a79cd]{padding:.35rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;display:inline-flex;align-items:center}.status-active[data-v-5e5a79cd]{background:#e8f5e9;color:#2e7d32}.status-inactive[data-v-5e5a79cd]{background:#ffebee;color:#c62828}}.not-found-page[data-v-78317642]{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--gray-50);padding:20px}.not-found-content[data-v-78317642]{text-align:center;background-color:var(--white);padding:60px 40px;border-radius:var(--radius-lg);box-shadow:var(--shadow-2);max-width:500px;width:100%}.error-icon[data-v-78317642]{font-size:80px;color:var(--clr-danger);margin-bottom:20px}.error-title[data-v-78317642]{font-size:var(--h1-size);font-weight:700;color:var(--text-primary);margin:0 0 15px;line-height:var(--line-height)}.error-message[data-v-78317642]{font-size:18px;color:var(--text-secondary);margin:0 0 20px;font-weight:500}.error-url[data-v-78317642]{font-size:14px;color:var(--text-secondary);margin:0;word-break:break-all;padding-top:15px;border-top:1px solid var(--gray-200)}.error-url span[data-v-78317642]{display:block;margin-top:8px;font-family:Courier New,monospace;color:var(--text-primary);font-size:13px}@media(max-width:768px){.not-found-content[data-v-78317642]{padding:40px 25px}.error-title[data-v-78317642]{font-size:24px}.error-message[data-v-78317642]{font-size:16px}.error-icon[data-v-78317642]{font-size:60px}}@media(max-width:480px){.not-found-page[data-v-78317642]{padding:15px}.not-found-content[data-v-78317642]{padding:30px 20px}.error-title[data-v-78317642]{font-size:22px}.error-message[data-v-78317642]{font-size:14px}.error-icon[data-v-78317642]{font-size:50px}.error-url[data-v-78317642]{font-size:12px}.error-url span[data-v-78317642]{font-size:11px}}[data-v-b15ffe18]{margin:0;padding:0;box-sizing:border-box}.hero[data-v-b15ffe18]{width:100%;min-height:100vh;position:relative;display:flex;align-items:center;flex-wrap:wrap;overflow:hidden;background:#08110b;font-family:Inter,sans-serif}.title nav[data-v-b15ffe18]{padding:2% 0;font-size:clamp(1.5rem,8vw,3rem)}.hero-bg[data-v-b15ffe18]{position:absolute;inset:0;background-size:auto;background:linear-gradient(90deg,#040c07dc,#040c0799 15%,#040c0729 30% 70%,#040c0799 85%,#040c07dc),url(/assets/LandingBG-nXVuh9F1.jpg);background-size:cover;background-position:center;transform:scale(1.03);opacity:.92;filter:saturate(.82) brightness(1.05) contrast(.88)}.hero[data-v-b15ffe18]:before{content:"";position:absolute;top:-15%;right:-10%;width:50vw;height:50vw;max-width:620px;max-height:620px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.05),transparent 70%);z-index:1}.hero-content[data-v-b15ffe18]{position:relative;z-index:5;padding:0 8%;max-width:90%;width:100%;flex:0 0 auto}.hero-eyebrow[data-v-b15ffe18]{display:flex;align-items:center;gap:2%;margin-bottom:4%;color:#fffc;font-size:clamp(.6rem,2vw,.72rem);font-weight:700;text-transform:uppercase;letter-spacing:.2em}.hero-eyebrow[data-v-b15ffe18]:before{content:"";width:4%;min-width:20px;height:1px;background:#ffffff1f}.hero h1[data-v-b15ffe18]{font-size:clamp(2rem,8vw,5rem);line-height:.96;letter-spacing:-.05em;color:#fff;font-weight:850;margin-bottom:4%;text-shadow:0 8px 20px rgba(0,0,0,.12)}.hero-desc[data-v-b15ffe18]{max-width:60%;width:100%;color:#fffd;font-size:clamp(.9rem,3vw,1.2rem);line-height:1.95;margin-bottom:6%}.hero-actions[data-v-b15ffe18]{display:flex;align-items:center;gap:2%;flex-wrap:wrap}.h-p[data-v-b15ffe18]{padding:2% 4%;min-padding:12px 20px;border-radius:10px;background:#ffffffeb;color:#07110a;text-decoration:none;font-size:clamp(.75rem,2vw,1rem);font-weight:800;transition:.3s;box-shadow:0 10px 25px #0000000f;border:none;cursor:pointer;white-space:nowrap}.h-p[data-v-b15ffe18]:hover{transform:translateY(-2px)}.h-s[data-v-b15ffe18]{display:flex;align-items:center;gap:1%;color:#ffffff61;text-decoration:none;font-size:clamp(.75rem,2vw,.85rem);font-weight:600;transition:.3s;background:transparent;border:none;cursor:pointer}.h-s[data-v-b15ffe18]:hover{color:#fff}.hero-panel[data-v-b15ffe18]{position:absolute;right:8%;top:50%;transform:translateY(-50%);z-index:6;max-width:90%;width:clamp(200px,30vw,500px);padding:4%;border-radius:2rem;background:#24242445;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.04);box-shadow:0 20px 35px #0000000f,inset 0 1px #ffffff08}@supports not (display: flex){.hero-panel[data-v-b15ffe18]{display:none}}.hero-panel[data-v-b15ffe18]{width:clamp(0px,30vw - 200px,500px)}@supports (width: min(500px,calc(30vw - 50%))){.hero-panel[data-v-b15ffe18]{width:min(500px,calc(30vw - 2%))}}.hp-top[data-v-b15ffe18]{margin-bottom:4%}.hp-tag[data-v-b15ffe18]{font-size:clamp(.6rem,1.5vw,.68rem);color:#ffffffbd;text-transform:uppercase;letter-spacing:.15em;font-weight:700;margin-bottom:2%}.hp-title[data-v-b15ffe18]{color:#fff;font-size:clamp(1.3rem,4vw,2rem);font-weight:800;line-height:1.15;margin-bottom:1%}.hp-desc[data-v-b15ffe18]{color:#ffffffcf;font-size:clamp(.85rem,2vw,1rem);line-height:1.7}.hp-companies[data-v-b15ffe18]{display:flex;flex-direction:column;gap:2%}.hp-company[data-v-b15ffe18]{display:flex;flex-direction:row;align-items:center;gap:4%;padding:2%;border-radius:1.2rem;background:#ffffff12;border:1px solid rgba(255,255,255,.03)}.hp-icon[data-v-b15ffe18]{width:20%;min-width:80px;aspect-ratio:1;max-height:100px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#fff;font-size:1.4rem;flex-shrink:0;overflow:hidden}.hp-icon img[data-v-b15ffe18]{width:100%;height:100%;object-fit:contain}.hp-company small[data-v-b15ffe18]{display:block;margin-bottom:1%;color:#ffffffbf;font-size:clamp(.75rem,1.5vw,.9rem);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.hp-company span[data-v-b15ffe18]{display:block;color:#fff;font-size:clamp(1rem,2vw,1.3rem);font-weight:700;margin-bottom:.5%}.hp-company p[data-v-b15ffe18]{color:#fffb;font-size:clamp(.8rem,1.5vw,.9rem);line-height:1.5}.hero-bottom[data-v-b15ffe18]{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;flex-wrap:wrap;background:#00000008;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.03);width:100%}.hb-stat[data-v-b15ffe18]{flex:1;min-width:20%;padding:3% 2%;text-align:center;border-right:1px solid rgba(255,255,255,.03)}.hb-stat[data-v-b15ffe18]:last-child{border-right:none}.hb-n[data-v-b15ffe18]{color:#fff;font-size:clamp(1rem,3vw,1.45rem);font-weight:800;letter-spacing:-.04em}.hb-l[data-v-b15ffe18]{margin-top:1%;color:#ffffffab;font-size:clamp(.7rem,1.5vw,.84rem);text-transform:uppercase;letter-spacing:.16em;font-weight:700}@media(max-width:768px){.hero[data-v-b15ffe18]{overflow:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100%;padding:5% 0}.hero-content[data-v-b15ffe18]{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:8%}.hero-eyebrow[data-v-b15ffe18]{width:100%;font-size:.7rem;display:flex;justify-content:center;margin:0 0 4%}.title[data-v-b15ffe18]{font-size:clamp(2.2rem,10vw,3.5rem);width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.title p[data-v-b15ffe18]{width:100%;text-align:center}.title nav[data-v-b15ffe18]{padding:0;font-size:2.4rem;width:100%;text-align:center}.hero-desc[data-v-b15ffe18]{text-align:center;max-width:100%;font-size:clamp(.9rem,3.5vw,1.1rem);margin-bottom:8%}.hero-actions[data-v-b15ffe18]{width:100%;flex-direction:column;align-items:stretch;gap:4%}.h-p[data-v-b15ffe18]{width:100%;justify-content:center;padding:4% 0}.hp-top[data-v-b15ffe18]{display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-panel[data-v-b15ffe18]{position:relative;right:auto;top:auto;transform:none;width:90%;margin:0 auto 6%;background:#24242459;border:1px solid rgba(255,255,255,.08)}.hp-company[data-v-b15ffe18]{flex-direction:flex}.hp-icon[data-v-b15ffe18]{width:22%;min-width:70px;margin-bottom:4%}.hero-bottom[data-v-b15ffe18]{position:relative;flex-wrap:wrap}.hb-stat[data-v-b15ffe18]{min-width:50%;border-right:none;border-bottom:1px solid rgba(255,255,255,.03)}.hb-stat[data-v-b15ffe18]:nth-last-child(-n+2){border-bottom:none}}
