*{box-sizing:border-box}body{margin:0;background:#f3f6f4;color:#17221b;font-family:Arial,sans-serif}header{background:#17221b;color:#fff;padding:14px;display:flex;justify-content:space-between}header a{color:white;text-decoration:none}nav{display:flex;gap:4px;padding:8px;background:white;overflow:auto;position:sticky;top:0}nav a{padding:10px;color:#17221b;text-decoration:none;white-space:nowrap}main{max-width:1100px;margin:auto;padding:16px}.top{display:flex;justify-content:space-between;align-items:center;gap:8px}.btn,button{background:#24784c;color:white;border:0;border-radius:8px;padding:11px 14px;text-decoration:none;cursor:pointer}.secondary{background:#53645a}.danger{background:#b42318}.wide{width:100%}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.card{display:block;background:white;color:inherit;text-decoration:none;padding:15px;border-radius:10px;box-shadow:0 1px 4px #0001}.card small{display:block;color:#68756d;margin-top:6px}.qty{font-size:24px;font-weight:bold;margin:10px 0}.form{display:grid;gap:10px;max-width:650px}.form label{display:grid;gap:5px}.form input,.form textarea,.inline input,.inline select,.search input{padding:12px;border:1px solid #ccd3ce;border-radius:8px;font-size:16px;min-width:0}.form textarea{min-height:90px}.inline,.search{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.inline input,.inline select,.search input{flex:1}table{width:100%;border-collapse:collapse;background:white;margin:14px 0}td,th{text-align:left;padding:9px;border-bottom:1px solid #ddd}.row{background:white;padding:12px;margin:6px 0;display:flex;justify-content:space-between;border-radius:8px}.msg{padding:12px;border-radius:8px;margin:10px 0}.error{background:#ffe3df}.warning{background:#fff0c2}.ok{background:#dcf8e7}.login{max-width:350px;margin:15vh auto}.login form{display:grid;gap:10px}.login input{padding:13px;border:1px solid #ccc;border-radius:8px;font-size:16px}@media(max-width:600px){main{padding:10px}.cards{grid-template-columns:1fr 1fr}.top h1{font-size:23px}table{font-size:13px}td,th{padding:6px}.inline{display:grid}.inline>*{width:100%}.qty{font-size:21px}}
.item-thumb{width:100%;height:145px;object-fit:contain;background:#f7f9f7;border-radius:7px;margin-bottom:10px}.item-preview{display:block;max-width:260px;max-height:220px;object-fit:contain;background:white;border:1px solid #ddd;border-radius:8px;padding:5px;margin:8px 0}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto}.status{font-size:13px;padding:5px 8px;border-radius:20px;background:#e6eee8}.status.closed{background:#e8e8e8;color:#555}.admin-edit{background:#fff;border:1px solid #d7ded9;border-radius:9px;padding:12px;margin:16px 0}.admin-edit summary{cursor:pointer;font-weight:bold}.admin-edit form{margin-top:12px}.hint{color:#657168;font-size:14px}.user-card{background:#fff;border-radius:10px;padding:14px;margin:12px 0;display:flex;gap:12px;align-items:end;flex-wrap:wrap}.user-form{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;flex:1}.user-form label{display:grid;gap:5px}.user-form input,.user-form select{padding:10px;border:1px solid #ccd3ce;border-radius:7px;min-width:0}.user-form small{color:#68756d}.job-list .row a{color:#1b5c39;font-weight:bold}@media(max-width:650px){.user-card{display:block}.user-form{grid-template-columns:1fr}.user-card>form:last-child{margin-top:10px}.item-thumb{height:110px}}
.barcode-entry{display:flex;gap:8px;align-items:stretch}.barcode-entry input{flex:1;min-width:0;padding:12px;border:1px solid #ccd3ce;border-radius:8px;font-size:16px}.camera-box{background:#fff;border:1px solid #d7ded9;border-radius:10px;padding:12px;max-width:520px;margin:10px 0}.camera-box[hidden]{display:none}.camera-box #reader{width:100%;max-width:480px;margin:0 auto 10px}.image-field{display:flex;align-items:center;gap:12px;min-width:0}.image-field input{flex:1;min-width:0}.image-mini{width:58px;height:58px;object-fit:contain;background:#f7f9f7;border:1px solid #d7ded9;border-radius:7px;padding:3px;flex:0 0 58px}.image-mini.placeholder{display:grid;place-items:center;color:#68756d;font-size:24px}.search select{padding:12px;border:1px solid #ccd3ce;border-radius:8px;font-size:16px;background:white}
@media(max-width:600px){.barcode-entry{display:grid;grid-template-columns:1fr auto}.image-field{align-items:center}.image-field input{font-size:14px}.camera-box{padding:8px}}
/* Faster, more readable EAN camera scanning on phones */
.camera-box #reader{width:100%;max-width:560px;margin:0 auto 10px;overflow:hidden}
.camera-box #reader video{width:100%!important;max-height:58vh;object-fit:contain}
.camera-box #reader__scan_region{min-height:150px}
.camera-box #reader__dashboard_section_csr button{margin:5px}
.scan-entry input{font-size:18px}
@media(max-width:600px){.camera-box{max-width:100%;padding:8px}.camera-box #reader video{max-height:52vh}.scan-entry{display:grid;grid-template-columns:1fr 1fr}.scan-entry input{grid-column:1/-1}}

.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0}
.settings-card{display:grid;gap:8px;background:#fff;border-radius:12px;padding:20px;color:inherit;text-decoration:none;box-shadow:0 1px 4px #0001}
.settings-card span{font-size:30px}.settings-card small,.location-info small,.bulk-name small{display:block;color:#68756d;margin-top:5px}
.location-card{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border-radius:10px;padding:14px;margin:10px 0}
.location-info{display:grid;gap:5px}.location-actions{display:flex;gap:8px;flex-wrap:wrap}.location-actions form{margin:0}
.bulk-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:8px;align-items:center;background:#fff;padding:10px;border-radius:9px;margin:8px 0}
.bulk-row input[type=number]{min-width:0;width:100%;padding:10px;border:1px solid #ccd3ce;border-radius:7px;font-size:16px}
.bulk-name{min-width:0;overflow-wrap:anywhere}
#bulkResults select,#jobSearchResults select{width:100%;padding:11px;border:1px solid #ccd3ce;border-radius:8px;margin-top:8px}
.job-add{max-width:100%}
@media(max-width:600px){.location-card{display:block}.location-actions{margin-top:10px}.bulk-row{grid-template-columns:minmax(0,1fr) 85px}.bulk-row button{grid-column:1/-1}.settings-grid{grid-template-columns:1fr}}

/* Sklad 3.8 – logo, nabídka účtu a stránkování */
.site-header{align-items:center;gap:12px;position:relative;z-index:20}
.brand-link{display:inline-flex;align-items:center;min-height:38px}
.brand-logo{height:36px;width:auto;max-width:min(55vw,280px);object-fit:contain}
.account-menu{position:relative;margin-left:auto}
.account-menu summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;background:#304237;border:1px solid #53685b;color:#fff;border-radius:9px;padding:8px 12px;min-height:42px}
.account-menu summary::-webkit-details-marker{display:none}
.account-menu summary:focus-visible{outline:2px solid #9bd4b1;outline-offset:2px}
.account-icon{font-size:24px;line-height:1}
.account-chevron{font-size:14px}
.account-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:205px;background:#fff;color:#17221b;box-shadow:0 6px 22px #0003;border:1px solid #dce5df;border-radius:10px;padding:9px;display:flex;flex-direction:column;gap:2px;z-index:50}
.account-dropdown strong,.account-dropdown small{padding:7px 9px 0;overflow-wrap:anywhere}
.account-dropdown small{padding-top:0;padding-bottom:7px;color:#657168}
.account-dropdown a{color:#17221b;text-decoration:none;padding:11px 9px;border-radius:7px}
.account-dropdown a:hover,.account-dropdown a:focus-visible{background:#edf5ef}
.pagination{position:static;display:flex;align-items:center;justify-content:center;gap:14px;margin:20px 0;background:transparent;overflow:visible}
.pagination a{display:inline-block;background:#fff;border:1px solid #d6dfd9;border-radius:8px;padding:10px 14px;color:#17643a;text-decoration:none}
.pagination span{white-space:nowrap;font-weight:bold}
.list-count{font-size:13px;color:#657168;margin:8px 0 12px}

/* 3.9 – uživatelská ikona SVG a volba počtu položek */
.account-icon{display:block;width:25px;height:25px;flex-shrink:0}
.list-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}
.list-controls .list-count{margin:0}
.page-size-form{display:flex;align-items:center;gap:8px}
.page-size-form label{font-size:14px;white-space:nowrap}
.page-size-form select{padding:9px 11px;border:1px solid #cbd5ce;border-radius:8px;background:#fff;color:#1c2b20;font:inherit;min-height:40px}

/* Sklad 4.0 – přehlednější zakázky a ovládání */
.clear-search{background:#e7ece9;color:#45574b;border:1px solid #ccd6cf;min-width:42px;font-weight:bold}
.clear-search:hover{background:#d8e3db}
.job-filters{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.filter-pill{display:inline-flex;padding:10px 14px;border:2px solid #d6e0d9;border-radius:9px;text-decoration:none;color:#263b2e;background:#fff;font-weight:600}
.filter-pill.selected{border-color:#24784c;background:#e9f6ed}
.filter-pill.filter-open.selected{border-color:#b42318;background:#ffe9e6}
.filter-pill.filter-closed.selected{border-color:#23834a;background:#e2f5e8}
.status.open{background:#ffe4e1;color:#a62017}.status.closed{background:#ddf4e4;color:#126736}
.job-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-radius:10px;padding:14px;margin:9px 0}
.job-list-name{display:flex;align-items:flex-start;flex-direction:column;gap:8px;min-width:0;overflow-wrap:anywhere}
.job-list-row .btn{flex-shrink:0}
.job-entry-panel{background:#fff;padding:16px;border:1px solid #d8e4db;border-radius:12px;margin:20px 0}
.job-entry-panel h2{margin-top:0}.location-choice{display:grid;gap:8px;background:#eaf5ed;border:1px solid #c5dfcb;border-radius:10px;padding:14px;margin:0 0 16px}
.location-choice label{font-weight:700}.location-choice select{padding:12px;border:1px solid #bdd2c2;border-radius:8px;font-size:16px;background:#fff;max-width:600px}
.location-choice small{color:#5d7263}.job-add .barcode-entry{margin-bottom:4px}
.selected-material{background:#f0f8f2;border:1px solid #c6dfcd;border-radius:10px;padding:14px;display:grid;gap:10px}
.selected-material[hidden]{display:none}.selected-material span{color:#607568}.selected-material input{max-width:280px}
.job-result{display:block;width:100%;text-align:left;margin:5px 0;background:#edf4ef;color:#1d4d31}
.table-scroll{max-width:100%;overflow-x:auto}
.movement-kind{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.movement-kind label{cursor:pointer}.movement-kind input{position:absolute;opacity:0;width:1px;height:1px}
.movement-kind span{display:inline-block;padding:12px 14px;background:#e8eee9;color:#244632;border:2px solid transparent;border-radius:9px;font-weight:700}
.movement-kind input:checked+span{background:#24784c;color:white;border-color:#175a37}
.movement-kind input:focus-visible+span{outline:3px solid #b0d9bd;outline-offset:2px}
@media(max-width:600px){.job-entry-panel{padding:12px}.job-list-row{align-items:center}.job-add .barcode-entry{display:flex;flex-wrap:wrap}.job-add .barcode-entry input{flex-basis:100%}.job-add .barcode-entry button{flex:1}}

/* 4.1 - výraznější volba hromadného pohybu */
.bulk-config{background:#f5f9f6;border:1px solid #d4e5d9;border-radius:14px;padding:16px;margin-bottom:18px}
.bulk-config h2{margin:0 0 12px;font-size:1.15rem}
.bulk-kind{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px}
.bulk-kind label{min-width:0}.bulk-kind span{display:block;text-align:center;white-space:normal;padding:14px 8px}
.bulk-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bulk-location-grid .location-choice{margin:0;min-width:0}.bulk-location-grid select{width:100%;max-width:none}
@media(max-width:600px){.bulk-location-grid{grid-template-columns:1fr}.bulk-kind span{font-size:14px}}

.bulk-location-grid [hidden]{display:none!important}

/* 4.2 – jednotný auditní přehled a stav na jednotlivých skladech */
.log-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#fff;border:1px solid #d9e5dd;border-radius:12px;padding:14px;margin:14px 0}
.log-filter label{display:grid;gap:6px;font-size:14px;font-weight:600;min-width:150px;flex:1}
.log-filter select,.log-filter input{padding:11px;border:1px solid #ccd3ce;border-radius:8px;background:white;font:inherit;min-height:43px;width:100%}
.log-filter .btn{display:inline-flex;align-items:center;justify-content:center}
.log-timeline{display:grid;gap:9px;margin-top:16px}
.log-entry{background:#fff;border:1px solid #dce6df;border-radius:11px;padding:13px 15px;overflow-wrap:anywhere}
.log-entry-top{display:flex;justify-content:space-between;gap:10px;align-items:start}
.log-entry-top time{font-size:12px;color:#657168;white-space:nowrap}
.log-entry-meta{font-size:12px;color:#587062;margin:5px 0}
.log-entry-detail{font-size:14px;line-height:1.45;margin-top:6px}
.log-entry small{color:#657168}
.card-stock-breakdown{margin:10px 0 3px;border-top:1px solid #e2eae4;padding-top:7px;display:grid;gap:5px}
.card-stock-line{display:flex;justify-content:space-between;gap:8px;font-size:12px;align-items:baseline}
.card-stock-line span{overflow-wrap:anywhere;color:#596b60}
.card-stock-line strong{white-space:nowrap;color:#20613e}
.card-stock-empty{font-size:12px;color:#76847b}
@media(max-width:600px){.log-filter{display:grid;grid-template-columns:1fr 1fr}.log-filter label:first-child{grid-column:1/-1}.log-entry-top{display:grid;gap:4px}.log-filter button,.log-filter .btn{width:100%}}
