:root{color-scheme:dark;--bg:#0d1715;--panel:#14231f;--line:#2b4038;--text:#f1f6ed;--mute:#a9baae;--lime:#c4f279;--teal:#76d8ba;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 110% 45% at 50% 0%,#1f3b31 0%,transparent 75%),var(--bg);color:var(--text)}button,input{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1,h2,strong{letter-spacing:-.045em}.brand{display:flex;align-items:center;gap:.55rem;font-size:.78rem;font-weight:850;letter-spacing:.11em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:28px;height:28px;background:var(--lime);border-radius:9px;color:#10211b;font-size:1.3rem;letter-spacing:0}.eyebrow{color:var(--lime);font-size:.7rem;font-weight:850;letter-spacing:.2em}.topbar{max-width:1200px;margin:auto;padding:1.1rem 1.15rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.topbar form{margin:0}.topbar button{border:1px solid var(--line);background:#1c2c25;color:var(--text);border-radius:999px;padding:.6rem .9rem;font-size:.8rem}.app{max-width:1200px;margin:auto;padding:1.4rem 1rem 5rem;display:grid;gap:1rem}.loading,.load-error{margin:2rem auto;color:var(--mute);text-align:center}.load-error{color:#ffc0a8}.app #dashboard{display:grid;gap:1rem}.hero{padding:1.45rem;border:1px solid #44634a;border-radius:28px;background:radial-gradient(circle at 80% 15%,rgba(196,242,121,.2),transparent 42%),linear-gradient(135deg,#203e31,#142a23 60%,#1a352d);overflow:hidden;box-shadow:0 28px 70px #0003}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;flex-wrap:wrap}.hero h1{font-size:clamp(1.8rem,7vw,3.2rem);line-height:1.04;margin:.4rem 0}.hero-sub{font-size:.88rem;color:#d3e4ce;margin:0}.sync{font-size:.69rem;color:#b4e5c1;background:#173328;border:1px solid #396c50;border-radius:999px;padding:.45rem .7rem}.demo-banner{margin-top:1rem;background:#3b351d;color:#f7dd83;border:1px solid #6a5b2d;border-radius:10px;padding:.65rem .75rem;font-size:.75rem}.hero-main{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:205px}.hero-distance{display:flex;flex-direction:column;gap:.35rem}.hero-distance span,.hero-distance small{color:#d7eacb;font-size:.79rem}.hero-distance strong{font-size:clamp(4.3rem,18vw,7.5rem);font-weight:780;line-height:1;color:var(--lime)}.orbit{width:125px;height:125px;flex:none;border:1px solid rgba(196,242,121,.45);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 10px rgba(196,242,121,.05),0 0 0 23px rgba(196,242,121,.03)}.orbit-inner{text-align:center;display:grid;gap:.2rem}.orbit span{font-size:.56rem;letter-spacing:.15em;color:#a7c5ae}.orbit strong{font-size:1.35rem}.orbit small{font-size:.62rem;color:#d2e6d2}.hero-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;border-top:1px solid #60806a;padding-top:1rem}.metric-label{color:var(--mute);font-size:.68rem;line-height:1.2;display:block}.hero-strip .metric-label{color:#cce0cb}.metric-number{font-size:1.08rem;font-weight:750;letter-spacing:-.04em;margin-top:.35rem;overflow-wrap:anywhere}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.quick-card{min-height:155px;position:relative;padding:1rem;border:1px solid var(--line);border-radius:20px;background:#192c25;overflow:hidden}.quick-card:last-child{grid-column:1/-1}.quick-head{font-size:.64rem;font-weight:800;letter-spacing:.13em;color:var(--teal)}.quick-icon{position:absolute;right:1rem;top:.8rem;color:#86b69c;font-size:1.35rem}.quick-card strong{display:block;margin:1.1rem 0 .2rem;font-size:clamp(1.65rem,6vw,2.4rem)}.quick-card p{color:var(--mute);font-size:.75rem;margin:0}.surface{border:1px solid var(--line);border-radius:23px;background:var(--panel);padding:1.2rem}.section-head h2{font-size:1.25rem;margin:0 0 .2rem}.section-head p{font-size:.79rem;color:var(--mute);margin:0}.chart-caption{text-transform:capitalize;color:var(--lime);font-size:.85rem;font-weight:700;margin:1.4rem 0 .9rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.42rem}.weekday{text-align:center;color:#7d9685;font-size:.68rem;font-weight:700}.calendar-day{min-width:0;aspect-ratio:1;border:1px solid #314b3d;border-radius:10px;background:#1c3228;color:#9fbaa5;font-size:.72rem}.calendar-day:not(:disabled):hover,.calendar-day:not(:disabled):focus-visible{outline:2px solid var(--lime);outline-offset:2px}.calendar-day:disabled{cursor:default}.calendar-day.level-1{background:#315d3d;color:#e6f5df}.calendar-day.level-2{background:#49834b;color:white}.calendar-day.level-3{background:#79ba5a;color:#122615}.calendar-day.level-4{background:var(--lime);color:#102111;font-weight:800}.calendar-day.future{opacity:.3}.day-detail{min-height:1.1rem;color:var(--mute);font-size:.75rem;margin:1rem 0 0}.month-bars{display:grid;gap:1.15rem;margin-top:1.45rem}.month-row-top{display:flex;justify-content:space-between;gap:.5rem;font-size:.82rem;text-transform:capitalize}.month-row-top strong{color:var(--lime)}.month-track{height:12px;border-radius:99px;background:#263e31;margin:.55rem 0;overflow:hidden}.month-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#4b9f71,var(--lime))}.month-row small{color:var(--mute);font-size:.71rem}.compare-note{font-size:.77rem;color:#d7e8cb;margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--line)}.lower-grid{display:grid;gap:1rem}.battery-grid,.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.battery-grid .metric:first-child{grid-column:1/-1}.battery-grid .metric-number,.record-grid .metric-number{font-size:1.45rem}.charge-track{height:10px;border-radius:20px;background:#2b4538;overflow:hidden;margin-top:1.7rem}.charge-fill{height:100%;background:var(--lime);border-radius:20px}.battery-caption,.fine-print{font-size:.72rem;color:var(--mute);line-height:1.45;margin:.55rem 0 0}.ride-row{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid var(--line);padding:1rem 0}.ride-row:last-of-type{border:0}.ride-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#294739;color:var(--lime);flex:none}.ride-main{flex:1;min-width:0}.ride-row strong,.ride-row small{display:block}.ride-row strong{font-size:.85rem}.ride-row small{font-size:.7rem;color:var(--mute);margin-top:.24rem}.ride-end{text-align:right}.ride-end strong{color:var(--lime)}.ecosystem{padding:2rem 1.3rem;border:1px solid #4b6845;border-radius:24px;background:radial-gradient(circle at 95% 15%,rgba(196,242,121,.18),transparent 40%),#1b3429}.ecosystem h2{font-size:clamp(1.65rem,6vw,2.6rem);line-height:1.08;max-width:580px}.ecosystem p:not(.eyebrow){color:#cbdacb;line-height:1.55;max-width:670px;font-size:.9rem}.coming{display:inline-block;border:1px solid #7dab62;border-radius:99px;color:var(--lime);padding:.6rem .9rem;font-size:.78rem;font-weight:700}.footnote{color:#849d8c;font-size:.7rem;line-height:1.5;padding:.5rem}.empty{color:var(--mute);font-size:.83rem;margin:1.3rem 0 0}.login-screen{min-height:100vh;padding:1.2rem;display:grid;place-items:center}.login-card{max-width:480px;width:100%;border:1px solid #3f5d4a;border-radius:28px;padding:clamp(1.35rem,5vw,2.4rem);background:radial-gradient(circle at 80% 10%,#295341,transparent 40%),#16271f;box-shadow:0 30px 70px #0005}.login-card .eyebrow{margin:3rem 0 .7rem}.login-card h1{font-size:clamp(2.5rem,9vw,3.6rem);line-height:1.02;margin-bottom:1rem}.login-card h1 em{color:var(--lime);font-style:normal}.lead{color:#b8c9b9;font-size:.92rem;line-height:1.5}.login-card form{margin-top:2rem}.login-card label{display:block;margin:.85rem 0 .38rem;color:#d7e5d8;font-size:.75rem;font-weight:700}.login-card input{width:100%;background:#102019;border:1px solid #42614c;border-radius:11px;padding:.85rem 1rem;color:var(--text);min-height:48px;outline:0}.login-card input:focus{border-color:var(--lime)}.login-card form button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:12px;background:var(--lime);color:#102019;font-weight:850;margin-top:1.2rem;padding:.9rem 1rem}.demo-note{font-size:.75rem;line-height:1.5;color:#aabdaa;margin:1.2rem 0 0}.form-error{background:#4a2c28;color:#ffd3c9;padding:.7rem;border-radius:9px;font-size:.78rem}
@media(min-width:680px){.app{padding:2rem 1.5rem 5rem}.hero{padding:2rem}.hero-main{min-height:255px}.orbit{width:175px;height:175px}.orbit strong{font-size:1.9rem}.hero-strip{gap:1rem}.metric-number{font-size:1.45rem}.quick-grid{grid-template-columns:repeat(3,1fr)}.quick-card:last-child{grid-column:auto}.calendar-grid{gap:.6rem}.calendar-day{border-radius:13px;font-size:.85rem}.lower-grid{grid-template-columns:1.3fr 1fr}.battery-grid .metric:first-child{grid-column:auto}.battery-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.app #dashboard{grid-template-columns:1.15fr .85fr}.hero,.quick-grid,.ecosystem,.footnote{grid-column:1/-1}.calendar-card{grid-column:1}.compare-card{grid-column:2}.lower-grid,.history-card{grid-column:1/-1}.lower-grid{grid-template-columns:1fr 1fr}}
.login-top,.top-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.language{display:flex;gap:.1rem;padding:.2rem;border:1px solid var(--line);border-radius:99px}.language a{display:grid;place-items:center;min-width:31px;min-height:26px;padding:.1rem .35rem;border-radius:99px;color:var(--mute);font-size:.66rem;font-weight:800;text-decoration:none}.language a[aria-current="page"]{background:var(--lime);color:#122118}
.snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin-top:1.5rem}.snapshot-grid .metric-number{font-size:1.4rem}.assist-rows{display:grid;gap:1rem;margin-top:1.4rem}.assist-title{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem}.assist-title strong{color:var(--lime)}.assist-row small{color:var(--mute);font-size:.7rem}@media(min-width:680px){.snapshot-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:900px){.snapshot-card,.assist-card{grid-column:1/-1}.assist-rows{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}}
@media(max-width:420px){.hero-distance strong{font-size:clamp(3.3rem,16vw,4.3rem)}.orbit{width:94px;height:94px;box-shadow:0 0 0 7px rgba(196,242,121,.05)}.orbit strong{font-size:1rem}.orbit span{font-size:.48rem}.orbit small{font-size:.55rem}}
.topbar button{white-space:nowrap}@media(max-width:420px){.topbar{padding:1rem .7rem;gap:.45rem}.topbar .brand{font-size:.68rem}.top-actions{gap:.35rem}}
.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:.55rem;margin:1.25rem 0 .3rem}.calendar-nav .chart-caption{margin:0;text-align:center;flex:1}.calendar-arrow{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#302841;color:var(--lime);font-size:1.6rem;line-height:1}.calendar-arrow:hover:not(:disabled),.calendar-arrow:focus-visible{border-color:var(--lime);outline:0}.calendar-arrow:disabled{opacity:.35;cursor:default}.calendar-totals{color:var(--mute);text-align:center;font-size:.72rem;margin:0 0 1.1rem}
/* Kolory panelu: pomiędzy chłodnym LEGAL a ciepłym FULL. */
:root{--bg:#100f1b;--panel:#1e1a30;--line:#47405f;--text:#f8f4ff;--mute:#b8adc9;--lime:#d5bcff;--teal:#ffc694}
body{background:radial-gradient(ellipse 95% 46% at 10% 0%,rgba(104,96,167,.3),transparent 72%),radial-gradient(ellipse 65% 42% at 95% 10%,rgba(209,120,118,.13),transparent 75%),var(--bg)}
.hero{border-color:#736295;background:radial-gradient(circle at 6% 5%,rgba(118,209,179,.22),transparent 40%),radial-gradient(circle at 92% 18%,rgba(255,170,123,.2),transparent 42%),linear-gradient(130deg,#292440,#25203a 58%,#39283d)}
.hero-sub,.hero-distance span,.hero-distance small{color:#ded2e8}.sync{color:#d5f2e1;background:#28374a;border-color:#537080}.demo-banner{background:#423047;color:#ffdbb4;border-color:#80596a}.orbit{border-color:rgba(213,188,255,.63);box-shadow:0 0 0 10px rgba(213,188,255,.07),0 0 0 23px rgba(255,178,134,.03)}.orbit span{color:#cab8dd}.orbit small{color:#e1d6ea}.hero-strip{border-top-color:#766682}.hero-strip .metric-label{color:#d8cde5}
.quick-card{background:radial-gradient(circle at 95% 2%,rgba(255,189,137,.1),transparent 38%),#211d34}.quick-icon{color:#f0af9f}.surface{background:var(--panel)}.calendar-day{border-color:#4c4164;background:#2a2440;color:#c0b5d2}.calendar-day.level-1{background:#4d3d70;color:#f1eaff}.calendar-day.level-2{background:#735694;color:#fff}.calendar-day.level-3{background:#a67bb8;color:#1d1530}.calendar-day.level-4{background:#d5bcff;color:#201630}.month-track,.charge-track{background:#39314e}.month-fill{background:linear-gradient(90deg,#88d2bc,#ae8fe6,#ec9f9b)}.charge-fill{background:linear-gradient(90deg,#93d9c0,#d5bcff)}.ride-icon{background:#3a2d50}.ecosystem{display:none}.login-card{border-color:#6c5a86;background:radial-gradient(circle at 90% 5%,#503b5f,transparent 42%),radial-gradient(circle at 0% 35%,#2d4c50,transparent 60%),#211c33}.login-card input{background:#1a172a;border-color:#675a7e;color:var(--text)}.form-error{background:#52313e}.topbar button{background:#29233a}
.login-help{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid #3f5d4a;font-size:.82rem;line-height:1.55;color:#c3d3c4}.login-help summary{cursor:pointer;color:var(--lime);font-weight:750}.login-help p{margin:.8rem 0 0}.login-help ol{margin:.8rem 0 0;padding-left:1.2rem;display:grid;gap:.45rem}.login-help b{color:var(--text)}.login-help a{color:var(--lime)}
