:root{font-family:Inter,Segoe UI,sans-serif;color:#172033;background:#eef3f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#e0eaff 0,transparent 28%),#eef3f9}main{max-width:1440px;margin:auto;padding:36px 28px 60px}header{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:22px}h1{font-size:34px;letter-spacing:-.035em;margin:3px 0 5px}.eyebrow{color:#4169e1;font-size:11px;font-weight:900;letter-spacing:.18em;margin:0}.subtitle{color:#647187;margin:0;max-width:620px}.headerTools{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;min-width:370px}.headerTools input{grid-column:1/3}.sync{font-size:12px;color:#758198}.refresh{font-weight:700}input{width:100%;padding:12px 15px;border:1px solid #d5deeb;border-radius:10px;background:#fff;box-shadow:0 2px 8px #263c5b0a;outline:none}input:focus{border-color:#5271ff;box-shadow:0 0 0 3px #5271ff1f}nav{display:flex;gap:6px;margin-top:18px;flex-wrap:wrap}button{border:1px solid #d9e1ec;background:#fff;color:#354258;border-radius:8px;padding:8px 11px;cursor:pointer;margin:2px;font-weight:600;transition:.15s}button:hover:not(:disabled){border-color:#8da4f7;transform:translateY(-1px)}button:disabled{opacity:.55;cursor:wait}button.active{background:#4169e1;color:#fff;border-color:#4169e1}.danger{color:#b52f3e}.fleetHealth{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:18px;background:#162238;color:#fff;border-radius:16px;padding:18px 22px;margin-bottom:16px;box-shadow:0 12px 30px #15233a24}.fleetHealth span{display:block;color:#93a5c1;font-size:10px;font-weight:800;letter-spacing:.13em}.fleetHealth strong{font-size:25px}.fleetHealth small{color:#c7d1df}.healthTrack{height:9px;background:#ffffff1c;border-radius:10px;overflow:hidden}.healthTrack i{display:block;height:100%;background:linear-gradient(90deg,#35c68f,#70e0b7);border-radius:inherit;transition:width .4s}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:#fff;border-radius:14px;padding:18px 20px;border-left:4px solid #5271ff;box-shadow:0 8px 24px #263c5b0d}.card span{display:block;color:#687386;font-size:12px;font-weight:600}.card strong{display:block;font-size:29px;margin-top:6px}.card.green{border-color:#19a974}.card.red{border-color:#e55050}.table{margin-top:20px;background:#fff;border-radius:15px;box-shadow:0 8px 24px #263c5b0d;overflow:hidden}.tableTitle{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #eef1f5;gap:14px}.tableTitle h2{margin:0;font-size:18px}.tableTitle>span,small{color:#7b8494}.filters{display:inline-flex;background:#f1f4f8;padding:2px;border-radius:9px;margin-right:8px}.filters button{border:0;background:transparent;margin:0;padding:6px 9px}.filters button.active{background:#fff;color:#4169e1;box-shadow:0 2px 7px #263c5b18}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:900px}th,td{text-align:left;padding:14px 18px;border-bottom:1px solid #eef1f5;font-size:13px}tbody tr:hover{background:#f8faff}th{color:#687386;font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:#fbfcfe}td strong,td small{display:block}.status{padding:5px 9px;border-radius:20px;font-size:11px;font-weight:800;white-space:nowrap}.online{background:#e3f8ef;color:#087a50}.offline{background:#fde9e9;color:#a72c2c}.empty,.error{padding:18px}.error{color:#a72c2c;background:#fff0f1;border:1px solid #ffd5d9;border-radius:10px}@media(max-width:900px){main{padding:24px 16px}header{align-items:stretch;flex-direction:column}.headerTools{min-width:0}.cards{grid-template-columns:repeat(2,1fr)}.fleetHealth{grid-template-columns:1fr}.tableTitle{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.cards{grid-template-columns:1fr 1fr}h1{font-size:28px}.card{padding:14px}.card strong{font-size:24px}}.authPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#1c3764 0,#091426 58%,#050b15);color:#eef5ff}.loginCard{width:min(420px,100%);display:grid;gap:18px;padding:38px;border:1px solid #ffffff20;border-radius:20px;background:#101e32f2;box-shadow:0 30px 80px #0008}.loginCard h1,.loginCard p{margin:0}.loginCard label{display:grid;gap:8px;font-weight:700}.loginCard input{padding:13px 14px;border:1px solid #ffffff28;border-radius:9px;background:#081426;color:#fff;font:inherit}.loginCard button{padding:13px;border:0;border-radius:9px;background:#3285ff;color:#fff;font-weight:800;cursor:pointer}.loginCard button:disabled{opacity:.65}.loginError{padding:10px;border-radius:8px;background:#6e1d2a;color:#ffd7dc}.adminUser{padding:7px 10px;border-radius:8px;background:#dbeafe;color:#183153;font-weight:800}.groupDeviceAdd select{width:100%;padding:10px 12px;border:1px solid #d5deeb;border-radius:9px;background:#fff;color:#354258;font:inherit;outline:none}.groupDeviceAdd select:focus{border-color:#5271ff;box-shadow:0 0 0 3px #5271ff1f}.groupDeviceAdd{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:7px;align-items:center;min-width:380px}.member{align-items:center}.member>span{display:grid;gap:2px}.member>span small{font-size:11px}@media(max-width:700px){.groupDeviceAdd{grid-template-columns:1fr;min-width:260px}}.memberLink{display:grid;gap:2px;text-align:left;border:0;background:transparent;padding:4px 6px;color:#263a68}.memberLink:hover:not(:disabled){background:#edf3ff;transform:none}.memberLink small{font-size:11px;color:#647187}.memberActions{display:inline-grid;grid-template-columns:minmax(145px,1fr) auto auto auto;gap:5px;padding:6px 7px;background:#f1f5fb;border:1px solid #e0e7f1;border-radius:10px}.memberIdentity{display:grid;align-content:center;gap:1px;padding:0 5px}.memberIdentity small{font-size:10px}.memberActions button{margin:0;padding:6px 8px;font-size:11px;white-space:nowrap}@media(max-width:700px){.memberActions{display:grid;grid-template-columns:1fr 1fr;width:100%}.memberIdentity{grid-column:1/-1}}.deviceTable{display:block;width:100%;min-width:0;padding:12px;background:#f2f6fb}.deviceTable thead{display:none}.deviceTable tbody{display:grid;gap:12px}.deviceTable tr{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid #dce5f0;border-radius:13px;background:#fff;box-shadow:0 5px 16px #263c5b0b;overflow:hidden}.deviceTable tbody tr:hover{background:#fff}.deviceTable td{display:block;min-width:0;padding:12px 13px;border:0;border-right:1px solid #edf1f6;overflow-wrap:anywhere}.deviceTable td:before{display:block;margin-bottom:7px;color:#6b7890;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.deviceTable td:nth-child(1):before{content:"Thiết bị"}.deviceTable td:nth-child(2):before{content:"Người dùng"}.deviceTable td:nth-child(3):before{content:"CPU / RAM"}.deviceTable td:nth-child(4):before{content:"Card màn hình"}.deviceTable td:nth-child(5):before{content:"Màn hình kết nối"}.deviceTable td:nth-child(6){grid-column:span 2;border-top:1px solid #edf1f6}.deviceTable td:nth-child(6):before{content:"Ổ cứng và dung lượng"}.deviceTable td:nth-child(7){border-top:1px solid #edf1f6}.deviceTable td:nth-child(7):before{content:"Mạng"}.deviceTable td:nth-child(8){border-top:1px solid #edf1f6}.deviceTable td:nth-child(8):before{content:"Windows"}.deviceTable td:nth-child(9){border-top:1px solid #edf1f6}.deviceTable td:nth-child(9):before{content:"Trạng thái"}.deviceTable td:nth-child(10){grid-column:1/-1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px 12px;border-top:1px solid #e2e9f2;background:#f9fbfe}.deviceTable td:nth-child(10):before{content:"Thao tác";margin:0 8px 0 0}.deviceTable td:nth-child(10) button{margin:0;padding:6px 9px;font-size:11px}.monitorCell{vertical-align:top}.monitorLine{display:block;width:100%;margin-top:6px;padding:7px 8px;border:1px solid #e3e9f2;border-radius:8px;background:#fafcff;overflow-wrap:anywhere}.monitorLine small{line-height:1.4}.monitorActive{color:#087a50;font-weight:800}.monitorInactive{color:#a72c2c;font-weight:800}@media(max-width:1100px){.deviceTable tr{grid-template-columns:repeat(3,minmax(0,1fr))}.deviceTable td:nth-child(6){grid-column:span 2}.deviceTable td:nth-child(n+4){border-top:1px solid #edf1f6}}@media(max-width:700px){.deviceTable{padding:8px}.deviceTable tr{grid-template-columns:1fr}.deviceTable td,.deviceTable td:nth-child(6),.deviceTable td:nth-child(10){grid-column:1;border-right:0;border-top:1px solid #edf1f6}.deviceTable td:first-child{border-top:0}.deviceTable td:nth-child(10){align-items:stretch}.deviceTable td:nth-child(10):before{width:100%;margin-bottom:3px}}.healthTrack.attention i{background:linear-gradient(90deg,#f0a323,#ffd26a)}.healthTrack.critical i{background:linear-gradient(90deg,#d83c4d,#ff7b79)}.healthCriteria{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:-8px 0 16px}.healthCriteria span{padding:9px 12px;border:1px solid #dce4ef;border-radius:9px;background:#f8faff;color:#526176;font-size:11px;font-weight:700}.healthDetails{margin:18px 0 0;padding:18px 20px;background:#fff;border-radius:15px;box-shadow:0 8px 24px #263c5b0d}.healthDetailsTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.healthDetailsTitle h2{margin:0 0 4px;font-size:18px}.healthDetailsTitle span,.healthDetailsTitle small{color:#687386;font-size:12px}.healthDeviceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:11px;margin-top:15px}.healthDeviceGrid article{padding:14px;border:1px solid #dce4ef;border-left:4px solid #19a974;border-radius:11px;background:#fbfdfc}.healthDeviceGrid article.attention{border-left-color:#e6a323;background:#fffaf0}.healthDeviceGrid article.critical{border-left-color:#e55050;background:#fff7f7}.healthDeviceGrid article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.healthDeviceGrid article b{font-size:18px;color:#087a50}.healthDeviceGrid article.attention b{color:#9a6500}.healthDeviceGrid article.critical b{color:#a72c2c}.healthDeviceGrid ul{margin:10px 0;padding-left:18px;color:#5c6678;font-size:12px;line-height:1.55}.healthDeviceGrid p{margin:10px 0;color:#087a50;font-size:12px}.healthDeviceGrid button{margin-left:0}@media(max-width:900px){.healthCriteria{grid-template-columns:repeat(2,1fr)}.healthDetailsTitle{flex-direction:column}}@media(max-width:520px){.healthCriteria{grid-template-columns:1fr}}.alertPanel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding:14px 18px;border:1px solid #ffd7a3;border-radius:12px;background:#fff8eb;color:#7a4c0b;box-shadow:0 6px 18px #8050000c}.alertPanel>strong{margin-right:4px}.alertPanel>span{padding:5px 9px;border-radius:7px;background:#fff;border:1px solid #ffe3bd;font-size:12px}.alertImportant{display:grid;gap:12px;border:2px solid #f0a323;background:linear-gradient(135deg,#fff8e8,#fff);box-shadow:0 10px 28px #9b62001f}.alertHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.alertHeader strong{font-size:16px;color:#8b4d00}.alertFilters{display:flex;gap:6px;flex-wrap:wrap}.alertFilters button{margin:0;background:#fff}.alertFilters button.active{background:#8b4d00;border-color:#8b4d00;color:#fff}.alertItems{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px}.alertItem{margin:0;padding:10px 12px;text-align:left;border-left:4px solid #7890b4;background:#fff;box-shadow:0 3px 10px #263c5b0c}.alertItem.software{border-left-color:#4169e1;color:#2549b7}.alertItem.critical{border-left-color:#d83c4d;background:#fff5f5;color:#a31e2d}.alertItem.system{border-left-color:#e6a323;color:#805400}@media(max-width:600px){.alertHeader{align-items:flex-start;flex-direction:column}.alertItems{grid-template-columns:1fr}}.complianceNote{margin:14px 18px;padding:11px 14px;border-radius:9px;background:#f3f6fb;color:#536078;font-size:12px}.compliance{display:inline-block;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:800}.compliance.Compliant{background:#e3f8ef;color:#087a50}.compliance.PolicyViolation{background:#fde9e9;color:#a72c2c}.compliance.LicenseEvidenceRequired{background:#fff2cf;color:#835d00}.compliance.ReviewRequired{background:#edf0f5;color:#566174}.policyState{margin-top:7px;font-weight:700}.policyState.applied{color:#087a50}.policyState.failed{color:#b52f3e}.policyState.nopolicy{color:#7b8494}.compliance.LicenseVerified{background:#e3f8ef;color:#087a50}.compliance.SuspiciousActivation{background:#fde9e9;color:#a72c2c}.licenseSignals{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin:14px 18px}.licenseSignals article{border:1px solid #e2e8f1;border-radius:10px;padding:12px}.licenseSignals article strong,.licenseSignals article small{display:block}.licenseSignals article .compliance{margin:7px 0}.member{display:inline-flex;align-items:center;gap:5px;margin:2px 7px 2px 0;padding:3px 5px 3px 9px;border-radius:16px;background:#eef3fb}.member button{padding:3px 7px}.subheading{margin:24px 18px 8px;font-size:15px}.status.pendingapproval{background:#fff2cf;color:#8a5a00}.status.rejected{background:#eceff4;color:#596273}.softwareEvents{margin:16px 20px 22px;border:1px solid #f0d59b;border-radius:12px;background:#fffaf0;overflow:hidden}.softwareEvents>div{display:flex;align-items:center;gap:12px;padding:13px 15px;border-bottom:1px solid #f3e3bd}.softwareEvents h3{margin:0;font-size:15px}.softwareEvents>div span{color:#9a6500;font-weight:700}.softwareEvents>div button{margin-left:auto}.softwareEvents>p{padding:4px 15px 14px;color:#687386}.softwareEvents table{min-width:760px;background:#fff}.softwareEvents tr:not(.reviewed){background:#fff7e2}.softwareEvents tr.reviewed{opacity:.65}.softwareDevicePicker{padding:18px 20px;border-bottom:1px solid #e9eef5;background:#f8faff}.softwareDevicePicker>div:first-child,.sectionHeading,.installedSoftwareHeading{display:flex;align-items:center;justify-content:space-between;gap:12px}.softwareDevicePicker h3,.sectionHeading h3,.installedSoftwareHeading h3{margin:0;font-size:16px}.softwareDevicePicker span,.sectionHeading span,.installedSoftwareHeading span{color:#687386;font-size:12px}.deviceChoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:13px}.deviceChoices button{display:grid;gap:4px;text-align:left;padding:12px 14px;margin:0;background:#fff}.deviceChoices button.active{background:#4169e1;color:#fff;box-shadow:0 7px 18px #4169e138}.deviceChoices button small{color:#728096}.deviceChoices button.active small{color:#dfe7ff}.importantSoftware{margin:18px 20px 8px;padding:16px;border:1px solid #cbd9ff;border-radius:13px;background:linear-gradient(135deg,#f3f7ff,#fff)}.importantSoftware .licenseSignals{margin:13px 0 0}.importantSoftware>p{margin:12px 0 0;color:#687386}.installedSoftwareHeading{padding:18px 20px 8px}.importantRow{background:#f7f9ff}.importantRow td:first-child{border-left:3px solid #4169e1}.installDate{margin-top:5px;color:#8a6a35}.installDate.known{color:#087a50;font-weight:700}.changeType{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.changeType.installed{background:#e3f8ef;color:#087a50}.changeType.removed{background:#fde9e9;color:#a72c2c}.licenseAssessment{margin:5px 0 3px;padding-left:9px;border-left:3px solid #aab7cb;color:#526176}.licenseAssessment.LicenseVerified,.licenseAssessment.Compliant{border-color:#19a974;color:#087a50}.licenseAssessment.SuspiciousActivation,.licenseAssessment.PolicyViolation{border-color:#e55050;color:#a72c2c}.licenseAssessment.LicenseEvidenceRequired{border-color:#e6a323;color:#8a5a00}@media(max-width:700px){.softwareDevicePicker>div:first-child,.sectionHeading,.installedSoftwareHeading{align-items:flex-start;flex-direction:column}.deviceChoices{grid-template-columns:1fr}}
