*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-dark: #1e40af;--success: #16a34a;--danger: #dc2626;--warning: #ea580c;--bg: #f8fafc;--card-bg: #ffffff;--text: #1e293b;--text-light: #64748b;--border: #e2e8f0;--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;padding:20px}.container{max-width:1400px;margin:0 auto}header{text-align:center;margin-bottom:30px;padding:30px;background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow)}h1{font-size:2rem;color:var(--text);margin-bottom:10px}h2{font-size:1.5rem;margin-bottom:20px;color:var(--text)}h3{font-size:1.25rem;margin:20px 0 15px;color:var(--text)}.info-box{background:#dbeafe;border-left:4px solid var(--primary);padding:20px;margin-bottom:30px;border-radius:8px}.info-box strong{display:block;margin-bottom:10px;color:var(--text)}.info-box ul{list-style:none;margin-left:0}.info-box li{padding:5px 0;color:var(--text)}.params-section{background:var(--card-bg);padding:20px;margin-bottom:30px;border-radius:12px;box-shadow:var(--shadow)}.params-section summary{cursor:pointer;font-weight:600;font-size:1.1rem;padding:10px;-webkit-user-select:none;user-select:none}.params-section summary:hover{color:var(--primary)}.params-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:20px 0}.param-group{display:flex;flex-direction:column;gap:8px}.section{background:var(--card-bg);padding:30px;margin-bottom:30px;border-radius:12px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.stock-grid{grid-template-columns:2fr 1fr 1fr}.form-group{display:flex;flex-direction:column;gap:8px}label{font-weight:500;color:var(--text);font-size:.9rem}input,select{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:.95rem;transition:border-color .2s}input:focus,select:focus{outline:none;border-color:var(--primary)}.btn{padding:12px 24px;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#15803d;transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--text-light);color:#fff;margin-right:10px}.btn-secondary:hover{background:var(--text);transform:translateY(-1px)}.btn-danger{background:var(--danger);color:#fff;padding:6px 12px;font-size:.85rem}.btn-danger:hover{background:#b91c1c}.filters-box{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.search-box{flex:1;min-width:250px}.search-box input{width:100%}.filter-box{min-width:250px}.filter-box select{width:100%}.table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--border);margin-bottom:20px}table{width:100%;border-collapse:collapse;background:#fff}thead{background:var(--bg);position:sticky;top:0}th{padding:12px;text-align:left;font-weight:600;color:var(--text);border-bottom:2px solid var(--border);white-space:nowrap}td{padding:12px;border-bottom:1px solid var(--border)}tbody tr:hover{background:var(--bg)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:30px 0}.stat-card{background:linear-gradient(135deg,var(--primary) 0%,#1e40af 100%);padding:20px;border-radius:12px;color:#fff;box-shadow:var(--shadow)}.stat-label{font-size:.9rem;opacity:.9;margin-bottom:8px}.stat-value{font-size:2rem;font-weight:700}.import-export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}input[type=file]{margin-bottom:10px;display:block}footer{text-align:center;padding:20px;color:var(--text-light);font-size:.9rem}.toast{position:fixed;bottom:30px;right:30px;padding:16px 24px;border-radius:8px;color:#fff;font-weight:500;box-shadow:var(--shadow-lg);transform:translateY(100px);opacity:0;transition:all .3s;z-index:1000;max-width:400px}.toast.show{transform:translateY(0);opacity:1}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}.toast.warning{background:var(--warning)}.loading{opacity:.6;pointer-events:none}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;align-items:center;justify-content:center;padding:20px}.modal-content{background:var(--card-bg);border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0}.close{font-size:2rem;font-weight:300;color:var(--text-light);cursor:pointer;transition:color .2s}.close:hover{color:var(--text)}.modal-content form{padding:30px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:30px;padding-top:20px;border-top:1px solid var(--border)}.btn-warning{background:var(--warning);color:#fff;padding:6px 12px;font-size:.85rem}.btn-warning:hover{background:#c2410c}.suppliers-management{margin:20px 0;padding:20px;background:var(--bg);border-radius:8px}.form-inline{display:flex;gap:10px;margin-bottom:20px}.form-inline input{flex:1}.suppliers-list{margin-top:20px}.suppliers-list h4{font-size:1rem;margin-bottom:15px;color:var(--text)}#suppliers-list-container{display:flex;flex-direction:column;gap:10px}.supplier-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:6px;transition:box-shadow .2s}.supplier-item:hover{box-shadow:var(--shadow)}.supplier-name{font-weight:500;color:var(--text)}@media (max-width: 768px){.form-grid,.stock-grid,.stats-grid{grid-template-columns:1fr}h1{font-size:1.5rem}.table-container{font-size:.85rem}th,td{padding:8px}.modal-content{margin:20px}.form-inline{flex-direction:column}}
