:root{--bg:#f6f7f9;--panel:#fff;--line:#e2e5ea;--text:#1d2330;--muted:#6b7380;--accent:#1f6feb;--accent-weak:#e8f0fe;--red:#c62828;--red-weak:#fdecec;--amber:#a15c00;--amber-weak:#fff4e0;--green:#1b7f3b;--green-weak:#e7f6ec;color:var(--text);background:var(--bg);font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:.2rem 0;font-size:1.5rem}h2{margin:0;font-size:1.05rem}button,select,input{font:inherit;border:1px solid var(--line);color:var(--text);background:#fff;border-radius:6px;padding:.35rem .6rem}button{cursor:pointer}button:hover:not(:disabled){border-color:#b9c0cb}button:disabled{opacity:.5;cursor:not-allowed}button.link{color:var(--accent);background:0 0;border:none;padding:0}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-danger{border-color:var(--red);color:var(--red);background:#fff}input.invalid{border-color:var(--red);background:var(--red-weak)}.layout{grid-template-columns:200px 1fr;min-height:100vh;display:grid}.sidebar{color:#d8dde6;background:#1d2330;flex-direction:column;gap:.15rem;height:100vh;padding:1rem .75rem;display:flex;position:sticky;top:0}.sidebar .brand{color:#fff;margin-bottom:1rem;font-size:1.1rem;font-weight:700}.sidebar a,.nav-disabled{color:#d8dde6;border-radius:6px;padding:.45rem .6rem}.sidebar a.active{color:#fff;background:#303a4d}.nav-disabled{opacity:.45}.side-status{border-top:1px solid #3a4459;margin-top:auto;padding-top:.75rem;font-size:.85rem}.side-status ul{color:#f5c46b;margin:.4rem 0 0;padding-left:1rem}.content{min-width:0;padding:1.25rem 1.75rem 3rem}.page-head{margin-bottom:1rem}.subline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;display:flex}.toolbar,.row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.6rem 0;display:flex}.toolbar form{gap:.3rem;display:flex}.section{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:1rem 0;padding:1rem 1.1rem}.section-head{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.panel{border:1px dashed var(--line);background:#fbfcfd;border-radius:8px;margin:.6rem 0;padding:.8rem}table.grid{border-collapse:collapse;background:#fff;width:100%}table.grid th,table.grid td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.45rem .5rem}table.grid th{white-space:nowrap;background:#f1f3f6;font-weight:600;position:sticky;top:0}table.grid.compact td,table.grid.compact th{padding:.3rem .45rem}.num{white-space:nowrap;text-align:right!important}.strong{font-weight:700}.center{text-align:center!important}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.small{font-size:.85rem}.muted{color:var(--muted)}.dim{opacity:.55}.pad{padding:1rem}.scroll{overflow-x:auto}tr.row-negative td{background:var(--red-weak)}tr.row-no_baseline td,tr.row-unit_unconfirmed td{background:#fafafa}.qty.neg{color:var(--red);font-weight:600}.qty.dim{color:var(--muted)}.qty .unit{color:var(--muted);font-size:.85em}.warn-text{color:var(--amber)}.badge,.tag{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:.05rem .5rem;font-size:.8rem;display:inline-block}.badge-ok,.tag-green{background:var(--green-weak);color:var(--green)}.badge-negative,.tag-red{background:var(--red-weak);color:var(--red)}.badge-incomplete,.badge-unit_unconfirmed,.tag-amber{background:var(--amber-weak);color:var(--amber)}.badge-no_baseline,.tag-gray{color:#4d5562;background:#eef0f3}.chips{flex-wrap:wrap;gap:.35rem;margin:.4rem 0;display:flex}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.15rem .7rem;font-size:.85rem}.chip.on{background:var(--accent-weak);border-color:var(--accent)}.chip.sev-blocking{border-color:var(--red);color:var(--red)}.chip.sev-warning{border-color:var(--amber);color:var(--amber)}.seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{border:none;border-right:1px solid var(--line);border-radius:0}.seg button:last-child{border-right:none}.seg button.on{background:var(--accent-weak);color:var(--accent);font-weight:600}.tabs{margin-bottom:.4rem}.alert{border:1px solid;border-radius:8px;margin:.6rem 0;padding:.6rem .8rem}.alert ul{margin:.3rem 0 0}.alert-error{background:var(--red-weak);border-color:#f2b8b8}.alert-warn{background:var(--amber-weak);border-color:#f2d19b}.alert-info{background:var(--accent-weak);border-color:#b9d1fb}.alert-ok{background:var(--green-weak);border-color:#a8dbb9}.pager{color:var(--muted);justify-content:center;align-items:center;gap:.8rem;margin:.7rem 0;display:flex}.formula{flex-wrap:wrap;align-items:flex-start;gap:.6rem 1rem;margin-bottom:.4rem;font-size:1.1rem;display:flex}.formula .label{color:var(--muted);font-size:.8rem}.formula .op{color:var(--muted);padding-top:.6rem;font-size:1.4rem}.formula .result{border-left:3px solid var(--accent);padding-left:.8rem;font-weight:700}.reasons{color:var(--amber);margin:.4rem 0}.stats{flex-wrap:wrap;gap:.6rem;margin-bottom:.4rem;display:flex}.stat{border:1px solid var(--line);border-radius:8px;min-width:110px;padding:.4rem .7rem}.stat .label{color:var(--muted);font-size:.8rem}.stat .value{font-size:1.1rem;font-weight:600}dl.kv{grid-template-columns:max-content 1fr;gap:.3rem 1rem;display:grid}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0}.check{align-items:flex-start;gap:.4rem;margin:.4rem 0;display:flex}.radio-card{border:1px solid var(--line);border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .8rem;display:flex}.confirm-pair{gap:.3rem;display:inline-flex}.picker{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.4rem}.picker ul{max-height:220px;margin:.3rem 0 0;padding:0;list-style:none;overflow:auto}.picker li{padding:.15rem 0}.login{border:1px solid var(--line);text-align:center;background:#fff;border-radius:12px;max-width:420px;margin:15vh auto;padding:2rem}.login #gsi-button{margin-top:1rem;display:inline-block}details summary{cursor:pointer;margin:.4rem 0}.scan-list{flex-direction:column;gap:.5rem;display:flex}.scan-card{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:.3rem;padding:.6rem .7rem;display:flex}.scan-card button{margin:.15rem .3rem .15rem 0}.code-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem;margin:.5rem 0 1rem;display:grid}.code-tile{border:2px solid var(--line);text-align:center;background:#fff;border-radius:8px;padding:.6rem}.code-tile.done{border-color:var(--green);background:var(--green-weak)}.code-tile.done .gs1-code{opacity:.35}.gs1-code{image-rendering:pixelated;background:#fff;margin:0 auto .3rem;display:block}.reg-group{border-top:1px solid var(--line);padding-top:.6rem}.viewer{z-index:50;background:#fff;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.viewer-body{text-align:center;flex-direction:column;align-items:center;gap:.6rem;display:flex}.center-row{justify-content:center}.big-button{text-align:center;background:var(--accent);color:#fff;cursor:pointer;border-radius:12px;margin:.6rem 0;padding:1.2rem;font-size:1.15rem;font-weight:600;display:block}.camera{background:#000;border-radius:10px;width:100%;max-height:60vh}input.wide{width:100%;margin-bottom:.4rem}.unit-editor input{width:3.5rem}.btn-small{padding:.15rem .55rem;font-size:.8rem}.file-button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:.3rem;padding:.4rem .8rem;display:inline-flex;position:relative;overflow:hidden}.file-button.btn-primary{background:var(--accent);color:#fff;border-color:#0000;font-weight:600}.file-button input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.file-button.disabled{opacity:.45;pointer-events:none}.error-text{color:var(--red)}.row.wrap-gap,.wrap-gap{flex-wrap:wrap;gap:.5rem}ul.plain{margin:.4rem 0;padding:0;list-style:none}.crumbs{margin-bottom:.2rem}.pair-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.6rem;margin-bottom:.6rem;display:grid}.pair-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:10px;flex-direction:column;gap:.3rem;padding:.6rem .8rem;text-decoration:none;display:flex}.pair-card.warn{background:#fffbea;border-color:#e0b400}a.tool-card:hover{border-color:var(--accent)}td.low-conf input{background:#fff3c4;border-color:#d9a400}table.lot-review input{width:100%;min-width:3.2rem}@media (width<=760px){.layout{grid-template-rows:auto 1fr;grid-template-columns:1fr;align-content:start}.sidebar{flex-flow:wrap;gap:.2rem;height:auto;padding:.5rem;position:static}.sidebar .brand{margin:0 .5rem 0 0}.side-status{display:none}.content{padding:.8rem}table.grid{-webkit-overflow-scrolling:touch;max-width:100%;font-size:.85rem;display:block;overflow-x:auto}.viewer-body{max-width:100vw;padding:0 .75rem}.viewer-body .small{overflow-wrap:anywhere}table.grid.cards{background:0 0;border:none;font-size:.9rem;display:block;overflow:visible}table.grid.cards thead{display:none}table.grid.cards tbody{display:block}table.grid.cards tr{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;margin-bottom:.55rem;padding:.5rem .75rem;display:flex}table.grid.cards td{text-align:right;background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.16rem 0;display:flex}table.grid.cards td[data-label]:before{content:attr(data-label);color:var(--muted);text-align:left;white-space:nowrap;flex:none;margin-right:.6rem;font-size:.8rem}table.grid.cards td.card-title:before{content:none}table.grid.cards td.card-title{text-align:left;order:-1;padding-bottom:.3rem;font-size:.95rem;font-weight:600;display:block}table.grid.cards td[colspan]{text-align:left;display:block}table.grid.cards td input:not([type=checkbox]):not([type=radio]){max-width:62%}table.grid.cards tr.row-negative,table.grid.cards tr.row-no_baseline,table.grid.cards tr.row-unit_unconfirmed{border-left-width:4px}table.grid.cards tr.row-negative{border-left-color:var(--red)}.pair-list{grid-template-columns:1fr}}
