:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#23334b;background:#f3f6fb;font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{border:0;border-radius:8px;padding:11px 17px;background:#087f8c;color:white;cursor:pointer;font-weight:600;transition:background .15s,box-shadow .15s}button:hover{filter:brightness(.94)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #3dbdc1;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}input{width:100%;padding:11px 12px;border:1px solid #dfe5ee;border-radius:8px;background:#fff;color:#23334b}label{display:grid;gap:8px;margin:16px 0;font-size:12px;font-weight:600}h1,h2,p{margin-top:0}h1{font-size:29px;letter-spacing:-1px}h2{font-size:18px;letter-spacing:-.3px}.brand{display:flex;align-items:center;gap:7px;font-size:17px;font-weight:800;letter-spacing:.5px;white-space:nowrap}.brand b{font-size:29px;color:#55d5c9;margin-right:4px}.brand span{font-weight:400;color:#9bafc3;font-size:13px;letter-spacing:1px;margin-left:-3px}.muted{color:#8290a4;font-size:12px;line-height:1.7}.eyebrow,.section-label{font-size:10px;letter-spacing:1.5px;color:#8290a4;font-weight:700}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login[hidden]{display:none}.login-story{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:45px 9%;background:radial-gradient(ellipse at 80% 80%,#175267 0,transparent 65%),#101e35;color:white}.story-content{position:relative;padding:70px 0;min-height:470px}.story-content .eyebrow{color:#62cbc7;font-size:9px;letter-spacing:1.8px}.story-content h1{font-size:47px;line-height:1.22;margin:22px 0;letter-spacing:-1.8px;position:relative;z-index:1}.story-content p{color:#a3b7cb;line-height:1.9;font-size:14px;position:relative;z-index:1}.radar{position:absolute;bottom:-55px;right:-150px;width:340px;height:340px;opacity:.48}.radar i{position:absolute;border:1px solid #48c9c16b;border-radius:50%;inset:0}.radar i:nth-child(2){inset:52px}.radar i:nth-child(3){inset:104px}.radar b{position:absolute;left:46%;top:43%;font-size:40px;color:#74ece2}.radar-dot{position:absolute;width:10px;height:10px;background:#64e4d8;border-radius:50%;box-shadow:0 0 0 7px #64e4d817}.dot-one{top:65px;left:65px}.dot-two{bottom:78px;right:49px}.story-foot{display:flex;gap:38px;padding-top:24px;border-top:1px solid #ffffff18;color:#8fa5ba;font-size:10px}.story-foot strong{display:block;font-size:20px;color:#e7f0f6;margin-bottom:5px}.login-side{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:55px 30px;position:relative}.login-card{width:100%;max-width:340px}.login-card h2{font-size:32px;margin:15px 0 10px;letter-spacing:-1px}.login-card form{margin-top:34px}.login-card button{width:100%;margin-top:10px;text-align:left;padding:14px 17px}.login-card button span{float:right}.login-note{font-size:12px;color:#5b708a;line-height:2;padding:22px 0;border-bottom:1px solid #e2e8f0}.login-note span{font-size:11px;color:#8290a4}.download{display:inline-block;margin-top:22px;text-decoration:none;color:#087f8c;font-size:12px;font-weight:600}.login-copyright{position:absolute;bottom:25px;color:#98a4b5;font-size:10px}#dashboard{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh}#dashboard[hidden]{display:none}aside{background:#101e35;color:#d8e3ef;padding:28px 21px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}.nav-active{display:flex;align-items:center;gap:12px;background:#ffffff0b;padding:13px 14px;margin-top:21px;border-radius:8px;color:#67d9d1}.nav-active i{font-style:normal;font-size:8px;letter-spacing:1px;margin-left:auto;background:#35c6b81c;padding:4px 6px;border-radius:4px}.aside-heading h2{font-size:12px;color:#9bafc3;margin:6px 0 0;font-weight:500}.aside-heading span{float:right;background:#ffffff0e;color:#bdcad9;border-radius:5px;padding:2px 6px}aside input{border-color:#ffffff12;background:#ffffff06;color:white;font-size:11px}aside input::placeholder{color:#8092a8}#users{display:grid;gap:8px;overflow:auto;min-height:0}.user{display:flex;align-items:center;gap:10px;background:transparent;color:#cbd6e5;border:1px solid transparent;text-align:left;padding:12px 8px}.user.active{border-color:#44bfb54a;background:#31998f1a;color:#fff}.user-avatar,.avatar{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:10px;background:#ffffff0c;color:#abc2db;font-size:13px}.user.active .user-avatar{color:#73d4cd;background:#50c3bb20}.user-info{display:grid;gap:5px;min-width:0;flex:1}.user-info strong{font-size:12px;overflow:hidden;text-overflow:ellipsis}.user-info small{font-size:9px;color:#8499b1;font-weight:400}.user-dot{width:6px;height:6px;border-radius:50%;background:#617087}.user-dot.fresh{background:#55d2b2}.new-user{font-size:11px;background:transparent;border:1px dashed #ffffff28;color:#9bb5cc;padding:11px}.aside-footer{margin-top:auto;display:grid;gap:7px;padding-top:22px}.secure{font-size:8px;letter-spacing:1.2px;color:#6e9caa;padding:4px 10px 9px}.secondary{background:#edf2f7;color:#52677e}.aside-footer>.secondary{background:transparent;color:#96acc3;text-align:left;font-size:11px;padding:10px}.admin-profile{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff12;margin-top:10px;padding-top:19px}.admin-profile strong{font-size:11px}.admin-profile small{display:block;color:#6e849e;font-size:9px;margin-top:5px}.admin-profile button{margin-left:auto;background:transparent;color:#8fa6c0;padding:8px}.admin-profile .avatar{color:#5ed6cc;background:#4ed5c21c}main{padding:33px 34px;min-width:0}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}header h1{margin:9px 0 8px}header p{margin-bottom:0}.header-actions{display:flex;align-items:center;gap:15px}.header-actions button{font-size:11px;border:1px solid #dfe5ee;background:white}.connection{font-size:10px;color:#399c81;white-space:nowrap}.connection.offline{color:#b66a43}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.metrics article{display:flex;align-items:center;gap:13px;border:1px solid #e5eaf1;border-radius:11px;padding:20px 15px;background:white}.metrics small{display:block;font-size:8px;letter-spacing:.7px;color:#8996a7;line-height:1.6}.metrics strong{display:block;font-size:27px;color:#2e3e54;margin-top:4px;letter-spacing:-1px}.metric-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;font-size:23px;flex-shrink:0}.blue{background:#edf3ff;color:#6e93d0}.green{background:#eaf6f0;color:#60a98d}.cyan{background:#e7f6f7;color:#479faa}.purple{background:#f1edfb;color:#9a83c3}.monitor-card,.history-card{background:#fff;border:1px solid #e5eaf1;border-radius:13px;overflow:hidden;margin-bottom:23px;box-shadow:0 3px 15px #1a355003}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 23px}.card-heading h2{margin:7px 0 0;font-size:17px}.section-label{font-size:8px;letter-spacing:1.2px}.badge{padding:8px 11px;border-radius:6px;background:#f1f5f8;color:#7c91a4;font-size:10px}.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:0 23px 19px}.toolbar label{margin:0;font-size:9px;color:#8b98a8;font-weight:500}.toolbar input{font-size:10px;padding:9px}.toolbar button{font-size:10px;height:34px;padding:9px 14px}#refresh-status{margin-left:auto;font-size:9px;align-self:center}.map-wrap{position:relative}#map{height:390px;min-height:300px;background:#e8eff0;z-index:0}.map-overlay{position:absolute;inset:0;background:#f4f8fbe8;z-index:500;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px;backdrop-filter:blur(3px)}.map-overlay[hidden]{display:none}.map-overlay strong{font-size:18px}.map-overlay p{font-size:12px;color:#8290a4;margin:12px 0 20px;line-height:1.8}.map-overlay button{font-size:12px}.lock-symbol{font-size:35px;background:#e4f1f2;color:#419e9d;border-radius:16px;padding:6px 15px;margin-bottom:20px}.map-label{position:absolute;bottom:15px;left:15px;z-index:400;background:white;box-shadow:0 2px 12px #28384a20;border-radius:6px;padding:9px 12px;font-size:8px;letter-spacing:.8px;color:#429287}.map-label span{color:#98a4b5;border-left:1px solid #e0e6ef;margin-left:9px;padding-left:9px;letter-spacing:0}.detailbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 23px}.detailbar small{display:block;font-size:8px;color:#96a2b3;letter-spacing:1px;margin-bottom:8px}.detailbar strong{font-size:12px;font-weight:600}.history{overflow:auto;max-height:320px}table{width:100%;text-align:left;border-collapse:collapse;font-size:11px;white-space:nowrap}th{font-weight:500;color:#8b99aa;padding:13px 23px;background:#f8fafc;border-block:1px solid #edf0f6;position:sticky;top:0}td{padding:14px 23px;border-top:1px solid #f0f3f7;color:#61768d}tr[data-lat]{cursor:pointer}tr[data-lat]:hover{background:#f0f8f8}.empty-state{padding:25px;text-align:center;font-size:12px;color:#98a4b5}.account-controls{display:flex;gap:8px;padding:15px 23px;border-top:1px solid #edf1f7}.account-controls:empty{display:none}.account-controls button,#more{font-size:10px;padding:9px 12px}.monitor-footer{display:flex;justify-content:space-between;gap:25px;font-size:9px;color:#98a4b5;line-height:1.8}.monitor-footer span:last-child{max-width:440px;text-align:right}dialog{max-width:560px;width:calc(100% - 30px);border:1px solid #e1e8f0;border-radius:16px;padding:30px;color:#23334b;box-shadow:0 20px 80px #101e3540}dialog::backdrop{background:#101e3580;backdrop-filter:blur(4px)}dialog p{font-size:12px;line-height:1.8;color:#8290a4}dialog button{margin:7px 0}dialog code{display:block;overflow-wrap:anywhere;background:#f1f5f8;padding:15px;font-size:11px}.close{float:right;margin-top:-15px}#notice{position:fixed;bottom:24px;right:24px;max-width:450px;background:#18394b;color:white;padding:17px 24px;border-radius:9px;z-index:10000;box-shadow:0 8px 35px #122c2930;line-height:1.6}.audit-row{padding:14px 0;border-bottom:1px solid #e5ebf2;font-size:12px;line-height:1.7}@media(min-width:1500px){main{padding:40px 50px}#map{height:450px}}@media(max-width:1120px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions{flex-direction:column;gap:9px}.story-content h1{font-size:37px}.login-story{padding:35px 8%}.story-foot{gap:18px}main{padding:27px 23px}.toolbar{gap:8px}#refresh-status{width:100%;margin:0}.monitor-footer{flex-direction:column;gap:5px}.monitor-footer span:last-child{text-align:left}}@media(max-width:760px){.login{grid-template-columns:1fr}.login-story{min-height:210px;padding:25px}.story-content{padding:25px 0 0;min-height:0}.story-content h1{font-size:30px;margin:12px 0}.story-content p,.radar,.story-foot{display:none}.login-side{padding:40px 25px 65px}.login-card h2{font-size:27px}.login-copyright{bottom:18px}#dashboard{grid-template-columns:1fr}aside{position:static;height:auto;padding:20px;gap:14px}.nav-active{display:none}.aside-heading h2{margin:0}#users{display:flex;max-height:110px}.user{min-width:170px}.aside-footer{display:flex;flex-wrap:wrap;padding:0;gap:8px;align-items:center}.secure{display:none}.admin-profile{margin-left:auto;border:0;padding:0;margin-top:0}.admin-profile small{display:none}.aside-footer>.secondary{padding:8px}.new-user{align-self:start}main{padding:25px 15px}header{gap:12px;margin-bottom:20px}header h1{font-size:23px}header p{font-size:11px}.connection{font-size:8px}.metrics{gap:9px}.metrics article{padding:14px 10px;gap:9px}.metrics strong{font-size:23px}.metrics small{font-size:7px}.metric-icon{width:32px;height:35px;font-size:19px}.card-heading{padding:18px 16px}.card-heading h2{font-size:15px}.badge{font-size:8px}.toolbar{padding:0 16px 17px}.toolbar label{flex:1;min-width:115px}.detailbar{padding:19px 16px;flex-wrap:wrap;gap:20px}.detailbar strong{font-size:11px}#map{height:350px}.monitor-footer{font-size:8px}.account-controls{padding:14px 16px}#notice{left:15px;right:15px;bottom:15px;max-width:none}th,td{padding-left:16px;padding-right:16px}}


