@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{font-family:DM Sans,sans-serif;color:#e8edf1;background:#0a1019;font-synthesis:none;font-weight:400;--lime:#c8f65b;--muted:#85929f;--line:#26303c}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:#1b2531;color:#dce4eb;border:1px solid #354150;border-radius:6px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{border-color:var(--lime);color:var(--lime)}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:4px}a{color:inherit}small,.tiny,.eyebrow,.rail-label,.session-line,.stat>div,.status,header,.legend,.chart-footer,.alert-strip>span,footer,.demo{font-family:IBM Plex Mono,monospace}.app{display:flex;min-height:100vh}aside{width:226px;position:fixed;inset:0 auto 0 0;background:#0d141e;border-right:1px solid var(--line);padding:34px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Barlow Condensed,sans-serif;font-size:22px;line-height:.95;letter-spacing:2px}.brand b{color:var(--lime);font-weight:600}.brand-icon{width:46px;height:46px;background:var(--lime);color:#192410;border-radius:50%;display:grid;place-items:center}.rail-label{font-size:9px;color:#657382;letter-spacing:1.5px;margin:55px 8px 17px}nav{display:grid;gap:8px}nav button{font-size:12px;justify-content:flex-start;padding:14px 10px;border:1px solid transparent;background:none;color:#8995a3}nav button span{margin-left:auto;font-size:9px;opacity:.6}nav .active{background:#c8f65b0e;color:var(--lime);border-color:#c8f65b30}.rail-bottom{margin-top:auto;padding:30px 8px 4px;color:#85929f;font-size:12px;line-height:1.7}.orbit{border:1px dashed #344232;border-radius:50%;width:78px;height:78px;display:grid;place-items:center;color:#719245;margin-bottom:20px}.rail-bottom small{font-size:8px;line-height:2;color:#566574}main{margin-left:226px;width:calc(100% - 226px);padding:0 38px;max-width:1900px}header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.8px;color:#95a2ad}.dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:7px;box-shadow:0 0 10px #c8f65b44}header i{margin:0 14px;color:#46515e}.clocks{display:flex;gap:22px}.clocks b{color:#d4dce4;margin-left:7px;font-weight:500}.demo{padding:10px 0;color:#d6ba76;font-size:9px;border-bottom:1px solid #2e2b21}.demo span{margin-left:12px;color:#8d9091}.heading{display:flex;justify-content:space-between;align-items:center;margin:33px 0 30px}.eyebrow{color:var(--lime);font-size:9px;letter-spacing:1.6px}h1{font-family:Barlow Condensed,sans-serif;font-size:48px;letter-spacing:.2px;line-height:1.1;margin:10px 0 12px;font-weight:600}.heading p{font-size:12px;color:var(--muted);margin:0}.status{border:1px solid #435732;background:#c8f65b09;border-radius:4px;color:var(--lime);padding:9px 12px;font-size:9px;letter-spacing:1px;white-space:nowrap}.status.offline{color:#9da8b3;border-color:#405061}.offline .dot{background:#8c9ba9}.session-line{display:flex;justify-content:space-between;font-size:9px;color:#a5afb9;margin-bottom:15px;gap:10px}.session-line>span{display:flex;align-items:center;gap:8px}.muted{color:var(--muted)}.panel{background:linear-gradient(130deg,#151e29,#111924);border:1px solid var(--line);border-radius:9px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.stat{padding:19px 20px}.stat>div{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px;color:#93a0ac}.stat svg{width:16px;height:16px;color:#6e7e8c}.stat strong{font-family:Barlow Condensed,sans-serif;font-weight:500;display:block;font-size:48px;margin:10px 0 7px;line-height:1}.stat em{font-style:normal;font-size:25px;color:#73816d;margin-left:5px}.stat p{font-size:10px;margin:0;color:#85939f;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stat.accent{border-color:#576638;background:linear-gradient(130deg,#222d23,#151e20)}.stat.accent strong,.stat.accent svg{color:var(--lime)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:22px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 22px;border-bottom:1px solid var(--line)}h2{font-weight:500;font-size:13px;margin:0;display:flex;align-items:center;gap:9px}.panel-title svg{color:#91a0ad}.tiny{font-size:8px;letter-spacing:1px;color:#778592}.legend{display:flex;gap:22px;font-size:9px;color:#97a4af;padding:20px 22px 3px}.legend i{display:inline-block;width:15px;height:3px;margin-right:7px;vertical-align:middle}.lime{background:var(--lime)}.blue{background:#65b9f2}.chart{height:230px;padding:0 12px;font-family:IBM Plex Mono,monospace;font-size:9px}.chart-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:14px 22px;font-size:8px;color:#7e8c99}.chart-footer .dot{width:4px;height:4px}.conditions .weather-sun{color:#e4cc87;margin:22px 22px 0}.conditions h3{font-weight:500;font-size:19px;margin:12px 22px 5px}.conditions p{font-size:10px;color:#7e8b98;margin:0 22px 16px}.street-photo,.street-placeholder{width:calc(100% - 44px);height:100px;margin:0 22px 12px;border-radius:5px;object-fit:cover}.street-placeholder{background:repeating-linear-gradient(0deg,transparent,transparent 19px,#34433520 20px),repeating-linear-gradient(90deg,#1d2a26,#1d2a26 19px,#344335 20px);position:relative;display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;overflow:hidden;color:#c4d0c9}.road{position:absolute;top:28px;width:130%;height:45px;background:#293431;transform:rotate(-12deg);border-block:2px solid #76836b44;display:flex;align-items:center;justify-content:space-evenly}.road span{height:2px;width:30px;background:#a8b37d44}.street-placeholder>svg,.street-placeholder>span{z-index:1;background:#111b20bb;padding:4px;box-sizing:content-box}.conditions>small{display:block;font-size:7px;color:#61717f;margin:0 22px 15px}.events{max-height:432px;overflow:auto;padding:4px 22px}.event{display:flex;align-items:flex-start;gap:12px;padding:18px 0;border-bottom:1px solid #222d39}.event time{font-family:IBM Plex Mono,monospace;color:#758694;font-size:10px;padding-top:4px}.event-mark{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;border-radius:50%;background:#24303c;color:#9fadb8}.event-beer .event-mark{color:#dbb77e;background:#d5a35412}.event-traffic .event-mark{color:var(--lime);background:#c8f65b12}.event>div{flex:1}.event b{font-size:11px;font-weight:500}.event p{font-size:11px;line-height:1.5;color:#83929f;margin:5px 0 0;overflow-wrap:anywhere}.event small{font-size:8px;color:#b9a779}.event button{padding:7px;background:transparent}.rating{font-size:9px;background:#c8f65b16;color:var(--lime);padding:3px 6px;margin-left:7px;border-radius:3px}.right-stack{display:grid;gap:20px;align-content:start}.beer-body{display:flex;align-items:center;gap:23px;padding:23px}.can{flex-shrink:0;transform:rotate(-8deg);width:65px;height:114px;border-radius:12px 12px 15px 15px;border-block:5px solid #a9b8a5;background:linear-gradient(90deg,#91ad50,#d2e999 45%,#accb6d);color:#263525;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;box-shadow:9px 10px 20px #0005}.can>span{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:15px;line-height:.9;letter-spacing:1px}.can small{font-size:5px}.beer-body h3{font-size:17px;line-height:1.3;margin:10px 0;overflow-wrap:anywhere}.beer-rating{font-family:Barlow Condensed,sans-serif;font-size:32px;color:var(--lime)}.beer-rating span{font-size:18px;color:#778591}.beer-body small{font-size:7px;color:#798a97}.side-notes{padding:20px 22px}.side-notes>div{display:flex;align-items:center;gap:10px;font-size:11px;color:#adbac5;margin-bottom:15px}.side-notes svg{color:#7b8c9a}.side-notes b{margin-left:auto;color:#e7ecef}.side-notes p{font-size:11px;color:#788997;margin:-6px 0 18px 28px;line-height:1.5}.side-notes p:last-child{margin-bottom:0}.alert-strip{display:flex;align-items:center;gap:16px;border:1px solid #343c2e;background:#1b241c55;border-radius:6px;padding:11px 16px;margin-top:22px}.alert-strip>span{font-size:8px;color:var(--lime);white-space:nowrap;letter-spacing:1px}.alert-strip p{font-size:11px;color:#abb69e;margin:0;flex:1}.alert-strip svg{color:#9bb36e}footer{display:flex;justify-content:space-between;gap:16px;font-size:8px;color:#596b7b;margin:30px 0 22px}footer b{color:#8996a2;font-weight:500;letter-spacing:1px}.controls{margin-bottom:24px}.control-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:20px}.control-grid button{min-height:56px;font-size:12px}.controls>small{display:block;padding:0 20px 20px;color:#8899a7;font-size:9px}.primary{background:var(--lime);border-color:var(--lime);color:#1a2510;font-weight:600}.primary:hover{background:#d7ff80;color:#1a2510}.end,.danger{color:#f1a89a;border-color:#804a40}.login{padding:24px;max-width:480px;margin-bottom:24px}.login p{color:#91a1ae;font-size:13px}label{display:block;font-size:12px;color:#b9c5cf;margin:18px 0}input,select{width:100%;padding:12px;background:#0b131d;color:#e6ebef;border:1px solid #384754;border-radius:5px;margin-top:8px}input[type=range]{accent-color:var(--lime);padding:0}label>b{float:right;color:var(--lime)}.archive{min-height:350px}.archive select{width:180px;margin:0}.archive-row{display:flex;justify-content:space-between;width:100%;padding:22px;background:none;border:none;border-bottom:1px solid var(--line);text-align:left}.archive-row small{display:block;color:#8c9caa;font-size:9px;margin-top:9px}.archive-row>span{display:flex;align-items:center;gap:15px;font-size:12px}.empty{text-align:center;padding:70px 20px}.empty svg{color:var(--lime)}.empty h2{display:block;font-size:24px;margin:20px}.empty p{color:#8f9daa}.error{display:flex;justify-content:space-between;align-items:center;padding:14px;color:#ffc0b1;background:#55271c55;border:1px solid #754633;border-radius:6px;font-size:13px;margin-bottom:15px}.error button{padding:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000b;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal{width:480px;max-height:90vh;overflow:auto;padding:24px;box-shadow:0 24px 80px #0008}.modal .panel-title{padding:0 0 18px}.modal small{display:block;color:#8b9aa8;font-size:10px;margin:12px 0;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.range-label{display:flex;justify-content:space-between;color:#7d8e9c;font-size:9px}::selection{background:#c8f65b44}@media(min-width:1500px){main{padding:0 50px}.chart{height:280px}.street-photo,.street-placeholder{height:150px}}@media(max-width:1100px){aside{width:185px;padding-inline:14px}main{margin-left:185px;width:calc(100% - 185px);padding-inline:24px}.clocks{gap:10px}header>span{font-size:7px}.heading{align-items:flex-start;gap:15px}h1{font-size:40px}.status{font-size:7px}.stat{padding:16px 12px}.stat>div{font-size:7px}.stat strong{font-size:40px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr)}.chart-footer{font-size:7px;padding-inline:12px}.chart-footer>span:last-child{display:none}}@media(max-width:800px){aside{position:relative;width:100%;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between}.app{display:block}.brand{font-size:18px}.brand-icon{width:36px;height:36px}.rail-label,.rail-bottom,nav button span{display:none}nav{display:flex;gap:3px}nav button{font-size:0;padding:12px}nav button svg{width:20px;height:20px}main{width:100%;margin:0;padding:0 20px}header{height:54px}header>span{font-size:0}header .dot{width:6px}.clocks{font-size:9px;gap:18px}.demo{font-size:8px;line-height:1.7}.demo span{display:block;margin:0;font-size:8px}.heading{margin:25px 0}.heading h1{font-size:36px}.heading p{font-size:11px;line-height:1.6;max-width:290px}.heading .status{display:none}.session-line{font-size:8px;flex-direction:column;gap:9px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:17px}.stat>div{font-size:8px}.stat strong{font-size:44px}.dashboard-grid{grid-template-columns:1fr;gap:16px}.conditions{grid-row:4}.chart{height:240px}.events{max-height:380px}.control-grid{grid-template-columns:repeat(2,1fr);padding:14px;gap:8px}.control-grid button{font-size:12px}.panel-title{padding:18px}.alert-strip{align-items:flex-start;gap:10px}.alert-strip p{line-height:1.6}.alert-strip>span{padding-top:4px}footer{flex-wrap:wrap;line-height:1.6}footer>span:last-child{display:none}.archive-row{gap:12px;padding:18px}.archive-row>span{font-size:10px}.archive-row b{font-size:13px}.modal{padding:20px}.modal-backdrop{padding:12px}.street-placeholder,.street-photo{height:150px}}.whatsapp-invite{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;margin-bottom:24px;border-color:#345b43}.whatsapp-invite h2{color:#c8f65b}.whatsapp-invite p{font-size:12px;color:#a3b3bf;line-height:1.6;margin:10px 0}.whatsapp-invite summary{cursor:pointer;font-size:11px;color:#c0ccd5}.whatsapp-invite small{display:block;margin-top:12px;font-size:9px;color:#a8b68e}.invite-message{white-space:pre-wrap;overflow-wrap:anywhere;max-width:560px}.whatsapp-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#216d42;border:1px solid #3a9b60;border-radius:6px;padding:14px 18px;color:#fff;text-decoration:none;font-size:12px;white-space:nowrap}.whatsapp-button:hover{background:#29834f}@media(max-width:800px){.whatsapp-invite{flex-direction:column;align-items:stretch}.whatsapp-button{white-space:normal}}
