:root{--bg:#f4f6f8;--surface:#fff;--surface-2:#f8fafb;--ink:#18212f;--muted:#667085;--line:#dce1e7;--dark:#18212b;--green:#73c900;--green-dark:#4d9200;--cyan:#138cb7;--orange:#e58b22;--red:#cf3b3b;--shadow:0 12px 30px rgba(16,24,40,.12);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-width:320px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef1f4}.login-panel{width:min(430px,100%);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:36px}.login-panel h1{font-size:26px;margin:34px 0 8px}.login-panel p{color:var(--muted);margin:0 0 26px}.login-panel label{display:grid;gap:8px;font-weight:600;margin:16px 0}.login-panel input{height:48px}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:800;color:#121a26;white-space:nowrap}.brand>span:last-child>span{color:var(--green)}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:8px;background:var(--dark);color:#fff;font-size:28px;border:2px solid #263240;box-shadow:inset 0 0 0 3px var(--dark)}.brand-mark:after{content:"";width:10px;height:4px;background:var(--green);position:absolute;transform:translate(15px,-12px) rotate(-42deg)}.brand-login{font-size:34px}.brand-login .brand-mark{width:58px;height:58px;font-size:38px}.app-shell{display:grid;grid-template:64px 1fr/230px 1fr;min-height:100vh}.app-header{grid-column:1/-1;display:flex;align-items:center;gap:24px;background:var(--surface);border-bottom:1px solid var(--line);padding:0 22px;position:sticky;top:0;z-index:30}.header-context{margin-left:auto;text-align:right;display:grid;font-size:14px}.header-context span{color:var(--muted);font-size:12px}.sidebar{background:var(--dark);color:#fff;padding:18px 12px;display:flex;flex-direction:column;min-height:calc(100vh - 64px);position:sticky;top:64px}.sidebar nav{display:grid;gap:7px}.nav-item{height:52px;border:0;background:transparent;color:#dce4ec;text-align:left;padding:0 15px;display:flex;align-items:center;gap:12px;font-weight:700;border-radius:6px}.nav-item span{font-size:24px;color:var(--green)}.nav-item:hover,.nav-item.active{background:#283746;color:#fff}.sidebar-note{margin-top:auto;padding:18px;color:#9eabb8;line-height:1.45}.workspace{min-width:0;padding:18px}.view{display:none}.view.active{display:block}.view-toolbar,.filter-band,.action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.view-toolbar{margin-bottom:14px}.segmented{display:inline-flex;border:1px solid var(--line);background:var(--surface);padding:3px}.segmented button{border:0;background:transparent;padding:9px 20px}.segmented .active{background:var(--dark);color:#fff}.directory-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.category-panel,.content-panel,.chart-panel,.data-section{background:var(--surface);border:1px solid var(--line)}.category-panel{padding:14px;min-height:calc(100vh - 150px)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.panel-title span{font-size:12px;color:var(--muted)}.category{display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:4px;margin:2px 0}.category.child{padding-left:25px}.category:hover,.category.active{background:#eef6e5;color:#326900}.content-panel{min-width:0}.content-panel.standalone{min-height:calc(100vh - 150px)}.action-row{padding:12px;border-bottom:1px solid var(--line)}.search-box{display:flex;align-items:center;border:1px solid #bfc7d1;background:#fff;min-width:260px;flex:1}.search-box span{font-size:25px;padding:0 9px;color:var(--cyan)}.search-box input{border:0;outline:0;height:40px;width:100%;background:transparent}.btn,.icon-btn{border:1px solid #c4cbd3;background:#fff;min-height:40px;padding:0 16px;font-weight:650;border-radius:4px}.btn:hover,.icon-btn:hover{border-color:#91a1b2;background:#f7f9fa}.btn.primary{background:var(--cyan);color:#fff;border-color:var(--cyan)}.btn.primary:hover{background:#0a769b}.btn.quiet{min-height:36px}.btn.wide{width:100%;margin-top:10px}.icon-btn{min-width:40px;padding:0 10px;font-size:20px}.menu-button{display:none}input,select,textarea{border:1px solid #bdc6cf;background:#fff;border-radius:3px;padding:9px 10px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(19,140,183,.12)}select{height:42px}.check{display:flex!important;align-items:center;gap:7px;white-space:nowrap}.check input{width:17px;height:17px}.table-wrap{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;min-width:740px}th,td{padding:10px 11px;border-bottom:1px solid #e6e9ed;text-align:left;white-space:nowrap}th{background:#f6f7f8;color:#344054;font-size:13px;position:sticky;top:0;z-index:2}tbody tr{cursor:pointer}tbody tr:nth-child(even){background:#fafbfc}tbody tr:hover{background:#eef7fa}tbody tr.selected{background:#d8f0fa}.num{text-align:right}.empty-cell{text-align:center;color:var(--muted);padding:44px}.document-tabs{display:flex;overflow-x:auto;background:var(--surface);border:1px solid var(--line);margin-bottom:12px}.document-tabs button{border:0;border-right:1px solid var(--line);background:transparent;padding:13px 17px;white-space:nowrap}.document-tabs button.active{color:#255b00;border-bottom:3px solid var(--green);font-weight:700}.filter-band{background:var(--surface);border:1px solid var(--line);padding:12px;margin-bottom:12px}.filter-band label{display:flex;align-items:center;gap:7px;color:var(--muted)}.split-view{display:grid;grid-template-rows:minmax(260px,1fr) minmax(180px,.55fr);gap:12px;min-height:calc(100vh - 205px)}.split-view>.table-wrap,.details-band{background:var(--surface);border:1px solid var(--line)}.details-band h3{font-size:15px;margin:0;padding:10px 12px;border-bottom:1px solid var(--line)}.sticky-filter{position:sticky;top:76px;z-index:20}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:12px}.kpi-grid article{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--green);padding:16px}.kpi-grid span{display:block;color:var(--muted);font-size:13px}.kpi-grid strong{display:block;font-size:24px;margin-top:8px}.charts-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:12px}.chart-panel{min-height:320px}.chart-panel canvas{padding:12px;max-height:270px}.data-section{margin-top:12px}.toast{position:fixed;right:20px;bottom:20px;z-index:100;background:#17212b;color:#fff;padding:13px 18px;box-shadow:var(--shadow);max-width:min(420px,calc(100vw - 40px));border-left:4px solid var(--green)}.toast.error{border-color:var(--red)}.form-error{background:#fff0f0;color:#a52020;padding:10px;border:1px solid #efc5c5}.modal{border:0;padding:0;width:min(850px,calc(100vw - 32px));max-height:calc(100vh - 32px);box-shadow:var(--shadow)}.modal::backdrop{background:rgba(19,29,39,.58)}.modal.small{width:min(520px,calc(100vw - 32px))}.modal form{display:flex;flex-direction:column;max-height:calc(100vh - 32px)}.modal-head{display:flex;align-items:start;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:21px}.modal-head p{margin:4px 0 0;color:var(--muted)}.form-grid{padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;overflow:auto}.product-form{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label{display:grid;gap:6px;font-size:13px;font-weight:650}.form-grid .check{align-self:end;min-height:42px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.form-grid textarea{min-height:90px;resize:vertical}fieldset{border:1px solid var(--line);padding:12px}legend{font-weight:700}.warehouse-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.warehouse-price{display:grid;grid-template-columns:1fr 130px;align-items:center;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line);background:var(--surface-2)}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.charts-grid{grid-template-columns:1fr 1fr}.wide-chart{grid-column:1/-1}.product-form{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3{grid-column:span 2}}
@media(max-width:760px){:root{font-size:14px}.app-shell{display:block}.app-header{height:58px;padding:0 12px;gap:10px}.app-header .brand{font-size:20px}.app-header .brand-mark{width:36px;height:36px}.header-context{display:none}.menu-button{display:block}.sidebar{position:fixed;z-index:40;top:58px;left:0;bottom:0;width:250px;transform:translateX(-100%);transition:transform .2s;min-height:0}.sidebar.open{transform:none}.workspace{padding:10px}.directory-layout{grid-template-columns:1fr}.category-panel{min-height:0}.category-panel #categoryList{display:flex;overflow:auto}.category{width:auto;white-space:nowrap}.category.child{padding-left:10px}.action-row{align-items:stretch}.search-box{min-width:100%}.action-row select{flex:1}.action-row .btn{flex:1}.filter-band label{width:calc(50% - 6px);display:grid}.filter-band label select,.filter-band label input{width:100%}.filter-band .btn{width:100%}.kpi-grid{grid-template-columns:1fr 1fr}.charts-grid{grid-template-columns:1fr}.wide-chart{grid-column:auto}.split-view{min-height:0;grid-template-rows:auto auto}.split-view>.table-wrap{max-height:55vh}.product-form,.form-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.warehouse-prices{grid-template-columns:1fr}.modal{width:100vw;max-height:100vh;height:100vh}.modal form{max-height:100vh;height:100%}.modal-actions{position:sticky;bottom:0}.login-panel{padding:25px}.brand-login{font-size:29px}}
@media(max-width:430px){.kpi-grid{grid-template-columns:1fr}.app-header .brand>span:last-child{display:none}.logoutButton{padding:0 10px}.document-tabs button{padding:11px 13px}.warehouse-price{grid-template-columns:1fr 100px}}
.brand-logo{display:block;width:174px;height:48px;object-fit:contain;object-position:left center}.brand-logo-login{width:min(330px,100%);height:auto;max-height:82px}.panel-title .category-actions{display:flex;gap:6px}.panel-title .category-actions .icon-btn{font-size:18px;color:var(--ink)}
@media(max-width:760px){.app-header .brand-logo{width:145px;height:42px}}
@media(max-width:430px){.app-header .brand-logo{width:44px;object-fit:cover;object-position:left}}
