@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600&display=swap);.temperature-graph{background:#0000;margin-top:5px;position:relative}.graph-error,.graph-loading,.graph-no-data{color:var(--text-secondary);font-size:11px;padding:20px;text-align:center}.graph-refreshing{background:var(--bg-surface-hover);border-radius:4px;color:var(--text-secondary);font-size:9px;padding:2px 6px;position:absolute;right:10px;top:5px;z-index:10}.camera-card{background:#f0f0f0;border-radius:8px;box-shadow:0 2px 4px #0000001a}.camera-card.alarm{background:#fcc;border:1px solid red}.camera-card.ok{background:#cfc;border:1px solid #0c0}.camera-card h3{font-size:1.2rem;margin-bottom:12px;margin-top:0}.sensor{display:flex;font-size:1rem;justify-content:space-between;margin-bottom:8px}.progress-bar-container{width:100%}.graph-toggle{margin-top:12px;text-align:center}.graph-toggle-btn{background:var(--brand-accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;padding:4px 8px;transition:opacity .2s}.graph-toggle-btn:hover{opacity:.8}.graph-container{border-top:1px solid var(--border-color);margin-top:12px;padding:8px 0}@media (max-width:768px){.camera-card{padding:12px}.camera-card h3{font-size:16px}.sensor-label{font-size:10px}.sensor-value{font-size:20px}.sensor-range{font-size:9px}.progress-bar-container{height:6px}}.camera-card{background:#fff;box-shadow:0 4px 12px #0000001a;font-family:Segoe UI,Arial,sans-serif;padding:20px;transition:background .3s}.camera-card.alarm{background:#ffe6e6;border:2px solid #ff4d4d}.card-header{align-items:baseline;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:8px}.card-header h3{color:#333;font-size:1.4rem;font-weight:600;margin:0}.camera-id{background:#f0f0f0;border-radius:20px;color:#666;font-size:1rem;padding:4px 8px}.sensors{gap:12px}.sensor-item,.sensors{display:flex;flex-direction:column}.sensor-item{background:#f9f9f9;border-radius:8px;padding:10px}.sensor-label{align-items:center;color:#555;display:inline-flex;font-size:.85rem;font-weight:600}.sensor-value{color:#222;font-size:1.6rem;font-weight:700;line-height:1.2;margin:4px 0}.sensor-range{align-items:center;color:#777;display:inline-flex;font-size:.85rem}@media (min-width:1920px){.camera-card{padding:28px}.card-header h3{font-size:1.8rem}.camera-id{font-size:1.2rem;padding:6px 12px}.sensor-value{font-size:2rem}.sensor-label,.sensor-range{font-size:1rem}}.progress-sensor{margin-bottom:12px;width:100%}.sensor-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:4px}.progress-bar-container{background:#e0e0e0;background:var(--bg-surface-hover,#e0e0e0);border-radius:8px;height:8px;margin:4px 0;overflow:hidden}.progress-bar-fill{background:#28a745;background:var(--status-ok,#28a745);border-radius:8px;height:100%;transition:width .2s ease;width:0}.progress-bar-fill.alarm-fill{background:#dc3545;background:var(--status-alarm,#dc3545)}@media (min-width:1920px){.progress-bar-container{height:12px}.sensor-header .sensor-value{font-size:18px}}.camera-grid{gap:20px}@media (max-width:1200px){.camera-grid{gap:15px;grid-template-columns:repeat(2,1fr)!important}}@media (max-width:768px){.camera-grid{gap:12px;grid-template-columns:1fr!important}}.dashboard{margin:0 auto;max-width:1920px;padding:20px}.dashboard-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.header-left h1{color:#1a3b5d;font-size:2.5rem;font-weight:700;margin:0}.subtitle{color:#666;display:block;font-size:1rem;margin-top:5px}.total-cameras{background:#f0f4f8;border-radius:50px;padding:10px 20px;text-align:right}.total-label{align-items:center;color:#2c3e50;display:inline-flex;font-size:1.2rem;font-weight:600;margin-right:10px}.total-number{color:#1a3b5d;font-size:2.3rem;font-weight:800}.last-update{color:#888;font-size:1.5rem;margin-right:10px;text-align:right}@media (min-width:1920px){.dashboard-header h1{font-size:3rem}.subtitle{font-size:1.2rem}.total-label{font-size:1.5rem}.total-number{font-size:2.8rem}}.last-update.recent{color:#2e7d32;font-weight:700}.last-update.warning{color:#ff8c00;font-weight:700}.last-update.expired{color:#d32f2f;font-weight:700}.last-update-info{align-items:center;background:#f5f5f5;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:10px 20px}.timezone-info{color:#666;font-size:.9rem}.object-selector{background:#f0f0f0;gap:10px}.object-selector select{border:1px solid #ccc;border-radius:4px;padding:5px 10px}.last-update-container{align-items:center;background:#f8f9fa;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin:10px 20px;padding:15px 20px}.last-update-card{align-items:center;background:#fff;border-radius:8px;display:flex;gap:15px;padding:10px 20px;transition:all .3s ease}.last-update-card.recent{background:linear-gradient(135deg,#fff,#f0fff4);border-left:4px solid #28a745}.last-update-card.warning{background:linear-gradient(135deg,#fff,#fff9e6);border-left:4px solid #ffc107}.last-update-card.expired{background:linear-gradient(135deg,#fff,#ffe6e6);border-left:4px solid #dc3545}.last-update-card.no-data{background:#f8f9fa;border-left:4px solid #6c757d}.last-update-icon{font-size:32px;text-align:center;width:50px}.last-update-info{flex:1 1}.last-update-label{color:#6c757d;font-size:12px;letter-spacing:1px;text-transform:uppercase}.last-update-time{color:#333;font-size:18px;font-weight:700;margin:5px 0}.last-update-status{font-size:13px;font-weight:500}.last-update-card.recent .last-update-status{color:#28a745}.last-update-card.warning .last-update-status{color:#ff8c00}.last-update-card.expired .last-update-status{color:#dc3545}.last-update-diff{border-left:1px solid #e0e0e0;min-width:80px;padding-left:15px;text-align:center}.diff-value{color:#333;font-size:28px;font-weight:700}.diff-label{color:#6c757d;font-size:11px;text-transform:uppercase}.last-update-card.recent .diff-value{color:#28a745}.last-update-card.warning .diff-value{color:#ff8c00}.last-update-card.expired .diff-value{color:#dc3545}.timezone-info{align-items:center;background:#fff;border-radius:8px;display:flex;font-size:14px;gap:8px;padding:8px 15px}.timezone-label{color:#6c757d}.timezone-value{color:#333;font-family:monospace;font-weight:700}.object-selector{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:12px;padding:8px 16px}.object-selector label{color:#333;font-weight:700;margin:0}.object-selector select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;min-width:200px;padding:6px 12px}.object-selector select:disabled{cursor:not-allowed;opacity:.6}.switching-indicator{animation:pulse 1s infinite;color:#ffc107;font-size:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.active-object-name{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#333;font-size:18px;font-weight:700;padding:8px 20px}@media (min-width:1920px){.last-update-container{margin:15px 30px;padding:20px 30px}.last-update-time{font-size:22px}.diff-value{font-size:36px}.last-update-icon{font-size:40px;width:60px}.object-selector select{font-size:16px;min-width:250px;padding:8px 16px}.active-object-name{font-size:20px;padding:10px 24px}}@media (max-width:768px){.last-update-container{flex-direction:column;gap:10px}.last-update-card{width:100%}.timezone-info{justify-content:center;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:#fff;border-radius:8px;max-height:80vh;max-width:600px;overflow-y:auto;padding:24px;width:90%}.conversion-table{border-collapse:collapse;margin:20px 0;width:100%}.conversion-table td,.conversion-table th{border-bottom:1px solid #ddd;padding:8px;text-align:left}.conversion-table input{border:1px solid #ccc;border-radius:4px;padding:4px;width:100%}.remove-row-btn{background:#f44;font-size:16px;height:24px;line-height:1;width:24px}.add-row-btn,.remove-row-btn{border:none;border-radius:4px;color:#fff;cursor:pointer}.add-row-btn{background:#4caf50;margin-bottom:20px;padding:8px 16px}.modal-buttons{display:flex;gap:10px;justify-content:flex-end}.modal-buttons button{border:none;border-radius:4px;cursor:pointer;padding:8px 16px}.modal-buttons .save-btn{background:#4caf50;color:#fff}.modal-buttons .delete-btn{background:#f44;color:#fff}.modal-buttons .cancel-btn{background:#ccc;color:#000}.settings{margin:0 auto;max-width:800px;padding:20px}.form-group{margin-bottom:20px}.form-group label{font-weight:700}.form-group input[type=number],.form-group input[type=text],.form-group select{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:8px;width:100%}.camera-settings{border:1px solid #ddd;border-radius:4px;margin-bottom:20px;padding:15px;position:relative}.camera-settings h4{margin-top:0}.remove-btn{background:#f44;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px;position:absolute;right:10px;top:10px}.form-row{align-items:center;display:flex;gap:10px;margin-bottom:15px}.form-row label{font-weight:700;width:150px}.form-row input[type=number],.form-row input[type=text],.form-row select{flex:1 1;padding:5px}.form-row.range input{flex:none;width:80px}.add-btn,.save-btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;margin-right:10px;padding:10px 20px}.add-btn{background:#4caf50;color:#fff}.save-btn{background:#008cba}@media (min-width:1920px){.settings{max-width:1200px}.form-row label{width:200px}}.refresh-btn{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;white-space:nowrap}.refresh-btn:hover{background:#45a049}.conversion-btn{background:#673ab7;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-left:150px;padding:8px 16px}.conversion-btn:hover{background:#5e35b1}.objects-container{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.object-card{background:#fff;border:1px solid #ddd;border-radius:8px;overflow:hidden}.object-header{align-items:center;background:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;padding:15px 20px;transition:background .2s}.object-header:hover{background:#e9ecef}.object-header-left{align-items:center;display:flex;gap:10px}.object-header-left h3{font-size:18px;margin:0}.object-imei{color:#6c757d;font-size:14px}.remove-object-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:5px 10px}.object-content{border-top:1px solid #ddd;padding:20px}.cameras-container{margin-top:15px}.camera-card-settings{border:1px solid #eee;border-radius:6px;margin-bottom:10px;overflow:hidden}.camera-header{align-items:center;background:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;padding:10px 15px}.camera-header h5{flex:1 1;margin:0}.remove-camera-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;height:24px;width:24px}.camera-content{border-top:1px solid #eee;padding:15px}.expand-icon{color:#6c757d;font-size:12px;width:20px}.add-camera-btn,.add-object-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:10px;padding:8px 16px}.add-object-btn{margin-bottom:20px;width:100%}.save-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px;width:100%}.checkbox-group{align-items:flex-start;background:#f8f9fa;border-radius:8px;display:flex;gap:20px;margin:15px 0;padding:10px}.checkbox-group>label{font-weight:700;margin:0;min-width:150px}.checkbox-options{display:flex;flex-wrap:wrap;gap:20px}.checkbox-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:5px 10px;transition:background .2s;-webkit-user-select:none;user-select:none}.checkbox-label:hover{background:#e9ecef}.checkbox-label input{cursor:pointer;height:18px;margin:0;width:18px}.checkbox-label span{color:#333;font-size:14px}@media (min-width:1920px){.checkbox-group{padding:15px}.checkbox-label span{font-size:16px}.checkbox-label input{height:20px;width:20px}}@media (max-width:768px){.checkbox-group,.checkbox-options{flex-direction:column;gap:10px}}.display-mode-selector{background:var(--bg-surface-hover);border-radius:8px;margin-top:10px;padding:10px}.radio-group{display:flex;gap:20px;margin-left:10px}.radio-label{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:6px}.radio-label input{cursor:pointer;height:16px;width:16px}.display-mode-group{background:var(--bg-surface-hover);background:#f5f5f5;background:var(--bg-surface-hover,#f5f5f5);border-radius:8px;margin:15px 0;padding:10px}.display-mode-options{display:flex;flex-wrap:wrap;gap:20px;margin-top:8px}.param-mode{align-items:center;display:flex;font-size:14px;gap:12px}.param-mode span{font-weight:500;min-width:50px}.param-mode label{align-items:center;cursor:pointer;display:inline-flex;gap:4px}.param-mode input{height:14px;margin:0;width:14px}.display-row{align-items:center;background:var(--bg-surface-hover);border-radius:6px;display:flex;flex-wrap:wrap;gap:10px;margin:10px 0;padding:8px}.display-row label{font-weight:600;min-width:100px}.display-options{display:flex;gap:15px}.display-options label{align-items:center;cursor:pointer;display:inline-flex;font-weight:400;gap:4px}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.auth-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;width:100%}.auth-card h1{color:#333;font-size:28px;margin-bottom:8px;text-align:center}.auth-card h2{color:#666;font-size:20px;font-weight:400;margin-bottom:30px;text-align:center}.auth-card .form-group{margin-bottom:20px}.auth-card .form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.auth-card .form-group input{border:1px solid #ddd;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s;width:100%}.auth-card .form-group input:focus{border-color:#667eea;outline:none}.auth-card button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px;transition:transform .2s;width:100%}.auth-card button:hover:not(:disabled){transform:translateY(-2px)}.auth-card button:disabled{cursor:not-allowed;opacity:.7}.auth-error{background:#fee;color:#c33}.auth-error,.auth-success{border-radius:8px;margin-bottom:20px;padding:12px;text-align:center}.auth-success{background:#efe;color:#3c3}.auth-links{display:flex;flex-direction:column;gap:10px;margin-top:20px;text-align:center}.auth-links a{color:#667eea;font-size:14px;text-decoration:none}.auth-links a:hover{text-decoration:underline}.admin-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:10px;margin-bottom:20px;padding-bottom:10px}.admin-tabs button{background:#0000;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;font-weight:500;padding:8px 16px}.admin-tabs button.active{background:var(--brand-accent);color:#fff}.themes-management{display:flex;flex-direction:column;gap:30px}.themes-list table{border-collapse:collapse;width:100%}.themes-list td,.themes-list th{border-bottom:1px solid var(--border-color);padding:8px;text-align:left}.theme-form{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:20px}.css-vars-editor textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:monospace;padding:8px;width:100%}.theme-docs{background:var(--bg-surface);border-radius:8px;font-size:14px;padding:20px}.theme-docs pre{background:var(--bg-primary);border-radius:4px;overflow-x:auto;padding:10px}.admin-panel{margin:0 auto;max-width:1400px;padding:20px}.admin-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:20px;text-align:center}.stat-card h3{font-size:16px;margin:0 0 10px;opacity:.9}.stat-value{font-size:32px;font-weight:700}.admin-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr}.users-list{background:#f5f5f5;border-radius:12px;overflow-x:auto;padding:20px}.users-list h2{margin-bottom:20px;margin-top:0}.users-list table{border-collapse:collapse;width:100%}.users-list td,.users-list th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.users-list tr{cursor:pointer;transition:background .2s}.users-list tr:hover{background:#e0e0e0}.users-list tr.selected{background:#d0d0d0}.user-details{background:#f5f5f5;border-radius:12px;padding:20px}.user-details h2{margin-bottom:20px;margin-top:0}.user-details h3{margin-top:20px}.form-group,.user-details h3{margin-bottom:15px}.form-group label{display:block;font-weight:500;margin-bottom:5px}.form-group input[type=date],.form-group input[type=number],.form-group input[type=text]{border:1px solid #ddd;border-radius:4px;padding:8px;width:100%}.form-group input[type=checkbox]{margin-left:10px;width:auto}.user-actions{display:flex;gap:10px;margin:20px 0}.block-btn{background:#dc3545}.block-btn,.unblock-btn{border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.unblock-btn{background:#28a745}.billing-section{margin-top:20px}.add-payment{display:flex;gap:10px;margin-bottom:20px}.add-payment input{border:1px solid #ddd;border-radius:4px;flex:1 1;padding:8px}.add-payment button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.payments-table{border-collapse:collapse;width:100%}.payments-table td,.payments-table th{border-bottom:1px solid #ddd;padding:8px;text-align:left}.delete-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:4px 8px}.admin-message{border-radius:8px;margin-bottom:20px;padding:12px 20px;text-align:center}.admin-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.admin-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.toggle-password-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.password-group{background:#f8f9fa;border-radius:8px;margin-bottom:15px;padding:15px}.password-group label{font-weight:700;margin-bottom:8px}.password-group input{border:1px solid #ddd;border-radius:4px;margin-bottom:10px;padding:8px;width:100%}.change-password-btn{background:#ffc107;border:none;border-radius:4px;color:#333;cursor:pointer;padding:8px 16px;width:100%}.change-password-btn:hover{background:#e0a800}.save-user-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px;width:100%}.save-user-btn:hover{background:#218838}.add-payment select{background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px}:root{--simple-bg:#f5f5f5;--simple-surface:#fff;--simple-surface-hover:#f0f0f0;--simple-text-primary:#333;--simple-text-secondary:#666;--simple-border:#ddd;--simple-ok:#28a745;--simple-warning:#ffc107;--simple-alarm:#dc3545;--simple-accent:#007bff;--simple-card-bg:#fff;--simple-header-bg:#fff}.theme-dark{--bg-deep:#0b0f19;--surface-1:#151921;--surface-2:#1e2330;--hover-bg:#1e2330;color:var(--text-primary)}.theme-dark,.theme-dark .admin-panel,.theme-dark .dashboard,.theme-dark .settings{background-color:var(--bg-deep)}.theme-dark .camera-card{background:var(--card-bg);border:1px solid var(--border-color)}.theme-dark .camera-card h3,.theme-dark .sensor-value{color:var(--text-primary)}.theme-dark .last-update-label,.theme-dark .sensor-label,.theme-dark .sensor-range{color:var(--text-secondary)}.theme-dark .camera-card.alarm{background:#ff47571a;border:2px solid var(--status-alarm)}.theme-dark .camera-card.ok{border-left:4px solid var(--status-ok)}.theme-dark .last-update-card.recent{background:#00d0841a;border-left-color:var(--status-ok)}.theme-dark .last-update-card.warning{background:#f5a6231a;border-left-color:var(--status-warning)}.theme-dark .last-update-card.expired{background:#ff47571a;border-left-color:var(--status-alarm)}.theme-dark .add-camera-btn,.theme-dark .add-object-btn,.theme-dark .save-btn,.theme-dark button{background:var(--brand-accent);color:#0b0f19}.theme-dark .remove-camera-btn,.theme-dark .remove-object-btn{background:var(--status-alarm)}.theme-dark .camera-card-settings,.theme-dark .object-card{background:var(--surface-1);border-color:var(--border-color)}.theme-dark input,.theme-dark select{background:var(--surface-2);border-color:var(--border-color);color:var(--text-primary)}.theme-light{--bg-light:#f8f9fc;--surface-light:#fff;--surface-light-hover:#f1f3f9;--text-primary-light:#1e2a3a;--text-secondary-light:#5a6e8a;--border-light:#e2e8f0;--status-ok-light:#10b981;--status-warning-light:#f59e0b;--status-alarm-light:#ef4444;--brand-accent-light:#3b82f6;--card-bg-light:#fff;--header-bg-light:#fff;color:var(--text-primary-light)}.theme-light,.theme-light .admin-panel,.theme-light .dashboard,.theme-light .settings{background-color:var(--bg-light)}.theme-light .camera-card{background:var(--card-bg-light);border:1px solid var(--border-light);box-shadow:0 1px 3px #0000000d}.theme-light .camera-card h3,.theme-light .sensor-value{color:var(--text-primary-light)}.theme-light .sensor-label,.theme-light .sensor-range{color:var(--text-secondary-light)}.theme-light .camera-card.alarm{background:#ef44440d;border:2px solid var(--status-alarm-light)}.theme-light .camera-card.ok{border-left:4px solid var(--status-ok-light)}.theme-light .add-camera-btn,.theme-light .add-object-btn,.theme-light .save-btn,.theme-light button{background:var(--brand-accent-light);color:#fff}.theme-light .camera-card-settings,.theme-light .object-card,.theme-light input,.theme-light select{background:var(--surface-light);border-color:var(--border-light)}.theme-light input,.theme-light select{color:var(--text-primary-light)}.theme-simple{--bg-primary:#f5f5f5;--bg-surface:#fff;--bg-surface-hover:#f0f0f0;--text-primary:#333;--text-secondary:#666;--border-color:#ddd;--status-ok:#28a745;--status-warning:#ffc107;--status-alarm:#dc3545;--brand-accent:#007bff;--card-bg:#fff;--header-bg:#fff;--shadow-sm:0 1px 3px #0000001a}.theme-dark{--bg-primary:#0b0f19;--bg-surface:#151921;--bg-surface-hover:#1e2330;--text-primary:#e8ecf2;--text-secondary:#8b95a5;--border-color:#2a3040;--status-ok:#00d084;--status-warning:#f5a623;--status-alarm:#ff4757;--brand-accent:#00d4aa;--card-bg:#151921;--header-bg:#0b0f19;--shadow-sm:0 4px 12px #0000004d}.theme-light{--bg-primary:#f8f9fc;--bg-surface:#fff;--bg-surface-hover:#f1f3f9;--text-primary:#1e2a3a;--text-secondary:#5a6e8a;--border-color:#e2e8f0;--status-ok:#10b981;--status-warning:#f59e0b;--status-alarm:#ef4444;--brand-accent:#3b82f6;--card-bg:#fff;--header-bg:#fff;--shadow-sm:0 1px 3px #0000000d}.diff-value,.sensor-value,.total-number{font-family:Space Grotesk,monospace;font-weight:500;letter-spacing:.5px}.camera-card h3,.object-header h3,h1,h2,h3,h4{font-family:Inter,sans-serif;font-weight:600}.camera-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);padding:16px;transition:all .2s}.camera-card.alarm{background:linear-gradient(145deg,var(--card-bg),#ff47570d);border:2px solid var(--status-alarm)}.camera-card.ok{border-left:4px solid var(--status-ok)}.sensor-label{color:var(--text-secondary);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.sensor-value{color:var(--text-primary);font-size:24px;font-weight:600}.sensor-value.out-of-range{color:var(--status-warning)!important}.sensor-range{color:var(--text-secondary);font-size:11px}.dashboard header{background:var(--header-bg);border-bottom:1px solid var(--border-color)}.add-camera-btn,.add-object-btn,.save-btn,button{background:var(--brand-accent);border:none;border-radius:6px;color:#fff;font-weight:500;transition:opacity .2s}.add-camera-btn:hover,.add-object-btn:hover,.save-btn:hover,button:hover{opacity:.9}input,select{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);padding:8px 12px}.last-update-card{background:var(--bg-surface);border-left:4px solid var(--status-ok)}.last-update-card.recent{border-left-color:var(--status-ok)}.last-update-card.warning{border-left-color:var(--status-warning)}.last-update-card.expired{border-left-color:var(--status-alarm)}.admin-panel,.user-details,.users-list{background:var(--bg-surface);border-color:var(--border-color)}.camera-card-settings,.object-card{background:var(--bg-surface);border:1px solid var(--border-color)}.theme-dark{font-family:Inter,sans-serif}.theme-dark .sensor-value{font-family:Space Grotesk,monospace}*{box-sizing:border-box;padding:0}*,body{margin:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .2s,color .2s}.app{min-height:100vh}nav{background:var(--bg-surface);border-bottom:1px solid var(--border-color);padding:10px 20px}nav a{color:var(--text-primary);margin-right:20px;text-decoration:none}.logout-btn{background:var(--status-alarm);border:none;border-radius:6px;color:#fff;cursor:pointer;float:right;padding:6px 12px}nav a:hover{text-decoration:underline}.dashboard header{align-items:center;background:#fff;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.dashboard header h1{margin:0}.loading{align-items:center;color:#666;display:flex;font-size:20px;height:100vh;justify-content:center}
/*# sourceMappingURL=main.7c23d624.css.map*/