.loc-page .modal-content.loc-modal{max-width:100%;width:100%;max-height:none;height:calc(100vh - 96px);margin-top:16px}.loc-page .loc-head{padding:18px 22px 14px}.loc-page .loc-head .modal-title{font-size:22px;letter-spacing:-.02em}.loc-modal{max-width:880px;width:96%;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.loc-head{flex-shrink:0;gap:16px;align-items:flex-start}.loc-sub{font-size:12px;color:var(--text-secondary);margin-top:3px;font-variant-numeric:tabular-nums}.loc-head-tools{display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;flex-wrap:wrap;justify-content:flex-end}.loc-search{width:140px;height:32px;font-size:12px}.loc-head>div:first-child{flex-shrink:0}.loc-zone-dd{flex:0 0 auto}.loc-zone-dd .fdd-wrap{width:auto}.loc-zone-dd .fdd-btn{height:32px;min-height:32px;min-width:120px;font-size:12px}.loc-body{flex:1;overflow-y:auto;padding:16px 20px 20px}.loc-scale-note{font-size:11.5px;color:var(--text-muted);margin-bottom:12px}.loc-scale-note+.loc-scale-note{margin-top:-6px}.loc-section+.loc-section{margin-top:22px}.loc-section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:9px;padding-bottom:6px;border-bottom:.5px solid var(--border)}.loc-section-name{font-size:13px;font-weight:700;color:var(--text-primary)}.loc-section-meta{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.loc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.loc-tile{position:relative;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);--loc-band: color-mix(in srgb, var(--primary) 45%, var(--surface));transition:border-color .12s,background .12s}.loc-tile:hover{border-color:var(--text-muted);background:var(--surface-hover)}.loc-band-warm{--loc-band: var(--warning)}.loc-band-hot{--loc-band: var(--danger)}.loc-band-empty{--loc-band: var(--border)}.loc-tile-open{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding:10px 11px 11px;background:none;border:none;border-radius:inherit;font:inherit;text-align:left;cursor:pointer}.loc-tile-name{padding-right:27px;font-size:12.5px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loc-tile-count{font-size:11.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.loc-tile-bar{height:4px;border-radius:2px;background:color-mix(in srgb,var(--text-muted) 18%,transparent);overflow:hidden}.loc-tile-bar-fill{display:block;height:100%;width:max(3px,calc(var(--loc-fill, 0) * 100%));border-radius:2px;background:var(--loc-band)}.loc-tile-empty .loc-tile-bar-fill{width:0}.loc-tile-on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.loc-tile-on .loc-tile-name{color:var(--primary)}.loc-tile-tick{position:absolute;top:8px;right:9px;display:flex;align-items:center;justify-content:center;width:15px;height:15px;border:1px solid var(--border);border-radius:3px;background:var(--surface);color:transparent;cursor:pointer;opacity:0;transition:opacity .12s,color .12s,border-color .12s,background .12s}.loc-tile-tick svg{width:10px;height:10px}.loc-tile:hover .loc-tile-tick,.loc-tile-tick:focus-visible{opacity:1}.loc-tile-tick-on{opacity:1;border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.loc-tile-empty{opacity:.55}.loc-tile-empty:hover{opacity:1}@media(pointer:coarse){.loc-tile-tick{opacity:.55}}.loc-none-row{position:relative;border:1px dashed var(--border);border-radius:var(--radius-md)}.loc-none-row.loc-tile-on{border-style:solid;border-color:var(--primary)}.loc-none-row.loc-tile-on .loc-none{color:var(--primary)}.loc-none-row .loc-tile-tick{top:50%;left:8px;right:auto;transform:translateY(-50%)}.loc-none{display:flex;align-items:center;gap:9px;width:100%;padding:11px 13px 11px 30px;background:none;border:none;border-radius:var(--radius-md);font:inherit;font-size:12.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;text-align:left}.loc-none:hover{background:var(--surface-hover)}.loc-none-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;flex-shrink:0}.loc-none-count{margin-left:auto;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.loc-dupes{margin-bottom:18px;padding:11px 13px;background:color-mix(in srgb,var(--warning) 9%,transparent);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);border-radius:var(--radius-md)}.loc-dupes-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text-primary);margin-bottom:7px}.loc-dupes-head svg{color:var(--warning);flex-shrink:0}.loc-dupe-row+.loc-dupe-row{margin-top:7px;padding-top:7px;border-top:.5px solid var(--border)}.loc-dupe-names{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.loc-dupe-name{padding:1px 6px;background:var(--surface);border:.5px solid var(--border);border-radius:3px;font-size:11.5px;font-weight:600;color:var(--text-primary)}.loc-dupe-n{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.loc-dupe-sep{font-size:11px;color:var(--text-muted)}.loc-dupe-fix{margin-left:auto;display:flex;align-items:baseline;gap:12px}.loc-link.loc-link-quiet{color:var(--text-muted);font-weight:500;text-decoration:none}.loc-link.loc-link-quiet:hover{color:var(--text-secondary);text-decoration:underline}.loc-link{background:none;border:none;padding:0;font:inherit;font-size:11.5px;font-weight:600;color:var(--primary);cursor:pointer;text-decoration:underline}.loc-tile-edit{position:absolute;top:7px;left:8px;right:8px;height:22px;padding:0 5px;font:inherit;font-size:12.5px;font-weight:700;color:var(--text-primary);background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-sm);outline:none}.loc-foot{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface)}.loc-foot-status{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loc-foot-btns{display:flex;gap:8px;flex-shrink:0}.loc-empty{padding:34px 20px;text-align:center;font-size:13px;color:var(--text-muted)}.loc-bin-title{display:flex;align-items:center;gap:10px;min-width:0}.loc-back{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:none;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s}.loc-back:hover{background:var(--surface-hover);color:var(--text-primary)}.loc-hbtn{display:flex;align-items:center;gap:5px;height:32px;font-size:12px;padding:0 10px}.loc-list-head{display:flex;align-items:center;gap:10px;padding:0 4px 7px;margin-bottom:2px;border-bottom:.5px solid var(--border)}.loc-list-head-lbl{font-size:11.5px;font-weight:600;color:var(--text-muted)}.loc-tick{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;border:1px solid var(--border);border-radius:3px;background:var(--surface);color:transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.loc-tick svg{width:11px;height:11px}.loc-tick:hover{border-color:var(--text-muted)}.loc-tick-on{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.loc-group{border-bottom:.5px solid var(--border)}.loc-group:last-child{border-bottom:none}.loc-group-head{display:flex;align-items:center;gap:11px;padding:8px 4px 6px}.loc-group-head:hover{background:var(--surface-hover)}.loc-group-tot{flex-shrink:0;font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.loc-units{padding-bottom:4px}.loc-unit{display:flex;align-items:center;gap:11px;padding:3px 4px 3px 27px;border-radius:var(--radius-sm)}.loc-unit:hover{background:var(--surface-hover)}.loc-unit-tag{margin-left:auto;flex-shrink:0;font-size:11px;color:var(--text-muted);text-align:right}.loc-item-sold .loc-unit-tag{font-weight:700}.loc-item[draggable=true],.loc-unit,.loc-group-head{cursor:grab}.loc-item[draggable=true]:active,.loc-unit:active,.loc-group-head:active{cursor:grabbing}.loc-item{display:flex;align-items:center;gap:11px;padding:8px 4px;border-bottom:.5px solid var(--border);cursor:pointer}.loc-item:last-child{border-bottom:none}.loc-item:hover{background:var(--surface-hover)}.loc-item-on{background:color-mix(in srgb,var(--primary) 7%,transparent)}.loc-item-on:hover{background:color-mix(in srgb,var(--primary) 11%,transparent)}.loc-item-sold{opacity:.5}.loc-item-img{width:38px;height:38px;flex-shrink:0;border-radius:var(--radius-sm);border:.5px solid var(--border);background:var(--surface-hover);overflow:hidden}.loc-item-img img{width:100%;height:100%;object-fit:cover;display:block}.loc-item-img-empty{background:var(--bg-secondary)}.loc-item-main{flex:1;min-width:0}.loc-item-name{font-size:12.5px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loc-item-meta{font-size:11px;color:var(--text-muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loc-item-size{display:flex;align-items:baseline;justify-content:flex-end;gap:3px;width:54px;flex-shrink:0;text-align:right}.loc-item-size-lbl{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--text-muted)}.loc-item-size-v{font-size:14px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.loc-item-size-none .loc-item-size-v{color:var(--text-muted);font-weight:500}.loc-item-cost{font-size:12.5px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;width:62px;text-align:right}.loc-item-from{font-size:11px;color:var(--text-muted);flex-shrink:0;padding:2px 7px;border:.5px solid var(--border);border-radius:10px}.loc-rail{display:none;flex-shrink:0;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--primary);background:var(--surface)}.loc-dragging .loc-rail{display:flex}.loc-rail-lbl{flex-shrink:0;font-size:12px;font-weight:600;color:var(--text-primary)}.loc-rail-track{display:flex;gap:8px;overflow-x:auto;padding:2px;scroll-behavior:auto}.loc-rail-bin{display:flex;align-items:center;gap:7px;flex-shrink:0;min-height:40px;padding:0 16px;background:var(--surface);border:1.5px dashed var(--border);border-radius:var(--radius-md);font:inherit;font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap;cursor:copy;transition:border-color .1s,background .1s,color .1s}.loc-rail-n{font-size:11.5px;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.loc-rail-bin>*{pointer-events:none}.loc-rail-over{border-style:solid;border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.loc-rail-over .loc-rail-n{color:var(--on-primary);opacity:.75}.loc-rail-none{font-style:italic}.loc-drag-ghost{position:fixed;top:-1000px;left:-1000px;padding:9px 15px;background:var(--primary);color:var(--on-primary);border-radius:var(--radius-md);font-size:13px;font-weight:700;white-space:nowrap;pointer-events:none}.loc-row-dragging{opacity:.4;background:color-mix(in srgb,var(--primary) 6%,transparent)}.loc-move{display:flex;align-items:center;gap:8px;width:100%;flex-wrap:wrap}.loc-move-lbl{font-size:12px;color:var(--text-secondary);flex-shrink:0}.loc-combo{flex:1;min-width:160px}.loc-combo-input{width:100%;min-width:0;min-height:32px;font-size:12.5px;cursor:text}.loc-combo-input::placeholder{color:var(--text-muted);font-weight:400}.loc-combo-input:focus{outline:none;border-color:var(--text-muted)}.loc-combo-caret{position:absolute;right:10px;top:50%;margin-top:2px;transform:translateY(-50%);border:4px solid transparent;border-top-color:var(--text-muted);pointer-events:none}.loc-combo-panel{min-width:220px;max-height:260px;overflow-y:auto}.loc-combo-new{color:var(--primary);font-weight:600}.loc-scanlog{margin-bottom:16px;padding:10px 12px;background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-md);max-height:190px;overflow-y:auto}.loc-scanlog-head{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.loc-scanlog-n{color:var(--text-muted);font-weight:500;margin-left:auto}.loc-scanline{display:flex;align-items:baseline;gap:7px;font-size:11.5px;color:var(--text-secondary);padding:2px 0}.loc-scan-mark{width:13px;flex-shrink:0;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.loc-scan-ok .loc-scan-mark{color:var(--success)}.loc-scan-miss .loc-scan-mark{color:var(--danger)}.loc-scan-ambig .loc-scan-mark{color:var(--warning)}.loc-scan-dupe .loc-scan-mark,.loc-scan-pending .loc-scan-mark{color:var(--text-muted)}.loc-scan-pending{opacity:.65}@media(max-width:640px){.loc-head{flex-direction:column;gap:10px;position:relative;padding-right:46px}.loc-head .modal-close{position:absolute;top:14px;right:14px}.loc-head-tools{width:100%}.loc-search{flex:1 1 100%;width:auto;min-width:0}.loc-zone-dd{flex:1 1 0;min-width:0}.loc-zone-dd .fdd-wrap,.loc-zone-dd .fdd-btn{width:100%;min-width:0}.loc-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.loc-foot{flex-direction:column;align-items:stretch}.loc-foot-btns{justify-content:flex-end}.loc-head-tools{flex-wrap:wrap}.loc-hbtn{flex:1;justify-content:center}.loc-item-cost,.loc-item-from{display:none}.loc-move{flex-direction:column;align-items:stretch}.loc-move-lbl{margin-bottom:2px}}
