:root{--font-size: 16px;--background: #ffffff;--foreground: oklch(.145 0 0);--card: #ffffff;--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: #030213;--primary-foreground: oklch(1 0 0);--secondary: oklch(.95 .0058 264.53);--secondary-foreground: #030213;--muted: #ececf0;--muted-foreground: #717182;--accent: #e9ebef;--accent-foreground: #030213;--destructive: #d4183d;--destructive-foreground: #ffffff;--border: rgba(0, 0, 0, .1);--input: transparent;--input-background: #f3f3f5;--switch-background: #cbced4;--font-weight-medium: 500;--font-weight-normal: 400;--ring: oklch(.708 0 0);--chart-1: oklch(.646 .222 41.116);--chart-2: oklch(.6 .118 184.704);--chart-3: oklch(.398 .07 227.392);--chart-4: oklch(.828 .189 84.429);--chart-5: oklch(.769 .188 70.08);--radius: .625rem;--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: #030213;--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0)}.dark{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.145 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.145 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(.985 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.396 .141 25.723);--destructive-foreground: oklch(.637 .237 25.331);--border: oklch(.269 0 0);--input: oklch(.269 0 0);--ring: oklch(.439 0 0);--font-weight-medium: 500;--font-weight-normal: 400;--chart-1: oklch(.488 .243 264.376);--chart-2: oklch(.696 .17 162.48);--chart-3: oklch(.769 .188 70.08);--chart-4: oklch(.627 .265 303.9);--chart-5: oklch(.645 .246 16.439);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(.269 0 0);--sidebar-ring: oklch(.439 0 0)}@layer base{:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h1{font-size:var(--text-2xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h2{font-size:var(--text-xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h3{font-size:var(--text-lg);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h4,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) label,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) button{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) input{font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}}html{font-size:var(--font-size)}.app-layout{height:100vh}.app-content{display:flex;height:100%}main{min-height:100%;width:100%;gap:15px;padding:0 10px;display:flex;flex-direction:column}.inventory-header{display:flex;justify-content:space-between}.inventory-header-title{display:flex;align-items:center}.inventory-header h1{margin:0}.inventory-description{color:var(--muted-foreground);margin:0}.inventory-search-container{position:relative;display:flex;height:35px;align-items:center;padding-left:1%;border:2px solid var(--border);border-radius:12px;box-shadow:0 1px 2px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1);gap:15px}.inventory-search-icon{width:25px;height:25px;color:var(--muted-foreground);pointer-events:none;transition:color .2s ease}.inventory-search-input{width:100%;height:100%;border:none;outline:none;background:transparent}.inventory-view-toggles{max-height:40px;display:flex;align-items:center;gap:.25rem;background-color:var(--muted);padding:.25rem;border-radius:10px;box-shadow:inset 0 1px 3px #0000001a}.view-toggle-btn{padding:.5rem .75rem;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;cursor:pointer;position:relative}.view-toggle-btn svg{width:1.125rem;height:1.125rem;transition:transform .2s ease}.view-toggle-btn.active{background-color:var(--card);color:var(--primary);box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014}.view-toggle-btn:not(.active){background-color:transparent;color:var(--muted-foreground)}.view-toggle-btn:not(.active):hover{background-color:#ffffff80;color:var(--foreground)}.view-toggle-btn:active svg{transform:scale(.95)}.inventory-content{flex:1}.inventory-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.inventory-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.inventory-grid{grid-template-columns:repeat(3,1fr)}}.inventory-list{display:flex;flex-direction:column;gap:.75rem}.inventory-item-card{display:block;text-decoration:none;color:inherit;background-color:var(--card);border:1px solid var(--border);border-radius:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 1px 3px #0000000d;position:relative}.inventory-item-card:after{content:"";position:absolute;inset:0;border-radius:14px;padding:1px;background:linear-gradient(135deg,transparent 0%,rgba(3,2,19,.1) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;pointer-events:none}.inventory-item-card:hover{box-shadow:0 12px 24px #0000001f,0 4px 8px #00000014;transform:translateY(-4px) scale(1.01);border-color:#03021333}.inventory-item-card:hover:after{opacity:1}.inventory-item-card:active{transform:translateY(-2px) scale(1.005)}.inventory-item-card.list-view:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000014,0 2px 4px #0000000f}.inventory-item-card.list-view:active{transform:translateY(-1px)}.inventory-item-content{padding:1.25rem}.inventory-item-grid-layout{display:flex;gap:1rem}.inventory-item-list-layout{display:flex;align-items:center;gap:1rem}.inventory-item-image-wrapper{flex-shrink:0}.inventory-item-image{width:5rem;height:5rem;border-radius:12px;background:linear-gradient(135deg,var(--muted) 0%,rgba(236,236,240,.4) 100%);overflow:hidden;box-shadow:inset 0 1px 3px #0000000d;transition:transform .3s ease}.inventory-item-card:hover .inventory-item-image{transform:scale(1.05)}.inventory-item-image.small{width:4rem;height:4rem}.inventory-item-image img{width:100%;height:100%;object-fit:cover}.inventory-item-details{flex:1;min-width:0}.inventory-item-details h3{margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-item-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.inventory-item-quantity{display:flex;align-items:center;gap:.5rem}.inventory-item-quantity span:first-child{font-size:.875rem;color:var(--muted-foreground)}.inventory-item-quantity span:last-child{font-weight:500}.inventory-item-list-grid{flex:1;min-width:0;display:grid;grid-template-columns:1fr;gap:1rem;align-items:center}@media(min-width:640px){.inventory-item-list-grid{grid-template-columns:repeat(4,1fr)}}.inventory-item-name-col{grid-column:span 1}@media(min-width:640px){.inventory-item-name-col{grid-column:span 2}}.inventory-item-name-col h3{margin-bottom:.25rem}.inventory-item-status-col{display:flex;justify-content:flex-start}@media(min-width:640px){.inventory-item-status-col{justify-content:flex-end}}.inventory-empty-state{text-align:center;padding:3rem 0}.inventory-empty-icon{display:inline-flex;padding:1rem;border-radius:9999px;background-color:var(--muted);margin-bottom:1rem}.inventory-empty-icon svg{width:2rem;height:2rem;color:var(--muted-foreground)}.inventory-empty-state h3{margin-bottom:.5rem}.inventory-empty-state p{color:var(--muted-foreground)}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid;padding:.25rem .625rem;font-size:.75rem;font-weight:600;white-space:nowrap;width:fit-content;letter-spacing:.01em;transition:all .2s ease}.badge.outline{border-color:var(--border);color:var(--foreground);background-color:var(--background)}.badge.secondary{border-color:transparent;background-color:var(--secondary);color:var(--secondary-foreground);box-shadow:0 1px 2px #0000000d}.badge.destructive{border-color:transparent;background-color:var(--destructive);color:#fff;box-shadow:0 2px 4px #d4183d33}.error-page{display:flex;align-items:center;justify-content:center;height:100vh}.error-container{width:100%;max-width:500px;border-radius:24px;box-shadow:0 20px 60px #0000004d;padding:60px 40px;text-align:center}.error-details{border-radius:12px;padding:20px}.error-actions{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.error-home,.error-reload{display:inline-flex;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:700}header{width:100%;height:75px;display:flex;justify-content:space-between;align-items:center;padding-right:15px}header p{margin:0;line-height:40px;text-align:center;font-weight:600;color:#000}.logo{height:100%}.user-avatar{width:40px;height:40px;border-radius:50%;background-color:#fff;cursor:pointer;transition:box-shadow .2s;display:flex;align-items:center;justify-content:center}.user-avatar:hover{box-shadow:0 0 0 2px #000}.side-panel{width:250px;height:100%;background-color:var(--card);z-index:100;display:flex;flex-direction:column}.side-panel-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:2rem .75rem 2rem 1rem;display:flex;flex-direction:column;gap:.25rem}.side-panel-menu-item{display:flex;align-items:center;padding:.75rem 1rem;margin:0;cursor:pointer;border:none;text-align:left;border-radius:0 16px 16px 0;margin-right:.75rem;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none;color:var(--foreground);position:relative;background:transparent}.side-panel-menu-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:0;background-color:var(--primary);border-radius:0 4px 4px 0;transition:height .2s cubic-bezier(.4,0,.2,1)}.side-panel-menu-item:hover{background-color:var(--accent)}.side-panel-menu-item:hover:before{height:24px}.side-panel-menu-item.active{background-color:var(--secondary)}.side-panel-menu-item.active:before{height:32px}.side-panel-menu-icon-wrapper{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #00000014,0 1px 2px #0000000f;position:relative;flex-shrink:0}.side-panel-menu-icon-wrapper:after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,transparent 60%);opacity:.8;pointer-events:none}.side-panel-menu-item:hover .side-panel-menu-icon-wrapper{transform:scale(1.08) translateY(-1px);box-shadow:0 4px 8px #0000001f,0 2px 4px #00000014}.side-panel-menu-item.active .side-panel-menu-icon-wrapper{transform:scale(1.05);box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a}.side-panel-menu-item:active .side-panel-menu-icon-wrapper{transform:scale(1.02)}.side-panel-menu-icon{width:22px;height:22px;color:#000000bf;position:relative;z-index:1}.side-panel-menu-label{font-size:.9375rem;font-weight:500;letter-spacing:.01em;transition:transform .2s ease}.side-panel-menu-item:hover .side-panel-menu-label{transform:translate(2px)}.side-panel-menu-item.active .side-panel-menu-label{font-weight:600}.side-panel-content::-webkit-scrollbar{width:6px}.side-panel-content::-webkit-scrollbar-track{background:transparent}.side-panel-content::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:3px}.side-panel-content::-webkit-scrollbar-thumb:hover{background-color:var(--muted-foreground)}@media(max-width:768px){.side-panel{width:150px}.side-panel.open{transform:translate(0)}.side-panel-content{padding:1.5rem .5rem 1.5rem .75rem}.side-panel-menu-icon-wrapper{width:40px;height:40px;margin-right:.75rem}.side-panel-menu-icon{width:20px;height:20px}.side-panel-menu-label{font-size:.875rem}}.item-details-container{min-height:100vh;background-color:#fff;padding:32px}.item-details-wrapper{max-width:1400px;margin:0 auto}.alert{padding:10px 16px;margin-bottom:16px;border-radius:6px;display:flex;align-items:center;gap:8px;font-size:.9rem}.alert-error{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca}.alert-success{background-color:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.item-details-header-new{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header-left{display:flex;align-items:center;gap:16px}.header-title-section{display:flex;flex-direction:column;gap:4px}.title-with-badge{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.title-with-badge h1{margin:0}.header-subtitle{color:#717182;margin:0}.header-actions{display:flex;gap:8px}.back-button-new{width:40px;height:40px;border-radius:8px;border:1px solid #e9ebef;background-color:#fff;color:var(--foreground);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.back-button-new:hover{background-color:#f9fafb;border-color:#d1d5db}.action-button{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid #e9ebef;background-color:#fff;color:var(--foreground);cursor:pointer;transition:all .2s}.action-button:hover{background-color:#f9fafb;border-color:#d1d5db}.card{background-color:#fff;border:1px solid #e9ebef;border-radius:12px;margin-bottom:24px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.card-header{padding:24px;border-bottom:1px solid #f3f3f5;background-color:#fafafa}.card-title{margin:0;display:flex;align-items:center;gap:8px;color:#030213}.card-description{color:#717182;margin:4px 0 0}.card-content{padding:24px;background-color:#fff}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:14px;color:#717182;margin:0}.info-value{font-weight:500;margin:0;color:#030213}.stock-summary{margin-top:24px;padding-top:24px;border-top:1px solid #f3f3f5}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.stock-level{font-size:28px;font-weight:600;margin:0;color:var(--foreground)}.stock-low{color:var(--destructive)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.badge-secondary{background-color:#f3f3f5;color:#030213;border:1px solid #e9ebef}.badge-warning{background-color:var(--destructive);color:#fff;gap:4px}.badge-warning-small{background-color:var(--destructive);color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;display:inline-flex;align-items:center;gap:4px}.icon-small{width:16px;height:16px}.icon-medium{width:20px;height:20px}.icon-tiny{width:14px;height:14px}.empty-icon{width:48px;height:48px;opacity:.2;margin:0 auto 8px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:24px;margin-bottom:24px}.batches-list{display:flex;flex-direction:column;gap:12px}.batch-item{padding:16px;border-radius:8px;border:1px solid #e9ebef;background-color:#fafafa;transition:all .2s}.batch-item:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.batch-expiring{background-color:#fef2f2;border-color:#fecaca}.batch-expiring:hover{border-color:#fca5a5}.batch-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.batch-title-row{display:flex;align-items:center;gap:8px}.batch-number{font-weight:500;margin:0}.batch-quantity{font-size:18px;font-weight:600;margin:0}.batch-date{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted-foreground)}.transactions-list{display:flex;flex-direction:column;gap:12px}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:8px;border:1px solid #e9ebef;background-color:#fafafa;transition:all .2s}.transaction-item:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.transaction-left{display:flex;align-items:flex-start;gap:12px}.transaction-icon{padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center}.icon-inbound{background-color:#dcfce7;color:#16a34a}.icon-outbound{background-color:#fee2e2;color:#dc2626}.transaction-details{display:flex;flex-direction:column;gap:4px}.transaction-type{font-weight:500;margin:0;text-transform:capitalize;color:#030213}.transaction-date{display:flex;align-items:center;gap:6px;font-size:14px;color:#717182}.transaction-right{text-align:right}.transaction-amount{font-weight:600;margin:0}.amount-inbound{color:#16a34a}.amount-outbound{color:#dc2626}.empty-state{text-align:center;padding:48px 16px;color:#717182}.empty-state p{margin:0;color:#717182}.empty-state-subtitle{font-size:14px;margin-top:4px;color:#9ca3af}.edit-title-input{font-size:28px;font-weight:600;padding:8px 12px;border:2px solid #e9ebef;border-radius:8px;background-color:#fff;color:#030213;width:100%;max-width:500px;transition:border-color .2s}.edit-title-input:focus{outline:none;border-color:#030213}.edit-input{padding:8px 12px;border:1px solid #e9ebef;border-radius:6px;background-color:#fff;color:#030213;font-size:14px;width:100%;transition:border-color .2s}.edit-input:focus{outline:none;border-color:#030213}.edit-select{padding:8px 12px;border:1px solid #e9ebef;border-radius:6px;background-color:#fff;color:#030213;font-size:14px;width:100%;cursor:pointer;transition:border-color .2s}.edit-select:focus{outline:none;border-color:#030213}.input-with-unit{display:flex;align-items:center;gap:8px}.input-unit{color:#717182;font-size:14px;font-weight:500}.save-button{background-color:#030213;color:#fff;border-color:#030213}.save-button:hover{background-color:#1a1a2e;border-color:#1a1a2e}.cancel-button:hover{background-color:#fee2e2;border-color:#fca5a5;color:#dc2626}@media(max-width:1024px){.cards-grid{grid-template-columns:1fr}}@media(max-width:768px){.item-details-container{padding:16px}.item-details-header-new{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:flex-end}.info-grid,.summary-grid{grid-template-columns:1fr}}
