:root{--red:#e20d18;--red-dark:#b70710;--ink:#181a1f;--muted:#6b7280;--line:#e8e9ed;--soft:#f5f6f8;--green:#0a9b62;--green-dark:#08784d;--amber:#f6b800;--shadow:0 16px 48px #17181d1a}*{box-sizing:border-box}html,body{background:var(--soft);min-height:100%;color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.center-screen,.login-page{place-items:center;min-height:100vh;display:grid}.center-screen{color:var(--muted);align-content:center;gap:12px}.loader{border:3px solid #ececf0;border-top-color:var(--red);border-radius:50%;width:34px;height:34px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:radial-gradient(circle at 15% 10%,#e20d182e,#0000 35%),linear-gradient(135deg,#17191e,#08090b);padding:28px}.login-card{background:#fffffffa;border-radius:26px;width:min(460px,100%);padding:34px;box-shadow:0 28px 80px #0006}.login-logo{justify-content:center;align-items:center;height:142px;display:flex;overflow:hidden}.login-logo img{object-fit:contain;width:250px;height:auto}.login-copy{text-align:center}.eyebrow{color:var(--red);letter-spacing:.14em;font-size:11px;font-weight:800}.login-copy h1{margin:8px 0;font-size:29px}.login-copy p{color:var(--muted);margin:0 0 24px}.login-form{gap:10px;display:grid}label{color:#363942;gap:7px;font-size:13px;font-weight:700;display:grid}input,select{min-height:44px;color:var(--ink);background:#fff;border:1px solid #dfe1e7;border-radius:10px;outline:none;padding:0 12px}input:focus,select:focus{border-color:var(--red);box-shadow:0 0 0 3px #e20d1817}.login-form input{min-height:50px}.login-foot{text-align:center;color:#8b909b;margin:24px 0 0;font-size:11px}.primary,.stock-in,.stock-out,.ghost,.logout,.scan-input button,.row-actions button,.pagination button{border:0;border-radius:9px;min-height:42px;padding:0 15px;font-weight:700;transition:all .15s}.primary{color:#fff;background:var(--red)}.primary:hover{background:var(--red-dark);transform:translateY(-1px)}.wide{width:100%;margin-top:4px}.ghost{color:#4b505b;background:#eef0f3}.ghost:hover{background:#e2e4e9}.stock-in{color:#fff;background:var(--green)}.stock-in:hover{background:var(--green-dark)}.stock-out{color:#fff;background:#d31320}.stock-out:hover{background:#a90812}.button-icon{margin-right:4px;font-size:19px;line-height:0}.alert{border-radius:9px;padding:11px 13px;font-size:13px;line-height:1.45}.alert.error{color:#9b1019;background:#fff0f1;border:1px solid #f2b7bc}.alert button{color:inherit;background:0 0;border:0;margin-left:8px;font-weight:700;text-decoration:underline}.with-margin{margin:16px 20px 0}.app-shell{min-height:100vh}.sidebar{color:#fff;z-index:20;background:linear-gradient(#17191e 0%,#0d0e11 100%);flex-direction:column;width:238px;padding:19px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff17;place-items:center;height:115px;display:grid;overflow:hidden}.brand img{object-fit:contain;width:188px;height:auto}.side-title{letter-spacing:.14em;color:#777d89;margin:25px 12px 9px;font-size:10px;font-weight:800}.nav-item{color:#cdd0d7;border-radius:10px;align-items:center;gap:12px;min-height:47px;padding:0 14px;display:flex}.nav-item.active{color:#fff;background:var(--red);box-shadow:0 8px 22px #e20d1847}.nav-item span{font-size:21px}.side-note{color:#969ba5;border-top:1px solid #ffffff14;align-items:center;gap:8px;margin-top:auto;padding:14px 10px;font-size:11px;display:flex}.status-dot{background:#25cf82;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #25cf821f}.logout{text-align:left;color:#d4d6db;background:#ffffff0f;width:100%;margin-top:6px}.logout:hover{color:#fff;background:#ffffff1c}.main-content{min-height:100vh;margin-left:238px;padding:0 28px 24px}.topbar{justify-content:space-between;align-items:center;height:86px;display:flex}.topbar h1{margin:3px 0 0;font-size:27px}.admin-chip{align-items:center;gap:10px;display:flex}.avatar{color:#fff;background:var(--red);border-radius:11px;place-items:center;width:39px;height:39px;font-weight:800;display:grid}.admin-chip div{gap:2px;display:grid}.admin-chip small{color:var(--muted);font-size:11px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:15px;align-content:center;min-height:118px;padding:20px;display:grid;box-shadow:0 5px 20px #181a1f09}.stat-card span{color:var(--muted);font-size:12px;font-weight:700}.stat-card strong{margin:4px 0 1px;font-size:29px}.stat-card small{color:#a0a4ad}.stat-card.warning{background:#fffdf4;border-color:#f0d98d}.stat-card.warning strong{color:#b47c00}.panel{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px #181a1f0b}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.panel-heading h2{margin:0 0 4px;font-size:19px}.panel-heading p{color:var(--muted);margin:0;font-size:12px}.action-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.action-row button{white-space:nowrap}.filters{border-bottom:1px solid var(--line);background:#fafafb;grid-template-columns:minmax(280px,1fr) 210px 170px auto;gap:10px;padding:14px 20px;display:grid}.search-box{display:block;position:relative}.search-box span{color:#9aa0aa;font-size:21px;position:absolute;top:10px;left:13px}.search-box input{width:100%;padding-left:40px}.filters select{width:100%}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:1080px}th{color:#777d88;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;letter-spacing:.05em;text-transform:uppercase;background:#fff;padding:12px 14px;font-size:10px}td{vertical-align:middle;border-bottom:1px solid #eff0f2;padding:13px 14px;font-size:12px}tbody tr:hover{background:#fcfcfd}td small{color:#9499a3;margin-top:4px;display:block}.stock-code{color:#15171b;font-size:14px;display:block}.type-pill{color:#676c76;text-transform:uppercase;background:#f0f1f3;border-radius:999px;margin-top:5px;padding:3px 7px;font-size:9px;font-weight:800;display:inline-block}.product-name{max-width:390px;line-height:1.35;display:block}.measurements{white-space:nowrap;text-overflow:ellipsis;max-width:350px;overflow:hidden}.rack-badge{color:#25282f;background:#fff;border:1px solid #d9dbe0;border-radius:8px;min-width:70px;min-height:33px;padding:0 9px;font-weight:800}.rack-badge:hover{border-color:var(--red);color:var(--red)}.rack-badge.missing{color:#a96d00;background:#fff9e6;border-color:#efd27c}.stock-number{text-align:center;font-size:14px;font-weight:700}.total-stock,.zero-stock{border-radius:8px;place-items:center;min-width:35px;height:30px;display:inline-grid}.total-stock{color:#08734c;background:#e9f8f2}.zero-stock{color:#a90b14;background:#ffeded}.row-actions{gap:5px;display:flex}.row-actions button{color:#555a64;background:#f0f1f3;min-height:32px;padding:0 8px;font-size:10px}.row-actions button:hover{color:#fff;background:var(--red)}.empty{text-align:center;height:150px;color:var(--muted)}.table-loading{min-height:300px;color:var(--muted);align-content:center;place-items:center;gap:10px;display:grid}.pagination{min-height:60px;color:var(--muted);justify-content:space-between;align-items:center;padding:10px 20px;font-size:12px;display:flex}.pagination div{gap:7px;display:flex}.pagination button{color:#454a54;background:#f0f1f3;min-height:34px}footer{text-align:center;color:#9a9ea7;padding:18px 0 0;font-size:11px}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#0c0d10b3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-backdrop.top-layer{z-index:120}.modal{width:min(720px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow);background:#fff;border-radius:18px;overflow:auto}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:20px 22px 17px;display:flex}.modal-head h2{margin:5px 0 0;font-size:22px}.close{color:#696e78;background:#f1f2f4;border:0;border-radius:9px;width:36px;height:36px;font-size:23px}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:17px 22px 21px;display:flex}.modal-actions button{min-width:128px}.stock-modal{border-top:5px solid var(--green)}.stock-modal.out{border-top-color:var(--red)}.scan-form{border-bottom:1px solid var(--line);background:#fafafb;padding:20px 22px}.scan-input{background:#fff;border:2px solid #dfe1e5;border-radius:12px;grid-template-columns:42px 1fr auto;align-items:center;margin-top:8px;display:grid;overflow:hidden}.scan-input:focus-within{border-color:var(--red)}.scan-input>span{place-items:center;font-size:22px;display:grid}.scan-input input{box-shadow:none;border:0;min-width:0}.scan-input button{color:#fff;background:#25282e;margin:5px}.scan-form small{color:var(--muted);margin-top:8px;display:block}.stock-alert{justify-content:space-between;align-items:center;margin:16px 22px 0;display:flex}.found-card{background:#fff;border:1px solid #e3e4e8;border-radius:13px;grid-template-columns:1fr auto;gap:16px;margin:18px 22px;padding:18px;display:grid}.found-main h3{margin:7px 0 5px;font-size:17px;line-height:1.35}.found-main>strong{color:var(--red);font-size:15px}.found-rack{color:#fff;background:#202228;border-radius:12px;align-content:center;place-items:center;min-width:130px;padding:12px;display:grid}.found-rack small{letter-spacing:.15em;color:#aaaeb7;font-size:9px}.found-rack strong{margin:3px 0 7px;font-size:20px}.found-rack button{color:#fff;background:0 0;border:0;font-size:10px;text-decoration:underline}.stock-summary{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(3,1fr);padding-top:12px;display:grid}.stock-summary span{text-align:center;color:var(--muted);font-size:11px}.stock-summary strong{color:var(--ink);margin-left:5px;font-size:16px}.stock-controls{grid-template-columns:1fr 120px;gap:12px;padding:0 22px 20px;display:grid}.stock-controls .note-field{grid-column:1/-1}.product-modal{width:min(790px,100%)}.product-modal form>.form-grid{padding:20px 22px}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.span-2{grid-column:1/-1}.measure-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:0 22px 20px;display:grid}.measure-grid h3{grid-column:1/-1;margin:0 0 2px;font-size:14px}.product-modal .alert{margin:0 22px 15px}.rack-modal{width:min(470px,100%)}.rack-modal>p{color:var(--muted);margin:18px 22px 0;line-height:1.4}.rack-modal form>label{padding:18px 22px 22px}.toast{color:#fff;max-width:min(430px,100vw - 48px);box-shadow:var(--shadow);z-index:200;background:#16191e;border-radius:11px;padding:14px 18px;font-size:13px;font-weight:700;position:fixed;bottom:24px;right:24px}@media (max-width:1180px){.stats-grid{grid-template-columns:repeat(2,1fr)}.panel-heading{flex-direction:column;align-items:flex-start}.action-row{justify-content:flex-start}.filters{grid-template-columns:1fr 1fr}.search-box{grid-column:1/-1}}@media (max-width:760px){.sidebar{flex-direction:row;align-items:center;width:100%;height:72px;padding:6px 15px;position:static}.brand{border:0;width:120px;height:60px}.brand img{width:105px}.side-title,.side-note{display:none}.sidebar nav{margin-left:auto}.nav-item{min-height:40px;padding:0 12px}.logout{width:auto;min-height:40px;margin:0 0 0 8px;font-size:0}.logout span{font-size:18px}.main-content{margin:0;padding:0 14px 20px}.topbar{height:78px}.admin-chip div{display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:96px;padding:14px}.stat-card strong{font-size:24px}.action-row{grid-template-columns:1fr 1fr;width:100%;display:grid}.action-row .primary{grid-column:1/-1}.filters{grid-template-columns:1fr}.search-box{grid-column:auto}.pagination{flex-direction:column;align-items:flex-start;gap:9px}.found-card{grid-template-columns:1fr}.found-rack{min-height:100px}.stock-summary{grid-column:auto}.form-grid,.measure-grid{grid-template-columns:1fr}.span-2,.measure-grid h3{grid-column:auto}.scan-input{grid-template-columns:35px 1fr}.scan-input button{grid-column:1/-1;margin-top:0}.modal-backdrop{padding:10px}.modal{max-height:calc(100vh - 20px)}}
