:root{--navy:#142238;--navy2:#203451;--blue:#2867e5;--ink:#172033;--muted:#687386;--line:#e4e8ee;--canvas:#f5f7fa;--green:#248866;--red:#cc4b52;--amber:#b7791f;--shadow:0 1px 3px #14223810}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--canvas);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,a{transition:.15s ease}button{cursor:pointer}a{color:inherit}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}input,select{outline:0}input:focus,select:focus{border-color:#7ea6ef!important;box-shadow:0 0 0 3px #2867e514}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--navy);padding:27px 16px 18px;color:#fff;display:flex;flex-direction:column;z-index:50}.brand{display:flex;align-items:center;gap:11px;padding:0 10px;text-decoration:none;font-size:19px}.brand>span,.mobile-brand>span,.login-brand>span,.mobile-login-brand>span{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(145deg,#4386f8,#2459ca);box-shadow:inset 0 1px 0 #ffffff44}.brand nav{}.sidebar nav{display:grid;gap:6px;margin-top:38px}.sidebar nav a{height:44px;padding:0 12px;border-radius:8px;color:#9faec3;text-decoration:none;display:flex;align-items:center;gap:13px;font-size:14px}.sidebar nav a:hover{background:#ffffff0c;color:#fff}.sidebar nav a.active{color:#fff;background:#293b57;box-shadow:inset 3px 0 0 #4385f5}.warehouse{margin-top:auto;border:1px solid #ffffff17;background:#ffffff08;border-radius:10px;padding:14px;display:grid;gap:5px}.warehouse small{font-size:9px;letter-spacing:1px;color:#70809a}.warehouse strong{font-size:13px}.warehouse span{font-size:11px;color:#8e9aab}.profile{display:flex;align-items:center;gap:10px;padding:17px 6px 2px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d9e7ff;color:#2858a8;font-size:11px;font-weight:bold;flex:none}.profile div{display:grid;gap:3px;min-width:0;flex:1}.profile strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile small{font-size:9px;color:#8291a6}.profile a{color:#8593a6;padding:4px}.workspace{margin-left:244px;min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center}.top-search{position:relative;width:330px;color:#99a3b2;display:flex;align-items:center}.top-search svg{position:absolute;left:12px}.top-search input{height:38px;width:100%;padding:0 49px 0 39px;border:1px solid #e4e8ed;background:#f8f9fb;border-radius:8px;font-size:12px}.top-search kbd{position:absolute;right:9px;background:#fff;border:1px solid #dfe4ea;border-radius:4px;padding:2px 5px;font-size:9px}.top-user{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:11px;color:#647085}.top-user b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e6efff;color:#2e62bb}.menu-button,.mobile-brand{display:none}.content{max-width:1500px;margin:auto;padding:31px 34px 50px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.eyebrow{margin:0 0 8px!important;color:#98a2b1!important;font-size:9px!important;letter-spacing:1.1px;font-weight:bold}.page-heading h1{margin:0;font-size:28px;letter-spacing:-.7px}.page-heading p{margin:7px 0 0;color:var(--muted);font-size:12px}.heading-actions{display:flex;gap:9px}.button{height:38px;border-radius:7px;padding:0 14px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:12px;font-weight:600}.button.primary{background:var(--blue);border-color:#2159d2;color:#fff;box-shadow:0 1px 2px #10244c33}.button.primary:hover{background:#1f58d1}.button.secondary{background:#fff;border-color:#dce2e9;color:#4e596b}.button.secondary:hover{background:#f8fafc}.button.wide{width:100%}.button:disabled{opacity:.45;cursor:not-allowed}.alert{margin-bottom:18px;border:1px solid;padding:12px 42px 12px 14px;border-radius:8px;font-size:12px;position:relative}.alert.success{color:#1e7657;background:#ecf8f3;border-color:#c9eadc}.alert.error{color:#a6343b;background:#fff0f1;border-color:#f0cbce}.alert button{position:absolute;right:10px;top:6px;border:0;background:transparent;color:inherit;font-size:20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.metrics article{min-height:116px;padding:17px 18px 15px;border:1px solid var(--line);background:#fff;border-radius:10px;box-shadow:var(--shadow)}.metrics.compact article{min-height:108px}.metrics article>div{display:flex;align-items:center;justify-content:space-between;color:#6f7989;font-size:11px}.metrics em{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-style:normal;font-weight:bold}.metrics em svg{width:16px}.metrics .blue{color:#3273e8;background:#eaf2ff}.metrics .green{color:#288a68;background:#e8f7f1}.metrics .red{color:#d24c54;background:#ffedef}.metrics .amber{color:#b8791d;background:#fff5dd}.metrics article>strong{display:block;margin:9px 0 6px;font-size:22px;letter-spacing:-.4px}.metrics small{font-size:9px;color:#8b94a2}.metrics .warning{color:var(--amber)}.metrics .danger{color:var(--red)}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.panel-head{min-height:58px;padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head h2{margin:0;font-size:13px}.panel-head p{margin:5px 0 0;color:#8993a2;font-size:9px}.panel-head>a{font-size:10px;color:#2867d7;text-decoration:none}.today-strip{background:var(--navy);color:#fff;border-radius:10px;padding:15px 19px;margin-bottom:18px;display:flex;align-items:center;gap:36px}.today-strip>div{display:flex;align-items:center;gap:11px}.today-strip p{display:grid;gap:3px;margin:0}.today-strip small{color:#8e9db1;font-size:8px;letter-spacing:.6px}.today-strip strong{font-size:13px}.today-strip>a{margin-left:auto;color:#c9d9f0;font-size:10px;text-decoration:none}.movement-dot{width:10px;height:10px;border-radius:50%}.movement-dot.incoming{background:#44c695}.movement-dot.outgoing{background:#f16b71}.dashboard-grid,.report-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.report-grid.lower{grid-template-columns:1fr 1fr;margin-top:18px}.activity-row{min-height:61px;padding:10px 16px;border-bottom:1px solid #edf0f3;display:flex;align-items:center;gap:11px}.activity-row:last-child{border:0}.movement-icon{width:31px;height:31px;border-radius:7px;display:grid;place-items:center;font-weight:bold;flex:none}.movement-icon.incoming,.movement-type.incoming,.incoming{color:#248866}.movement-icon.incoming{background:#e9f7f1}.movement-icon.outgoing,.movement-type.outgoing,.outgoing{color:#cf4d55}.movement-icon.outgoing{background:#ffedef}.movement-icon.return,.movement-type.return,.return{color:#3e72c6}.movement-icon.return{background:#eaf2ff}.movement-icon.adjustment,.movement-icon.opening{color:#a67322;background:#fff4db}.activity-row>div:nth-of-type(1){display:grid;gap:4px;flex:1}.activity-row strong{font-size:10px}.activity-row small{color:#919aa7;font-size:8px}.activity-row>b{font-size:11px}.activity-row time{width:91px;text-align:right;color:#919aa7;font-size:8px}.stock-alerts>a{min-height:61px;padding:10px 16px;border-bottom:1px solid #edf0f3;display:flex;align-items:center;gap:10px;text-decoration:none}.stock-alerts>a:hover{background:#f8faff}.stock-alerts>a>div{display:grid;gap:4px;flex:1}.stock-alerts strong{font-size:10px}.stock-alerts small{font-size:8px;color:#929ba8}.stock-alerts>a>b{width:24px;text-align:right;font-size:11px}.product-mini,.product-icon{width:32px;height:32px;border-radius:7px;display:grid;place-items:center;background:#eef3fa;color:#5274aa;flex:none}.product-icon.c1{color:#865aa0;background:#f3edf7}.product-icon.c2{color:#37887f;background:#e9f6f4}.product-icon.c3{color:#b0783e;background:#fbf1e8}.product-icon.c4{color:#4b68a2;background:#eaf0fa}.product-mini svg,.product-icon svg{width:16px}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:12px;font-size:8px;font-weight:600;white-space:nowrap}.status i{width:5px;height:5px;border-radius:50%;background:currentColor}.status.good{color:#268866;background:#e9f7f1}.status.low{color:#ad731e;background:#fff5de}.status.out{color:#cb4951;background:#ffedef}.empty-state{padding:40px;text-align:center;color:#8d97a6;font-size:11px}.empty-state.success{color:#278765}.data-panel{margin-top:18px}.toolbar{min-height:58px;padding:12px 18px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line)}.field-search{width:270px;position:relative;color:#9aa4b3;display:flex;align-items:center}.field-search svg{position:absolute;left:11px;width:16px}.field-search input,.toolbar select,.modal input,.modal select,.scanner-panel input,.scanner-panel select,.report-filters input,.report-filters select{height:36px;border:1px solid #dfe4ea;background:#fff;border-radius:6px;color:#4f5a6c;font-size:10px;padding:0 10px}.field-search input{width:100%;padding-left:35px}.toolbar select{min-width:140px}.table-count{margin-left:auto;color:#929ba8;font-size:9px}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:850px}.data-table th{height:37px;padding:0 14px;background:#fafbfc;color:#929ba9;text-align:left;font-size:8px;letter-spacing:.5px}.data-table td{height:61px;padding:8px 14px;border-top:1px solid #edf0f3;color:#586274;font-size:9px}.data-table tbody tr:hover{background:#f8faff}.data-table tr[hidden]{display:none}.data-table td strong{color:#303a4b;font-size:10px}.data-table td>small{display:block;margin-top:4px;color:#9aa3b0;font-size:8px}.product-cell,.user-cell,.supplier-cell{display:flex;align-items:center;gap:10px}.product-cell>div,.user-cell>div,.supplier-cell>div{display:grid;gap:4px}.tag,.role-badge{display:inline-flex;padding:4px 7px;border:1px solid #e0e5eb;border-radius:4px;background:#fafbfc;font-size:8px}.role-badge.admin{color:#7c4fa3;background:#f5eff9;border-color:#eadcf4}.role-badge.staff{color:#2865be;background:#eef4ff;border-color:#dae8ff}.role-badge.viewer{color:#5d6878}.movement-type{display:inline-flex;padding:5px 8px;border-radius:12px;font-size:8px;font-weight:bold;background:#f1f4f8}.movement-type.incoming{background:#e9f7f1}.movement-type.outgoing{background:#ffedef}.movement-type.return{background:#eaf2ff}.row-actions{display:flex;align-items:center;gap:8px}.row-actions form{margin:0}.icon-button,.text-button{border:0;background:transparent;color:#718096;padding:5px}.icon-button:hover{color:#2867e5}.text-button{font-size:9px;color:#b24c53}.modal-backdrop{position:fixed;inset:0;background:#0e1728aa;backdrop-filter:blur(3px);z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.modal-open{overflow:hidden}.modal{width:min(540px,100%);max-height:calc(100vh - 30px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 80px #0f172a66;animation:pop .18s ease-out}@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}}.modal>header{padding:22px 24px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modal header p{margin:0 0 6px;color:#8a94a4;font-size:9px;letter-spacing:1px;font-weight:bold}.modal header h2{margin:0;font-size:19px}.modal header button{border:0;background:transparent;color:#7f8998;font-size:22px}.modal form{padding:22px 24px;display:grid;gap:16px}.modal label,.scanner-panel label,.report-filters label{display:grid;gap:7px;color:#505b6c;font-size:10px;font-weight:600}.modal label small{font-size:8px;color:#929ba9;font-weight:normal}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row.three{grid-template-columns:repeat(3,1fr)}.modal footer{display:flex;justify-content:flex-end;gap:8px;margin-top:3px}.check-row{display:flex!important;align-items:center;grid-template-columns:auto 1fr}.check-row input{width:16px;height:16px}.edit-stock-note{margin:0;padding:10px;border-radius:6px;background:#fff6e0;color:#95651d;font-size:9px}.scanner-layout{display:grid;grid-template-columns:1fr 280px;gap:18px}.scanner-panel{padding:20px}.scanner-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}.scanner-title>span{width:42px;height:42px;border-radius:9px;display:grid;place-items:center;background:#eaf2ff;color:#2867df}.scanner-title h2{margin:0;font-size:15px}.scanner-title p{margin:5px 0 0;color:#8993a2;font-size:9px}.scanner-ready{margin-left:auto;color:#21815f;background:#e8f7f1;border-radius:12px;padding:5px 8px;font-size:8px;font-style:normal;font-weight:bold;letter-spacing:.5px}.scanner-panel form{display:grid;gap:14px}.scan-input{position:relative;display:flex;align-items:center}.scan-input>span{position:absolute;left:13px;color:#5275ac}.scan-input input{height:53px;width:100%;padding:0 65px 0 43px;border:2px solid #9cb8eb;font-size:14px;font-family:monospace}.scan-input kbd{position:absolute;right:12px;border:1px solid #dfe4ea;border-radius:4px;padding:3px 6px;color:#7c8798;background:#f8fafc;font-size:8px}.scan-message{margin:-4px 0 0;color:#7f8999;font-size:9px}.scan-message.success{color:#21815f}.scan-message.error{color:#c4424a}.scanned-product{padding:12px;border:1px solid #dce7f8;background:#f6f9fe;border-radius:8px;display:flex;align-items:center;gap:10px}.scanned-product[hidden]{display:none}.scanned-product>div{display:grid;gap:4px;flex:1}.scanned-product small{font-size:8px;color:#8994a4}.scanned-product>p{display:grid;gap:3px;margin:0;text-align:right}.scanned-product>p strong{font-size:14px}.scanner-help{margin-top:16px;padding:11px 13px;border-left:3px solid #e2a942;background:#fff8e8;display:grid;gap:4px}.scanner-help b{font-size:9px}.scanner-help span{font-size:8px;color:#7e6c4d}.side-stats{display:grid;gap:10px}.side-stats article{background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px;display:flex;align-items:center;gap:12px}.side-stats div{display:grid;gap:5px}.side-stats small{color:#8b95a4;font-size:8px;letter-spacing:.5px}.side-stats strong{font-size:14px}.barcode-instructions{padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}.barcode-instructions>div{display:grid;gap:5px}.barcode-instructions b{font-size:10px}.barcode-instructions span{font-size:8px;color:#7f8998;line-height:1.5}.label-picker{margin-bottom:18px}.label-checks{padding:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.label-checks label{border:1px solid var(--line);border-radius:7px;padding:9px;display:flex;gap:8px;align-items:center}.label-checks span{display:grid;gap:3px}.label-checks b{font-size:9px}.label-checks small{font-size:8px;color:#909aa8}.labels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.barcode-label{background:#fff;border:1px dashed #8c96a4;padding:13px;border-radius:4px;break-inside:avoid}.barcode-label header,.barcode-label footer{display:flex;justify-content:space-between;align-items:center}.barcode-label header strong{font-size:11px}.barcode-label header span,.barcode-label footer{font-size:8px;color:#5f6876}.barcode-label h2{text-align:center;margin:10px 0 5px;font-size:12px}.barcode-label footer b{color:#172033}.barcode-svg{width:100%;height:auto;display:block}.report-filters{padding:14px 16px;margin-bottom:18px;display:flex;gap:10px;align-items:end}.report-filters label{min-width:145px}.report-filters .button{margin-left:2px}.chart-panel{min-height:390px}.legend{display:flex;gap:10px;color:#7f8998;font-size:8px}.legend span{display:flex;align-items:center;gap:4px}.legend i{width:7px;height:7px;border-radius:50%}.legend i.incoming{background:#35ac81}.legend i.outgoing{background:#e45e66}.legend i.return{background:#4a80d4}.bar-chart{padding:16px}.bar-row{display:grid;grid-template-columns:45px 1fr;gap:9px;align-items:center;margin-bottom:8px}.bar-row time{font-size:8px;color:#8791a0}.bar-track{display:grid;grid-template-columns:1fr;gap:2px}.bar-track span{height:7px;border-radius:0 4px 4px 0;min-width:2px;position:relative}.bar-track span.incoming{background:#42b58b}.bar-track span.outgoing{background:#e5656c}.bar-track span.return{background:#5788d7}.bar-track b{position:absolute;left:calc(100% + 4px);top:-2px;font-size:7px;color:#7e8796}.rank-list>div{min-height:51px;padding:8px 15px;border-bottom:1px solid #edf0f3;display:flex;align-items:center;gap:10px}.rank-list>div>span{width:21px;height:21px;border-radius:50%;background:#eff3f8;display:grid;place-items:center;font-size:8px;color:#6f7a8b}.rank-list p{display:grid;gap:4px;margin:0;flex:1}.rank-list strong{font-size:9px}.rank-list small{font-size:8px;color:#929ba8}.rank-list>div>b{font-size:11px}.login-body{background:#fff}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-panel{position:relative;overflow:hidden;padding:50px 7vw;color:#fff;background:linear-gradient(145deg,#132139,#203a60)}.login-panel:after{content:"";position:absolute;width:450px;height:450px;border-radius:50%;border:100px solid #ffffff05;right:-180px;bottom:-180px}.login-brand,.mobile-login-brand{display:flex;align-items:center;gap:10px;font-size:19px}.login-copy{margin-top:18vh;position:relative;z-index:1}.login-copy .eyebrow{color:#80aefb!important}.login-copy h1{font-size:43px;line-height:1.1;letter-spacing:-1.5px;margin:0 0 19px}.login-copy>p:last-child{max-width:480px;color:#aebcd0;font-size:14px;line-height:1.7}.login-stats{position:absolute;left:7vw;bottom:55px;right:7vw;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff1a;padding-top:20px}.login-stats div{display:grid;gap:5px}.login-stats strong{font-size:12px}.login-stats span{font-size:9px;color:#92a2b8}.login-form-wrap{display:grid;place-items:center;padding:40px}.login-form{width:min(390px,100%);display:grid;gap:17px}.login-form h2{margin:0;font-size:27px;letter-spacing:-.6px}.login-form>.muted{margin:-8px 0 6px;color:#7d8797;font-size:11px}.login-form label{display:grid;gap:8px;font-size:11px;font-weight:600;color:#4f5a6c}.login-form input{height:45px;border:1px solid #dfe4ea;border-radius:7px;padding:0 12px;font-size:12px}.login-note{text-align:center;color:#8490a0;font-size:9px;line-height:1.5}.mobile-login-brand{display:none}.sidebar-overlay{display:none}
@media(max-width:1100px){.sidebar{width:210px}.workspace{margin-left:210px}.content{padding-left:22px;padding-right:22px}.metrics{grid-template-columns:repeat(2,1fr)}.labels-grid{grid-template-columns:repeat(2,1fr)}.label-checks{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);width:240px;transition:.2s}.sidebar.open{transform:translateX(0)}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:#0f192a99;z-index:40}.workspace{margin:0}.topbar{height:62px;padding:0 15px}.menu-button{display:grid;place-items:center;border:0;background:transparent;color:#506077;padding:6px}.mobile-brand{display:flex;align-items:center;gap:8px;text-decoration:none;margin-left:6px}.mobile-brand>span{width:27px;height:27px}.mobile-brand svg{width:16px}.mobile-brand strong{font-size:14px}.top-search{display:none}.top-user span{display:none}.content{padding:22px 14px 40px}.page-heading{align-items:flex-start;gap:16px}.page-heading h1{font-size:24px}.page-heading p{line-height:1.5}.heading-actions .secondary{display:none}.dashboard-grid,.report-grid,.report-grid.lower,.scanner-layout{grid-template-columns:1fr}.side-stats{grid-template-columns:repeat(2,1fr)}.form-row.three{grid-template-columns:1fr 1fr}.barcode-instructions{grid-template-columns:1fr}.label-checks{grid-template-columns:repeat(2,1fr)}.report-filters{align-items:stretch;flex-wrap:wrap}.report-filters label{flex:1}.login-shell{grid-template-columns:1fr}.login-panel{display:none}.mobile-login-brand{display:flex;margin-bottom:30px}.login-form-wrap{min-height:100vh;padding:28px}.login-form h2{font-size:24px}}
@media(max-width:500px){.metrics{grid-template-columns:1fr 1fr;gap:9px}.metrics article{padding:14px;min-height:103px}.metrics article>strong{font-size:19px}.page-heading{display:grid}.heading-actions{position:absolute;right:14px;top:81px}.today-strip{gap:18px}.today-strip>a{display:none}.activity-row time{display:none}.form-row,.form-row.three{grid-template-columns:1fr}.side-stats{grid-template-columns:1fr 1fr}.labels-grid{grid-template-columns:1fr}.label-checks{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.field-search{width:100%}.table-count{display:none}.scanner-ready{display:none}.report-filters label{min-width:calc(50% - 5px)}}
@media print{body{background:#fff}.sidebar,.topbar,.no-print,.page-heading,.alert{display:none!important}.workspace{margin:0}.content{padding:0;max-width:none}.labels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8mm}.barcode-label{page-break-inside:avoid;border:1px dashed #777;padding:4mm}.barcode-svg{max-height:31mm}}

/* Barcode reliability overrides: physical sizing prevents fractional bar widths. */
.labels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.barcode-label{padding:16px;overflow:hidden}
.barcode-svg{display:block;width:auto;max-width:100%;height:30mm;margin:7px auto;stroke:none!important;fill:none;shape-rendering:crispEdges}
.barcode-svg g{fill:#000!important;stroke:none!important}
.barcode-svg rect{stroke:none!important}
.barcode-svg text{fill:#000!important;stroke:none!important}
@media print{@page{size:A4;margin:8mm}.labels-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5mm}.barcode-label{min-height:49mm;padding:4mm}.barcode-svg{width:auto;max-width:100%;height:30mm;max-height:none;margin:2mm auto;stroke:none!important;shape-rendering:crispEdges}}

/* User administration actions. */
.access-button{color:#52647d}
.access-button:hover{color:#2867e5}
.delete-button{color:#bd3f48;font-weight:600}
.delete-button:hover{color:#962d35;background:#fff0f1;border-radius:5px}

/* Barcode lookup remains usable for scanners without an Enter suffix. */
.scan-input input{padding-right:88px}
.scan-lookup-button{position:absolute;right:7px;height:37px;padding:0 12px;border:0;border-radius:5px;background:#eaf2ff;color:#285fbd;font-size:9px;font-weight:700}
.scan-lookup-button:hover{background:#dce9ff;color:#1f4f9e}

/* Spreadsheet import card inside the Add Product window. */
.product-modal{width:min(680px,100%)}
.import-panel{margin:18px 24px 0;padding:16px 17px;border:1px solid #dbe6f7;border-radius:10px;background:linear-gradient(135deg,#f7faff,#f3f7fd);display:block}
.import-panel[hidden],.modal-divider[hidden]{display:none}
.import-panel-heading{display:flex;align-items:center;gap:11px}
.import-panel-icon{width:34px;height:34px;border-radius:8px;background:#e4eeff;color:#2867e5;display:grid;place-items:center;flex:none}
.import-panel-icon svg{width:16px}
.import-panel-heading>div{display:grid;gap:4px}
.import-panel-heading strong{font-size:12px;color:#263247}
.import-panel-heading div>span{font-size:9px;color:#7d8999}
.import-panel .import-form{margin:14px 0 0;padding:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.import-file-picker{display:grid!important;gap:6px!important;min-width:0;color:#536176!important;font-size:9px!important;font-weight:700!important}
.import-panel .import-form input[type=file]{width:100%;height:42px;min-width:0;padding:7px 9px;border:1px solid #cad8eb;background:#fff;border-radius:7px;font-size:9px;color:#667387}
.import-panel .import-form .button{height:42px;white-space:nowrap;padding:0 16px}
.import-panel .import-form .button svg{width:15px;transform:rotate(180deg)}
.import-note{margin:9px 0 0;color:#8490a1;font-size:8px;line-height:1.4}
.modal-divider{height:43px;margin:0 24px;display:flex;align-items:center;gap:11px;color:#98a2b1;font-size:8px;letter-spacing:.8px}
.modal-divider:before,.modal-divider:after{content:"";height:1px;background:#e8ecf1;flex:1}
.modal-divider span{white-space:nowrap}
@media(max-width:500px){.import-panel{margin:14px 18px 0}.import-panel .import-form{grid-template-columns:1fr}.import-panel .import-form .button{width:100%}.modal-divider{margin:0 18px}}

/* Two-step EAN and per-unit serial scanning. */
.scan-step{display:flex!important;align-items:center!important;gap:7px!important;margin:0 0 -8px;color:#607088!important}
.scan-step b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#2867e5;color:#fff;font-size:9px}
.scan-step span{font-size:9px;letter-spacing:.35px;text-transform:uppercase}
.serial-scan{padding:13px;border:1px solid #d9e5f8;border-radius:8px;background:#f8fbff;display:grid;gap:14px}
.serial-scan[hidden]{display:none}
.serial-scan .scan-input input{border-color:#78a1e8;background:#fff}
.serial-batch-progress{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;background:#eaf2ff;color:#315f9f;font-size:9px}
.serial-batch-progress button{border:0;background:transparent;color:#b13f48;font-size:8px;font-weight:700;padding:3px 5px}
.serial-batch-list{max-height:155px;overflow:auto;border:1px solid #e1e8f2;border-radius:7px;background:#fff}
.serial-batch-list>p{margin:0;padding:12px;color:#909aaa;font-size:9px;text-align:center}
.serial-batch-list>div{min-height:34px;padding:6px 9px;border-top:1px solid #edf1f6;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px}
.serial-batch-list>div:first-child{border-top:0}
.serial-batch-list>div>span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e9f7f1;color:#248866;font-size:8px;font-weight:700}
.serial-batch-list code{overflow:hidden;text-overflow:ellipsis;color:#39475c;font-size:9px}
.serial-batch-list button{border:0;background:transparent;color:#b24c53;font-size:8px;padding:4px 5px}

/* Multiple suppliers on one product. */
.supplier-picker{min-width:0;margin:0;padding:0;border:0;display:grid;gap:7px;color:#505b6c}
.supplier-picker legend{padding:0;font-size:10px;font-weight:600}
.supplier-picker>div{max-height:112px;overflow:auto;padding:7px;border:1px solid #dfe4ea;border-radius:7px;background:#fff;display:grid;gap:3px}
.supplier-picker>div:focus-within{border-color:#7ea6ef;box-shadow:0 0 0 3px #2867e514}
.supplier-picker label{min-height:27px;padding:4px 6px!important;border-radius:5px;display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;font-size:9px!important;cursor:pointer}
.supplier-picker label:hover{background:#f3f7fd}
.supplier-picker input{width:15px!important;height:15px!important;flex:none;margin:0;padding:0!important;box-shadow:none!important}
.supplier-picker small{font-size:8px;color:#929ba9}

.brand-logo {
    display: block;
    width: 22px;
    height: 22px;
    object-fit: contain;
}
