:root{--ink:#212529;--muted:#6c757d;--accent:#5f368d;--accent-dark:#4c2b71;--accent-soft:#eee7f5;--line:#d2d2d2;--paper:#f8f9fa}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:14px "Segoe UI",Arial,sans-serif}
h1,h2,.brand{font-family:"Segoe UI",Arial,sans-serif}
h1{font-size:32px;letter-spacing:-1px;margin:6px 0 12px}
h2{font-size:19px;margin:0 0 20px}
.shell{display:flex;min-height:100vh}
.sigesvi-sidebar{position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;width:280px;padding:28px 16px;background:#fff;border-right:1px solid var(--line);box-shadow:2px 0 8px rgba(33,37,41,.06);overflow-y:auto;gap:24px;transition:transform .2s ease}
.brand{padding:0 12px;color:var(--accent);flex-shrink:0}
.brand span{display:block;font-size:12px;color:var(--muted);margin-top:8px}
.brand .dxbl-btn{font-size:29px;font-weight:800}
.sigesvi-navigation{min-width:0;flex-shrink:0}
.sigesvi-menu{width:100%;font-family:"Segoe UI",Arial,sans-serif}
.aside-bottom{padding:18px 12px 0;font-size:10px;line-height:1.9;color:var(--muted);border-top:1px solid var(--line);margin-top:auto}
.sigesvi-main{margin-left:280px;width:calc(100% - 280px);min-width:0;transition:margin-left .2s ease,width .2s ease}
.sigesvi-main > header{min-height:76px;background:var(--accent);color:#fff;display:flex;align-items:center;gap:22px;padding:15px 40px;flex-wrap:wrap;box-shadow:0 2px 8px rgba(33,37,41,.12)}
.sigesvi-main > header .header-title{margin-right:auto;color:#fff;font-weight:600}
.shell.menu-collapsed .sigesvi-sidebar{transform:translateX(-100%)}
.shell.menu-collapsed .sigesvi-main{margin-left:0;width:100%}
.content{padding:34px 40px 60px;width:100%;max-width:none}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--accent);margin:0 0 10px}
.lead{color:var(--muted);font-size:17px;margin-bottom:36px}
.card{padding:25px;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 2px 6px rgba(33,37,41,.08);min-width:0}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.feature{min-height:200px}.feature > span{font-size:10px;color:var(--accent);letter-spacing:1px}.feature h2{margin:24px 0 12px}.feature p{color:var(--muted)}
.toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:22px 0}
.toolbar > label{min-width:180px;flex:1}
.toolbar > label,.line-inputs > label,.card > label{display:block;font-size:13px;color:var(--muted)}
.product-editor{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:16px 18px;padding:4px}
.product-field{display:flex;flex-direction:column;gap:7px;color:var(--muted);min-width:0}
.product-collaborator,.product-description,.product-active{grid-column:1/-1}
.product-class,.product-subclass{grid-column:span 10}
.product-code{grid-column:span 5}
.product-unit{grid-column:span 4}
.product-barcode{grid-column:span 16}
.product-import{display:flex;flex-direction:column;gap:16px;min-width:0}
.import-summary,.import-result{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.import-grid{max-height:54vh}
.import-status{display:inline-block;padding:4px 9px;border-radius:14px;font-size:11px;font-weight:700}
.import-status.valid{background:#d1e7dd;color:#0f5132}
.import-status.invalid{background:#f8d7da;color:#842029}
.export-editor{display:flex;flex-direction:column;gap:16px}
.export-editor > label{display:flex;flex-direction:column;gap:7px;color:var(--muted)}
.inventory-toolbar .inventory-warehouse{flex:1 1 320px;max-width:520px}
.inventory-card{width:100%}
.inventory-grid,.inventory-picker{width:100%;min-width:0}
.grid-actions{display:flex;align-items:center;gap:6px}
.product-image-cell{display:flex;align-items:center;gap:14px;min-width:0}
.product-image-cell img{width:72px;height:60px;object-fit:contain;border:1px solid var(--line);border-radius:4px;background:#fff}
.product-image-cell span{overflow-wrap:anywhere;color:var(--muted);font-size:12px}
.product-image-gallery{display:flex;align-items:center;gap:8px;min-height:64px}
.product-image-gallery img{width:64px;height:56px;object-fit:contain;border:1px solid var(--line);border-radius:4px;background:#fff}
.product-image-gallery span{margin-left:4px;color:var(--muted);font-size:12px;white-space:nowrap}
.product-image-editor{display:flex;flex-direction:column;gap:18px}
.product-image-editor > label{display:flex;flex-direction:column;gap:7px;color:var(--muted)}
.selected-image-product{display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--accent-soft);border-radius:5px}
.selected-image-product span{color:var(--muted);font-size:12px}
.current-product-image{display:flex;flex-direction:column;gap:8px;color:var(--muted)}
.current-product-image img{width:180px;height:150px;object-fit:contain;border:1px solid var(--line);border-radius:4px;background:#fff}
.pending-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px}
.pending-image{display:flex;flex-direction:column;gap:7px;min-width:0;color:var(--muted);font-size:11px}
.pending-image img{width:100%;height:120px;object-fit:contain;border:1px solid var(--line);border-radius:4px;background:#fff}
.pending-image span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.saved-product-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:10px}
.saved-product-image{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:5px}
.saved-product-image img{grid-column:1/-1;width:100%;height:135px;object-fit:contain;background:#fff}
.saved-product-image span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
.qr-report-options{margin-bottom:22px}
.qr-report-options .dxbl-fl{align-items:end}
.qr-generate-button{display:flex;align-items:end}
.qr-generate-button .dxbl-btn{width:100%}
.qr-report-preview{height:calc(100vh - 250px);min-height:680px;padding:0;overflow:hidden}
.qr-report-viewer{width:100%;height:100%;min-height:680px}
.pos{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.8fr);gap:22px}
.search{display:flex;gap:10px}.search > :first-child{flex:1;min-width:0}
.muted{color:var(--muted);font-size:12px;line-height:1.7}
.empty{padding:30px;text-align:center;color:var(--muted)}
.badge{background:var(--accent-soft);color:var(--accent-dark);padding:10px;border-radius:20px;font-size:11px}
.error,.success,.warning{padding:15px 18px;border-radius:8px;line-height:1.6}
.error{background:#f8d7da;color:#842029}.success{background:#d1e7dd;color:#0f5132}.warning{background:#fff3cd;color:#664d03}
.cart-lines{max-height:440px;overflow:auto}.cart-line{padding:16px 0;border-bottom:1px solid var(--line)}
.cart-line > span{display:block;color:var(--muted);font-size:11px;margin:6px 0 13px}
.line-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.between{display:flex;align-items:center;justify-content:space-between}
.totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 0;border-top:1px solid var(--line)}
.totals dd{text-align:right;margin:0}.total{font-size:22px;font-weight:700;padding-top:12px}
.login{max-width:480px;margin:55px auto}.login h1{font-size:29px}.login form{margin-top:30px}.login form > .dxbl-btn{margin-top:20px;width:100%}
.logo{max-width:140px;max-height:90px;object-fit:contain;margin-bottom:18px}
#blazor-error-ui{display:none;position:fixed;bottom:0;background:#ffdfae;width:100%;padding:15px;z-index:10000}
.card > .dxbl-grid{margin-top:18px}
.sigesvi-grid{width:100%!important;max-width:none}
.app-icon{display:inline-block;width:16px;height:16px;background-color:currentColor;-webkit-mask-image:var(--app-icon);mask-image:var(--app-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.grid-action{min-width:34px;width:34px;height:32px;padding:0!important}
.image-delete-action{background:#fff!important;border-color:#dc3545!important;color:#dc3545!important}
.image-delete-action:hover,.image-delete-action:focus{background:#fff1f2!important;border-color:#b02a37!important;color:#b02a37!important}
.icon-add{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 5h2v6h6v2h-6v6h-2v-6H5v-2h6z'/%3E%3C/svg%3E")}
.icon-refresh{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.7 6.3A8 8 0 1 0 20 12h-2a6 6 0 1 1-1.76-4.24L13 11h8V3z'/%3E%3C/svg%3E")}
.icon-edit{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m4 16.5-.5 4 4-.5L19 8.5 15.5 5zM17 3l4 4-1.5 1.5-4-4z'/%3E%3C/svg%3E")}
.icon-delete{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 21a2 2 0 0 1-2-2V6h14v13a2 2 0 0 1-2 2zm2-3h2V9H9zm4 0h2V9h-2zM4 3h5l1-1h4l1 1h5v2H4z'/%3E%3C/svg%3E")}
.icon-deactivate{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2M5.4 7l11.6 11.6A8 8 0 0 1 5.4 7M18.6 17 7 5.4A8 8 0 0 1 18.6 17'/%3E%3C/svg%3E")}
.icon-cancel{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6.4 5 5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6L6.4 19 5 17.6l5.6-5.6L5 6.4z'/%3E%3C/svg%3E")}
.icon-save{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h14l2 2v16H4zm3 2v5h10V5zm1 9v5h8v-5z'/%3E%3C/svg%3E")}
.icon-confirm,.icon-success{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9.2 18.2-5.4-5.4 1.4-1.4 4 4 9.6-9.6 1.4 1.4z'/%3E%3C/svg%3E")}
.icon-error{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 7h2v7h-2zm0 9h2v2h-2zM12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2'/%3E%3C/svg%3E")}
.icon-warning{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2V9h2z'/%3E%3C/svg%3E")}
.icon-search{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3a7 7 0 1 0 4.9 12l5.1 5 1-1-5-5.1A7 7 0 0 0 10 3m0 2a5 5 0 1 1 0 10 5 5 0 0 1 0-10'/%3E%3C/svg%3E")}
.icon-cart{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h2l2.4 10.2A2 2 0 0 0 9.3 15H18a2 2 0 0 0 1.9-1.4L22 7H7l-.5-2H3zm6 14a2 2 0 1 0 0 4 2 2 0 0 0 0-4m9 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4'/%3E%3C/svg%3E")}
.icon-remove{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 11h14v2H5z'/%3E%3C/svg%3E")}
.icon-calendar{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h3v18H4V4h3zm11 8H6v10h12z'/%3E%3C/svg%3E")}
.icon-login{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 4h9v16h-9v-2h7V6h-7zM3 11h9L9 8l1.4-1.4 5.4 5.4-5.4 5.4L9 16l3-3H3z'/%3E%3C/svg%3E")}
.icon-open{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h7l2 2h9v12H3zm2 4v8h14V9z'/%3E%3C/svg%3E")}
.icon-logout{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h9v2H6v12h7v2H4zm11.6 3.6L21 13l-5.4 5.4-1.4-1.4 3-3H9v-2h8.2l-3-3z'/%3E%3C/svg%3E")}
.icon-store{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m4 3-2 6v2a3 3 0 0 0 2 2.8V21h16v-7.2a3 3 0 0 0 2-2.8V9l-2-6zm2 11a3 3 0 0 0 4-1 3 3 0 0 0 4 0 3 3 0 0 0 4 1v5H6z'/%3E%3C/svg%3E")}
.icon-box{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 9 5v10l-9 5-9-5V7zm0 2.3L6.2 7.5 12 10.7l5.8-3.2zM5 9.2v6.6l6 3.3v-6.6zm14 0-6 3.3v6.6l6-3.3z'/%3E%3C/svg%3E")}
.icon-report{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h16v18H4zm4 14h2v-5H8zm4 0h2V7h-2zm4 0h2v-8h-2z'/%3E%3C/svg%3E")}
.icon-qr{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h8v8H3zm2 2v4h4V5zm8-2h8v8h-8zm2 2v4h4V5zM3 13h8v8H3zm2 2v4h4v-4zm8-2h3v3h-3zm5 0h3v5h-2v3h-3v-5h2zm-5 5h3v3h-3z'/%3E%3C/svg%3E")}
.icon-user{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10m0 2c-5 0-9 2.5-9 5.5V22h18v-2.5c0-3-4-5.5-9-5.5'/%3E%3C/svg%3E")}
.icon-import{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 3h2v10l3.5-3.5 1.4 1.4-5.9 5.9-5.9-5.9 1.4-1.4L11 13zM4 19h16v2H4z'/%3E%3C/svg%3E")}
.icon-export{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 4h2v9l3.5-3.5 1.4 1.4-5.9 5.9-5.9-5.9 1.4-1.4L11 13zM4 18h16v3H4z'/%3E%3C/svg%3E")}
.icon-map{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 5 6-3 6 3 6-3v17l-6 3-6-3-6 3zm7-.5v12.8l4 2V6.5zm-5 1.7v12.6l4-2V4.2zm10 .3v12.8l4-2V4.5z'/%3E%3C/svg%3E")}
.icon-menu{--app-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z'/%3E%3C/svg%3E")}
/* Editor, button, grid and popup internals use the DevExpress theme. */
@media(max-width:1150px){.pos,.cards{grid-template-columns:1fr}}
@media(max-width:700px){.shell{display:block}.sigesvi-sidebar{position:static;width:100%;max-height:50vh;padding:20px 16px;border-right:0;border-bottom:1px solid var(--line);gap:16px}.shell.menu-collapsed .sigesvi-sidebar{display:none;transform:none}.sigesvi-main{margin-left:0;width:100%}.aside-bottom{display:none}.sigesvi-main > header{padding:15px 20px}.content{padding:25px 18px}.line-inputs{grid-template-columns:1fr}.product-field{grid-column:1/-1}.card{padding:18px}}

.stock-critical{--dxbl-grid-row-bg:#fff0eb;background-color:#fff0eb}
