*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}#root{min-height:100vh}img{max-width:100%;display:block}.dashboard{box-sizing:border-box;background:#f5f7fb;flex-direction:column;height:100vh;padding:30px;font-family:Arial,sans-serif;display:flex;overflow:hidden}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.dashboard-header h1{margin:0;font-size:28px}.dashboard-header p{color:#777;margin-top:8px}.admin{background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px 18px}.stats{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:25px;display:grid}.stat-card{text-align:center;background:#fff;border-radius:12px;padding:5px;box-shadow:0 2px 8px #0000000d}.stat-card span{color:#777;margin-bottom:10px;display:block}.stat-card strong{font-size:30px}.device-container{background:#fff;border-radius:12px;flex-direction:column;flex:1;min-height:0;padding:20px;display:flex;overflow:hidden}.device-toolbar{flex-shrink:0;justify-content:space-between;gap:12px;margin-bottom:20px;display:flex}.device-filter-controls{gap:10px;min-width:0;display:flex}.device-table-scroll{flex:1;min-height:0;overflow:auto}.device-table-scroll thead th{z-index:1;position:sticky;top:0}.device-toolbar input{border:1px solid #ddd;border-radius:7px;width:350px;padding:12px}.device-toolbar select{background:#fff;border:1px solid #ddd;border-radius:7px;min-width:170px;padding:12px}.device-toolbar button{cursor:pointer;border:none;border-radius:7px;padding:10px 20px}table{border-collapse:collapse;width:100%}th{text-align:left;color:#555;background:#f8f9fb;padding:14px}td{border-bottom:1px solid #eee;padding:16px 14px}.device-name{white-space:nowrap;min-width:170px;font-weight:600}td small{color:#999}.status{border-radius:20px;padding:6px 10px;font-size:13px}.status.locked{color:#d93025;background:#ffe5e5}.status.unlocked{color:#18864b;background:#e5f8ed}.connection-status{align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.connection-status-dot{background:#9ca3af;border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block}.connection-status-dot.online{background:#22c55e;box-shadow:0 0 0 3px #dcfce7}.connection-status.online{color:#18864b}.connection-status.online .connection-status-dot{background:#22c55e;box-shadow:0 0 0 3px #dcfce7}.connection-status.offline{color:#6b7280}.toggle{cursor:pointer;background:#ccc;border:none;border-radius:20px;width:48px;height:26px;padding:3px;position:relative}.toggle span{background:#fff;border-radius:50%;width:20px;height:20px;transition:all .2s;display:block}.toggle.active{background:#d93025}.toggle.active span{transform:translate(22px)}.toggle:disabled{opacity:.5;cursor:not-allowed}.loading{text-align:center;padding:50px}.mis-report-table-scroll{background:#fff;border:1px solid #dbe5f1;border-radius:12px;flex:1;min-height:0;overflow:auto;box-shadow:0 8px 22px #1e3a5f14}.mis-report-table{white-space:nowrap;min-width:1450px;font-size:13px}.mis-report-table thead th{z-index:2;color:#fff;letter-spacing:.025em;text-transform:uppercase;background:linear-gradient(135deg,#123b73,#2563a7);border:0;padding:13px 14px;font-size:11px;font-weight:700;position:sticky;top:0}.mis-report-table td{color:#243447;border-bottom:1px solid #e8eef6;padding:12px 14px}.mis-report-table tbody tr:nth-child(2n){background:#f8fbff}.mis-report-table tbody tr:hover{background:#eaf3ff}.mis-report-table th:first-child,.mis-report-table td:first-child{text-align:center;color:#64748b;font-weight:700}.mis-report-table th:nth-child(n+10),.mis-report-table td:nth-child(n+10){text-align:right;font-variant-numeric:tabular-nums}.mis-report-table tfoot td{z-index:1;color:#123b73;background:#dcecff;border-top:2px solid #2563a7;padding:14px;font-weight:800;position:sticky;bottom:0;box-shadow:0 -5px 12px #1e3a5f14}.mis-report-table tfoot td:first-child{text-align:right;color:#123b73}.mis-report-table tfoot .mis-total-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.login-page{background:#f4f6f8;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{box-sizing:border-box;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 8px 30px #0000001a}.login-logo{width:100%;height:100px;margin:0 auto 20px;display:block}.login-title{text-align:center;color:#222;margin:0 0 30px;font-size:28px;font-weight:600}.login-form{flex-direction:column;gap:20px;display:flex}.login-button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;width:100%;margin-top:5px;padding:12px;font-size:16px;font-weight:500;transition:background .2s}.login-button:hover{background:#4338ca}.register-section{text-align:center;color:#666;border-top:1px solid #e5e7eb;margin-top:25px;padding-top:20px;font-size:14px}.register-button{color:#4f46e5;cursor:pointer;background:0 0;border:none;margin:10px auto 0;font-size:14px;font-weight:600;display:block}.register-button:hover{text-decoration:underline}.registration-page{box-sizing:border-box;background:#f4f6f8;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.registration-card{box-sizing:border-box;background:#fff;border-radius:12px;width:100%;max-width:420px;padding:40px;box-shadow:0 8px 30px #0000001a}.registration-title{text-align:center;color:#222;margin:0 0 30px;font-size:28px;font-weight:600}.registration-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#333;font-size:14px;font-weight:500}.form-group input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:12px 14px;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-group input::placeholder{color:#9ca3af}.registration-button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;width:100%;margin-top:5px;padding:12px;font-size:16px;font-weight:500;transition:background .2s}.registration-button:hover{background:#4338ca}.login-section{text-align:center;color:#666;border-top:1px solid #e5e7eb;margin-top:25px;padding-top:20px;font-size:14px}.login-link-button{color:#4f46e5;cursor:pointer;background:0 0;border:none;margin:10px auto 0;font-size:14px;font-weight:600;display:block}.login-link-button:hover{text-decoration:underline}
