.login-container{align-items:center;background:#e3f2fd;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{animation:slideUp .4s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-title{color:#e74c3c;font-size:26px;font-weight:700;margin-bottom:8px}.login-subtitle{color:#7f8c8d;font-size:13px;line-height:1.4;max-width:100%}.login-header h1{color:#e74c3c;font-size:26px;margin-bottom:8px}.login-header p{color:#7f8c8d;font-size:13px}.login-form{margin-bottom:30px}.form-group input{border:2px solid #e1e8ed;border-radius:8px;font-size:14px;padding:12px 16px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#3498db;outline:none}.form-group input:disabled{background:#f8f9fa;cursor:not-allowed}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:45px}.password-toggle{align-items:center;background:none;border:none;color:#7f8c8d;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:4px 8px;position:absolute;right:12px;transition:color .2s}.password-toggle:hover{color:#2c3e50}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.btn-block{font-size:16px;margin-top:10px;padding:14px;width:100%}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:8px;width:16px}.login-tabs{border-bottom:2px solid #e1e8ed;display:flex;gap:10px;margin-bottom:20px}.login-tabs button{background:#0000;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.login-tabs button:hover{background:#f8f9fa;color:#2c3e50}.login-tabs button.active{background:#f8f9fa;border-bottom-color:#667eea;color:#667eea}.alert{font-size:14px;padding:12px 16px}.alert-error{background:#ffeaea;border-left:4px solid #e74c3c;color:#c0392b}.login-error-message{box-shadow:0 2px 8px #e74c3c33;font-size:15px;line-height:1.5;margin-bottom:20px;margin-top:0;padding:14px 18px}.login-error-message strong{display:block;margin-bottom:4px}.alert-success{background:#eafaf1;border-left:4px solid #2ecc71;color:#27ae60}.login-demo{background:#f8f9fa;border-radius:12px;margin-bottom:20px;padding:20px}.login-demo p{color:#2c3e50;font-size:14px;margin-bottom:12px}.demo-buttons{display:flex;flex-wrap:wrap;gap:10px}.btn-demo{background:#fff;border:2px solid #e1e8ed;border-radius:8px;cursor:pointer;flex:1 1;font-size:13px;min-width:100px;padding:10px 16px;transition:all .2s}.btn-demo:hover{background:#e7f4ff;border-color:#3498db;transform:translateY(-2px)}.login-footer{border-top:1px solid #e1e8ed;padding-top:20px;text-align:center}.login-footer p{color:#95a5a6;font-size:12px}@media (max-width:480px){.login-box{padding:30px 20px}.login-header h1{font-size:24px}.demo-buttons{flex-direction:column}.btn-demo{width:100%}}.monitor-section{margin-bottom:30px}.monitor-section h3{border-bottom:2px solid #2196f34d;color:#333!important;font-size:1.3em;margin-bottom:15px;padding-bottom:10px}.monitor-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin-top:15px}@media (min-width:480px){.monitor-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (min-width:768px){.monitor-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.monitor-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #2196f34d;border-radius:12px;box-shadow:0 2px 8px #00000014;color:#333!important;padding:20px;transition:all .3s ease}.monitor-card:hover{border-color:#2196f380;box-shadow:0 4px 12px #2196f333;transform:translateY(-2px)}.monitor-card.monitor-alarm{animation:pulse-alarm 2s infinite;background:#f443;border-color:#f44}.monitor-card.monitor-supervisory{background:#fa03;border-color:#fa0}.monitor-card.monitor-normal{background:#44ff441a;border-color:#4f4}.monitor-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.monitor-icon{font-size:1.5em}.monitor-name{color:#333!important;flex:1 1;font-size:1.1em;font-weight:700}.monitor-state{border-radius:20px;font-size:.85em;font-weight:700;padding:4px 12px;text-transform:uppercase}.monitor-state-alarm{background:#f44;color:#333!important}.monitor-state-supervisory{background:#fa0;color:#333!important}.monitor-state-normal{background:#4f4;color:#1a1a1a}.monitor-details{color:#333!important;display:flex;flex-direction:column;font-size:.9em;gap:8px}.monitor-location{color:#333!important;font-size:.95em}.monitor-metric{color:#fffffff2}.monitor-metric strong{color:#333!important;font-weight:600}.monitor-status{display:flex;flex-wrap:wrap;font-size:.85em;gap:8px;margin-top:5px}.monitor-timestamp{border-top:1px solid #fff3;color:#333!important;font-size:.85em;margin-top:8px;padding-top:8px}.dashboard-container{background:#e3f2fdf2;border-radius:12px;color:#333!important;margin:12px 0;max-width:100%;min-height:400px;overflow-x:hidden;padding:12px}@media (min-width:576px){.dashboard-container{margin:16px 0;padding:16px}}@media (min-width:768px){.dashboard-container{margin:20px 0;min-height:600px;padding:20px}}.dashboard-tab-content{color:#333!important;display:block;min-height:400px;padding:20px 0;visibility:visible}.loading-container{min-height:400px}.dashboard-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:25px}.dashboard-subtitle{color:#ffffffd9;margin:6px 0 0}.dashboard-actions{align-items:center;display:flex;gap:12px}.refresh-button{background:#ffffffb3;border:1px solid #fff9;border-radius:50px;color:#333!important;cursor:pointer;font-size:1.1rem;padding:8px 14px;transition:all .2s ease}.refresh-button:disabled{cursor:not-allowed;opacity:.6}.refresh-button:not(:disabled):hover{background:#ffffff40}.refresh-status{color:#ffffffd9;font-size:.9rem}.dashboard-error{background:#f4433633;border:1px solid #f4433680;border-radius:10px;margin-bottom:20px;padding:15px 20px}.dashboard-error p{color:#333!important;margin:0 0 10px}.loading-container{align-items:center;display:flex;justify-content:center;min-height:200px}.dashboard-section{margin-bottom:30px}.dashboard-section h2,.dashboard-section h3{color:#333!important;font-size:1.4rem;font-weight:600;margin-bottom:20px;text-shadow:2px 2px 4px #0000004d}.dashboard-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:30px}.half-width{margin-bottom:0}.stats-grid{grid-gap:15px;gap:15px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}}.stat-card{align-items:center;color:#333!important;display:flex;gap:15px;padding:20px;transition:all .3s ease}.stat-card:hover{transform:translateY(-3px)}.stat-card.stat-online{border-left:4px solid #4caf50}.stat-card.stat-offline{border-left:4px solid #ff9800}.stat-card.stat-alarm{animation:pulse-card 2s infinite;border-left:4px solid #f44336}.stat-card.stat-maintenance{border-left:4px solid #2196f3}.stat-card.stat-alerts{border-left:4px solid #ff5252}.stat-card.stat-inspection{border-left:4px solid #9c27b0}.stat-card.stat-total{border-left:4px solid #00bcd4}.stat-card.stat-generic{border-left:4px solid #fff9}.stat-card.stat-attention{border-left:4px solid #ff9800}.stat-card.stat-activity{border-left:4px solid #9c27b0}@keyframes pulse-card{0%,to{opacity:1}50%{opacity:.8}}.stat-icon-wrapper{align-items:center;background:#ffffff14;border-radius:12px;display:flex;flex-shrink:0;height:70px;justify-content:center;width:70px}.stat-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:48px;line-height:1;text-shadow:none}.stat-content{flex:1 1;min-width:0}.stat-value{filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));font-size:36px;font-weight:700;line-height:1.2;margin-bottom:6px}.stat-label,.stat-value{color:#fff;text-shadow:none}.stat-label{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:16px;font-weight:600;letter-spacing:0;margin-bottom:4px;opacity:1;text-transform:none}.stat-description{color:#333!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));font-size:12px;margin-top:4px;opacity:1;text-shadow:none}.stat-meta{color:#ffffffd9;display:flex;flex-direction:column;font-size:12px;gap:4px;margin-top:8px;opacity:.9}.stat-meta-item{display:inline-block;padding:2px 0}.stat-card.large-card{min-height:200px}.stat-card.full-width-card{margin-bottom:20px;width:100%}.stat-card.full-width-card .stat-content.full-width-content{width:100%}.stat-label-large{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:20px;font-weight:700;margin-bottom:15px;text-shadow:none}.attention-list-compact{margin-top:12px;max-height:120px;overflow-y:auto}.attention-item-compact{align-items:center;border-bottom:1px solid #2196f333;display:flex;justify-content:space-between;padding:8px 0}.attention-item-compact:last-child{border-bottom:none}.attention-name-compact{flex:1 1;font-size:13px;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attention-badges-compact{display:flex;gap:6px}.badge-critical,.badge-overdue{background:#ffffffb3;border-radius:4px;font-size:11px;padding:2px 6px}.badge-critical{background:#f443364d}.badge-overdue{background:#ff98004d}.no-data-compact{font-size:12px;opacity:.7;padding:10px 0;text-align:center}.activity-list-full{margin-top:10px;max-height:400px;overflow-y:auto}.no-data{color:#333!important;font-style:italic;padding:40px 20px;text-align:center;text-shadow:1px 1px 2px #00000080}.attention-list{display:flex;flex-direction:column;gap:12px}.attention-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #fff3;border-radius:10px;padding:16px}.attention-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.attention-name{font-size:1rem;font-weight:600}.attention-status{border:1px solid #fff6;border-radius:6px;font-size:.85rem;padding:4px 8px;text-transform:uppercase}.attention-status-critical,.attention-status-faulty{background:#f443364d}.attention-status-maintenance{background:#2196f34d}.attention-status-active{background:#4caf504d}.attention-meta,.attention-stats{color:#ffffffd9;display:flex;flex-wrap:wrap;font-size:.9rem;gap:12px}.attention-stats{margin-top:10px}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{align-items:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #fff3;border-radius:10px;display:flex;gap:12px;padding:14px}.activity-icon{font-size:1.6rem;line-height:1}.activity-content{flex:1 1}.activity-title{font-weight:600;margin-bottom:6px}.activity-meta{color:#ffffffd9;display:flex;flex-wrap:wrap;font-size:.85rem;gap:12px}.dashboard-tabs{grid-gap:8px;border-bottom:2px solid #fff3;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px;padding-bottom:10px}@media (min-width:480px){.dashboard-tabs{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.dashboard-tabs{gap:10px;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:25px}}.dashboard-tab{border:1px solid #fff3;border-bottom:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 20px;transition:all .3s ease}.dashboard-tab,.dashboard-tab:hover{background:#ffffffb3;color:#333!important}.dashboard-tab.active{background:#ffffff4d;border-bottom:2px solid #fffc;color:#333!important}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.info-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border:1px solid #ffffff26;border-radius:12px;color:#333!important;padding:20px}.info-card h3{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:1.1rem;font-weight:600;margin:0 0 15px}.info-card h3,.info-value{color:#fff;text-shadow:none}.info-value{filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));font-size:2.5rem;font-weight:700;margin-bottom:10px}.info-description{color:#333!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));font-size:.9rem;line-height:1.4;text-shadow:none}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:12px}.dashboard-row{grid-template-columns:1fr}.stat-value{font-size:28px}.stat-icon{font-size:32px}.dashboard-tab{font-size:.85rem;padding:10px 12px}.dashboard-tab.active{border-bottom:2px solid #fffc}.info-grid{grid-template-columns:1fr}}@media (max-width:480px){.dashboard-section h2{font-size:1.2rem}.stat-value{font-size:24px}.stat-icon-wrapper{height:56px;width:56px}.stat-icon{font-size:28px}.info-card{padding:14px}.info-value{font-size:2rem}.monitor-card{padding:14px}.monitor-name{font-size:1rem}}.smart-monitoring{background:#e3f2fdf2;border-radius:15px;color:#333!important;margin:20px 0;min-height:600px;padding:20px}.monitoring-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #2196f34d;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px;padding:20px}.monitoring-header h2{color:#333!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:1.8em;margin:0;text-shadow:none}.tab-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border-radius:25px;display:flex;gap:10px;padding:5px}.tab-btn,.tab-controls{position:relative;z-index:10}.tab-btn{background:#0000;border:none;border-radius:20px;color:#333!important;cursor:pointer;font-weight:700;padding:10px 20px;pointer-events:auto;transition:all .3s ease;-webkit-user-select:none;user-select:none}.tab-btn.active{box-shadow:0 2px 10px #0003}.tab-btn.active,.tab-btn:hover:not(.active){background:#ffffffb3;color:#333!important}.status-indicators{display:flex;flex-wrap:wrap;gap:15px}.status-indicator{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;font-size:.9em;font-weight:700;padding:8px 15px}.status-indicator.active{background:#4caf504d;border:2px solid #4caf50}.status-indicator.warning{background:#ffc1074d;border:2px solid #ffc107;color:#fff3cd}.status-indicator.inactive{background:#f443364d;border:2px solid #f44336}.realtime-content{display:flex;flex-direction:column;gap:25px}.controls-section{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border-radius:12px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:20px}.control-btn{border:none;border-radius:8px;cursor:pointer;font-size:1em;font-weight:700;padding:12px 25px;transition:all .3s ease}.control-btn.start{background:linear-gradient(45deg,#4caf50,#66bb6a);color:#333!important}.control-btn.stop{background:linear-gradient(45deg,#f44336,#ef5350);color:#333!important}.control-btn:hover{box-shadow:0 4px 15px #0000004d;transform:translateY(-2px)}.current-values{display:flex;flex-wrap:wrap;gap:20px}.value-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e3f2fdcc;border:1px solid #fff3;border-radius:10px;display:flex;gap:10px;min-width:120px;padding:15px 20px}.value-card.temperature{border-left:4px solid #e74c3c}.value-card.smoke{border-left:4px solid #f39c12}.value-card.battery{border-left:4px solid #27ae60}.value-icon{font-size:1.5em}.value-number{font-size:1.4em;font-weight:700}.value-unit{font-size:.9em;opacity:.8}.charts-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.chart-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e3f2fdcc;border:1px solid #fff3;border-radius:12px;padding:20px}.chart-container h3{color:gold;margin:0 0 15px;text-shadow:1px 1px 2px #0000004d}.smart-monitoring .fire-safety-monitoring .chart-container{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:linear-gradient(135deg,#2196f333,#42a5f533)!important;border:1px solid #2196f340!important;border-radius:12px!important;padding:20px!important}.smart-monitoring .fire-safety-monitoring .chart-container h3{color:gold!important;margin:0 0 15px!important;text-shadow:1px 1px 2px #0000004d!important}.smart-monitoring .fire-safety-monitoring .monitoring-header-container{margin-bottom:25px!important}.smart-monitoring .fire-safety-monitoring .monitoring-header-actions{align-items:center!important;display:flex!important;justify-content:flex-end!important}.chart-wrapper{height:300px;position:relative}.ai-content{display:flex;flex-direction:column;gap:25px}.ai-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border-radius:12px;padding:15px 20px}.ai-status{flex-wrap:wrap;gap:15px;justify-content:space-between}.ai-provider{background:#ffffffb3;border-radius:15px;font-weight:700;padding:8px 15px}.ai-connection.connected{color:#4caf50;font-weight:700}.ai-connection.disconnected{color:#f44336;font-weight:700}.emergency-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ff6b6b33;border-left:5px solid red;border-radius:12px;padding:20px}.emergency-section h3{color:gold;margin:0 0 15px;text-shadow:1px 1px 2px #00000080}.emergency-alerts{display:flex;flex-direction:column;gap:15px}.emergency-alert{animation:pulse 2s infinite;background:#ffffffb3;border-radius:8px;padding:15px}.alert-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.alert-time{font-size:.9em;opacity:.8}.alert-level.critical{background:#f44336;border-radius:12px;color:#333!important;font-size:.9em;font-weight:700;padding:4px 8px}.alert-content{line-height:1.4;margin-bottom:10px}.alert-recommendations{margin-top:10px}.alert-recommendations ul{margin:5px 0 0;padding-left:20px}.alert-recommendations li{font-size:.9em;margin-bottom:3px}.ai-insights-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border-radius:12px;padding:20px}.ai-insights-section h3{color:gold;margin:0 0 15px;text-shadow:1px 1px 2px #0000004d}.insights-list{display:flex;flex-direction:column;gap:15px;max-height:500px;overflow-y:auto}.no-insights{opacity:.7;padding:40px 20px;text-align:center}.no-insights p{font-size:1.1em;margin:0 0 10px}.no-insights small{font-size:.9em;opacity:.8}.insight-card{background:#ffffffb3;border-left:4px solid #4caf50;border-radius:8px;padding:15px;transition:transform .2s ease}.insight-card:hover{transform:translateX(5px)}.insight-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.insight-time{font-size:.9em;font-weight:700}.insight-device{background:#ffffffb3}.insight-device,.risk-badge{border-radius:12px;font-size:.8em;padding:4px 8px}.risk-badge{color:#333!important;font-weight:700}.insight-summary{font-size:.95em;line-height:1.4}.insight-recommendations,.insight-summary{margin-bottom:10px}.insight-recommendations ul{margin:5px 0 0;padding-left:20px}.insight-recommendations li{font-size:.9em;margin-bottom:3px}.insight-footer{margin-top:10px;text-align:right}.ai-provider-tag{background:#ffffffb3;border-radius:8px;font-size:.8em;opacity:.7;padding:2px 6px}.predictions-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border-radius:12px;padding:20px}.predictions-section h3{color:gold;margin:0 0 15px;text-shadow:1px 1px 2px #0000004d}.prediction-time{font-size:.9em;margin-bottom:15px;opacity:.8}@media (max-width:768px){.smart-monitoring{margin:10px 0;padding:15px}.monitoring-header{align-items:stretch;flex-direction:column;gap:15px}.status-indicators,.tab-controls{justify-content:center}.controls-section{align-items:stretch;flex-direction:column}.current-values{justify-content:center}.charts-grid{grid-template-columns:1fr}.insight-header{align-items:stretch;flex-direction:column}}.insights-list::-webkit-scrollbar{width:6px}.insights-list::-webkit-scrollbar-track{background:#ffffffb3;border-radius:3px}.insights-list::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.insights-list::-webkit-scrollbar-thumb:hover{background:#ffffff80}.device-health-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #fff3;border-radius:15px;margin-top:30px;padding:25px}.health-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.health-header h3{color:#333!important;font-size:1.4em;margin:0}.system-health-overview{margin-bottom:25px}.health-summary{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:1fr 2fr}.health-indicator{align-items:center;background:#ffffffb3;border-radius:12px;display:flex;gap:15px;padding:15px}.health-icon{font-size:2em}.health-info{display:flex;flex-direction:column}.health-label{color:#333!important;font-size:.9em;margin-bottom:5px}.health-value{font-size:1.2em;font-weight:700}.device-counts{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.count-item{align-items:center;background:#ffffffb3;border-radius:10px;display:flex;flex-direction:column;padding:12px;transition:all .3s ease}.count-item:hover{background:#ffffffb3;transform:translateY(-2px)}.count-icon{font-size:1.5em;margin-bottom:5px}.count-label{color:#333!important;font-size:.8em;margin-bottom:3px}.count-value{color:#333!important;font-size:1.3em;font-weight:700}.count-item.online .count-value{color:#4caf50}.count-item.offline .count-value{color:#ff9800}.count-item.alarm .count-value{color:#f44336}.device-list h4{font-size:1.2em}.devices-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:15px}.device-card{background:#e3f2fdcc;border:1px solid #fff3;border-radius:12px;padding:15px;transition:all .3s ease}.device-card:hover{background:#e3f2fde6;box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.device-card.online{border-left:4px solid #4caf50}.device-card.offline{border-left:4px solid #ff9800}.device-card.alarm{animation:pulse-alarm 2s infinite;border-left:4px solid #f44336}@keyframes pulse-alarm{0%,to{opacity:1}50%{opacity:.7}}.device-header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.device-icon{font-size:1.5em}.device-name{font-size:1em;font-weight:700}.device-status{margin-bottom:12px}.status-badge{border-radius:20px;font-size:.8em;font-weight:700;padding:4px 10px}.status-badge.online{background:#4caf5033;border:1px solid #4caf504d;color:#4caf50}.status-badge.offline{background:#ff980033;border:1px solid #ff98004d;color:#ff9800}.status-badge.alarm{background:#f4433633;border:1px solid #f443364d;color:#f44336}.device-metrics{display:flex;flex-direction:column;gap:8px}.metric{align-items:center;display:flex;font-size:.85em;justify-content:space-between}.metric-label,.metric-value{color:#333!important}.metric-value{font-weight:500}.metric-value.low-battery{color:#f44336;font-weight:700}.show-more{font-style:italic;padding:15px}.last-check,.show-more{color:#333!important;text-align:center}.last-check{border-top:1px solid #fff3;font-size:.9em;margin-top:15px;padding-top:15px}@media (max-width:768px){.health-summary{gap:15px;grid-template-columns:1fr}.device-counts{grid-template-columns:repeat(2,1fr)}.devices-grid{grid-template-columns:1fr}.health-header{align-items:stretch;flex-direction:column;gap:10px}}.smart-monitoring .fire-safety-monitoring{margin-top:40px;padding-top:30px}.smart-monitoring .fire-safety-monitoring .monitoring-section{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:linear-gradient(135deg,#2196f333,#42a5f533)!important;border:1px solid #2196f340!important;border-radius:12px!important;margin-bottom:25px;padding:20px!important}.smart-monitoring .fire-safety-monitoring .monitoring-section h4{border-bottom:1px solid #fff3!important;color:gold!important;font-size:1.3em!important;margin:0 0 15px!important;padding-bottom:10px!important;text-shadow:1px 1px 2px #0000004d!important}.smart-monitoring .fire-safety-monitoring .monitoring-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:15px}.smart-monitoring .fire-safety-monitoring .monitoring-card{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#ffffff1a!important;border:1px solid #fff3!important;border-radius:10px!important;padding:15px!important;transition:all .3s ease}.smart-monitoring .fire-safety-monitoring .monitoring-card:hover{border-color:#fff6;box-shadow:0 8px 20px #0000004d;transform:translateY(-2px)}.smart-monitoring .fire-safety-monitoring .monitoring-card.monitoring-alarm{animation:pulse-alarm-monitoring 2s infinite;background:#f443!important;border-color:#f44!important}.smart-monitoring .fire-safety-monitoring .monitoring-card.monitoring-supervisory{background:#fa03!important;border-color:#fa0!important}.smart-monitoring .fire-safety-monitoring .monitoring-card.monitoring-normal,.smart-monitoring .fire-safety-monitoring .monitoring-card.monitoring-online{background:#44ff441a!important;border-color:#4f4!important}.smart-monitoring .fire-safety-monitoring .monitoring-card.monitoring-offline{background:#2196f314!important;border-color:#2196f366!important}@keyframes pulse-alarm-monitoring{0%,to{box-shadow:0 0 0 0 #ff4444b3}50%{box-shadow:0 0 0 10px #f440}}.smart-monitoring .fire-safety-monitoring .monitoring-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.smart-monitoring .fire-safety-monitoring .monitoring-icon{font-size:1.5em}.smart-monitoring .fire-safety-monitoring .monitoring-name{color:#333!important;flex:1 1;font-size:1.1em;font-weight:700}.smart-monitoring .fire-safety-monitoring .monitoring-state{border-radius:20px;font-size:.85em;font-weight:700;padding:4px 12px;text-transform:uppercase}.smart-monitoring .fire-safety-monitoring .monitoring-state.state-alarm{background:#f44;color:#333!important}.smart-monitoring .fire-safety-monitoring .monitoring-state.state-supervisory{background:#fa0;color:#333!important}.smart-monitoring .fire-safety-monitoring .monitoring-state.state-normal,.smart-monitoring .fire-safety-monitoring .monitoring-state.state-online{background:#4f4;color:#1a1a1a}.smart-monitoring .fire-safety-monitoring .monitoring-state.state-offline{background:#2196f359;color:#333!important}.smart-monitoring .fire-safety-monitoring .monitoring-details{color:#333!important;display:flex;flex-direction:column;font-size:.9em;gap:8px}.smart-monitoring .fire-safety-monitoring .monitoring-location{color:#333!important;font-size:.95em}.smart-monitoring .fire-safety-monitoring .monitoring-metric{color:#fffffff2}.smart-monitoring .fire-safety-monitoring .monitoring-metric strong{color:#333!important;font-weight:600}.smart-monitoring .fire-safety-monitoring .monitoring-status{display:flex;flex-wrap:wrap;font-size:.85em;gap:8px;margin-top:5px}.smart-monitoring .fire-safety-monitoring .monitoring-timestamp{border-top:1px solid #fff3;color:#333!important;font-size:.85em;margin-top:8px;padding-top:8px}.smart-monitoring .fire-safety-monitoring .monitoring-no-data{background:#ffffff0d!important;border-radius:8px!important;color:#fff9!important;margin-top:15px!important;padding:20px!important;text-align:center!important}.devices-container{background:#e3f2fdf2;border-radius:15px;color:#333!important;margin:20px 0;min-height:600px;padding:20px}.devices-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #2196f34d;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px}.devices-header h2{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:1.8rem;font-weight:600;margin:0}.devices-header h2,.table td{color:#333!important;text-shadow:none}.table td{background:#ffffff80;border-bottom:1px solid #2196f333}.qr-code{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff26;border:1px solid #fff3;border-radius:6px;color:#ffffffe6;font-family:Courier New,monospace;font-size:12px;padding:4px 8px}.text-muted{color:#fff9;font-style:italic}.actions-cell{display:flex;gap:8px}.btn-icon{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;padding:8px 12px;transition:all .3s ease}.btn-icon:hover{background:#fff3;box-shadow:0 4px 12px #0003;transform:scale(1.05)}.btn-edit:hover{background:#3498db4d;border-color:#3498db80}.btn-delete:hover{background:#e74c3c4d;border-color:#e74c3c80}.modal-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#fffffff2,#ffffffe6);border:1px solid #ffffff4d;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:#ffffff1a;border-bottom:2px solid #ffffff4d;border-top-left-radius:16px;border-top-right-radius:16px;padding:20px 24px}.modal-header h3{color:#2c3e50;font-size:20px;font-weight:600}.modal-close{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#2c3e50;font-size:20px;padding:8px 12px;transition:all .3s ease}.modal-close:hover{background:#e74c3c33;border-color:#e74c3c80;color:#e74c3c;transform:scale(1.05)}.modal-content form{background:#ffffff0d;padding:24px}.form-group label{color:#2c3e50;font-size:14px;font-weight:600}.form-group input,.form-group select{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#2c3e50;font-size:14px;padding:12px;transition:all .3s ease;width:100%}.form-group input::placeholder{color:#2c3e5099}.form-group input:focus,.form-group select:focus{background:#fff3;border-color:#3498db99;box-shadow:0 0 0 3px #3498db1a;outline:none}.modal-actions{background:#ffffff0d;border-bottom-left-radius:16px;border-bottom-right-radius:16px;border-top:2px solid #ffffff4d;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.btn-secondary{background:#ffffff1a;border:1px solid #ffffff4d;color:#2c3e50}@media (max-width:768px){.filters-bar{flex-direction:column}.filter-group{min-width:100%}.devices-header{align-items:flex-start;flex-direction:column;gap:15px}.devices-header .btn{width:100%}.table{font-size:12px}.table td,.table th{padding:10px 8px}.actions-cell{flex-direction:column}.modal-content{width:95%}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.tasks-container{background:#e3f2fdf2;border-radius:15px;color:#333!important;margin:20px 0;min-height:600px;padding:20px}.tasks-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #2196f34d;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px;padding:20px}.tasks-header h2{color:#333!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:1.8rem;font-weight:600;margin:0;text-shadow:none}.filters-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #2196f34d;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:25px;padding:20px}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:200px}.filter-group label{color:#333!important;font-size:.9rem;font-weight:600}.filter-input,.filter-select{background:#ffffffe6;border:1px solid #ffffff4d;border-radius:8px;color:#2c3e50;font-size:14px;padding:10px 12px;transition:all .3s ease}.filter-input::placeholder{color:#2c3e5099}.filter-select option{background:#fff;color:#2c3e50}.filter-input:focus,.filter-select:focus{background:#fffffff2;border-color:#3498dbcc;box-shadow:0 0 0 3px #3498db33;outline:none}.results-count{color:#fffc;font-size:14px;font-weight:500;margin-bottom:15px;text-shadow:1px 1px 2px #00000080}.btn{border-radius:8px;font-weight:600;text-decoration:none;transition:all .3s ease}.btn-primary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;box-shadow:0 2px 8px #0000001a}.btn-primary:hover{box-shadow:0 6px 20px #3498db66;transform:translateY(-2px)}.btn-secondary{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffb3}.btn-secondary:hover{background:#fff3;transform:translateY(-1px)}.task-title-cell{max-width:300px}.task-title-cell strong{color:#fff;display:block;margin-bottom:4px;text-shadow:1px 1px 2px #00000080}.task-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#666!important;display:-webkit-box;font-size:13px;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;text-shadow:none}.badge-low{background:#2196f333;border:1px solid #2196f366;border-radius:12px}.badge-low,.badge-medium{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fffffff2;font-size:12px;font-weight:600;padding:4px 12px;text-shadow:1px 1px 2px #00000080}.badge-medium{background:#ffc10733;border:1px solid #ffc10766;border-radius:12px}.badge-high{background:#ff572233;border:1px solid #ff572266;border-radius:12px}.badge-high,.badge-pending{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fffffff2;font-size:12px;font-weight:600;padding:4px 12px;text-shadow:1px 1px 2px #00000080}.badge-pending{background:#ffc10733;border:1px solid #ffc10766;border-radius:12px}.badge-progress{animation:pulse 2s infinite;background:#2196f333;border:1px solid #2196f366;border-radius:12px}.badge-completed,.badge-progress{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fffffff2;font-size:12px;font-weight:600;padding:4px 12px;text-shadow:1px 1px 2px #00000080}.badge-completed{background:#4caf5033;border:1px solid #4caf5066;border-radius:12px}.badge-cancelled{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#9e9e9e33;border:1px solid #9e9e9e66;border-radius:12px;color:#fffffff2;font-size:12px;font-weight:600;padding:4px 12px;text-shadow:1px 1px 2px #00000080}.status-dropdown{display:flex;flex-direction:column;gap:8px}.status-select{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;padding:8px 12px;text-shadow:1px 1px 2px #00000080;transition:all .3s ease}.status-select:hover{background:#ffffff26;border-color:#ffffff80}.status-select:focus{background:#fff3;border-color:#3498db99;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-group textarea{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#2c3e50;font-size:14px;min-height:100px;padding:12px;resize:vertical;transition:all .3s ease;width:100%}.form-group textarea::placeholder{color:#2c3e5099}.form-group textarea:focus{background:#fff3;border-color:#3498db99;box-shadow:0 0 0 3px #3498db1a;outline:none}.table-responsive{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0000001a;margin-top:20px;overflow-x:auto}.table{background:#0000;border-collapse:collapse;width:100%}.table th{background:#ffffff26;border-bottom:1px solid #fff3;color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-shadow:1px 1px 2px #00000080;text-transform:uppercase}.table th:first-child{border-top-left-radius:12px}.table th:last-child{border-top-right-radius:12px}.table td{background:#ffffff0d;border-bottom:1px solid #ffffff1a;color:#fff;font-size:14px;padding:15px;text-shadow:1px 1px 2px #00000080}.table tbody tr{transition:all .3s ease}.table tbody tr:hover{background:#ffffff1a;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}@media (max-width:768px){.tasks-header{align-items:flex-start;flex-direction:column;gap:15px}.tasks-header .btn{width:100%}.task-title-cell{max-width:200px}.status-dropdown{gap:6px}.status-select{font-size:11px;padding:4px 6px}}.ai-settings,.ai-settings *,.ai-settings div,.ai-settings em,.ai-settings h1,.ai-settings h2,.ai-settings h3,.ai-settings h4,.ai-settings h5,.ai-settings h6,.ai-settings input,.ai-settings label,.ai-settings li,.ai-settings p,.ai-settings select,.ai-settings span,.ai-settings strong,.ai-settings textarea,.ai-settings ul{color:#333!important}.ai-settings{background:#e3f2fdf2!important;border-radius:15px;margin-bottom:20px;margin-top:20px;min-height:calc(100vh - 120px);padding:20px;width:100%}.ai-settings-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #2196f34d;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.ai-settings-header h2{color:#333!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:2rem;font-weight:600;margin:0;text-shadow:none}.ai-status{align-items:center;background:#ffffffb3;border:1px solid #2196f34d;border-radius:8px;color:#333!important;display:flex;gap:8px;padding:8px 16px}.status-indicator{font-size:1.2rem}.status-indicator.connected{animation:pulse 2s infinite}.section-tabs{border-bottom:2px solid #2196f333;display:flex;gap:10px;margin-bottom:30px;padding-bottom:10px}.section-tab{background:#ffffff80;border:none;border-radius:8px;color:#333!important;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease}.section-tab:hover{background:#fff9;color:#333!important;transform:translateY(-2px)}.section-tab.active{background:#2196f30d!important;border-bottom:2px solid #2196f326;color:#333!important;font-weight:600}.ai-section{background:#2196f305!important;border:1px solid #2196f314!important;border-radius:12px;box-shadow:0 1px 3px #2196f308!important;margin-top:10px;padding:20px}.provider-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.provider-tab{align-items:center;background:#ffffff4d;border:1px solid #2196f30d;border-radius:8px;color:#333!important;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;padding:12px 20px;transition:all .3s ease}.provider-tab:hover{background:#fff6;border-color:#2196f314;color:#333!important;transform:translateY(-2px)}.provider-tab.active{background:#2196f308!important;border-color:#2196f31a!important;box-shadow:0 1px 3px #2196f30d!important;color:#333!important}.provider-config{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 1fr;margin-bottom:30px}.ai-settings .provider-info,.ai-settings .provider-settings,.provider-info,.provider-settings{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2196f30d!important;border:1px solid #2196f31a!important;border-radius:12px;box-shadow:0 2px 6px #2196f30d!important;color:#333!important;padding:25px}.provider-info *,.provider-settings *{color:#333!important}.provider-info h4,.provider-settings h3{align-items:center;color:#333!important;display:flex;font-size:1.4rem;font-weight:600;gap:8px;margin:0 0 20px}.setting-group{margin-bottom:20px}.setting-label{display:block;font-size:.95rem;font-weight:500;margin-bottom:8px}.setting-label,.setting-label *{color:#333!important}.setting-label input[type=checkbox]{display:none}.setting-label input[type=checkbox]+.checkmark{background:#fff9;border:2px solid #2196f366;border-radius:4px;cursor:pointer;display:inline-block;height:20px;margin-right:8px;position:relative;vertical-align:middle;width:20px}.setting-label input[type=checkbox]:checked+.checkmark{background:#2196f30d;border-color:#2196f326}.setting-label input[type=checkbox]:checked+.checkmark:after{color:#333!important;content:"✓";font-size:14px;font-weight:700;left:4px;position:absolute;top:-2px}.setting-input,.setting-select{background:#fff9;border:1px solid #2196f31a;border-radius:8px;color:#333!important;font-size:.95rem;padding:12px 16px;transition:all .3s ease;width:100%}.setting-input::placeholder{color:#33333380!important}.setting-input:focus,.setting-select:focus{background:#fffc;border-color:#2196f333;box-shadow:0 0 0 3px #2196f30d;outline:none}.btn-test{background:#2196f30d;border:1px solid #2196f31f;border-radius:6px;color:#333!important;cursor:pointer;font-size:.9rem;margin-top:10px;padding:8px 16px;transition:all .3s ease}.btn-test:hover:not(:disabled){background:#2196f314;transform:translateY(-1px)}.btn-test:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#4caf50cc;border:none;border-radius:8px;box-shadow:0 2px 8px #4caf5033;color:#fff!important;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-primary:hover:not(:disabled){background:#4caf50;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.btn-secondary{background:#fff9;border:1px solid #2196f34d;color:#333!important}.btn-secondary:hover:not(:disabled){background:#fff3;transform:translateY(-2px)}.info-content{color:#333!important;font-size:.9rem;line-height:1.6}.info-content p{color:#333!important;margin:0 0 12px}.info-content ul{margin:10px 0;padding-left:20px}.info-content li{margin-bottom:8px}.info-content em,.info-content li,.info-content strong{color:#333!important}.info-content em{font-style:italic}.settings-footer{border-top:2px solid #2196f333;display:flex;gap:15px;margin-top:30px;padding-top:20px}.btn-save{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.devices-section{background:#fff9;border:1px solid #2196f34d;border-radius:12px;margin-top:30px;padding:25px}.devices-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px}.devices-header h3{color:#333!important;font-size:1.5rem;margin:0}.device-controls{display:flex;gap:10px}.scan-progress{background:#fff9;border:1px solid #2196f34d;border-radius:12px;margin-bottom:25px;padding:20px}.scan-info{align-items:center;color:#333!important;display:flex;font-weight:500;justify-content:space-between;margin-bottom:15px}.scan-animation{background:#fff3;border-radius:3px;height:6px;overflow:hidden;position:relative}.scanner{animation:scan 2s infinite;background:linear-gradient(90deg,#0000,#2196f399,#0000);height:100%;width:30%}@keyframes scan{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}.device-types{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.device-type-card{background:#ffffffb3;border:1px solid #2196f34d;border-radius:12px;color:#333!important;cursor:pointer;padding:20px;transition:all .3s ease}.device-type-card:hover{border-color:#2196f380;box-shadow:0 4px 12px #2196f333;transform:translateY(-4px)}.device-type-card.active{background:#2196f326;border-color:#2196f399}.device-types h4{color:#333!important;font-size:1.2rem;margin:0 0 10px}.device-list{margin-top:25px}.device-list h4{color:#333!important;font-size:1.1rem;margin:0 0 15px}.device-item{align-items:center;background:#fff9;border:1px solid #2196f333;border-radius:8px;color:#333!important;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px}.device-item:hover{background:#fffc;border-color:#2196f366}.device-info{flex:1 1}.device-name{color:#333!important;font-weight:600;margin-bottom:5px}.device-status{color:#666!important;font-size:.85rem}.device-actions{display:flex;gap:10px}.btn-create,.btn-link,.btn-unlink{border:none;border-radius:6px;color:#333!important;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:all .3s ease}.btn-link{background:#4caf5033;color:#2e7d32!important}.btn-link:hover{background:#4caf504d}.btn-unlink{background:#f4433633;color:#c62828!important}.btn-unlink:hover{background:#f443364d}.btn-create{background:#2196f333;color:#1976d2!important}.btn-create:hover{background:#2196f34d}.connection-settings{background:#fff9;border:1px solid #2196f34d;border-radius:12px;margin-top:25px;padding:20px}.connection-settings h4{color:#333!important;font-size:1.1rem;margin:0 0 15px}.setting-item{color:#333!important;margin-bottom:15px}.setting-item label{color:#333!important;display:block;font-weight:500;margin-bottom:5px}.setting-item input{background:#fffc;border:1px solid #2196f34d;border-radius:6px;color:#333!important;padding:8px 12px;width:100%}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#e3f2fdfa!important;border:1px solid #2196f34d;border-radius:15px;box-shadow:0 10px 40px #0003;max-height:80vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.modal-content,.modal-content *{color:#333!important}.modal-header{align-items:center;border-bottom:2px solid #2196f333;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.modal-header h3{margin:0}.modal-close,.modal-header h3{color:#333!important;font-size:1.5rem}.modal-close{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:30px;justify-content:center;padding:0;width:30px}.modal-close:hover{color:#1976d2!important}.modal-body{color:#333!important;margin-bottom:20px}.modal-info{background:#fff9;border:1px solid #2196f333;border-radius:8px;margin-bottom:15px;padding:15px}.modal-info h4{color:#333!important;font-size:1.1rem;margin:0 0 10px}.modal-info p{color:#333!important;line-height:1.6;margin:0}.modal-section{margin-bottom:20px}.modal-section h4{color:#333!important;font-size:1.1rem;margin:0 0 10px}.modal-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.modal-section-header h4{color:#333!important;font-size:1.2rem;margin:0}.form-group{margin-bottom:20px}.form-group label{color:#333!important;display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#fffc;border:1px solid #2196f34d;border-radius:8px;color:#333!important;font-size:.95rem;padding:10px 15px;width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:#33333380!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fffffff2;border-color:#2196f399;box-shadow:0 0 0 3px #2196f31a;outline:none}.modal-footer{border-top:2px solid #2196f333;display:flex;gap:10px;justify-content:flex-end;padding-top:15px}@media (max-width:768px){.device-types,.provider-config{grid-template-columns:1fr}.devices-header{align-items:flex-start;flex-direction:column}.section-tabs{flex-wrap:wrap}.ai-settings{padding:15px}.settings-footer{flex-wrap:wrap;gap:10px}.settings-footer .btn{font-size:.875rem;line-height:1.3;min-width:0;padding:10px 14px;text-align:center;white-space:normal;word-break:break-word}.settings-footer .btn-save{overflow:visible;text-overflow:clip;white-space:normal}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#e3f2fd;background-attachment:fixed;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{display:flex;flex-direction:column;min-height:100vh}.demo-mode-banner{background:linear-gradient(90deg,#1565c0,#0d47a1);color:#fff;font-size:.85rem;font-weight:500;padding:6px 12px;text-align:center}.main-content{flex:1 1;max-width:100%;overflow-x:hidden;padding:16px 12px;width:100%}@media (min-width:576px){.main-content{padding:20px 16px}}@media (min-width:992px){.main-content{padding:24px 20px}}.container{margin:0 auto;max-width:100%;padding:16px}@media (min-width:576px){.container{padding:20px}}@media (min-width:1200px){.container{max-width:1400px}}.header{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 2px 8px #0000001a;color:#fff;padding:20px}.header-content{flex-wrap:wrap;gap:20px;justify-content:space-between;margin:0 auto;max-width:1400px}.header-content,.header-left{align-items:center;display:flex}.header-left{gap:30px}.logo{color:#fff;font-size:28px;font-weight:700;gap:10px;margin:0;text-decoration:none}.logo,.nav{align-items:center;display:flex}.nav{gap:8px}.nav-toggle{background:#ffffff26;border:2px solid #fff6;border-radius:8px;color:#fff;cursor:pointer;display:none;flex-direction:column;gap:5px;height:44px;justify-content:center;min-height:44px;min-width:44px;padding:10px;transition:background .2s;width:44px}.nav-toggle:hover{background:#ffffff40}.nav-toggle-bar{background:currentColor;border-radius:2px;display:block;height:3px;transition:transform .3s ease}.nav-toggle[aria-expanded=true] .nav-toggle-bar:first-child{transform:translateY(8px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.nav-overlay{background:#0006;cursor:pointer;inset:0;position:fixed;z-index:999}body.nav-menu-open{overflow:hidden}.nav-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2196f333!important;border:2px solid #ffffff4d;border-radius:25px;box-shadow:0 2px 8px #2196f333;box-sizing:border-box;color:#fff!important;display:flex;font-size:14px;font-weight:500;gap:8px;letter-spacing:.5px;min-height:44px;min-width:44px;padding:12px 20px;text-decoration:none!important;text-transform:uppercase;transition:all .3s ease}.nav-link:hover{background:#2196f359!important;border-color:#ffffff80;box-shadow:0 4px 15px #2196f34d;transform:translateY(-2px)}.nav-link.active{background:#2196f380!important;border-color:#fff9;box-shadow:0 4px 20px #2196f366;transform:translateY(-1px)}.header-right{gap:20px}.header-right,.header-title{align-items:center;display:flex}.header-title{font-size:28px;font-weight:700;gap:10px}.header-nav{align-items:center;display:flex;gap:15px}.header-nav button{background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background .2s}.header-nav button:hover{background:#ffffff4d}.header-user{align-items:center;background:#ffffff1a;border-radius:20px;display:flex;gap:10px;padding:8px 16px}.user-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:25px;box-shadow:0 2px 8px #0000001a;gap:12px;padding:12px 18px}.user-icon,.user-info{align-items:center;display:flex}.user-icon{background:#ffffff1a;border:1px solid #fff3;border-radius:50%;font-size:20px;height:32px;justify-content:center;width:32px}.user-name{color:#fff;font-size:14px;font-weight:600}.user-role{border-radius:10px;color:#fffc;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.user-role,.ws-status{background:#ffffff1a;font-size:12px}.ws-status{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #fff3;border-radius:20px;display:flex;gap:8px;padding:8px 14px}.ws-dot{animation:pulse-dot 2s infinite;border-radius:50%;height:8px;width:8px}.ws-status.connected .ws-dot{background:#2ecc71}.ws-status.disconnected .ws-dot{animation:none;background:#e74c3c}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e3f2fdcc;border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#fff;margin-bottom:20px;padding:24px}.card-header{border-bottom:2px solid #f0f0f0;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.card-header,.card-title{align-items:center;display:flex}.card-title{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:20px;font-weight:600;gap:10px;text-shadow:none}.card-body{padding:10px 0}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e3f2fdcc;border:1px solid #fff3;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#fff;padding:24px;transition:transform .2s}.stat-card:hover{background:#e3f2fde6;box-shadow:0 5px 20px #0003;transform:translateY(-4px)}.stat-number{font-size:36px;font-weight:700;margin-bottom:8px}.stat-label{font-size:14px;letter-spacing:.5px;opacity:.9;text-transform:uppercase}.stat-icon{float:right;font-size:40px;opacity:.3}.stat-card.danger{background:#e3f2fdcc;border-left:4px solid #e74c3c99}.stat-card.warning{background:#e3f2fdcc;border-left:4px solid #f39c1299}.stat-card.success{background:#e3f2fdcc;border-left:4px solid #2ecc7199}.stat-card.info{background:#e3f2fdcc;border-left:4px solid #3498db99}.table-container{border:1px solid #e1e8ed;border-radius:8px;overflow-x:auto}table{background:#fff;border-collapse:collapse;width:100%}thead{background:#f8f9fa}th{border-bottom:2px solid #e1e8ed;color:#2c3e50;font-size:14px;font-weight:600;letter-spacing:.5px;text-align:left;text-transform:uppercase}td,th{padding:16px}td{border-bottom:1px solid #f0f0f0}tr:hover{background:#f8f9fa}.badge{border-radius:16px;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px;text-transform:uppercase}.badge.online{background:#d4edda;color:#155724}.badge.offline{background:#f8d7da;color:#721c24}.badge.alarm{animation:pulse 2s infinite;background:#f5c6cb;color:#721c24}.badge.warning{background:#fff3cd;color:#856404}.badge.critical{animation:pulse 1s infinite;background:#e74c3c;color:#fff}.badge.high{background:#f39c12;color:#fff}.badge.medium{background:#3498db;color:#fff}.badge.low{background:#95a5a6;color:#fff}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-success{background:#2ecc71;color:#fff}.btn-success:hover{background:#27ae60}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.language-switcher,.language-switcher-login{align-items:center;display:flex;gap:6px}.language-switcher button,.language-switcher-login button{border:1px solid #0000001a;border-radius:6px;cursor:pointer;min-height:32px;min-width:36px}.language-switcher button.btn-primary,.language-switcher-login button.btn-primary{box-shadow:0 1px 3px #0003;font-weight:600}.language-switcher button.btn-secondary,.language-switcher-login button.btn-secondary{opacity:.9}.language-switcher button.btn-secondary:hover,.language-switcher-login button.btn-secondary:hover{opacity:1}.loading{align-items:center;color:#7f8c8d;display:flex;justify-content:center;padding:60px}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin-right:15px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.alert{align-items:center;animation:slideIn .3s ease-out;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:16px 20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.alert.critical{background:#ffeaea;border-left:4px solid #e74c3c;color:#c0392b}.alert.warning{background:#fff8e7;border-left:4px solid #f39c12;color:#e67e22}.alert.info{background:#e7f4ff;border-left:4px solid #3498db;color:#2980b9}.alert.success{background:#eafaf1;border-left:4px solid #2ecc71;color:#27ae60}.ws-status-fixed{align-items:center;background:#fff;border-radius:24px;bottom:20px;box-shadow:0 4px 12px #00000026;display:flex;gap:10px;padding:12px 20px;position:fixed;right:20px;z-index:1000}.ws-indicator{animation:pulse 2s infinite;border-radius:50%;height:10px;width:10px}.ws-indicator.connected{background:#2ecc71}.ws-indicator.disconnected{animation:none;background:#e74c3c}@media (max-width:991px){.nav-toggle{display:flex;order:1}.header-left{flex-wrap:wrap;gap:12px}.logo{font-size:20px;order:0}.nav{align-items:stretch;background:linear-gradient(180deg,#c0392b,#e74c3c);box-shadow:4px 0 20px #0003;flex-direction:column;gap:0;height:100vh;height:100dvh;left:0;overflow-y:auto;padding:70px 16px 24px;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;width:min(320px,85vw);z-index:1000}.nav.nav-open{transform:translateX(0)}.nav-link{border-radius:10px;justify-content:flex-start;margin-bottom:6px;min-height:48px;padding:14px 16px}.header-right{flex-wrap:wrap;gap:10px}.user-info{padding:8px 12px}.user-name{font-size:13px}.footer-bottom,.footer-content{text-align:center}.footer-bottom{flex-direction:column;gap:15px}}@media (max-width:768px){.header{padding:12px 16px}.header-content{align-items:center;flex-direction:row;flex-wrap:wrap}.header-right{margin-left:auto}.stats-grid{grid-template-columns:1fr}.card{padding:16px}table{font-size:14px}td,th{padding:12px 8px}.btn,.nav-link{min-height:44px;min-width:44px}}@media (max-width:480px){.logo{font-size:16px}.btn-logout,.header-right .language-switcher button{font-size:12px;padding:8px 12px}.user-info .user-role{display:none}}.footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e3f2fdb3;border-top:1px solid #fff3;box-shadow:0 -4px 20px #0000001a;color:#fff;margin-top:50px;padding:40px 20px 20px}.footer-content{display:flex;justify-content:center;margin:0 auto 30px;max-width:1400px}.footer-section{max-width:600px;text-align:center}.footer-section h4{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:16px;font-weight:600;letter-spacing:.5px;margin-bottom:15px;text-shadow:none;text-transform:uppercase}.footer-logo{align-items:center;display:flex;gap:12px;margin-bottom:15px}.footer-icon{background:#ffffff26;border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 12px #0003;font-size:32px;padding:8px}.footer-title{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:24px;font-weight:700;text-shadow:none}.footer-description{color:#fffffff2;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));font-size:14px;line-height:1.6;margin-bottom:20px;text-shadow:none}.footer-bottom{align-items:center;border-top:1px solid #ffffff40;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding-top:20px}.footer-copyright{color:#ffffffe6;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));font-size:14px;text-shadow:none}.footer-copyright p{margin:0 0 5px}.footer-made{color:#ffffffd9;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));font-size:13px;font-style:italic;text-shadow:none}.footer-version{align-items:center;display:flex;gap:15px}.version-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:12px;box-shadow:0 2px 8px #0003;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.build-info{color:#ffffffd9;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));font-family:Courier New,monospace;font-size:12px;text-shadow:none}input,select,textarea{background:#ffffffe6!important;color:#2c3e50!important}input::placeholder{color:#2c3e5099!important}select option{background:#fff!important}.filter-input,.filter-select{background:#ffffffe6!important;color:#2c3e50!important}.filter-select option{background:#fff!important}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{background-color:#fffffff2!important;border:1px solid #ffffff4d!important;color:#2c3e50!important}input::placeholder,textarea::placeholder{color:#2c3e5099!important;opacity:1!important}select option{background-color:#fff!important;color:#2c3e50!important}input:focus,select:focus,textarea:focus{background-color:#fffffffa!important;border-color:#3498dbcc!important;color:#2c3e50!important}.filter-input,.filter-select,.form-control,.form-input{background-color:#fffffff2!important;border:1px solid #ffffff4d!important;color:#2c3e50!important}.filter-input::placeholder{color:#2c3e5099!important}.filter-select option{background-color:#fff!important;color:#2c3e50!important}input:disabled,select:disabled,textarea:disabled{background-color:#f8f9fa!important;color:#6c757d!important}.dashboard-container input,.dashboard-container select,.dashboard-container textarea,.devices-container input,.devices-container select,.devices-container textarea,.modal-content input,.modal-content select,.modal-content textarea,.tasks-container input,.tasks-container select,.tasks-container textarea{background-color:#fffffff2!important;color:#2c3e50!important}
/*# sourceMappingURL=main.c8b75373.css.map*/