:root{--background:#0f0f13;--surface:#1e1e24;--primary:#7000df;--primary-glow:#7000df88;--secondary:#00bcd4;--accent:#ff4081;--text-primary:#ffffff;--text-secondary:#a0a0b0;--accent-orange:#ff8c00;--gap:16px;--radius:24px;--container-max-width:1200px;--glass-bg:rgba(30,30,36,0.7);--glass-border:rgba(255,255,255,0.1);--glass-blur:12px;--inner-bg:rgba(255,255,255,0.05);--text-highlight:#d0bcff;--calendar-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9ImZlYXRoZXIgZmVhdGhlci1jYWxlbmRhciI+PHJlY3QgeD0iMyIgeT0iNCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD48bGluZSB4MT0iMTYiIHkxPSIyIiB4Mj0iMTYiIHkyPSI2Ij48L2xpbmU+PGxpbmUgeDE9IjgiIHkxPSIyIiB4Mj0iOCIgeTI9IjYiPjwvbGluZT48bGluZSB4MT0iMyIgeTE9IjEwIiB4Mj0iMjEiIHkyPSIxCI+PC9saW5lPjwvc3ZnPg==")}body[data-theme=light]{--background:#e4e4e7;--surface:#ffffff;--primary:#6200ea;--primary-glow:#6200ea44;--text-primary:#18181b;--text-secondary:#52525b;--glass-bg:rgba(255,255,255,0.9);--glass-border:rgba(0,0,0,0.05);--inner-bg:#eeeef1;--text-highlight:var(--primary)}*{box-sizing:border-box;padding:0;margin:0}body{background-color:var(--background);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;overflow-x:hidden}h1,h2,h3{font-weight:700;letter-spacing:-.02em}h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary) 0,var(--text-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:10px var(--gap) var(--gap) var(--gap)}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:24px;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden;position:relative;min-width:0}.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px -10px var(--primary-glow);border-color:rgba(255,255,255,.2)}.overflow-visible{overflow:visible!important}.custom-date-input{appearance:none;-webkit-appearance:none;position:relative;background-color:var(--surface)!important;color:var(--text-primary)!important;border:1px solid var(--text-secondary)!important;border-radius:6px;padding:8px 12px;padding-right:40px!important;font-size:.9rem;width:100%;height:40px;min-width:120px}.custom-date-input::-webkit-datetime-edit,.custom-date-input::-webkit-datetime-edit-fields-wrapper{color:var(--text-primary)}body[data-theme=dark] .custom-date-input{color-scheme:dark}body[data-theme=light] .custom-date-input{color-scheme:light}.custom-date-input::-webkit-calendar-picker-indicator{opacity:0;display:block;position:absolute;right:0;top:0;height:100%;width:40px;cursor:pointer}input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:1}input,select,textarea{color:var(--text-primary)}.bento-grid{display:grid;grid-template-columns:1fr;gap:var(--gap);padding:0 0 var(--gap) 0}@media (min-width:768px){.bento-grid{display:block;column-count:2;column-gap:var(--gap)}.bento-grid>.card,.bento-grid>.card-group{page-break-inside:avoid;break-inside:avoid;margin-bottom:var(--gap)}.col-span-1,.col-span-2,.col-span-3,.col-span-4{width:100%}}.mobile-only-br{display:none}.track-bar-header{display:flex;justify-content:space-between;align-items:center}.track-bar-actions{display:flex;gap:8px;align-items:center}@media (max-width:767px){.mobile-only-br{display:block}.track-bar-actions,.track-bar-header{align-items:flex-start}.mobile-hide-text{display:none!important}.mobile-header-stack{flex-direction:column;align-items:flex-start!important}.mobile-full-width-actions{width:100%;justify-content:space-between}}.header-logo{width:150px;height:auto;cursor:help}@media (min-width:768px){.header-logo{width:200px}}.loading-spinner-container{display:flex;justify-content:center;align-items:center;width:100%;height:50vh}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-left:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}body[data-theme=dark] .force-dark-icon{color-scheme:dark}body[data-theme=dark] .force-dark-icon::-webkit-calendar-picker-indicator{filter:invert(1)}body[data-theme=light] .force-dark-icon{color-scheme:light}body[data-theme=light] .force-dark-icon::-webkit-calendar-picker-indicator{filter:invert(0)}.bento-icon{display:block;background-size:contain;background-repeat:no-repeat;background-position:50%}.bento-icon-lg{width:50px;height:50px;margin:0 auto 8px}.bento-icon-xl{width:60px;height:60px;margin:0 auto 8px}.bento-icon-sm{width:32px;height:32px;margin:0 auto 4px}.icon-add-ride{background-image:url(/images/add-ride-dark.png)}.icon-bikes{background-image:url(/images/bikes-dark.png)}.icon-suspension{background-image:url(/images/suspension-dark.png)}.icon-service-forecast{background-image:url(/images/service-forecast-dark.png)}.icon-reports{background-image:url(/images/reports-dark.png)}.icon-graphs{background-image:url(/images/graphs-dark.png)}.icon-other-services{background-image:url(/images/other-services-dark.png)}.icon-suspension-tune{background-image:url(/images/suspension-tune-dark.png)}.icon-suspension-fork{background-image:url(/images/suspension-fork-dark.png)}.icon-suspension-shock{background-image:url(/images/suspension-shock-dark.png)}body[data-theme=light] .icon-add-ride{background-image:url(/images/add-ride-light.png)}body[data-theme=light] .icon-bikes{background-image:url(/images/bikes-light.png)}body[data-theme=light] .icon-suspension{background-image:url(/images/suspension-light.png)}body[data-theme=light] .icon-service-forecast{background-image:url(/images/service-forecast-light.png)}body[data-theme=light] .icon-reports{background-image:url(/images/reports-light.png)}body[data-theme=light] .icon-graphs{background-image:url(/images/graphs-light.png)}body[data-theme=light] .icon-other-services{background-image:url(/images/other-services-light.png)}body[data-theme=light] .icon-suspension-tune{background-image:url(/images/suspension-tune-light.png)}body[data-theme=light] .icon-suspension-fork{background-image:url(/images/suspension-fork-light.png)}body[data-theme=light] .icon-suspension-shock{background-image:url(/images/suspension-shock-light.png)}.bento-icon-inline{display:inline-block;width:24px;height:24px;vertical-align:middle;margin-left:6px;margin-bottom:2px}.hamburger-btn{width:32px;height:24px;position:relative;cursor:pointer;z-index:101;display:flex;flex-direction:column;justify-content:space-between;background:transparent;border:none;padding:0}.hamburger-line{display:block;width:100%;height:2px;background-color:var(--text-primary);border-radius:4px;transition:all .4s cubic-bezier(.16,1,.3,1);transform-origin:center}.hamburger-btn.open .hamburger-line:first-child{transform:translateY(11px) rotate(45deg);background-color:var(--text-primary)}.hamburger-btn.open .hamburger-line:nth-child(2){opacity:0;transform:scale(.5)}.hamburger-btn.open .hamburger-line:nth-child(3){transform:translateY(-11px) rotate(-45deg);background-color:var(--text-primary)}.menu-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99;opacity:0;animation:fadeIn .3s forwards}.menu-backdrop.closing{animation:fadeOut .3s forwards}.menu-drawer{position:fixed;top:0;left:0;width:300px;height:100vh;background:var(--surface);background:linear-gradient(135deg,var(--surface) 0,rgba(30,30,36,.95) 100%);z-index:100;box-shadow:10px 0 30px rgba(0,0,0,.5);transform:translateX(-105%);animation:slideIn .4s cubic-bezier(.16,1,.3,1) forwards;display:flex;flex-direction:column;padding:80px 24px 24px;border-right:1px solid var(--glass-border)}.menu-drawer.closing{animation:slideOut .3s ease-in forwards}@keyframes slideIn{0%{transform:translateX(-105%)}to{transform:translateX(0)}}@keyframes slideOut{0%{transform:translateX(0)}to{transform:translateX(-105%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.menu-item{display:flex;align-items:center;padding:12px 16px;border-radius:16px;color:var(--text-secondary);text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:1.1rem;font-weight:500;margin-bottom:4px}.menu-item:hover{background:var(--inner-bg);color:var(--text-primary);transform:translateX(6px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.menu-item.active{background:var(--primary-glow);color:var(--text-primary);font-weight:600}.menu-group{margin-bottom:24px}.menu-group-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;cursor:pointer;color:var(--text-primary);font-weight:600;font-size:.95rem;opacity:.8;transition:opacity .2s;-webkit-user-select:none;user-select:none}.menu-group-header:hover{opacity:1}.menu-sub-items{margin-top:8px;padding-left:12px;border-left:2px solid var(--glass-border);margin-left:16px;display:flex;flex-direction:column;gap:4px;overflow:hidden;animation:expandSub .3s ease forwards}@keyframes expandSub{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-sub-link{padding:8px 12px;color:var(--text-secondary);text-decoration:none;font-size:.95rem;border-radius:8px;transition:all .2s}.menu-sub-link:hover{color:var(--primary);background:rgba(255,255,255,.03)}body[data-theme=light] .menu-drawer{background:linear-gradient(135deg,#ffffff,#f0f0f5);border-right:1px solid rgba(0,0,0,.1);box-shadow:10px 0 30px rgba(0,0,0,.15)}body[data-theme=light] .menu-item:hover{background:rgba(0,0,0,.05)}body[data-theme=light] .menu-group-header{color:#333}body[data-theme=light] .menu-sub-link{color:#666}body[data-theme=light] .menu-sub-link:hover{background:rgba(0,0,0,.05);color:var(--primary)}.service-icon-sm{width:20px;height:20px;background-size:contain;background-repeat:no-repeat;display:inline-block;vertical-align:middle;opacity:.9;background-position:50%}.icon-fork-service{background-image:url(/images/suspension-fork-dark.png)}body[data-theme=light] .icon-fork-service{background-image:url(/images/suspension-fork-light.png)}.icon-shock-service{background-image:url(/images/suspension-shock-dark.png)}body[data-theme=light] .icon-shock-service{background-image:url(/images/suspension-shock-light.png)}.service-icon-lg{width:60px;height:60px;background-size:contain;background-repeat:no-repeat;display:block;opacity:.9;margin:0 auto 8px;background-position:50%}.icon-bike-default{background-image:url(/images/bike-dark.png);border:1px solid transparent}body[data-theme=light] .icon-bike-default{background-image:url(/images/bike-light.png)}.icon-bike-gravel{background-image:url(/images/bike-gravel-dark.png);border:1px solid transparent}body[data-theme=light] .icon-bike-gravel{background-image:url(/images/bike-gravel-light.png)}.icon-admin-activity-maintenance-sm,.icon-admin-system-settings-sm,.icon-admin-users-sm,.icon-bikes-sm,.icon-other-services-sm,.icon-service-forecast-sm,.icon-service-history-sm,.icon-suspensions-sm{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-right:8px;background-size:contain;background-repeat:no-repeat}.icon-other-services-sm{background-image:url(/images/other-services-dark.png)}.icon-bikes-sm{background-image:url(/images/bikes-dark.png)}.icon-suspensions-sm{background-image:url(/images/suspension-dark.png)}.icon-service-forecast-sm{background-image:url(/images/service-forecast-dark.png)}.icon-service-history-sm{background-image:url(/images/reports-dark.png)}.icon-admin-users-sm{background-image:url(/images/users-dark.png)}.icon-admin-activity-maintenance-sm{background-image:url(/images/activitymaintenance-dark.png)}.icon-admin-system-settings-sm{background-image:url(/images/systemsettings-dark.png)}body[data-theme=light] .icon-other-services-sm{background-image:url(/images/other-services-light.png)}body[data-theme=light] .icon-bikes-sm{background-image:url(/images/bikes-light.png)}body[data-theme=light] .icon-suspensions-sm{background-image:url(/images/suspension-light.png)}body[data-theme=light] .icon-service-forecast-sm{background-image:url(/images/service-forecast-light.png)}body[data-theme=light] .icon-service-history-sm{background-image:url(/images/reports-light.png)}body[data-theme=light] .icon-admin-users-sm{background-image:url(/images/users-light.png)}body[data-theme=light] .icon-admin-activity-maintenance-sm{background-image:url(/images/activitymaintenance-light.png)}body[data-theme=light] .icon-admin-system-settings-sm{background-image:url(/images/systemsettings-light.png)}.icon-suspension-tune-sm{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-right:8px;background-size:contain;background-repeat:no-repeat;background-image:url(/images/suspension-tune-dark.png)}body[data-theme=light] .icon-suspension-tune-sm{background-image:url(/images/suspension-tune-light.png)}.icon-part-chain{background-image:url(/images/chain-dark.png)}.icon-part-cassette{background-image:url(/images/cassette-dark.png)}.icon-part-brake{background-image:url(/images/brake-dark.png)}.icon-part-brakepad{background-image:url(/images/brakepad-dark.png)}.icon-part-tyre{background-image:url(/images/tyre-dark.png)}.icon-part-dropper{background-image:url(/images/dropper-post-dark.png)}.icon-part-bb{background-image:url(/images/bottom-bracket-dark.png)}.icon-part-hub{background-image:url(/images/hub-dark.png)}.icon-part-chainring{background-image:url(/images/chainring-dark.png)}.icon-part-derailleur{background-image:url(/images/derailleur-dark.png)}.icon-part-gearbox{background-image:url(/images/gearbox-dark.png)}.icon-part-headset{background-image:url(/images/headset-dark.png)}.icon-part-bearing{background-image:url(/images/bearing-dark.png)}.icon-part-sealant{background-image:url(/images/sealant-dark.png)}.icon-part-other{background-image:url(/images/other-dark.png)}body[data-theme=light] .icon-part-chain{background-image:url(/images/chain-light.png)}body[data-theme=light] .icon-part-cassette{background-image:url(/images/cassette-light.png)}body[data-theme=light] .icon-part-brake{background-image:url(/images/brake-light.png)}body[data-theme=light] .icon-part-brakepad{background-image:url(/images/brakepad-light.png)}body[data-theme=light] .icon-part-tyre{background-image:url(/images/tyre-light.png)}body[data-theme=light] .icon-part-dropper{background-image:url(/images/dropper-post-light.png)}body[data-theme=light] .icon-part-bb{background-image:url(/images/bottom-bracket-light.png)}body[data-theme=light] .icon-part-hub{background-image:url(/images/hub-light.png)}body[data-theme=light] .icon-part-chainring{background-image:url(/images/chainring-light.png)}body[data-theme=light] .icon-part-derailleur{background-image:url(/images/derailleur-light.png)}body[data-theme=light] .icon-part-gearbox{background-image:url(/images/gearbox-light.png)}body[data-theme=light] .icon-part-headset{background-image:url(/images/headset-light.png)}body[data-theme=light] .icon-part-bearing{background-image:url(/images/bearing-light.png)}body[data-theme=light] .icon-part-sealant{background-image:url(/images/sealant-light.png)}body[data-theme=light] .icon-part-other{background-image:url(/images/other-light.png)}@keyframes pulseRed{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(211,47,47,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(211,47,47,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(211,47,47,0)}}.pulse-red{animation:pulseRed 2s infinite;border-radius:50%}.faq-title{color:#e0b0ff;margin-bottom:8px}body[data-theme=light] .faq-title{color:var(--primary)}.icon-admin-users{background-image:url(/images/users-dark.png)}.icon-admin-activity-maintenance{background-image:url(/images/activitymaintenance-dark.png)}.icon-admin-system-settings{background-image:url(/images/systemsettings-dark.png)}body[data-theme=light] .icon-admin-users{background-image:url(/images/users-light.png)}body[data-theme=light] .icon-admin-activity-maintenance{background-image:url(/images/activitymaintenance-light.png)}body[data-theme=light] .icon-admin-system-settings{background-image:url(/images/systemsettings-light.png)}.icon-admin-blog{background-image:url(/images/blog-dark.png);transform:scale(1.4)}.icon-admin-subscribers{background-image:url(/images/subscribers-dark.png)}body[data-theme=light] .icon-admin-blog{background-image:url(/images/blog-light.png)}body[data-theme=light] .icon-admin-subscribers{background-image:url(/images/subscribers-light.png)}.icon-admin-blog-sm{background-image:url(/images/blog-dark.png);transform:scale(1.4)}.icon-admin-blog-sm,.icon-admin-subscribers-sm{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-right:8px;background-size:contain;background-repeat:no-repeat}.icon-admin-subscribers-sm{background-image:url(/images/subscribers-dark.png)}body[data-theme=light] .icon-admin-blog-sm{background-image:url(/images/blog-light.png)}body[data-theme=light] .icon-admin-subscribers-sm{background-image:url(/images/subscribers-light.png)}.fullscreen-loader{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;z-index:9999;background:rgba(15,15,19,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body[data-theme=light] .fullscreen-loader{background:rgba(228,228,231,.8)}.brand-spinner{filter:drop-shadow(0 0 10px rgba(112,0,223,.3))}.mini-bento-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface);border:1px solid var(--glass-border)}.mini-bento-icon .bento-icon,.mini-bento-icon .bento-icon-lg,.mini-bento-icon .bento-icon-sm,.mini-bento-icon .bento-icon-xl,.mini-bento-icon .service-icon-lg,.mini-bento-icon .service-icon-sm{margin:0}body[data-theme=light] .mini-bento-icon{border-color:rgba(0,0,0,.15)}