.loginPage{background:linear-gradient(135deg,#1aa3c8,#0c6f9e);justify-content:center;align-items:center;height:100vh;display:flex}.loginCard{background:#fff;border-radius:12px;flex-direction:column;gap:15px;width:340px;padding:40px;display:flex;box-shadow:0 15px 35px #0003}.loginLogo{width:200px;margin:0 auto 20px;display:block}.loginCard h1{text-align:center;color:#2c3e50;margin-bottom:10px}.loginCard input{border:1px solid #ddd;border-radius:6px;padding:12px;font-size:14px;transition:all .2s}.loginCard input:focus{border-color:#3498db;outline:none;box-shadow:0 0 4px #3498db66}.loginCard button{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:6px;padding:12px;font-size:15px;transition:all .2s}.loginCard button:hover{background:#2980b9}.dashboard{width:100%}.dashboard h1{margin-bottom:30px;font-size:28px}select,select option{color:#333;background:#fff}.statsGrid{grid-template-columns:repeat(2,minmax(250px,1fr));align-items:stretch;gap:20px;display:grid}@media (width<=800px){.statsGrid{grid-template-columns:1fr}}.statsGrid{grid-template-columns:1fr 1fr;gap:20px;max-width:700px;display:grid}.statCard{background:#fff;border-radius:10px;flex-direction:column;justify-content:center;min-height:90px;padding:25px;display:flex;box-shadow:0 2px 10px #00000014}.statTitle{color:#777;margin-bottom:10px;font-size:14px}.statValue{font-size:26px;font-weight:600}.chartButtons{gap:10px;margin-bottom:20px;display:flex}.chartButtons button{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:6px;padding:8px 16px}.deviceSelect{color:#000;background:#fff;border:1px solid #ddd;border-radius:6px;width:100%;padding:10px;font-size:14px}.deviceSelect option{color:#000;background:#fff}*{box-sizing:border-box}.page{box-sizing:border-box;width:100%;max-width:1600px;margin:auto;padding:30px 40px;font-family:Arial,Helvetica,sans-serif}@media (width<=1200px){.page{padding:25px 30px}}@media (width<=800px){.page{padding:20px}}.deviceCard{background:#fff;border-radius:10px;margin-bottom:20px;padding:20px;box-shadow:0 3px 10px #0000001a}.deviceTitle{margin-bottom:10px;font-size:26px;font-weight:700}.statusLine{align-items:center;gap:8px;font-weight:500;display:flex}.statusDotOnline{background:#27ae60;border-radius:50%;width:10px;height:10px;display:inline-block}.statusDotOffline{background:#e74c3c;border-radius:50%;width:10px;height:10px;display:inline-block}.statusText{color:#000}.statsSection{margin-top:20px}.statsGrid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.statCard{background:#fff;border-radius:10px;flex-direction:column;justify-content:center;height:100px;padding:20px;display:flex;box-shadow:0 2px 10px #00000014}.statCard div:first-child{color:#7f8c8d;font-size:14px}.statValue{color:#2c3e50;margin-top:5px;font-size:28px;font-weight:700}.periodButtons{gap:12px;margin-top:10px;margin-bottom:20px;display:flex}.periodButtons button{cursor:pointer;background:#e5e5e5;border:none;border-radius:6px;padding:8px 16px;font-weight:500}.periodButtons button:hover{background:#d0d0d0}.periodActive{color:#fff;background:#3498db!important}.transactions{margin-top:20px}.transactions table{border-collapse:collapse;width:100%}.transactions th{text-align:left;background:#f1f3f5;padding:10px}.transactions td{border-top:1px solid #eaeaea;padding:10px}.transactions th:last-child,.transactions td:last-child{text-align:center;width:80px}.transactions tr:hover{background:#f8f9fa}.transactionsHeader{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.archiveBtn:hover{background:#2c3e50}.inkassRow{justify-content:space-between;align-items:center;margin-top:15px;display:flex}.lastInkass{color:#444;font-size:15px}.inkassButtons{gap:10px;display:flex}.inkassBtn{color:#fff;cursor:pointer;background:#27ae60;border:none;border-radius:6px;padding:8px 14px}.inkassBtn:hover{background:#219150}.archiveBtn,.archiveButton{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:6px;padding:8px 14px}.archiveButton:hover{background:#2980b9}.alarmLine{align-items:center;gap:8px;font-weight:500;display:flex}.alarmDotNormal{background:#27ae60;border-radius:50%;width:10px;height:10px;display:inline-block}.alarmDotError{background:#e74c3c;border-radius:50%;width:10px;height:10px;display:inline-block}.alarmText{color:#000}.modalOverlay{z-index:1000;background:#0006;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal{background:#fff;border-radius:12px;width:320px;padding:25px;box-shadow:0 10px 30px #0003}.modalInput{border:1px solid #ccc;border-radius:8px;width:100%;margin-top:10px;margin-bottom:15px;padding:10px}.modalQuick{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px;display:grid}.modalQuick button{cursor:pointer;background:#ecf0f1;border:none;border-radius:6px;padding:8px}.modalQuick button:hover{background:#dcdde1}.modalSubmit{color:#fff;cursor:pointer;background:#2ecc71;border:none;border-radius:8px;width:100%;padding:10px;font-weight:700}.modalSubmit:hover{background:#27ae60}.deviceActions{gap:12px;margin-top:10px;display:flex}.deviceSub{color:#999;margin-top:4px;font-size:12px}.modalOverlay{background:#0006;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal{background:#fff;border-radius:12px;flex-direction:column;gap:10px;min-width:250px;padding:20px;display:flex}.eventsPage{width:100%}.col-id{text-align:center;width:40px}.col-device{white-space:nowrap;width:110px}.col-address{text-align:center;width:35%}.col-event{width:auto;padding-right:30px}.col-time{white-space:nowrap;width:200px;padding-left:20px}.eventsFilters{gap:20px;margin-bottom:20px;display:flex}.eventsFilters select{border:1px solid #ccc;border-radius:6px;padding:8px}.events-table{table-layout:fixed;width:100%}.eventsTable{border-collapse:collapse;background:#fff;border-radius:10px;width:100%;overflow:hidden;box-shadow:0 2px 10px #00000014}.eventsTable th.col-event,.eventsTable td.col-event{text-align:center}.eventsTable tr:hover{background:#fafafa}.eventSale{background:#eafaf1}.event-SALE{background:#e8f7ee}.event-ALARM{background:#ffe6e6}.event-WARNING{background:#fff6d6}.event-SERVICE{background:#e8f1ff}.eventAlarm{color:#c0392b;background:#fdecea;font-weight:600}.eventWarning{color:#e67e22;background:#fff8e1}.pagination{justify-content:center;align-items:center;gap:6px;margin-top:20px;display:flex}.pagination button{cursor:pointer;background:#f1f1f1;border:none;border-radius:6px;min-width:32px;height:32px;transition:all .2s}.pagination button:hover{background:#ddd}.pagination button.active{color:#fff;background:#2f80ed;font-weight:700}.pagination button:disabled{opacity:.4;cursor:not-allowed}.tableWrapper{flex-direction:column;display:flex}.pagination{margin-top:auto}.archivePage{max-width:1100px;margin:auto;padding:20px;font-family:Arial,sans-serif}.archiveTitle{margin-bottom:20px;font-size:24px;font-weight:600}.archiveFilters{background:#f8f9fa;border-radius:8px;flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:20px;padding:15px;display:flex}.archiveFilters label{color:#555;font-size:14px}.archiveFilters input,.archiveFilters select{border:1px solid #ccc;border-radius:6px;padding:6px 10px}.filterBtn{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:6px;padding:7px 14px}.filterBtn:hover{background:#2980b9}.excelBtn{color:#fff;cursor:pointer;background:#27ae60;border:none;border-radius:6px;padding:7px 14px}.excelBtn:hover{background:#219150}.archiveTable{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 2px 8px #00000014}.archiveTable th{color:#fff;background:#34495e;padding:10px;font-size:14px}.archiveTable td{text-align:center;border-bottom:1px solid #eee;padding:10px}.archiveTable tr:hover{background:#f2f2f2}.pagination{align-items:center;gap:12px;margin-top:20px;display:flex}.pagination button{color:#fff;cursor:pointer;background:#2f80ed;border:none;border-radius:6px;padding:6px 12px}.pagination button:disabled{cursor:not-allowed;background:#ccc}.layout{height:100vh;font-family:Arial;display:flex}.sidebar{color:#fff;background:#1f2a38;flex-direction:column;justify-content:flex-start;width:240px;transition:all .3s;display:flex}.sidebar.collapsed{width:70px}.sidebar.collapsed span{display:none}.sidebar.collapsed .menuItem{justify-content:center;align-items:center;padding:18px 0;display:flex}.sidebar.collapsed svg{margin:0;font-size:20px}.sidebar.collapsed .sidebarUser{display:none}.sidebarUser{border-bottom:1px solid #ffffff14;margin-bottom:10px;padding:10px 20px 15px}.sidebarUserName{color:#fff;font-size:15px;font-weight:600;line-height:1.2}.sidebarUserRole{color:#9ca3af;margin-top:3px;font-size:12px}.logo{justify-content:space-between;align-items:center;padding:15px 20px;font-size:18px;font-weight:700;display:flex}.collapseBtn{color:#fff;cursor:pointer;background:0 0;border:none;font-size:18px}.menuItem{cursor:pointer;justify-content:space-between;align-items:center;width:100%;padding:14px 25px;display:flex}.menuItem span{text-align:left;flex:1}.menuItem:hover{background:#2e3b4e}.menuItem svg{margin-left:20px;font-size:18px}.logout{cursor:pointer;border-top:1px solid #2e3b4e;align-items:center;gap:12px;padding:12px 20px;display:flex}.logout:hover{background:#2e3b4e}.content{background:#f5f7fa;flex-direction:column;flex:1;display:flex}.header{background:#fff;border-bottom:1px solid #eaeaea;align-items:center;height:60px;padding-left:20px;display:flex}.page{padding:25px;overflow:auto}.usersPage{width:100%}.usersHeader{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.addUserBtn{color:#fff;cursor:pointer;background:#2ecc71;border:none;border-radius:6px;padding:8px 16px;font-weight:500}.addUserBtn:hover{background:#27ae60}.usersTable{border-collapse:collapse;background:#fff;border-radius:10px;width:100%;overflow:hidden;box-shadow:0 2px 10px #00000014}.usersTable th{text-align:left;background:#f5f6f7;padding:12px}.usersTable td{border-top:1px solid #eee;padding:12px}.usersTable td:nth-child(4){text-align:center}.usersTable tr:hover{background:#fafafa}.col-name{width:220px}.col-login{width:120px}.col-phone{width:160px}.col-devices{text-align:center;width:120px}.col-address{width:auto}.devicesCount{color:#3b5bdb;text-align:center;background:#eef3ff;border-radius:8px;min-width:26px;padding:5px 10px;font-size:13px;display:inline-block}.devicesCount:hover{cursor:pointer;background:#dbe4ff;transform:scale(1.1)}.editBtn{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:6px;padding:6px 12px}.editBtn:hover{background:#2980b9}.clickable{cursor:pointer;transition:all .2s}.clickable:hover{background:#dbe4ff}.actions{gap:10px;display:flex}.userFormPage{max-width:900px}.userForm{flex-direction:column;gap:20px;margin-top:30px;display:flex}.formRow{gap:20px;display:flex}.formGroup{flex-direction:column;flex:1;gap:6px;display:flex}.formGroup input{border:1px solid #ddd;border-radius:6px;padding:10px;font-size:14px}.formGroup input:focus{border-color:#3498db;outline:none}.formAddress{flex-direction:column;gap:6px;display:flex}.formAddress input{border:1px solid #ddd;border-radius:6px;padding:10px}.saveBtn{color:#fff;cursor:pointer;background:#2ecc71;border:none;border-radius:6px;width:200px;margin-top:10px;padding:12px;font-weight:600}.userEditPage{padding:30px;font-family:Arial,sans-serif}.userEditPage input{border:1px solid #ccc;border-radius:6px;min-width:160px;margin:5px;padding:10px}button{cursor:pointer;border:none;border-radius:6px;padding:8px 14px;font-size:14px;transition:all .2s}.btn{cursor:pointer;color:#fff;border:none;border-radius:8px;padding:8px 14px;font-weight:500;transition:all .2s}.btn-warning{background:#f39c12}.btn-danger{background:#e74c3c}.btn-primary{background:#3498db}.btn-success{background:#2ecc71}.btn:hover{opacity:.9;transform:translateY(-1px)}.devicesTable{border-collapse:collapse;width:100%;margin-top:15px}.devicesTable th{text-align:left;background:#f5f5f5;padding:12px}.devicesTable td{padding:10px}.devicesTable td:nth-child(2){color:#666;font-size:14px}.status-online{color:#2ecc71;font-weight:700}.status-offline{color:#e74c3c}.status-block{color:#f39c12;font-weight:700}.modalActions{gap:12px;margin-top:15px;display:flex}.actions{justify-content:flex-start;align-items:center;gap:16px;display:flex}.actions button{margin-right:10px}.actions button:last-child{margin-right:0}.controlButtons{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.devicesTable{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.locationEdit{align-items:center;gap:8px;display:flex}.locationEdit input{border:1px solid #ccc;border-radius:6px;padding:6px 8px}.btn-success{color:#fff;background:#28a745}.configPage{padding:20px}.configCard{background:#fff;border-radius:12px;max-width:700px;padding:25px;box-shadow:0 2px 10px #0000000d}.configCard h2{margin-bottom:20px}.configGrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.configInput{border:1px solid #ddd;border-radius:6px;width:100%;padding:8px 10px;font-size:14px}.configSection{margin-top:25px}.configSection h4{color:#444;margin-bottom:10px}.inlineRow{gap:10px;display:flex}.saveBtn{color:#fff;cursor:pointer;background:#27ae60;border:none;border-radius:6px;margin-top:20px;padding:8px 18px;font-size:14px;transition:all .2s}.saveBtn:hover{background:#219150}.formGroup{flex-direction:column;gap:4px;display:flex}.formGroup label{color:#555;font-size:13px}.configRow{gap:20px;display:flex}.configField{flex-direction:column;flex:1;display:flex}.readonlyInput{color:#666;cursor:not-allowed;background:#f5f5f5}.configField label{color:#555;margin-bottom:6px;font-size:14px;font-weight:500}.readonlyInput{color:#666;cursor:not-allowed;box-sizing:border-box;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;outline:none;height:42px;padding:0 12px;font-size:15px}.configField input{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;height:42px;padding:0 12px;font-size:15px}body{background:#f5f6fa;margin:0;font-family:Arial,sans-serif}.container{max-width:1200px;margin:auto;padding:20px}h2{margin-bottom:20px}.table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 2px 8px #0000001a}.table th{text-align:left;background:#f1f2f6;padding:12px;font-weight:600}.table td{border-top:1px solid #eee;padding:12px}.table tr:hover{background:#f9f9f9}.status-dot{margin-right:6px;font-weight:700}.online{color:green}.offline{color:red}@media (width<=768px){.table th,.table td{padding:8px;font-size:14px}}td{white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}
