
:root{font-family:Arial,Helvetica,sans-serif;color:#192338;background:#f5f7fc;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button{border:0}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:2.5rem;letter-spacing:-1.5px;line-height:1.15}h2{font-size:1.25rem;letter-spacing:-.3px}h3{font-size:1.125rem}p{line-height:1.55}small{font-size:.8125rem;color:#657189}button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.shell{display:flex;min-height:100vh}aside{width:240px;background:white;border-right:1px solid #e5e9f1;padding:32px 20px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:8px;font-weight:800;text-decoration:none;font-size:1.2rem;letter-spacing:-.6px}.brand>span:first-child{background:#125eeb;color:white;border-radius:10px;padding:8px}.brandThin{font-weight:400;margin-left:-6px}.household{font-size:.75rem;letter-spacing:1.4px;color:#8490a6;margin:44px 12px 16px}nav{display:grid;gap:7px}nav button{justify-content:flex-start;padding:14px 16px;background:none;color:#657189;border-radius:11px;font-size:.9375rem;font-weight:600}nav button.active{background:#eaf0ff;color:#125eeb}nav b{margin-left:auto;background:#125eeb;color:white;border-radius:20px;padding:2px 7px;font-size:.75rem}.sidebarBottom{margin-top:auto;display:flex;align-items:center;gap:11px;border-top:1px solid #edf0f6;padding:20px 10px 0;font-size:.875rem}.sidebarBottom small{display:block;margin-top:4px}.avatar{background:#eaf0ff;color:#125eeb;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-weight:bold}main{margin-left:240px;width:calc(100% - 240px);padding:0 44px 50px;max-width:1600px}header{height:85px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4e8f1}.breadcrumb{display:flex;gap:9px;align-items:center;color:#7d89a0;font-size:.75rem;letter-spacing:1px}.iconButton{background:transparent;padding:8px;color:#657189;position:relative}.notificationDot{position:absolute;right:7px;top:5px;width:7px;height:7px;border-radius:50%;background:#e57a15}.heading{display:flex;justify-content:space-between;align-items:center;margin:35px 0 30px;gap:20px}.heading p{margin-top:10px;color:#657189;font-size:1rem}.primary{background:#125eeb;color:white;border-radius:10px;padding:13px 20px;font-weight:600;font-size:.9375rem;box-shadow:0 4px 12px #125eeb20}.secondary{background:white;border:1px solid #dce2ed;color:#283650;border-radius:9px;padding:10px 16px;font-size:.875rem;font-weight:600}.textButton{background:none;color:#125eeb;font-size:.875rem;font-weight:600;padding:4px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e5e9f1;border:1px solid #e5e9f1;border-radius:13px;overflow:hidden;margin-bottom:32px}.stats>div{background:white;padding:21px 24px}.stats span{font-size:.6875rem;letter-spacing:1px;font-weight:700;color:#7d89a0}.stats strong{display:block;font-size:2rem;letter-spacing:-1px;margin-top:10px}.stats strong small{font-size:.8125rem;letter-spacing:0;font-weight:400;margin-left:8px}.amber{color:#c46b10}.sectionTitle{display:flex;align-items:center;justify-content:space-between;margin:25px 0 16px}.sectionTitle>span{font-size:.875rem;color:#7d89a0}.assetGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.assetCard{background:white;border:1px solid #e4e8f1;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px #19233804}.vehiclePhoto{height:205px;position:relative;display:grid;place-items:center}.vehiclePhoto img{width:100%;height:100%;object-fit:cover}.vehiclePhoto button{display:flex;flex-direction:column;background:none;color:#344c72;gap:10px}.vehiclePhoto button span{font-size:.8125rem}.typeBadge{position:absolute;top:16px;left:16px;background:white;padding:6px 11px;border-radius:6px;font-size:.75rem;font-weight:700}.cardBody{padding:22px}.vehicleYear{color:#7d89a0;font-size:.75rem;letter-spacing:1px;margin-bottom:7px}.cardBody h3{font-size:1.35rem;letter-spacing:-.5px}.readingLine{display:flex;align-items:center;gap:7px;color:#657189;margin:20px 0}.readingLine strong{color:#192338;font-size:1.1rem}.readingLine span{font-size:.8125rem}.readingLine button{margin-left:auto}.statusRow{display:flex;align-items:center;justify-content:space-between;background:#f5f7fc;border-radius:8px;padding:12px;font-size:.8125rem;gap:8px}.statusRow>span{display:flex;align-items:center;gap:7px}.statusRow b{font-size:.75rem;font-weight:600;white-space:nowrap}.soon,.due{color:#ac6106;background:#fff5df}.overdue{color:#bc3249;background:#ffedf0}.current{color:#058064;background:#e6f8f0}.unknown{color:#657189;background:#f1f4f9}.cardActions{display:flex;justify-content:space-between;border-top:1px solid #edf0f6;margin-top:18px;padding-top:16px}.cardActions button{background:none;font-size:.875rem;color:#4c5d78;padding:0}.bottomCallout{display:flex;justify-content:space-between;align-items:center;background:#eaf0ff;border:1px solid #d5e2ff;border-radius:13px;padding:24px;margin-top:28px;gap:18px}.bottomCallout>div{display:flex;align-items:center;gap:16px;color:#125eeb}.bottomCallout p{font-size:.875rem;color:#657189;margin-top:4px}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:24px}.toolbar select{max-width:330px}.list{background:white;border:1px solid #e4e8f1;border-radius:13px;overflow:hidden}.serviceRow{display:flex;align-items:center;padding:20px;gap:15px;border-bottom:1px solid #edf0f6}.serviceRow:last-child{border:0}.serviceIcon{border-radius:11px;padding:13px;flex-shrink:0}.rowContent{flex:1;min-width:0}.rowContent h3{margin:5px 0}.rowContent p{font-size:.875rem;color:#657189;overflow-wrap:anywhere}.rowContent a{color:#125eeb;font-size:.875rem}.pill{padding:6px 10px;border-radius:7px;font-size:.8125rem;white-space:nowrap}.help{font-size:.8125rem;color:#657189;margin:12px 0 18px;line-height:1.55}.empty{padding:35px;display:flex;flex-direction:column;align-items:center;gap:20px;color:#657189;text-align:center;line-height:1.6}.welcome{padding:55px;max-width:720px;margin:40px auto;background:white;border-radius:20px;border:1px solid #e4e8f1;text-align:center;display:flex;align-items:center;flex-direction:column;gap:22px}.welcomeIcon{padding:25px;color:#125eeb;background:#eaf0ff;border-radius:22px}.welcome h2{font-size:2rem}.welcome p{color:#657189;max-width:460px}.chartGrid,.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:white;border:1px solid #e4e8f1;border-radius:14px;padding:25px}.panel h2{margin:8px 0}.panel>p{color:#657189;font-size:.875rem;margin:8px 0 18px}.chartEmpty{height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;color:#8190aa;text-align:center;padding:20px}.energy{background:#edf0ff;color:#125eeb}.agentPanel{background:white;border:1px solid #e4e8f1;border-radius:18px;padding:45px;text-align:center;max-width:900px;margin:auto}.agentIcon{background:#eaf0ff;color:#125eeb;border-radius:18px;padding:18px;display:inline-block;margin-bottom:20px}.suggestions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:28px 0}.suggestions button{background:#f4f6fc;border:1px solid #e4e8f1;border-radius:10px;padding:14px;text-align:left;font-size:.875rem}.askForm{display:flex;gap:10px;margin-bottom:20px}.askForm input{flex:1}.answer{text-align:left;background:#f0f5ff;padding:24px;border-radius:12px;white-space:pre-wrap;line-height:1.7;margin:25px 0}.assetSetting{display:flex;justify-content:space-between;width:100%;background:none;border-bottom:1px solid #edf0f6;padding:14px 0;text-align:left;font-size:.875rem}.toast{display:flex;align-items:center;gap:9px;border:1px solid #b9e7d0;background:#ecfff5;color:#087652;padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:.875rem}.toast button{margin-left:auto;background:none}.error{background:#ffedf0;border:1px solid #f4b8c3;border-radius:8px;padding:12px;color:#a9243b;margin:12px 0;font-size:.875rem}.error button{background:none;text-decoration:underline}.modalBackdrop{position:fixed;inset:0;background:#101b365b;backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:50;padding:24px}.modal{background:white;border-radius:18px;padding:26px;width:600px;max-width:100%;max-height:92vh;overflow:auto;box-shadow:0 20px 80px #101b3640}.modalHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.modal form{display:flex;flex-direction:column;gap:15px}label{display:flex;flex-direction:column;gap:8px;color:#455571;font-size:.875rem;font-weight:600}input,select,textarea{padding:11px 12px;border:1px solid #dce2ed;border-radius:8px;background:white;width:100%;color:#192338;font-weight:400;min-width:0}input[type=color]{height:44px;padding:5px}textarea{min-height:90px;resize:vertical}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.upload{background:#f5f8ff;border:1px dashed #bdcdef;border-radius:10px;padding:20px;align-items:center;text-align:center}.upload input{font-size:.8125rem}.modalFooter{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.recharts-wrapper{font-size:.8125rem}
@media(min-width:1400px){.assetGrid{grid-template-columns:repeat(2,1fr)}.vehiclePhoto{height:240px}}@media(max-width:1100px){aside{width:205px;padding:28px 14px}main{margin-left:205px;width:calc(100% - 205px);padding:0 25px 35px}.stats>div{padding:18px 14px}.stats strong{font-size:1.7rem}.stats strong small{display:block;margin:3px 0}.statusRow{align-items:flex-start;flex-direction:column}.serviceRow{flex-wrap:wrap}.chartGrid{grid-template-columns:1fr}}@media(max-width:760px){aside{inset:auto 0 0 0;width:100%;height:74px;z-index:20;padding:6px;border-right:0;border-top:1px solid #e4e8f1}.brand,.household,.sidebarBottom{display:none}nav{display:flex;gap:0;justify-content:space-around}nav button{font-size:.75rem;padding:9px 7px;flex-direction:column;gap:5px;border-radius:8px;position:relative}nav b{position:absolute;right:0;top:0;font-size:.625rem;padding:1px 4px}main{margin:0;width:100%;padding:0 18px 100px}header{height:59px}.heading{margin:26px 0;align-items:flex-start;flex-direction:column;gap:18px}h1{font-size:2.1rem}.heading p{font-size:.9375rem}.stats{grid-template-columns:1fr 1fr;gap:1px;margin-bottom:24px}.stats>div{padding:17px}.stats strong small{display:inline;margin-left:7px}.assetGrid,.settingsGrid{grid-template-columns:1fr}.vehiclePhoto{height:210px}.statusRow{flex-direction:row}.bottomCallout{align-items:flex-start;flex-direction:column;padding:20px}.serviceRow{padding:16px;gap:10px}.serviceRow .secondary{font-size:.8125rem;padding:8px}.rowContent{min-width:150px}.toolbar{flex-wrap:wrap}.toolbar select{max-width:none}.agentPanel{padding:25px 17px}.askForm{flex-direction:column}.welcome{padding:30px 20px;margin:15px auto}.modalBackdrop{padding:10px}.modal{padding:20px}.formGrid{gap:12px}.modalFooter button{flex:1}}
.pushSettings{margin-bottom:20px}.pushSettings hr{border:0;border-top:1px solid #e4e8f1;margin:25px 0}.pushActions{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.login{max-width:420px;margin:10vh auto;padding:32px;background:white;border-radius:16px;border:1px solid #e4e8f1}.login form{display:flex;flex-direction:column;gap:18px}.login h1{font-size:2rem;margin-bottom:22px}.login .primary{width:100%}