.danger{background:#b53d4b;color:white}.check-label{display:flex;align-items:center;gap:10px;line-height:1.6}.check-label input{width:18px;height:18px;flex-shrink:0}#confirm-error,#date-error{color:#b53d4b;font-size:12px}select{font:inherit;color:#23334b;border:1px solid #dfe5ee;border-radius:8px;padding:10px;background:white}#since,#until{cursor:pointer;min-width:170px}.calendar-nav{display:flex;align-items:end;gap:10px;margin:15px 0}.calendar-nav label{margin:0;flex:1}.calendar-nav button{margin:0;height:40px}.calendar-nav input{min-width:75px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-week{text-align:center;font-size:11px;color:#8290a4;padding:10px 0}.calendar-days button{padding:10px 0;margin:0;font-size:12px}.calendar-days .chosen{box-shadow:0 0 0 2px #087f8c;outline-offset:2px}#date-dialog{max-width:430px}#apk-url{font-size:12px}#apk-download{margin-right:15px}#confirm-dialog{max-width:480px}

.account-controls{flex-wrap:wrap}.calendar-nav{display:grid;grid-template-columns:32px minmax(0,1fr) 76px 32px;gap:6px}.calendar-nav label{min-width:0}.calendar-nav input{min-width:0}.calendar-nav select{width:100%;min-width:0}.calendar-nav button{padding:0}



.brand img{width:54px;height:54px;object-fit:contain;flex-shrink:0}.brand strong{font-size:26px;letter-spacing:1px}.brand span{font-size:9px;margin-left:0;letter-spacing:1px}.login-story .brand img{width:70px;height:70px}.login-story .brand strong{font-size:32px}

[hidden]{display:none!important}


.latest-location{background:transparent;border:0}.latest-location svg{width:36px;height:36px;overflow:visible;filter:drop-shadow(0 2px 3px #101e3570)}.user-dot.offline{background:#ed6e7a}.user-presence{font-weight:600}

.story-content{container-type:inline-size}.story-content .institution-name{font-size:clamp(12px,4.8cqw,28px);line-height:1.6;letter-spacing:.2px;overflow-wrap:normal;word-break:normal}.institution-name>span{white-space:nowrap}

.login-brand{container-type:inline-size;gap:20px;align-items:center;white-space:normal}
.institution-copy{flex:1;min-width:0}
.login-brand .institution-name{margin:0;color:#fff;font-size:clamp(8px,2.4cqw,14px);font-weight:700;line-height:1.4;letter-spacing:-.15px;word-break:normal;overflow-wrap:normal}
.login-brand .institution-name>span{white-space:nowrap}
.story-content .project-title{position:relative;z-index:1;color:#fff;font-size:48px;line-height:1.2;letter-spacing:1px;margin:22px 0}
.project-title span{font-size:20px;font-weight:400;letter-spacing:2px;color:#9bafc3;margin-left:10px}
@media(max-width:760px){.login-brand{gap:14px}.login-story .login-brand img{width:78px;height:78px}.login-brand .institution-name{font-size:clamp(8px,2.4cqw,14px);line-height:1.4}.story-content .project-title{font-size:36px;margin:12px 0}.project-title span{font-size:15px;margin-left:6px}}
.login-brand .institution-name>span{font:inherit;letter-spacing:inherit;color:inherit;margin:0;white-space:nowrap}

.login-story .login-brand img{width:88px;height:88px}.login-brand .institution-name,.login-brand .institution-name>span{color:#FFFFFF}@media(max-width:760px){.login-story .login-brand img{width:78px;height:78px}}@media(max-width:380px){.login-story .login-brand img{width:64px;height:64px}.login-brand .institution-name{font-size:7px}.login-brand{gap:10px}}

.users-metric-icon{overflow:hidden;background:transparent;border-radius:50%}.users-metric-icon img{width:100%;height:100%;object-fit:contain;display:block}

.password-create{display:flex;gap:10px;align-items:center;margin:8px 0 0}.password-create input{min-width:0;flex:1;margin:0}.password-create button{flex-shrink:0;margin:0;white-space:nowrap}#registration-details{box-sizing:border-box;width:100%;resize:vertical;min-height:160px;border:1px solid #dfe5ee;border-radius:8px;padding:12px;color:#23334b;background:#f8fafc;font:13px/1.7 monospace;margin-top:8px}#password-generation-status,#registration-copy-status{color:#087f8c;min-height:18px;margin:7px 0}#created-user[hidden],#create-form[hidden]{display:none}

#monitor-registration-details{width:100%;min-height:150px;border:1px solid #dfe5ee;border-radius:8px;padding:12px;background:#f8fafc;color:#23334b;font:12px/1.7 monospace}.monitor-account-row{padding:12px 0;border-bottom:1px solid #e5ebf2}.monitor-account-row strong{display:block;margin-bottom:6px}.monitor-account-row button{font-size:11px;margin:3px 5px 3px 0;padding:7px 10px}#monitor-created{margin:15px 0}
