.container{max-width:1400px;margin:0 auto;padding:1rem}#stockLayout{display:grid;grid-template-columns:1fr 320px;gap:1rem;align-items:start}@media(max-width:1024px){#stockLayout{grid-template-columns:1fr}.orders{order:-1}}.stock-grid{display:grid;gap:1rem}@media(min-width:1024px){.stock-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:640px)and (max-width:1023.98px){.stock-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:639.98px){.stock-grid{grid-template-columns:1fr}}.stock-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer;position:relative}.stock-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:#d1d5db}.stock-card h4{margin:0;font-size:1rem;line-height:1.3;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}#catPills .pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;border-radius:999px;border:1.5px solid #e5e7eb;background:#f9fafb;color:#374151;font-size:.83rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;white-space:nowrap;line-height:1;outline:none}#catPills .pill:hover{background:#f3f4f6;border-color:#d1d5db;color:#111827}#catPills .pill:focus-visible{box-shadow:0 0 0 3px #0ea5e940;border-color:var(--primary)}#catPills .pill.primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600;box-shadow:0 2px 8px #0ea5e94d}#catPills .pill.primary:hover{filter:brightness(1.08)}#catPills .pill-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.2rem;padding:0 .25rem;border-radius:999px;font-size:.68rem;font-weight:700;line-height:1;background:#e5e7eb;color:#6b7280}#catPills .pill.primary .pill-count{background:#ffffff40;color:#fff}.sort-select{padding:.4rem .6rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:.85rem;color:#374151;cursor:pointer;height:100%;transition:border-color .15s}.sort-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0ea5e926}.search-box input{transition:border-color .2s;font-size:.95rem}.search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #00aa641a}.orders .vendor{margin-top:.75rem;padding-top:.5rem;border-top:1px dashed #eee}.orders .vendor:first-child{border-top:none}.orders .vendor h4{margin:0 0 .5rem;font-size:.9rem;color:#555;text-transform:uppercase;letter-spacing:.5px}.orders .line{display:flex;align-items:center;gap:.5rem;justify-content:space-between;margin-bottom:.25rem;font-size:.9rem}.orders .line input[type=number]{width:3.5rem;padding:.1rem .25rem;border:1px solid #ddd;border-radius:4px;text-align:center}.admin-panel{display:flex;flex-direction:column;height:100%}.tabs{display:flex;gap:.25rem;flex-wrap:wrap;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem;margin-bottom:.5rem}.tabs .tab{padding:.35rem .75rem;border:1px solid transparent;background:transparent;cursor:pointer;border-radius:6px;font-weight:500;color:#666;transition:all .2s}.tabs .tab:hover{background:#f3f4f6}.tabs .tab.active{background:#fff;color:var(--primary);border-color:#e5e7eb;box-shadow:0 1px 2px #0000000d}.table-wrap{overflow:auto;max-height:500px;border:1px solid #eee;border-radius:8px}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:.5rem .75rem;border-bottom:1px solid #f0f0f0;text-align:left}.table th{background:#f9fafb;position:sticky;top:0;z-index:10;font-weight:600;color:#444}.table tr:hover td{background:#f8f9fa}.row-actions{display:flex;gap:.25rem;justify-content:flex-end}.button.small{padding:.15rem .45rem;font-size:.8em}.modal-backdrop{position:fixed;inset:0;background:#0006;backdrop-filter:blur(2px);z-index:1000;display:none;animation:fadeIn .2s ease}.modal{position:fixed;inset:0;z-index:1001;display:none;align-items:center;justify-content:center;pointer-events:none}.modal .dialog{background:#fff;width:90%;max-width:650px;max-height:90vh;overflow-y:auto;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;pointer-events:auto;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal.submodal .dialog{max-width:400px;box-shadow:0 25px 50px -12px #00000040;border:1px solid #e5e7eb}.modal-h{position:relative;text-align:center;padding:.75rem 1rem;border-bottom:1px solid #eee}.modal-h h3{margin:0;font-size:1.1rem}.modal-h .x{position:absolute;right:.75rem;top:.75rem;width:32px;height:32px;border-radius:50%;border:none;background:#f3f4f6;cursor:pointer;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center}.modal-h .x:hover{background:#e5e7eb;color:#d00}.pad{padding:1rem}.section{margin:.75rem 0}.form-grid{display:grid;gap:.75rem;grid-template-columns:1fr 140px 160px}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}.form-grid label{display:block;font-size:.9rem;font-weight:500;color:#444}.form-grid input,.form-grid select,.textarea-lg{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .5rem;font-size:.95rem;margin-top:.2rem}.textarea-lg{min-height:60px;resize:vertical}.actions-center{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.muted{opacity:.6}.hidden{display:none!important}.text-right{text-align:right}.badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1}.badge.primary{background:#e6fffa;color:#047481;border:1px solid #b2f5ea}.badge.danger{background:#fff5f5;color:#c53030;border:1px solid #fed7d7}.list.clean{list-style:none;padding:0;margin:0}.list.clean li{padding:.35rem 0;border-bottom:1px solid #eee}.link{background:none;border:none;padding:0;color:var(--primary);cursor:pointer;text-align:left}.link:hover{text-decoration:underline}.skeleton{background:#f0f0f0;border-radius:4px;overflow:hidden;position:relative}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translate(-100%);animation:shimmer 1.5s infinite}@keyframes shimmer{to{transform:translate(100%)}}html.dark-mode .stock-card{background:#1e293b!important;border-color:#334155!important}html.dark-mode .stock-card h4{color:#e2e8f0}html.dark-mode .stock-card .muted{color:#64748b}html.dark-mode .stock-card .low-badge{background:#450a0a;color:#fca5a5;border-color:#7f1d1d}html.dark-mode .orders .card{background:#1e293b;border-color:#334155}html.dark-mode .orders h3{color:#e2e8f0}html.dark-mode .orders .vendor h4{color:#94a3b8}html.dark-mode .orders .line{border-bottom-color:#334155;color:#e2e8f0}html.dark-mode .orders .line input[type=number]{background:#0f172a;border-color:#334155;color:#e2e8f0}html.dark-mode #catPills .pill{background:#1e293b;border-color:#334155;color:#94a3b8}html.dark-mode #catPills .pill.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}html.dark-mode #catPills .pill.btn-alert{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}html.dark-mode #stockLayout>.card{background:#1e293b;border-color:#334155}html.dark-mode #stockLayout input[type=search]{background:#0f172a;border-color:#334155;color:#e2e8f0}
