:root{--green:#166b57;--dark:#122e2a;--muted:#6d8179;--line:#e3eae6;--ease:cubic-bezier(.22,1,.36,1)}
body{background:#f4f7f5;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;color-scheme:light}.icon{width:18px;height:18px;display:inline-block;flex-shrink:0;vertical-align:middle}.primary,.secondary,.text-button,.quiet{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.3}.primary{background:linear-gradient(135deg,#207b62,#14634f);box-shadow:0 3px 8px #166b571a;padding:12px 17px;font-size:12px;border-radius:9px}.secondary{padding:11px 15px;border-radius:9px;font-size:12px}.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 14px #166b5726}.secondary:hover:not(:disabled){border-color:#bbcec3;background:#f5f9f6}.primary:active:not(:disabled),.secondary:active:not(:disabled){transform:translateY(0)}.text-button .icon{width:15px;height:15px}
.sidebar{background:linear-gradient(160deg,#163a32 0%,#102c29 80%);box-shadow:inset -1px 0 #ffffff07;padding-top:30px;overflow-y:auto}.logo{border-radius:12px;background:linear-gradient(135deg,#d1edd0,#a8dcb6);box-shadow:0 3px 12px #0001}.workspace-label{margin-top:43px;color:#9ab4a4}.nav{font-size:12px;position:relative;transition:background .2s,color .2s;gap:12px}.nav span{display:grid;place-items:center;width:20px}.nav .icon{width:19px;height:19px}.nav:hover{color:#e2ece5;background:#ffffff08}.nav.active{background:#ffffff0f;color:#d6f2dd;box-shadow:inset 0 0 0 1px #bddcc718}.nav.active:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:3px;background:#a5d6a8}.connection{background:#ffffff04;border-color:#ffffff15;padding:14px 12px}.connection strong{font-size:12px}.connection small{color:#9bb2a6}.sidebar-bottom{padding-top:30px}.sidebar-bottom>small{color:#9aafa3}.quiet{justify-content:flex-start}.quiet .icon{width:17px;height:17px}
.topbar{height:70px;background:#ffffffd9;font-size:12px}.avatar{border:1px solid #dce8db;width:34px;height:34px}.main-content{padding-top:35px}.page-heading{margin-bottom:30px}.page-heading h1{font-size:32px;font-weight:650;letter-spacing:-1.1px}.page-heading p:last-child{font-size:13px;line-height:1.7}.eyebrow{font-size:10px;color:#6f887a;letter-spacing:1.6px}.live-label{display:inline-flex;align-items:center;gap:5px;font-size:9px;padding:4px 8px;letter-spacing:.8px}.live-label:before{content:"";width:5px;height:5px;border-radius:50%;background:#438859;animation:statusPulse 3s ease-in-out infinite}
.panel{border-radius:14px;box-shadow:0 3px 16px #142f2303}.panel-heading{padding:21px 23px}.panel-heading h2{font-size:16px;letter-spacing:-.25px}.panel-heading small{font-size:11px}.stats{gap:18px}.stat{border-radius:13px;padding:21px 22px;box-shadow:0 3px 12px #142f2303;transition:box-shadow .2s,transform .2s,border-color .2s}.stat:hover{transform:translateY(-3px);box-shadow:0 10px 24px #1639290a;border-color:#cfddd2}.stat-title{font-size:12px}.stat-value{font-size:32px;margin-top:18px;line-height:1.2;font-variant-numeric:tabular-nums}.stat-value small{font-size:12px}.stat-foot{font-size:11px;margin-top:12px;color:#7e9185}.stat-icon{padding:0;width:36px;height:36px;display:grid;place-items:center;background:#eef5ed;border:1px solid #e1ecdF;border-radius:10px;right:20px;top:18px}.stat-icon .icon{width:19px;height:19px}.stat:nth-child(2) .stat-icon{color:#568394;background:#edf4f6;border-color:#e0ebef}.stat:nth-child(3) .stat-icon{color:#b08a48;background:#faf5ea;border-color:#f0e7d4}
.car-icon{width:43px;height:43px;border:1px solid #dfeadb;background:#f0f6ec;border-radius:11px;color:#557d60}.car-icon .icon{width:25px;height:25px}.vehicle-card{padding:19px 18px;transition:background-color .2s}.vehicle-card:hover{background:#f8faf7}.vehicle-card.selected{background:#f1f7ee}.vehicle-info h3{font-size:13px;letter-spacing:-.15px}.vehicle-info p{font-size:11px}.vehicle-meta{flex-wrap:wrap;font-size:10px;gap:8px}.badge{font-size:10px;padding:4px 7px;font-weight:500}.pill{font-size:10px;border:1px solid #e6ede2;background:#f5f8f2}.detail-grid{gap:23px;padding:4px 23px 25px}.detail-item small{font-size:11px}.detail-item strong{font-size:12px}.detail-address{padding:17px 23px;font-size:12px;line-height:2}.detail-address>.icon{margin-right:5px;color:#66876b}.detail-address a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:11px}.detail-address a:hover{text-decoration:underline}.detail-address a .icon{width:13px;height:13px}.event{padding:18px 23px}.event-icon{width:34px;height:34px;border-radius:10px;border:1px solid #e3ecdd}.event-icon .icon{width:16px;height:16px}.event h3{font-size:13px}.event p{font-size:11px}.event-side small{font-size:10px}.empty{font-size:12px;line-height:1.9;padding:32px 25px;color:#7a8e80}.empty>.icon{display:block;width:30px;height:30px;margin:0 auto 12px;color:#8eaa91}.empty strong{font-weight:500;color:#607766}.banner{font-size:12px;border-radius:10px}.banner.info{background:#eef5ed;border-color:#dbe7d7;color:#597458}.map-footer{font-size:10px}.map-marker{border:3px solid #fff;box-shadow:0 4px 14px #153c383d;background:#166b57}.map-marker .icon{width:23px;height:23px}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 5px 25px #152c2526}.leaflet-popup-content .icon{width:14px;height:14px}.leaflet-bar{border:1px solid #d8e2d7!important;box-shadow:0 2px 9px #0001!important;border-radius:8px!important;overflow:hidden}
.form-grid{padding:27px;gap:23px}.section-icon{width:42px;height:42px;border:1px solid #e1eadb;border-radius:11px;background:#f0f5ed}.section-icon .icon{width:22px;height:22px}.section-title p{font-size:12px;line-height:1.6}label{font-size:12px;color:#526d5b;font-weight:500}input,select{border-radius:8px;font-size:13px;padding:12px 13px;background:#fdfefd}input::placeholder{font-size:11px;color:#8d9e92}input:hover,select:hover{border-color:#bdcebf}input:focus,select:focus{outline:none;border-color:#79a48b;box-shadow:0 0 0 3px #a3c5ac26}.check{font-size:12px}.hint{font-size:12px;line-height:1.8}.save-bar{border-radius:12px;font-size:12px;box-shadow:0 4px 18px #142f2304}.point-card p{font-size:11px;line-height:1.9}.point-card p .icon{width:14px;height:14px}.filter-bar{padding:22px}.qr-box{background:radial-gradient(ellipse at center,#fff,#f3f7f1);border-color:#cbdbc6;min-height:280px}.qr-box img{box-shadow:0 6px 25px #173b2b08;border:1px solid #e3ebdf}.qr-instructions{font-size:12px}.wa-device-card{border-radius:12px;background:linear-gradient(135deg,#fff,#fcfdfb);transition:border-color .2s,box-shadow .2s}.wa-device-card:hover{border-color:#c6d8c7;box-shadow:0 5px 16px #14392a08}.wa-device-title p{font-size:11px}.wa-actions .secondary{font-size:11px}.wa-actions .icon{width:15px;height:15px}.toast{display:flex;align-items:center;gap:10px;border:1px solid #ffffff17;border-radius:12px;box-shadow:0 12px 35px #102d2926;animation:toastEnter .25s var(--ease)}th{font-size:11px}td{font-size:12px}footer{font-size:10px;margin-top:35px;color:#7d9083}
.auth-art{background:radial-gradient(ellipse at 80% 30%,#24584655,transparent 70%),linear-gradient(160deg,#173e34,#102c29);padding:50px 12%}.auth-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#b6dbbd06 1px,transparent 1px),linear-gradient(90deg,#b6dbbd06 1px,transparent 1px);background-size:60px 60px;pointer-events:none}.auth-art>*{position:relative}.auth-art h1{font-size:48px;font-weight:600;line-height:1.2}.auth-art>p:not(.eyebrow){font-size:14px;color:#bbcec0}.auth-art .eyebrow{margin-top:75px;color:#a6c6ab}.auth-art>small{color:#a0baa5}.orbit{position:relative;border-color:#91b38a40;box-shadow:0 0 0 35px #bce6bd08,0 0 0 70px #bce6bd04;margin:50px auto 65px;flex-shrink:0}.orbit>span{border:1px solid #b8d7b626;background:linear-gradient(135deg,#9eca9b26,#76b68b08);width:106px;height:106px;display:grid;place-items:center;padding:0;box-shadow:0 12px 35px #0001}.orbit>span>.icon{width:51px;height:51px;color:#c8e8c9}.orbit-node{width:11px;height:11px;background:#acd8a7;position:absolute;top:15px;right:38px;border:3px solid #244e3d;border-radius:50%;box-shadow:0 0 0 5px #b1d6a414;animation:statusPulse 4s ease-in-out infinite}.journey-label{position:absolute;bottom:-27px;display:flex;align-items:center;gap:9px;white-space:nowrap;border:1px solid #abcfa426;background:#234638;border-radius:10px;padding:12px 16px;font-size:11px;color:#bdd6bc;box-shadow:0 7px 20px #0001}.journey-label span{display:flex}.journey-label .icon{width:16px;height:16px}.auth-form{max-width:410px;gap:24px}.auth-form h2{font-size:28px;letter-spacing:-.7px}.auth-form label{font-size:12px}.auth-form>.primary{justify-content:space-between;padding:14px 17px}.auth-form>p{font-size:13px}.auth-form>small{font-size:12px}.auth-form .eyebrow{font-size:10px}.auth:not(.hidden) .auth-form{animation:pageEnter .45s var(--ease)}.page-enter{animation:pageEnter .3s var(--ease)}.page-enter>.stats>.stat{animation:cardEnter .4s var(--ease) both}.page-enter>.stats>.stat:nth-child(2){animation-delay:.04s}.page-enter>.stats>.stat:nth-child(3){animation-delay:.08s}.page-enter>.stats>.stat:nth-child(4){animation-delay:.12s}.is-loading>.icon{animation:spin 1s linear infinite}.is-loading:not(:has(>.icon)):before{content:"";width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 1s linear infinite}
@keyframes pageEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEnter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes toastEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes statusPulse{0%,100%{opacity:1}50%{opacity:.55}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1150px){.stat{padding:19px 16px}.stat-title{font-size:11px}.stat-icon{right:13px;width:31px;height:31px}.stat-value{font-size:30px}.stat-foot{font-size:10px}.page-heading h1{font-size:29px}.vehicle-meta{font-size:9px}.primary,.secondary{font-size:11px}}
@media(max-width:850px){.sidebar{padding:17px 18px}.sidebar nav{gap:7px;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.nav{padding:10px 12px;font-size:11px}.nav.active:before{top:10px;bottom:10px}.main-content{padding:26px 18px}.topbar{height:57px}.topbar>div{gap:12px}.page-heading h1{font-size:27px}.page-heading p:last-child{font-size:12px;max-width:270px}.form-grid{padding:23px}.panel-heading{padding:19px}.stat:hover{transform:none}.auth-form{padding:26px;max-width:390px}}
@media(max-width:480px){.nav .icon{width:16px;height:16px}.stats{gap:11px}.stat{padding:17px 14px}.stat-title{font-size:10px;max-width:calc(100% - 28px);display:block;min-height:30px}.stat-icon{right:12px;top:16px;width:27px;height:27px;border-radius:8px}.stat-icon .icon{width:16px;height:16px}.stat-value{font-size:26px;margin-top:9px}.stat-foot{font-size:10px;line-height:1.6;min-height:30px}.page-heading{align-items:flex-start;gap:12px}.page-heading h1{font-size:26px}.page-heading>.primary{font-size:10px;padding:11px;gap:5px;white-space:nowrap}.page-heading>.primary>.icon{width:14px;height:14px}.form-grid{padding:21px}.panel-heading h2{font-size:14px}.panel-heading>.secondary{font-size:10px;padding:10px;gap:5px}.panel-heading>.secondary>.icon{width:14px;height:14px}.save-bar{font-size:11px;padding:17px}.detail-grid{padding:4px 19px 22px;gap:20px}.detail-address{padding:16px 19px}.map-footer{font-size:9px}.event{padding:17px}.wa-device-list{padding:0 12px 12px}.wa-device-card{padding:15px}.qr-box{margin:0 15px 15px}.toast{left:16px;right:16px;bottom:16px;max-width:none}footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.stat:hover,.primary:hover:not(:disabled){transform:none}}