:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #17202a; background:#f3f6f8; }
* { box-sizing:border-box } body { margin:0; } button,input,select { font:inherit } button { cursor:pointer } .shell { min-height:100vh; display:grid; grid-template-columns:235px 1fr; } .side { background:#132a3a; color:#eaf4f7; padding:24px 12px; } .brand { font-weight:800; letter-spacing:.2px; font-size:20px; padding:0 10px 26px; } .brand small { display:block; font-size:12px; font-weight:500; color:#9eb7c4; margin-top:4px } .nav { display:grid; gap:4px } .nav button { text-align:left; color:inherit; background:transparent; border:0; padding:11px 10px; border-radius:7px; } .nav button:hover,.nav button.active { background:#214154; } .userbox { border-top:1px solid #385563; margin-top:24px; padding:14px 10px; font-size:13px; color:#c6d6dc }.userbox button { margin-top:10px; border:1px solid #71909e; color:#eef8fb; background:transparent; border-radius:5px; padding:6px 9px }
.content { max-width:1380px; width:100%; margin:0 auto; padding:34px; } h1 { font-size:27px; margin:0 0 22px } h2 { font-size:19px; margin:0 0 15px } h3 { font-size:16px; margin:0 0 10px }.card { background:#fff; border:1px solid #dde5e9; border-radius:10px; padding:20px; margin-bottom:18px; box-shadow:0 1px 2px #17202a08 }.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px }.grid.three {grid-template-columns:repeat(3,minmax(0,1fr))}.field { display:grid; gap:6px; font-size:13px; color:#42545e }.field input,.field select { border:1px solid #b8c8d0; border-radius:6px; padding:9px 10px; color:#17202a; background:white }.field input:focus,.field select:focus { outline:2px solid #67b4d1; border-color:#67b4d1}.check { display:flex; align-items:center; gap:8px; font-size:14px }.actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:18px }.primary,.danger,.secondary { border:0; border-radius:6px; padding:9px 13px; font-weight:650 }.primary { background:#05769f; color:white }.primary:hover {background:#035e80}.secondary { background:#e7eff2; color:#18333f }.danger { background:#b63333;color:white }.small { padding:5px 8px; font-size:12px }.hint { color:#617681; font-size:13px }.error { margin:14px 0; padding:11px 13px; background:#fff1f1; color:#942323; border-radius:6px }.success { margin:14px 0; padding:11px 13px; background:#eef9f1; color:#1e7237; border-radius:6px }.table-wrap { overflow:auto }.data { width:100%; border-collapse:collapse; font-size:13px }.data th { text-align:left; color:#526975; font-size:12px; background:#f4f7f8 }.data th,.data td { padding:10px; border-bottom:1px solid #e2e9ec; vertical-align:top }.data tr:last-child td {border-bottom:0}.badge { display:inline-block; border-radius:12px; padding:3px 8px; font-size:11px; background:#edf3f5; color:#38505e }.badge.completed{background:#e7f7eb;color:#20753a}.badge.failed{background:#fdeaea;color:#a52626}.badge.queued,.badge.generating_data,.badge.rendering_files{background:#fff6de;color:#8a6204}.line-item { border:1px solid #cedae0; padding:13px; border-radius:7px; margin:10px 0; background:#fbfdfe }.line-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px }.modal { position:fixed; inset:0; background:#12263099; display:grid; place-items:center; padding:20px; z-index:3 }.modal-panel { width:min(1000px,100%); max-height:90vh; overflow:auto; background:white; border-radius:10px; padding:22px }.codes { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px }.code { display:flex; gap:10px; border:1px solid #dde5e9; padding:8px; border-radius:6px; font-size:12px; overflow-wrap:anywhere }.code img{width:72px;height:72px;image-rendering:pixelated}.login { min-height:100vh; display:grid; place-items:center; background:linear-gradient(120deg,#133b4e,#0a718f) }.login .card{ width:min(400px,calc(100% - 30px)); padding:28px }.login h1{color:#133b4e}.muted{color:#6b7f89}.divider{border:0;border-top:1px solid #dbe5e9;margin:19px 0}.nowrap{white-space:nowrap}
@media (max-width:850px) { .shell{grid-template-columns:1fr}.side{padding:14px}.brand{padding-bottom:12px}.nav{grid-template-columns:repeat(3,1fr)}.userbox{margin-top:12px}.content{padding:20px}.grid,.grid.three{grid-template-columns:1fr}.nav button{font-size:12px;padding:8px}.side .brand small{display:none} }

/* Уточнения для плотных форм и просмотра состава коробов. */
.field { min-width:0; }
.field input,.field select { width:100%; min-width:0; }
.line-head { gap:12px; }
.code { position:relative; }
.code.package-item { background:#f0f2f3; border-color:#b9c4c9; }
.package-barcode { position:relative; background:#eef2f3; border:1px solid #b9c4c9; padding:12px; border-radius:7px; margin:10px 0; display:flex; align-items:center; gap:16px; }
.package-barcode img { width:230px; max-width:52%; height:auto; }
.scan-mode.has-focus .scan-target:not(.focus)::after { content:''; position:absolute; inset:0; background:#fff; opacity:.97; border-radius:6px; pointer-events:none; }
.rights-list { display:grid; grid-template-columns:1fr; gap:7px; }
.results-toolbar { margin-bottom:14px; }
