:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203449;background:#f4f6f9;font-synthesis:none;--blue:#174d80;--navy:#102e4d;--line:#e4eaf0;--muted:#718196;--green:#268269}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--blue)}button:focus-visible,a:focus-visible{outline:3px solid #65abdf;outline-offset:3px}button{border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;padding:11px 17px;font-size:13px;font-weight:650;background:#fff;border:1px solid #dbe3ec;color:#344c63;white-space:nowrap}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:#103f6c}.btn.quiet{background:transparent;border-color:transparent}.btn.danger{color:#ae3e40;background:#fff6f6}.btn.small{padding:8px 11px;font-size:12px}.icon{width:18px;height:18px;display:inline-block;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.boot{height:100dvh;display:grid;place-content:center;text-align:center;font-size:40px;font-weight:850;color:var(--blue)}.boot span{font-size:13px;letter-spacing:4px}.boot p{font-size:14px;font-weight:400;color:var(--muted)}.login{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-brand{background:var(--navy);color:#fff;padding:9vw 7vw;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:550px;height:550px;border:1px solid #ffffff12;border-radius:50%;right:-230px;bottom:-190px;box-shadow:0 0 0 80px #ffffff03,0 0 0 160px #ffffff03;pointer-events:none}.wordmark{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-1px;font-size:24px}.mark{width:40px;height:40px;background:#fff;border-radius:9px;color:var(--blue);font-size:15px;font-weight:900;display:grid;place-items:center;letter-spacing:-1px}.login-brand h1{font-size:clamp(30px,3.4vw,50px);line-height:1.14;font-weight:650;letter-spacing:-1.7px;max-width:470px;margin-top:80px}.login-brand p{font-size:15px;line-height:1.8;color:#a9bed1;max-width:380px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:750;color:#92abc3}.login-form{display:flex;align-items:center;justify-content:center;padding:45px}.login-card{width:100%;max-width:365px}.login-card h2{font-size:29px;letter-spacing:-.9px;margin:10px 0}.login-card>p{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 32px}.login-card .btn{width:100%;margin-top:12px}.login-note{margin-top:27px!important;padding-top:22px;border-top:1px solid var(--line);font-size:12px!important}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;min-width:0}.field label{font-size:12px;font-weight:650;color:#4a5e73}.field input,.field select,.field textarea,.filter{width:100%;border:1px solid #dbe3ec;border-radius:7px;padding:11px 12px;background:#fff;color:#233a50;font-size:13px;outline:none}.field input:focus,.field select:focus,.field textarea:focus,.filter:focus{border-color:#4b8ac4;box-shadow:0 0 0 3px #4386ba15}.field textarea{min-height:115px;resize:vertical;line-height:1.6}.field small{font-size:11px;color:var(--muted);line-height:1.6}.error{color:#a93939;background:#fff0f0;padding:12px;border-radius:6px;font-size:13px;line-height:1.6}.layout{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--navy);color:#afc0d1;position:sticky;top:0;height:100dvh;padding:30px 18px 18px;display:flex;flex-direction:column}.sidebar .wordmark{color:#fff;padding:0 9px;font-size:21px}.sidebar .mark{width:35px;height:35px;font-size:13px}.brand-sub{font-size:9px;letter-spacing:3px;font-weight:600;color:#87a2bb;padding:10px 57px 40px}.nav-label{font-size:9px;letter-spacing:1.6px;color:#748fa8;margin:5px 14px 13px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;color:#b6c9db;font-size:13px;background:transparent;text-align:left;padding:12px 14px;border-radius:7px;margin:3px 0}.nav-item.active{background:#ffffff10;color:#fff;box-shadow:inset 3px 0 0 #76b2dd}.nav-item:hover{background:#ffffff0b}.nav-item span:last-child:not(:nth-child(2)){margin-left:auto;font-size:10px;padding:2px 5px;background:#ffffff0a;border-radius:4px}.side-bottom{margin-top:auto}.side-card{border:1px solid #ffffff13;border-radius:9px;padding:15px;margin:20px 4px;font-size:11px;line-height:1.8;color:#9db3c7}.live-dot{width:6px;height:6px;border-radius:50%;background:#71c4a4;display:inline-block;margin-right:6px}.side-bottom .nav-item{font-size:12px}.main{min-width:0}.topbar{height:79px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;gap:15px}.breadcrumbs{font-size:12px;color:#8795a5;display:flex;align-items:center;gap:12px}.breadcrumbs strong{color:#41576b;font-weight:550}.top-tools{display:flex;align-items:center;gap:16px}.environment{font-size:10px;font-weight:650;letter-spacing:.4px;color:#467b67;background:#edf7f1;padding:6px 9px;border-radius:5px}.avatar{width:33px;height:33px;border-radius:50%;background:#eaf0f6;color:#2a557c;display:grid;place-items:center;font-size:11px;font-weight:750}.content{padding:35px 38px 55px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-head h1{font-size:27px;font-weight:700;letter-spacing:-.9px;margin:0 0 8px}.page-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.head-actions{display:flex;gap:9px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:29px}.stat{border:1px solid var(--line);border-radius:10px;background:#fff;padding:20px 22px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.stat-top .icon{color:#4d759b;background:#f0f5fa;padding:6px;box-sizing:content-box;border-radius:7px}.stat strong{font-size:30px;display:block;letter-spacing:-1px;margin:10px 0 5px;font-weight:650}.stat small{font-size:10px;color:var(--muted)}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-head{padding:21px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head h2{font-size:14px;margin:0;font-weight:650}.panel-head p{font-size:11px;color:var(--muted);margin:6px 0 0}.count{background:#edf2f7;color:#65809b;border-radius:5px;font-size:10px;padding:3px 7px;margin-left:7px}.filters{padding:18px 23px;display:flex;gap:10px;border-bottom:1px solid var(--line)}.search-wrap{position:relative;flex:1;min-width:140px}.search-wrap .icon{position:absolute;left:12px;top:11px;color:#8696a6}.search-wrap input{padding-left:39px;background:#f8fafc}.filters select{max-width:200px;font-size:12px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}thead{background:#fafbfd}th{color:#8190a0;text-transform:uppercase;font-size:9px;letter-spacing:.9px;font-weight:650;padding:14px 23px;border-bottom:1px solid var(--line)}td{padding:14px 23px;border-bottom:1px solid #eff2f6;font-size:12px;color:#697b8d}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfe}.product-cell{display:flex;align-items:center;gap:13px;min-width:210px}.thumb{width:43px;height:48px;object-fit:contain;background:#fff;border:1px solid #eef1f5;border-radius:6px;flex-shrink:0}.placeholder{display:grid;place-items:center;background:#f3f6f9;color:#9aabbc}.product-cell strong{font-size:12px;color:#294057;font-weight:650;display:block}.product-cell small{font-size:10px;color:#95a1af;display:block;margin-top:5px}.category-cell{max-width:210px;overflow:hidden;text-overflow:ellipsis;font-size:11px}.pill{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:550;padding:5px 8px;background:#edf7f1;color:#388063;border-radius:5px}.pill.off{background:#f0f2f5;color:#7a8593}.pill .live-dot{width:4px;height:4px;margin:0;background:currentColor}.star{color:#d2a44b;font-size:15px;margin-left:7px}.row-action{padding:7px;border-radius:5px;color:#68839b;background:transparent}.row-action:hover{background:#ecf2f8;color:#174d80}.table-footer{padding:15px 23px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#8c99a7;font-size:10px}.empty{text-align:center;padding:65px 20px;color:var(--muted);font-size:13px}.empty .icon{width:34px;height:34px;color:#a5b9cc;margin-bottom:10px}.empty h3{color:#3f5870;font-size:17px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-section{padding:23px}.dashboard-section h3{font-size:13px;margin:0 0 20px}.category-row{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;padding:12px 0;border-bottom:1px solid #f0f3f6}.category-row:last-child{border:0}.category-row strong{font-weight:600;color:#385876}.progress{height:4px;background:#eff3f7;border-radius:3px;margin-top:6px;width:100%;max-width:260px}.progress span{display:block;height:100%;background:#6993b9;border-radius:3px}.quick{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);background:transparent;text-align:left;width:100%;color:#37526d}.quick:last-child{border-bottom:0}.quick>.icon{padding:10px;box-sizing:content-box;background:#eef4fa;border-radius:8px}.quick span{flex:1}.quick strong{font-size:12px;font-weight:600}.quick p{font-size:11px;color:var(--muted);margin:5px 0 0}.notice{font-size:12px;background:#edf4fb;color:#55728e;border:1px solid #dce8f3;padding:14px 17px;border-radius:8px;margin:0 0 23px;line-height:1.7}.drawer-backdrop{position:fixed;inset:0;background:#12283d66;z-index:20;display:flex;justify-content:flex-end}.drawer{background:#f7f9fc;width:min(840px,100%);height:100dvh;display:flex;flex-direction:column;box-shadow:-15px 0 80px #08213d20}.drawer-head{background:#fff;padding:23px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.drawer-head h2{font-size:20px;letter-spacing:-.4px;margin:0 0 6px}.drawer-head p{font-size:11px;color:var(--muted);margin:0}.drawer-body{overflow:auto;padding:23px 28px;flex:1}.drawer-footer{padding:16px 28px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:10px}.drawer-footer small{margin-right:auto;font-size:10px;color:var(--muted)}.form-section{padding:23px;background:#fff;border:1px solid var(--line);border-radius:9px;margin-bottom:18px}.form-section h3{font-size:13px;font-weight:650;margin:0 0 23px;display:flex;align-items:center;gap:8px}.form-section h3 .icon{color:#7e96ac;width:16px;height:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.full{grid-column:1/-1}.checks{display:flex;gap:24px;flex-wrap:wrap}.check{display:flex;align-items:center;gap:9px;font-size:12px;color:#50677d;cursor:pointer}.check input{accent-color:var(--blue);width:16px;height:16px}.upload-row{display:flex;gap:18px;align-items:flex-start}.image-preview{width:100px;height:110px;border:1px solid var(--line);border-radius:8px;object-fit:contain;background:#fff}.upload-controls{flex:1;min-width:0}.upload-controls .field{margin-bottom:10px}.file-label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.upload-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.related-row{border:1px solid var(--line);border-radius:8px;padding:15px;margin:12px 0;background:#fbfcfe}.related-row .form-grid{gap:0 12px}.related-row .field{margin-bottom:12px}.related-actions{display:flex;justify-content:flex-end;gap:8px}.offline-bar{background:#fff3d9;color:#8f6b25;padding:10px;text-align:center;font-size:12px}.mobile-menu{display:none}.mobile-close{display:none}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(100px);background:#173e34;color:white;padding:14px 22px;border-radius:9px;box-shadow:0 7px 35px #112c3b33;font-size:13px;z-index:100;transition:transform .2s;max-width:90vw;line-height:1.5}#toast.show{transform:translateX(-50%) translateY(0)}#toast.bad{background:#913e40}.connection{display:flex;align-items:center;gap:6px;font-size:10px;color:#7890a6}.connection .live-dot{background:#399675}.section-note{font-size:11px;color:var(--muted);line-height:1.7;margin:-10px 0 15px}.pwd-wrap{display:flex;gap:7px}.pwd-wrap input{min-width:0}.login-label{font-size:10px;letter-spacing:2px;color:#4d7ca4;text-transform:uppercase;font-weight:700;margin-bottom:20px}.forgot-hint{font-size:11px;color:#8292a4;line-height:1.6;margin:12px 0}.busy{pointer-events:none;opacity:.65}body.modal-open{overflow:hidden}
@media(min-width:1600px){.content{padding-top:45px}.stats{gap:23px}.stat{padding:25px}}
@media(max-width:1150px){.layout{grid-template-columns:200px 1fr}.sidebar{padding-left:12px;padding-right:12px}.content{padding:28px 24px}.topbar{padding:0 24px}.stats{gap:10px}.stat{padding:16px}.environment{display:none}.filters{flex-wrap:wrap}.filters select{max-width:170px}th,td{padding-left:17px;padding-right:17px}}
@media(max-width:760px){.login{grid-template-columns:1fr}.login-brand{padding:26px 28px 35px;min-height:240px}.login-brand h1{margin:35px 0 12px;font-size:31px;max-width:330px}.login-brand p,.login-brand>.eyebrow{display:none}.login-form{padding:35px 28px}.layout{display:block}.sidebar{position:fixed;left:-240px;top:0;bottom:0;width:232px;z-index:15;transition:left .2s}.sidebar.open{left:0;box-shadow:0 0 0 100vmax #102d4d66}.mobile-close{display:block;position:absolute;right:12px;top:7px;background:none;color:#fff;font-size:22px}.mobile-menu{display:inline-flex}.topbar{height:65px;padding:0 18px}.breadcrumbs>span:first-child,.breadcrumbs>span:nth-child(2){display:none}.content{padding:25px 17px 40px}.page-head{align-items:flex-start;gap:10px}.page-head h1{font-size:24px}.head-actions{flex-direction:column}.head-actions .btn{padding:9px 12px;font-size:11px}.head-actions .btn:not(.primary){display:none}.stats{grid-template-columns:1fr 1fr;gap:11px}.stat strong{font-size:27px}.grid2{grid-template-columns:1fr}.filters{padding:14px;gap:8px}.search-wrap{flex-basis:100%}.filters select{max-width:none;flex:1;width:40%;min-width:100px}.panel-head{padding:18px 16px}.table-footer{padding:14px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.drawer-head{padding:19px}.drawer-body{padding:16px}.form-section{padding:18px}.drawer-footer{padding:14px 17px}.drawer-footer small{display:none}.top-tools{gap:9px}.top-tools>.btn{padding:6px}.connection{display:none}.checks{gap:17px}.upload-row{flex-direction:column}.image-preview{width:80px;height:85px}.upload-controls{width:100%}}

[hidden]{display:none!important}.install-dialog{width:min(480px,calc(100% - 32px));border:1px solid var(--line);border-radius:13px;padding:28px;color:#203449;box-shadow:0 15px 70px #102e4d33}.install-dialog::backdrop{background:#102e4d66}.install-dialog h2{font-size:21px;margin:0 0 15px}.install-dialog p,.install-dialog li{font-size:13px;line-height:1.8;color:#526a80}.install-dialog ol{padding-left:20px}.install-dialog footer{display:flex;justify-content:flex-end;margin-top:22px}
.nav-item[data-nav="equivalences"]{font-size:12px;line-height:1.5}
.eq-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto}
.eq-tab{display:flex;align-items:center;gap:6px;background:transparent;padding:13px 15px 15px;border-bottom:2px solid transparent;color:#718196;font-size:12px;font-weight:650;white-space:nowrap}
.eq-tab.active{color:var(--blue);border-bottom-color:var(--blue)}
.eq-tab:hover{background:#eaf0f6}.eq-actions{display:flex;align-items:center;gap:6px}.eq-delete{color:#ad5757}
.eq-name{font-weight:600;color:#294057;white-space:normal;min-width:160px;max-width:300px;line-height:1.6}
.eq-secondary{display:block;font-size:10px;color:#8193a4;font-weight:400;margin-top:3px}
.eq-notes{white-space:normal;min-width:150px;max-width:300px;line-height:1.7;overflow-wrap:anywhere}
.eq-error{margin-bottom:20px}.eq-error .btn{margin-left:8px}.eq-drawer{max-width:700px}
@media(max-width:760px){.eq-tab{padding:11px;font-size:11px}.eq-tabs{margin-bottom:17px}.eq-name{min-width:150px}.eq-drawer{max-width:100%}}

.brand-logo{width:42px;height:46px;object-fit:contain;background:white;border-radius:7px;padding:5px;flex-shrink:0}.sidebar .brand-logo{width:36px;height:40px;padding:4px}.boot-logo{width:84px;height:92px;object-fit:contain;justify-self:center;margin-bottom:15px}.boot span{display:block;letter-spacing:3px}.boot p{margin-top:17px}
