:root{--bg:#fff;--surface:#f5f7fa;--surface-border:#e4e9f0;--primary:#4f6ef7;--primary-hover:#3d5ce5;--text:#4b5563;--text-heading:#1a1d26;--text-muted:#9ca3af;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--shadow:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--sans:system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow-x:hidden}body{background:var(--bg);height:100%;margin:0;overflow:hidden}#root{flex-direction:column;height:100%;display:flex}h1,h2,h3,h4{color:var(--text-heading);margin:0}.App{background:var(--surface);height:100%}.layout{grid-template-columns:220px 1fr;height:100vh;display:grid}.main-area{flex-direction:column;height:100vh;display:flex;overflow:hidden}.content{-webkit-overflow-scrolling:touch;flex:1;width:100%;max-width:100%;padding:24px;overflow-y:auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{letter-spacing:-.5px;font-size:28px;font-weight:600}.card{background:var(--bg);border:1px solid var(--surface-border);box-shadow:var(--shadow);border-radius:12px;padding:24px}.form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-heading);font-size:14px;font-weight:500}.form-group input,.form-group select{border:1px solid var(--surface-border);color:var(--text-heading);background:var(--bg);border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-color:var(--primary)}.btn{cursor:pointer;background:var(--primary);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:15px;font-weight:500;transition:background .15s}.btn:hover{background:var(--primary-hover)}.btn-danger{color:var(--danger);border:1px solid var(--danger);background:0 0;padding:4px 10px;font-size:13px}.btn-danger:hover{background:var(--danger);color:#fff}.btn-secondary{background:var(--surface);color:var(--text-heading);border:1px solid var(--surface-border)}.btn-secondary:hover{background:var(--surface-border)}.table{border-collapse:collapse;width:100%;margin-top:16px}.table th,.table td{text-align:left;border-bottom:1px solid var(--surface-border);padding:12px 16px;font-size:14px}.table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.table td{color:var(--text)}.error{color:var(--danger);margin-top:12px;font-size:14px}.success{color:var(--success);margin-top:12px;font-size:14px}.sidebar{background:var(--bg);border-right:1px solid var(--surface-border);flex-direction:column;flex-shrink:0;padding:24px 0;display:flex}.sidebar-brand{color:var(--text-heading);margin-bottom:24px;padding:0 24px;font-size:15px;font-weight:700;line-height:1.3}.sidebar a{color:var(--text-muted);border-left:3px solid #0000;align-items:center;gap:10px;padding:12px 24px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.sidebar a:hover{color:var(--text-heading);background:var(--surface)}.sidebar a.active{color:var(--primary);border-left-color:var(--primary);background:#4f6ef70f}.sidebar .badge-count{background:var(--danger);color:#fff;border-radius:10px;margin-left:auto;padding:1px 8px;font-size:12px;font-weight:700}.main-header{background:var(--bg);border-bottom:1px solid var(--surface-border);flex-shrink:0;align-items:center;gap:16px;padding:24px;display:flex}.sidebar-toggle{display:none}.main-header h1{margin:0;font-size:22px;font-weight:600}.sidebar-overlay{z-index:250;background:#0006;display:none;position:fixed;inset:0}.sidebar-overlay.open{display:block}.bottom-nav,.bottom-sheet-overlay{display:none}@media (width<=768px){.layout{grid-template-columns:1fr;height:100dvh}.sidebar{display:none}.main-area{height:100dvh;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.content{padding:16px}.bottom-nav{z-index:300;background:var(--bg);border-top:1px solid var(--surface-border);padding-bottom:env(safe-area-inset-bottom,0px);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #0000000f}.bottom-nav a,.bottom-nav .bottom-nav-more{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px 6px;font-family:inherit;font-size:11px;font-weight:500;text-decoration:none;display:flex;position:relative}.bottom-nav a.active,.bottom-nav .bottom-nav-more.active{color:var(--primary)}.bottom-nav .badge-count{background:var(--danger);color:#fff;text-align:center;border-radius:10px;min-width:16px;padding:0 6px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:4px;right:50%;transform:translate(16px)}.bottom-sheet-overlay{z-index:400;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.bottom-sheet{background:var(--bg);width:100%;max-width:480px;padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;animation:.25s sheet-up;box-shadow:0 -8px 24px #0000001f}.bottom-sheet-handle{background:var(--surface-border);border-radius:4px;width:44px;height:4px;margin:4px auto 16px}.bottom-sheet-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.bottom-sheet-grid a{background:var(--surface);color:var(--text-muted);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;font-size:12px;font-weight:500;text-decoration:none;display:flex;position:relative}.bottom-sheet-grid a.active{color:var(--primary);background:#4f6ef714}.bottom-sheet-grid a .badge-count{background:var(--danger);color:#fff;text-align:center;border-radius:10px;min-width:16px;padding:0 6px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:6px;right:8px}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.page-header{flex-wrap:wrap;gap:10px}.page-header h1{font-size:22px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:14px}.stat-card .stat-value{font-size:22px}.filters{flex-direction:column;align-items:stretch}.filters .form-group{min-width:0}.search-input{max-width:100%}}.product-select{position:relative}.product-search-row{gap:8px;display:flex}.product-search-row input{flex:1}.product-suggestions{background:var(--bg);border:1px solid var(--surface-border);box-shadow:var(--shadow);z-index:100;border-radius:8px;max-height:260px;margin:4px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.product-suggestions li{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.product-suggestions li:hover{background:var(--surface)}.suggestion-name{color:var(--text-heading);font-weight:500}.suggestion-meta{color:var(--text-muted);white-space:nowrap;font-size:12px}.low-stock-badge{color:#fff;background:var(--danger);border-radius:6px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.nav-alert{align-items:center;display:inline-flex;position:relative}.nav .badge-count{background:var(--danger);color:#fff;border-radius:10px;margin-left:6px;padding:1px 7px;font-size:12px;font-weight:700}.modal-overlay{z-index:200;background:#0006;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--bg);box-shadow:var(--shadow);border-radius:12px;width:100%;max-width:640px;padding:24px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h2{font-size:20px;font-weight:600}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:22px;line-height:1}.product-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.product-card{background:var(--bg);border:1px solid var(--surface-border);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.product-card .card-img{aspect-ratio:4/5;object-fit:cover;background:var(--surface);width:100%}.product-card .card-img-placeholder{aspect-ratio:4/5;width:100%;color:var(--text-muted);background:var(--surface);justify-content:center;align-items:center;font-size:13px;display:flex}.product-card .card-body{padding:12px}.product-card .card-name{color:var(--text-heading);margin-bottom:4px;font-size:14px;font-weight:600}.product-card .card-stock{color:var(--text-muted);font-size:13px}.product-card .card-stock span{color:var(--text-heading);font-weight:700}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg);border:1px solid var(--surface-border);box-shadow:var(--shadow);border-radius:12px;padding:20px}.stat-card .stat-label{color:var(--text-muted);margin-bottom:8px;font-size:13px}.stat-card .stat-value{color:var(--text-heading);font-size:28px;font-weight:700}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.filters .form-group{flex:1;min-width:180px}.inventory-row-actions{align-items:center;gap:6px;display:flex}.search-input{border:1px solid var(--surface-border);color:var(--text-heading);background:var(--bg);border-radius:8px;outline:none;width:100%;max-width:480px;padding:10px 12px;font-family:inherit;font-size:15px}.search-input:focus{border-color:var(--primary)}@media (width<=1024px){.sidebar{width:64px;padding:16px 0}.sidebar-brand{background:var(--primary);border-radius:8px;height:40px;margin:0 12px 16px;padding:0;font-size:0}.sidebar-brand:after{content:"JGM";color:#fff;font-size:12px;font-weight:700;display:block}.sidebar a{justify-content:center;padding:12px}.sidebar a span{display:none}.sidebar .badge-count{margin-top:-8px;margin-left:0}.main-header{padding:16px 20px}.main-header h1{font-size:18px}.content{padding:20px}.page-header h1{font-size:22px}.card{padding:16px}}@media (width<=480px){.stat-grid,.product-grid{grid-template-columns:1fr}.main-header{padding:10px 12px}.content,.card{padding:12px}.modal{padding:16px}.btn{padding:12px 16px;font-size:16px}.form-group input,.form-group select{padding:14px 12px;font-size:16px}}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrapper .table{min-width:600px}@media print{.sidebar,.main-header,.btn,.modal-overlay,.page-header button{display:none!important}.layout{grid-template-columns:1fr}.content{padding:0}.card{box-shadow:none;border:1px solid #ccc}}
