/* GUI: readable controls, progressive help, keyboard and touch support. */
:root{font-size:16px;--muted:#56675e;--ink:#20352f}body{line-height:1.5}button,input,select,textarea{font-size:.875rem;min-height:42px}button{font-weight:600}button:disabled{cursor:not-allowed;opacity:.48}p{line-height:1.6}h2{font-size:1rem}small,.hint{font-size:.8125rem}.top{height:76px;padding:0 24px;gap:16px}.brand{font-size:1rem}.brand small{font-size:.6875rem;letter-spacing:1px}.local{font-size:.8125rem}.kt-kl-app{max-width:1920px;padding:22px 24px 0}.intro{margin-bottom:20px;gap:16px}.intro h1{font-size:1.75rem;letter-spacing:-.7px;margin:0 0 5px}.intro p{font-size:.875rem}.intro .primary{white-space:nowrap}.metrics{padding:16px 0;margin-bottom:20px}.metrics>div{padding:0 20px}.metrics>div>span{font-size:.875rem}.metrics strong{font-size:1.8rem;margin:5px 0}.metrics small{font-size:.875rem}.metrics em{font-size:.75rem}.help-dot{display:inline-grid;place-items:center;min-height:26px;width:26px;padding:0;border-radius:50%;font-size:.8125rem;color:var(--green);vertical-align:middle;margin-left:4px}.workspace{grid-template-columns:240px 355px minmax(360px,1fr);gap:16px}.vehicles{max-height:950px}.panel-head{padding:16px}.panel-head h2>span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;font-size:.8125rem;background:#eaf1ec;color:#245a42;margin-right:6px}.section-help{font-size:.8125rem;color:var(--muted);padding:12px 16px 0}.search-label{display:block;padding:12px 12px 2px;font-size:.8125rem;font-weight:600}.search-label input{display:block;width:100%;margin-top:6px}.kt-kl-truck[hidden]{display:none}.kt-kl-truck__name{font-size:.875rem}.kt-kl-truck__tag{font-size:.6875rem}.kt-kl-truck__dims,.kt-kl-truck__counts{font-size:.75rem}.kt-kl-truck__expand{font-size:.75rem}.kt-kl-truck__expand input{min-height:34px;width:75px;font-size:.8125rem}.kt-kl-truck__expand-metrics{display:none}.kt-kl-truck__expand [title="Suma maks. nacisku osi (kg)"],.kt-kl-truck__expand [title="Liczba osi (max nacisk)"]{display:none}.kt-kl-truck__row{flex-wrap:wrap}.kt-kl-truck__name{min-width:80px}.cargo-content{padding:16px}.field-title{font-size:.875rem}.hint{margin:9px 0 14px}.quick-entry,.strategy,.file-tools{border:1px solid var(--line);border-radius:8px;padding:12px;margin:15px 0 0}summary{font-size:.875rem;font-weight:600;cursor:pointer;min-height:28px;line-height:1.6}summary:hover{color:var(--green)}details[open]>summary{margin-bottom:12px}details p{font-size:.875rem;margin-bottom:12px}.quick-entry label{margin-top:8px}.quick-entry textarea{font-size:.875rem}.text-button{border:0;background:transparent;text-decoration:underline;font-weight:400}.list-title{font-size:.8125rem;letter-spacing:0;margin:22px 0 12px;color:var(--ink)}.compact button{font-size:.8125rem;min-height:36px;padding:4px 8px}.cargo-empty{padding:22px 16px;border:1px dashed #95b09f;border-radius:8px;background:#f6f9f6}.cargo-empty strong{font-size:.9375rem}.cargo-empty p{font-size:.875rem;color:var(--muted);margin:8px 0 15px}.cargo-card{border:1px solid var(--line);border-radius:9px;padding:12px;margin-bottom:12px}.cargo-card-head{display:flex;align-items:center;gap:8px}.cargo-number{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;color:white;font-size:.8125rem;flex-shrink:0}.cargo-card h3{font-size:.9375rem;margin:0;flex:1;overflow-wrap:anywhere;line-height:1.4}.cargo-card-head button{padding:5px 9px;font-size:.8125rem;min-height:36px}.cargo-card dl{margin:12px 0}.cargo-card dt{font-size:.75rem;color:var(--muted)}.cargo-card dd{font-size:.875rem;margin:1px 0 8px}.cargo-rules{font-size:.75rem;color:var(--muted);background:#f2f5f2;border-radius:5px;padding:7px 9px}.cargo-card-foot{display:flex;align-items:center;gap:6px;margin-top:10px}.cargo-card-foot>span{font-size:.8125rem;flex:1}.cargo-card-foot button{min-width:36px;min-height:36px;padding:4px 8px}.cargo-card-foot .delete-cargo{color:#a23833;font-size:.75rem}.presets button{font-size:.8125rem;min-height:38px}.actions{gap:8px}.actions button{font-size:.8125rem;min-height:40px;flex:1 1 45%;padding:8px}.viewbar{flex-wrap:wrap;gap:10px}.segmented button{font-size:.8125rem;min-height:38px;padding:6px 10px}.history-buttons{display:flex;gap:5px}.history-buttons button{font-size:.75rem;min-height:38px;padding:5px 8px}.badge{font-size:.625rem;letter-spacing:.6px}.preview #local-status{margin:12px 16px 0;border-radius:7px;background:#eff3f0;padding:11px 13px;font-size:.875rem;color:var(--ink)}.preview #local-status[data-state=success]{background:#eaf4ee;color:#215a38}.preview #local-status[data-state=warning]{background:#fff3de;color:#775019;border:1px solid #ebce99}.viewbar+.section-help{padding-top:0;margin-bottom:10px}.stage{height:550px}.result-help{padding:14px 16px;border-top:1px solid var(--line)}.result-help p{color:var(--muted);font-size:.875rem}#kl-legend{font-size:.8125rem;gap:10px;padding:12px 16px}#kl-comp-tabs{flex-wrap:wrap}#kl-comp-tabs button{font-size:.8125rem}#vehicle-no-results{padding:16px;font-size:.875rem;color:var(--muted)}footer{font-size:.75rem;flex-wrap:wrap}footer button{font-size:.75rem;min-height:36px}dialog{width:610px;max-height:calc(100dvh - 32px);overflow:auto;padding:24px}dialog h2{font-size:1.25rem}dialog label{font-size:.875rem}dialog label input,dialog label select{min-height:44px}dialog p{font-size:.875rem}.dialog-head{align-items:flex-start;gap:12px}.dialog-head p{margin:6px 0 0;color:var(--muted)}.dialog-head>button{font-size:1.25rem;min-width:42px}.form-grid{gap:0 14px}.dimensions{grid-template-columns:repeat(3,minmax(0,1fr))}.field-heading{display:flex;justify-content:space-between;align-items:center;margin:10px 0;font-size:.875rem}.field-heading label{display:flex;align-items:center;gap:8px;margin:0}.field-heading select{display:inline-block;width:80px;margin:0}.live-preview{padding:10px 12px;border-radius:7px;background:#edf5ef;color:#215a38;font-weight:600}fieldset{border:1px solid var(--line);border-radius:8px;padding:14px;margin:16px 0}legend{font-size:.875rem;font-weight:600;padding:0 5px}.check-line{display:flex;align-items:center;gap:9px}.check-line input{width:20px;min-height:20px;height:20px;margin:0;accent-color:#245a42}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:-24px;background:var(--bg);padding:14px 0}.form-feedback{color:#a23833;font-weight:600}.form-feedback:empty{display:none}#help-content{font-size:1rem;line-height:1.7}#help-content p{font-size:1rem}#help-content li{margin-bottom:12px}#help-content details{border-top:1px solid var(--line);padding:12px 0}#help-content code{background:#f1f4f1;padding:2px 5px;overflow-wrap:anywhere}#kl-toast{font-size:.875rem;max-width:min(640px,90vw);bottom:20px}.kt-kl-ws__meta{font-size:.75rem}.kt-kl-ws__name{font-size:.875rem}#kl-ws-dropdown{width:340px;max-width:90vw}.skip-link{position:fixed;left:16px;top:-100px;z-index:1000;background:var(--bg);padding:12px;border:2px solid var(--green)}.skip-link:focus{top:10px}.mobile-steps{display:none}[hidden]{display:none!important}[data-theme=dark]{--muted:#b5c6bb;--green:#9bd2b0}[data-theme=dark] .cargo-empty,[data-theme=dark] .cargo-rules,[data-theme=dark] .live-preview,[data-theme=dark] #help-content code{background:#2b4234;color:#d5e6da}[data-theme=dark] .preview #local-status{background:#2b4234;color:#d5e6da}[data-theme=dark] .preview #local-status[data-state=warning]{background:#493b27;color:#f4d6a0}[data-theme=dark] .cargo-card-foot .delete-cargo,[data-theme=dark] .form-feedback{color:#ffaaa1}@media(min-width:1600px){.workspace{grid-template-columns:275px 395px minmax(450px,1fr)}.stage{height:620px}}@media(max-width:1190px){.workspace{grid-template-columns:220px minmax(320px,1fr)}.cargo{grid-column:auto}.preview{grid-column:1/-1}.stage{height:550px}.vehicles{max-height:760px}.metrics>div{padding:0 14px}.metrics>div>span{font-size:.8125rem}.local{display:none}.mobile-steps{display:flex;gap:10px;margin-bottom:18px}.mobile-steps a{padding:8px 12px;border:1px solid var(--line);border-radius:7px;font-size:.875rem;color:var(--ink);text-decoration:none;background:var(--bg)}}@media(max-width:650px){.top{height:auto;min-height:76px;padding:12px;gap:8px;flex-wrap:wrap}.brand{font-size:.875rem;flex:1}.brand small{font-size:.625rem}.kt-kl-ws{width:100%;margin:0}.kt-kl-ws>button{width:100%;text-align:left}.kt-kl-app{padding:16px 12px 0}.intro h1{font-size:1.6rem}.intro p{font-size:.875rem}.intro .primary{width:100%;white-space:normal}.metrics{row-gap:14px}.metrics>div{padding:0 12px}.metrics strong{font-size:1.5rem}.metrics em{font-size:.75rem}.metrics>div>span{font-size:.8125rem}.help-dot{width:26px;min-height:26px}.workspace{display:flex;flex-direction:column}.vehicles{max-height:410px}#kl-truck-grid{display:block}.mobile-steps{position:sticky;top:0;z-index:20;background:#f4f6f3;padding:8px 0;margin-bottom:12px;gap:6px}.mobile-steps a{flex:1;text-align:center;padding:8px 4px}.panel{scroll-margin-top:62px}.cargo-card-foot button{min-width:42px;min-height:42px}.stage{height:470px}.viewbar{align-items:flex-start}.dimensions{grid-template-columns:1fr}.dimensions label{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:12px}.dimensions input{margin:0}.dialog-head{margin-bottom:16px}dialog{padding:18px}.dialog-actions{bottom:-18px}.dialog-actions button{flex:1}.field-heading{align-items:center;font-size:.8125rem}.form-grid:not(.dimensions){grid-template-columns:1fr 1fr}#kl-ws-dropdown{right:0;width:100%}footer{gap:10px}.kt-kl-truck__row{flex-wrap:nowrap}[data-theme=dark] .mobile-steps{background:#14241c}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
