:root{--color-bg:#fff;--color-surface:#f1f1fa;--color-text:#1a1a22;--color-text-muted:#4b4b57;--color-accent:#1117a3;--color-primary:#1117a3;--color-primary-dark:#0d1380;--color-primary-text:#fff;--color-field-bg:#fff;--color-field-border:#8a8a95;--color-placeholder:#6e6e7a;--color-line:#e4e4ec;--color-route-track:#cfd1ed;--color-route-car-icon:#1117a3;--route-car-shadow:0 0 0 1.5px var(--color-accent), 0 2px 6px #1117a32e;--color-error:#b3261e;--color-on-error:#fff;--color-warning:#8a5a00;--radius:6px;--nav-height:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--color-bg:#121218;--color-surface:#1c1c24;--color-text:#f1f1fa;--color-text-muted:#b4b6d6;--color-accent:#8f93e6;--color-primary:#5f63c1;--color-primary-dark:#4d51ad;--color-primary-text:#fff;--color-field-bg:#1c1c24;--color-field-border:#6e6e7a;--color-placeholder:#8a8a95;--color-line:#2a2a36;--color-route-track:#34344a;--color-route-car-icon:#f1f1fa;--route-car-shadow:0 0 0 1.5px var(--color-accent);--color-error:#ff6b62;--color-on-error:#121218;--color-warning:#e0a94a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1{margin:0 0 1rem;font-size:1.5rem}h2{margin:1.5rem 0 .75rem;font-size:1.1rem}p{color:var(--color-text-muted)}button,input{font:inherit}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-content{padding:1rem 1rem calc(var(--nav-height) + 1rem);flex:1;width:100%;max-width:480px;margin:0 auto;overflow-y:auto}.app-nav{height:var(--nav-height);padding-bottom:env(safe-area-inset-bottom);background:var(--color-bg);border-top:1px solid var(--color-line);display:flex;position:sticky;bottom:0}.app-nav-link{text-align:center;color:var(--color-text-muted);flex:1;justify-content:center;align-items:center;padding:0 .25rem;font-size:.75rem;text-decoration:none;display:flex}.app-nav-link.active{color:var(--color-accent);font-weight:600}.app-loading{height:100dvh;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.view{flex-direction:column;display:flex}.login-view{flex-direction:column;max-width:400px;min-height:100dvh;margin:0 auto;padding:1.5rem;display:flex}.login-main{flex-direction:column;flex:1;justify-content:center;gap:1.75rem;display:flex}.login-logo{align-self:center}.login-heading h1{letter-spacing:-.015em;margin:0 0 .5rem;font-size:1.875rem;font-weight:600}.login-intro{margin:0;line-height:1.5}.login-footer{text-align:center;margin:1.5rem 0 0;font-size:.75rem}.login-form{flex-direction:column;gap:.75rem;display:flex}.login-actions{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.form-error{color:var(--color-error);margin:0;font-size:.9rem}input[type=email],input[type=text],input[type=number],input[type=date],select,textarea{border:1px solid var(--color-field-border);border-radius:var(--radius);background:var(--color-field-bg);min-height:44px;color:var(--color-text);width:100%;padding:.5rem .75rem}input::placeholder,textarea::placeholder{color:var(--color-placeholder);opacity:1}textarea{resize:vertical;min-height:4.5rem}select{appearance:auto}button{border-radius:var(--radius);background:var(--color-primary);min-height:44px;color:var(--color-primary-text);cursor:pointer;border:none;padding:.5rem 1rem}button:disabled{opacity:.6;cursor:default}button:active:not(:disabled){background:var(--color-primary-dark)}.secondary-action{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-field-border)}.secondary-action:active:not(:disabled){background:var(--color-surface)}.destructive-action{background:var(--color-error);color:var(--color-on-error)}.destructive-action:active:not(:disabled){background:var(--color-error);opacity:.85}.entry-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.entry-button{background:var(--color-surface);width:100%;color:var(--color-text);text-align:left;border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.75rem 1rem;display:flex}.entry-button-chevron{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem;min-height:64px}.entry-text{flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0;display:flex}.entry-chevron{color:var(--color-accent);flex-shrink:0}.collapsible-card .entry-button{background:var(--color-bg);border-color:var(--color-line)}.collapsible-card .entry-pending{border-color:var(--color-field-border)}.entry-title{font-weight:600}.entry-meta{color:var(--color-text-muted);font-size:.85rem}.primary-action{width:100%;margin-top:1.5rem}.sync-status{padding:.5rem 1rem;padding-top:calc(.5rem + env(safe-area-inset-top));background:var(--color-primary);color:var(--color-primary-text);text-align:center;font-size:.85rem}.sync-status-warning{background:var(--color-error);color:var(--color-on-error)}.notice-bar{background:var(--color-surface);width:100%;color:var(--color-text);border:none;border-bottom:1px solid var(--color-line);text-align:center;border-radius:0;min-height:0;padding:.5rem 1rem;font-size:.85rem;display:block}.offline-banner{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-muted);margin:0 0 1rem;padding:.5rem .75rem;font-size:.85rem}.sync-pending-note{margin:0 0 .75rem;font-size:.85rem}.entry-pending{border-style:dashed;border-color:var(--color-field-border)}.sync-badge{color:var(--color-accent);font-size:.75rem;font-weight:600}.sync-badge-error{color:var(--color-error)}.settings-account{margin-top:2rem}.trip-form{flex-direction:column;gap:1rem;margin-top:.5rem;display:flex}.form-field{flex-direction:column;gap:.35rem;display:flex}.form-field label{font-size:.9rem;font-weight:500}.form-row{gap:.75rem;display:flex}.form-row .form-field{flex:1}.form-fieldset{border:1px solid var(--color-line);border-radius:var(--radius);margin:0;padding:.75rem}.form-fieldset legend{color:var(--color-text-muted);padding:0 .35rem;font-size:.85rem}.field-error{color:var(--color-error);margin:0;font-size:.85rem}.field-hint{color:var(--color-text-muted);margin:0;font-size:.8rem}.field-hint-warning{color:var(--color-warning);margin:0;font-size:.8rem;font-weight:500}.error-details{margin-top:.35rem}.error-details summary{cursor:pointer;color:inherit;font-size:.8rem}.error-details p{opacity:.85;margin:.35rem 0 0;font-size:.8rem}.form-actions{gap:.75rem;margin-top:.5rem;display:flex}.form-actions button{flex:1}.toggle{cursor:pointer;align-items:center;gap:.75rem;width:fit-content;display:flex}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--color-field-border);border-radius:999px;flex-shrink:0;width:44px;height:26px;transition:background .15s;position:relative}.toggle-thumb{background:var(--color-primary-text);border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-track{background:var(--color-primary)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(18px)}.toggle-label{font-weight:500}.month-picker{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.month-nav{background:var(--color-bg);min-width:44px;min-height:44px;color:var(--color-text);border:1px solid var(--color-field-border);flex-shrink:0;padding:0;font-size:1.1rem;line-height:1}.month-nav:active:not(:disabled){background:var(--color-surface)}.month-select{text-align:center;text-align-last:center;flex:1}.month-select-custom{text-align:center;flex:1;font-weight:500}.period-summary{margin-bottom:1.25rem}.period-toggle{background:var(--color-bg);width:100%;color:var(--color-text-muted);border:1px solid var(--color-field-border);font-size:.85rem}.period-toggle:active:not(:disabled){background:var(--color-surface)}.period-fields{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);flex-direction:column;gap:.75rem;margin-top:.75rem;padding:.75rem;display:flex}.collapsible-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);margin-bottom:1.25rem;overflow:hidden}.collapsible-card-heading{margin:0;font-size:1rem}.collapsible-card-header{width:100%;color:var(--color-text);text-align:left;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;font-size:.95rem;font-weight:600;display:flex}.collapsible-card-header:active:not(:disabled){background:var(--color-bg)}.collapsible-card-body{padding:0 1rem 1rem}.invoice-customers{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.invoice-customer-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.invoice-customer-name{font-weight:600}.invoice-projects{flex-direction:column;gap:.4rem;margin:.3rem 0 0;padding:0 0 0 .75rem;list-style:none;display:flex}.invoice-project-row{color:var(--color-text-muted);justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.85rem;display:flex}.invoice-total-row{border-top:1px solid var(--color-line);justify-content:space-between;align-items:baseline;gap:.75rem;margin-top:.75rem;padding-top:.5rem;font-weight:600;display:flex}.invoice-amount{white-space:nowrap}.export-actions{flex-direction:column;gap:.6rem;margin-top:.75rem;display:flex}.export-actions+.field-hint{margin-top:.5rem}.export-confirm{border:1px solid var(--color-warning);border-radius:var(--radius);flex-direction:column;gap:.6rem;margin-top:.75rem;padding:.75rem;display:flex}.missing-comment-toggle{margin-bottom:.75rem}.settings-hint{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.85rem}.summary-cards{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.summary-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);flex-direction:column;gap:.15rem;padding:.85rem 1rem;display:flex}.summary-label{color:var(--color-text-muted);font-size:.8rem}.summary-value{font-size:1.25rem;font-weight:600}.summary-sub{color:var(--color-text-muted);font-size:.85rem}.entry-comment{color:var(--color-text-muted);font-size:.85rem;font-style:italic}.register-tabs{border-bottom:1px solid var(--color-line);gap:.5rem;margin-bottom:1.25rem;display:flex}.register-tab-button{min-height:40px;color:var(--color-text-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:.5rem .25rem;font-size:.9rem}.register-tab-button:active:not(:disabled){background:0 0}.register-tab-button.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.register-tab{flex-direction:column;gap:1rem;display:flex}.register-add-form{gap:.5rem;display:flex}.register-add-form input{flex:1}.register-add-form-wide{flex-wrap:wrap}.register-add-form-wide input,.register-add-form-wide select{flex:140px}.register-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.register-list-item{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.register-list-item.inactive{opacity:.65}.register-item-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.register-item-name{font-weight:600}.register-item-sub{color:var(--color-text-muted);font-size:.85rem}.register-item-badge{color:var(--color-error);align-self:flex-start;font-size:.75rem}.register-item-actions{flex-wrap:wrap;gap:.5rem;display:flex}.register-item-actions button{min-height:36px;padding:.4rem .75rem;font-size:.85rem}.register-edit-form{flex-direction:column;gap:.5rem;width:100%;display:flex}.register-edit-form input,.register-edit-form select{width:100%}.qt-form{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:.75rem}.qt-order-buttons{gap:.25rem;display:flex}.qt-order-buttons button{min-width:36px;padding:.4rem}.settings-section{border-top:1px solid var(--color-line);margin-top:1.5rem;padding-top:1.25rem}.settings-section:first-of-type{border-top:none;margin-top:.5rem;padding-top:0}.settings-form{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.settings-form-actions{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.settings-saved{color:var(--color-accent);font-size:.85rem}.delete-section{border-top:1px solid var(--color-line);margin-top:2rem;padding-top:1rem}.delete-confirm{flex-direction:column;gap:.5rem;display:flex}.vehicle-change-form{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);flex-direction:column;gap:.75rem;margin-top:.75rem;padding:.75rem;display:flex}.vehicle-change-form h3{margin:0}.recon-summary{flex-direction:column;gap:.35rem;margin:.5rem 0 0;display:flex}.recon-row{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:baseline;gap:.75rem;padding-bottom:.35rem;display:flex}.recon-row dt{color:var(--color-text-muted);font-size:.9rem}.recon-row dd{text-align:right;margin:0;font-weight:600}.recon-rate-groups{flex-direction:column;gap:.15rem;margin:0;padding:0 0 0 .75rem;list-style:none;display:flex}.recon-anomalies{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.start-header{flex-direction:column;gap:2px;display:flex}.start-header h1{letter-spacing:-.015em;margin:0;font-size:1.625rem;font-weight:600}.start-org{min-height:1.25rem;margin:0;font-size:.875rem}.route-band{pointer-events:none;-webkit-user-select:none;user-select:none;height:72px;margin:.75rem 0 .25rem;position:relative}.route-band-inner{width:342px;height:72px;transform:translateX(-50%) scale(var(--route-band-scale,1));transform-origin:50% 0;position:absolute;top:0;left:50%}.route-band-inner>svg{position:absolute;top:0;left:0}.route-track{stroke:var(--color-route-track)}.route-line{stroke:var(--color-accent);stroke-dasharray:311;stroke-dashoffset:0}.route-start{fill:var(--color-accent)}.route-start-dot{fill:var(--color-bg)}.route-done-disc{fill:var(--color-accent)}.route-done-check{stroke:var(--color-bg)}.route-car{background:var(--color-bg);width:32px;height:32px;box-shadow:var(--route-car-shadow);color:var(--color-route-car-icon);offset-path:path("M 18 56 C 92 56 112 24 172 30 C 234 36 262 16 324 16");offset-distance:0%;offset-rotate:auto;offset-anchor:center;border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;top:0;left:0}.route-play .route-line{stroke-dashoffset:311px;animation:1.3s cubic-bezier(.33,0,.2,1) .2s forwards route-draw}.route-play .route-done{opacity:0;transform-origin:324px 16px;animation:.25s ease-out 1.55s forwards route-pop;transform:scale(.6)}@supports (offset-path:path('M 0 0')){.route-play .route-car{animation:1.3s cubic-bezier(.33,0,.2,1) .2s forwards route-drive,.2s ease-out 1.5s forwards route-fade;display:flex}}@keyframes route-draw{to{stroke-dashoffset:0}}@keyframes route-drive{to{offset-distance:100%}}@keyframes route-fade{to{opacity:0}}@keyframes route-pop{to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.route-play .route-line{stroke-dashoffset:0;animation:none}.route-play .route-car{display:none}.route-play .route-done{opacity:1;animation:none;transform:none}}.emsek-logo{max-width:100%;height:auto;display:block}.emsek-logo-dark,:root[data-theme=dark] .emsek-logo-light{display:none}:root[data-theme=dark] .emsek-logo-dark{display:block}.app-footer{color:var(--color-text-muted);flex-direction:column;align-items:center;gap:.5rem;margin-top:2rem;padding-top:1rem;font-size:.75rem;display:flex}.app-footer p{margin:0}.app-footer-credit{align-items:center;gap:.5rem;display:flex}.theme-segments{border-radius:var(--radius);box-shadow:0 0 0 1px var(--color-field-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.theme-segments+.settings-hint{margin-top:.75rem}.theme-segment{color:var(--color-text);background:0 0;border-radius:0;padding:.5rem .25rem;font-weight:500}.theme-segment:active:not(:disabled){background:var(--color-surface)}.theme-segment[aria-pressed=true]{background:var(--color-primary);color:var(--color-primary-text)}.theme-segment[aria-pressed=true]:active:not(:disabled){background:var(--color-primary-dark)}
